mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge remote-tracking branch 'origin/3.1'
This commit is contained in:
commit
94b4237372
40
admin/code/CMSForm.php
Normal file
40
admin/code/CMSForm.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Deals with special form handling in CMS, mainly around {@link PjaxResponseNegotiator}
|
||||||
|
*/
|
||||||
|
class CMSForm extends Form {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Route validation error responses through response negotiator,
|
||||||
|
* so they return the correct markup as expected by the requesting client.
|
||||||
|
*/
|
||||||
|
protected function getValidationErrorResponse() {
|
||||||
|
$request = $this->getRequest();
|
||||||
|
$negotiator = $this->getResponseNegotiator();
|
||||||
|
if($request->isAjax() && $negotiator) {
|
||||||
|
$negotiator->setResponse(new SS_HTTPResponse($this));
|
||||||
|
return $negotiator->respond($request);
|
||||||
|
} else {
|
||||||
|
return parent::getValidationErrorResponse();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the response negotiator
|
||||||
|
* @param ResponseNegotiator $negotiator The response negotiator to use
|
||||||
|
* @return Form The current form
|
||||||
|
*/
|
||||||
|
public function setResponseNegotiator($negotiator) {
|
||||||
|
$this->responseNegotiator = $negotiator;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current response negotiator
|
||||||
|
* @return ResponseNegotiator|null
|
||||||
|
*/
|
||||||
|
public function getResponseNegotiator() {
|
||||||
|
return $this->responseNegotiator;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -23,6 +23,7 @@ class CMSProfileController extends LeftAndMain {
|
|||||||
$form = parent::getEditForm($id, $fields);
|
$form = parent::getEditForm($id, $fields);
|
||||||
if($form instanceof SS_HTTPResponse) return $form;
|
if($form instanceof SS_HTTPResponse) return $form;
|
||||||
|
|
||||||
|
$form->Fields()->removeByName('LastVisited');
|
||||||
$form->Fields()->push(new HiddenField('ID', null, Member::currentUserID()));
|
$form->Fields()->push(new HiddenField('ID', null, Member::currentUserID()));
|
||||||
$form->Actions()->push(
|
$form->Actions()->push(
|
||||||
FormAction::create('save',_t('CMSMain.SAVE', 'Save'))
|
FormAction::create('save',_t('CMSMain.SAVE', 'Save'))
|
||||||
|
@ -378,29 +378,58 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
$ie = isset($_SERVER['HTTP_USER_AGENT']) ? strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') : false;
|
$ie = isset($_SERVER['HTTP_USER_AGENT']) ? strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') : false;
|
||||||
if($ie) {
|
if($ie) {
|
||||||
$version = substr($_SERVER['HTTP_USER_AGENT'], $ie + 5, 3);
|
$version = substr($_SERVER['HTTP_USER_AGENT'], $ie + 5, 3);
|
||||||
if($version == 7) Requirements::css(FRAMEWORK_ADMIN_DIR . '/css/ie7.css');
|
|
||||||
else if($version == 8) Requirements::css(FRAMEWORK_ADMIN_DIR . '/css/ie8.css');
|
if($version == 7) {
|
||||||
|
Requirements::css(FRAMEWORK_ADMIN_DIR . '/css/ie7.css');
|
||||||
|
} else if($version == 8) {
|
||||||
|
Requirements::css(FRAMEWORK_ADMIN_DIR . '/css/ie8.css');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Custom requirements
|
// Custom requirements
|
||||||
$extraJs = $this->stat('extra_requirements_javascript');
|
$extraJs = $this->stat('extra_requirements_javascript');
|
||||||
|
|
||||||
if($extraJs) foreach($extraJs as $file => $config) {
|
if($extraJs) {
|
||||||
|
foreach($extraJs as $file => $config) {
|
||||||
|
if(is_numeric($file)) {
|
||||||
|
$file = $config;
|
||||||
|
}
|
||||||
|
|
||||||
Requirements::javascript($file);
|
Requirements::javascript($file);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$extraCss = $this->stat('extra_requirements_css');
|
$extraCss = $this->stat('extra_requirements_css');
|
||||||
if($extraCss) foreach($extraCss as $file => $config) {
|
|
||||||
|
if($extraCss) {
|
||||||
|
foreach($extraCss as $file => $config) {
|
||||||
|
if(is_numeric($file)) {
|
||||||
|
$file = $config;
|
||||||
|
$config = array();
|
||||||
|
}
|
||||||
|
|
||||||
Requirements::css($file, isset($config['media']) ? $config['media'] : null);
|
Requirements::css($file, isset($config['media']) ? $config['media'] : null);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$extraThemedCss = $this->stat('extra_requirements_themedCss');
|
$extraThemedCss = $this->stat('extra_requirements_themedCss');
|
||||||
if($extraThemedCss) foreach ($extraThemedCss as $file => $config) {
|
|
||||||
|
if($extraThemedCss) {
|
||||||
|
foreach ($extraThemedCss as $file => $config) {
|
||||||
|
if(is_numeric($file)) {
|
||||||
|
$file = $config;
|
||||||
|
$config = array();
|
||||||
|
}
|
||||||
|
|
||||||
Requirements::themedCSS($file, isset($config['media']) ? $config['media'] : null);
|
Requirements::themedCSS($file, isset($config['media']) ? $config['media'] : null);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$dummy = null;
|
$dummy = null;
|
||||||
$this->extend('init', $dummy);
|
$this->extend('init', $dummy);
|
||||||
|
|
||||||
// The user's theme shouldn't affect the CMS, if, for example, they have replaced TableListField.ss or Form.ss.
|
// The user's theme shouldn't affect the CMS, if, for example, they have
|
||||||
|
// replaced TableListField.ss or Form.ss.
|
||||||
Config::inst()->update('SSViewer', 'theme_enabled', false);
|
Config::inst()->update('SSViewer', 'theme_enabled', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1182,7 +1211,10 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
$actionsFlattened = $actions->dataFields();
|
$actionsFlattened = $actions->dataFields();
|
||||||
if($actionsFlattened) foreach($actionsFlattened as $action) $action->setUseButtonTag(true);
|
if($actionsFlattened) foreach($actionsFlattened as $action) $action->setUseButtonTag(true);
|
||||||
|
|
||||||
$form = new Form($this, "EditForm", $fields, $actions);
|
$form = CMSForm::create(
|
||||||
|
$this, "EditForm", $fields, $actions
|
||||||
|
)->setHTMLID('Form_EditForm');
|
||||||
|
$form->setResponseNegotiator($this->getResponseNegotiator());
|
||||||
$form->addExtraClass('cms-edit-form');
|
$form->addExtraClass('cms-edit-form');
|
||||||
$form->loadDataFrom($record);
|
$form->loadDataFrom($record);
|
||||||
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
||||||
@ -1235,7 +1267,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
* @return Form
|
* @return Form
|
||||||
*/
|
*/
|
||||||
public function EmptyForm() {
|
public function EmptyForm() {
|
||||||
$form = new Form(
|
$form = CMSForm::create(
|
||||||
$this,
|
$this,
|
||||||
"EditForm",
|
"EditForm",
|
||||||
new FieldList(
|
new FieldList(
|
||||||
@ -1253,7 +1285,8 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
// )
|
// )
|
||||||
),
|
),
|
||||||
new FieldList()
|
new FieldList()
|
||||||
);
|
)->setHTMLID('Form_EditForm');
|
||||||
|
$form->setResponseNegotiator($this->getResponseNegotiator());
|
||||||
$form->unsetValidator();
|
$form->unsetValidator();
|
||||||
$form->addExtraClass('cms-edit-form');
|
$form->addExtraClass('cms-edit-form');
|
||||||
$form->addExtraClass('root-form');
|
$form->addExtraClass('root-form');
|
||||||
|
@ -138,12 +138,13 @@ abstract class ModelAdmin extends LeftAndMain {
|
|||||||
$listField->getConfig()->getComponentByType('GridFieldDetailForm')->setValidator($detailValidator);
|
$listField->getConfig()->getComponentByType('GridFieldDetailForm')->setValidator($detailValidator);
|
||||||
}
|
}
|
||||||
|
|
||||||
$form = new Form(
|
$form = CMSForm::create(
|
||||||
$this,
|
$this,
|
||||||
'EditForm',
|
'EditForm',
|
||||||
new FieldList($listField),
|
new FieldList($listField),
|
||||||
new FieldList()
|
new FieldList()
|
||||||
);
|
)->setHTMLID('Form_EditForm');
|
||||||
|
$form->setResponseNegotiator($this->getResponseNegotiator());
|
||||||
$form->addExtraClass('cms-edit-form cms-panel-padded center');
|
$form->addExtraClass('cms-edit-form cms-panel-padded center');
|
||||||
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
||||||
$editFormAction = Controller::join_links($this->Link($this->sanitiseClassName($this->modelClass)), 'EditForm');
|
$editFormAction = Controller::join_links($this->Link($this->sanitiseClassName($this->modelClass)), 'EditForm');
|
||||||
|
@ -154,12 +154,13 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
|
|||||||
|
|
||||||
$actions = new FieldList();
|
$actions = new FieldList();
|
||||||
|
|
||||||
$form = new Form(
|
$form = CMSForm::create(
|
||||||
$this,
|
$this,
|
||||||
'EditForm',
|
'EditForm',
|
||||||
$fields,
|
$fields,
|
||||||
$actions
|
$actions
|
||||||
);
|
)->setHTMLID('Form_EditForm');
|
||||||
|
$form->setResponseNegotiator($this->getResponseNegotiator());
|
||||||
$form->addExtraClass('cms-edit-form');
|
$form->addExtraClass('cms-edit-form');
|
||||||
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
||||||
// Tab nav in CMS is rendered through separate template
|
// Tab nav in CMS is rendered through separate template
|
||||||
|
@ -149,8 +149,8 @@ form.nostyle label.left { float: none; display: inherit; width: auto; padding: 0
|
|||||||
form.nostyle .middleColumn { margin-left: 0; }
|
form.nostyle .middleColumn { margin-left: 0; }
|
||||||
form.nostyle input.text, form.nostyle textarea, form.nostyle select, form.nostyle .TreeDropdownField { width: auto; max-width: auto; }
|
form.nostyle input.text, form.nostyle textarea, form.nostyle select, form.nostyle .TreeDropdownField { width: auto; max-width: auto; }
|
||||||
|
|
||||||
.field { display: block; border-bottom: 1px solid #d0d3d5; -webkit-box-shadow: 0 1px 0 rgba(245, 245, 245, 0.8); -moz-box-shadow: 0 1px 0 rgba(245, 245, 245, 0.8); box-shadow: 0 1px 0 rgba(245, 245, 245, 0.8); padding: 0 0 7px 0; margin: 0 0 8px 0; *zoom: 1; }
|
.field { display: block; border-bottom: 1px solid #d0d3d5; -webkit-box-shadow: 0 1px 0 rgba(245, 245, 245, 0.8); -moz-box-shadow: 0 1px 0 rgba(245, 245, 245, 0.8); box-shadow: 0 1px 0 rgba(245, 245, 245, 0.8); padding: 0 0 7px 0; margin: 8px 0; *zoom: 1; }
|
||||||
.field:last-child { border-bottom: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
|
.field.noborder, .field:last-child { padding-bottom: 0; border-bottom: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
|
||||||
.field:after { content: "\0020"; display: block; height: 0; clear: both; overflow: hidden; visibility: hidden; }
|
.field:after { content: "\0020"; display: block; height: 0; clear: both; overflow: hidden; visibility: hidden; }
|
||||||
.field.nolabel .middleColumn { margin-left: 0; }
|
.field.nolabel .middleColumn { margin-left: 0; }
|
||||||
.field.nolabel .description { margin-left: 0; }
|
.field.nolabel .description { margin-left: 0; }
|
||||||
@ -160,7 +160,7 @@ form.nostyle input.text, form.nostyle textarea, form.nostyle select, form.nostyl
|
|||||||
.field .middleColumn { margin-left: 184px; }
|
.field .middleColumn { margin-left: 184px; }
|
||||||
.field span.readonly { padding-top: 8px; line-height: 16px; display: block; }
|
.field span.readonly { padding-top: 8px; line-height: 16px; display: block; }
|
||||||
.field .fieldgroup .fieldgroup-field.last { /* This is used on page/settings/visibility */ padding-bottom: 8px; /* replicates li item spacing */ }
|
.field .fieldgroup .fieldgroup-field.last { /* This is used on page/settings/visibility */ padding-bottom: 8px; /* replicates li item spacing */ }
|
||||||
.field .description { clear: both; color: #777777; display: block; font-style: italic; margin: 4px 0 0 184px; }
|
.field .description { clear: both; color: #777777; display: block; font-style: italic; line-height: 16px; margin: 4px 0 0 184px; }
|
||||||
.field.checkbox .description, .field.ss-gridfield .description { margin-left: 0; }
|
.field.checkbox .description, .field.ss-gridfield .description { margin-left: 0; }
|
||||||
.field input.text, .field textarea, .field select, .field .TreeDropdownField { margin-left: 10px; width: 100%; max-width: 512px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
|
.field input.text, .field textarea, .field select, .field .TreeDropdownField { margin-left: 10px; width: 100%; max-width: 512px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
|
||||||
.field input.text.description, .field textarea.description, .field select.description, .field .TreeDropdownField.description { margin: 0; }
|
.field input.text.description, .field textarea.description, .field select.description, .field .TreeDropdownField.description { margin: 0; }
|
||||||
@ -188,7 +188,7 @@ form.small .field input.text, form.small .field textarea, form.small .field sele
|
|||||||
.field .chzn-container .chzn-results li { font-size: 11px; line-height: 16px; padding: 4px 4px; }
|
.field .chzn-container .chzn-results li { font-size: 11px; line-height: 16px; padding: 4px 4px; }
|
||||||
.field .chzn-container-active .chzn-single { border: 1px solid #9a9a9a; }
|
.field .chzn-container-active .chzn-single { border: 1px solid #9a9a9a; }
|
||||||
.field .chzn-container-single .chzn-single { height: 26px; line-height: 26px; /* not relative, as then we'd had to redo most of chzn */ font-size: 12px; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VmZWZlZiIvPjxzdG9wIG9mZnNldD0iMTAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIi8+PHN0b3Agb2Zmc2V0PSI5MCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZmVmZWYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #efefef), color-stop(10%, #ffffff), color-stop(90%, #ffffff), color-stop(100%, #efefef)); background-image: -webkit-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -moz-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -o-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); }
|
.field .chzn-container-single .chzn-single { height: 26px; line-height: 26px; /* not relative, as then we'd had to redo most of chzn */ font-size: 12px; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VmZWZlZiIvPjxzdG9wIG9mZnNldD0iMTAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIi8+PHN0b3Agb2Zmc2V0PSI5MCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZmVmZWYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #efefef), color-stop(10%, #ffffff), color-stop(90%, #ffffff), color-stop(100%, #efefef)); background-image: -webkit-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -moz-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -o-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); }
|
||||||
.field .chzn-container-single .chzn-single:hover, .field .chzn-container-single .chzn-single:focus, .field .chzn-container-single .chzn-single:active { text-decoration: none; outline: none; }
|
.field .chzn-container-single .chzn-single:hover, .field .chzn-container-single .chzn-single:focus, .field .chzn-container-single .chzn-single:active { text-decoration: none; }
|
||||||
.field .chzn-container-single .chzn-single div { width: 24px; }
|
.field .chzn-container-single .chzn-single div { width: 24px; }
|
||||||
.field .chzn-container-single .chzn-single div b { background-position: 4px 0px; }
|
.field .chzn-container-single .chzn-single div b { background-position: 4px 0px; }
|
||||||
.field .chzn-choices { -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
|
.field .chzn-choices { -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
|
||||||
@ -361,12 +361,13 @@ body.cms { overflow: hidden; }
|
|||||||
|
|
||||||
.cms-preview, .cms-menu, .cms-content, .cms-content-header, .cms-content-tools, .cms-content-fields, .cms-edit-form, .cms-preview, .cms-preview iframe, .cms-preview-controls { display: -moz-inline-stack; display: inline-block; vertical-align: middle; *vertical-align: auto; zoom: 1; *display: inline; }
|
.cms-preview, .cms-menu, .cms-content, .cms-content-header, .cms-content-tools, .cms-content-fields, .cms-edit-form, .cms-preview, .cms-preview iframe, .cms-preview-controls { display: -moz-inline-stack; display: inline-block; vertical-align: middle; *vertical-align: auto; zoom: 1; *display: inline; }
|
||||||
|
|
||||||
.cms-content-header { padding-left: 16px; z-index: 60; min-height: 40px; background-image: url(../images/textures/cms_content_header.png); background-repeat: repeat; background-position: left bottom; }
|
.cms-content-header { padding-left: 16px; z-index: 60; min-height: 40px; background-image: url(../images/textures/cms_content_header.png); background-repeat: repeat; background-position: left bottom; background-color: #d4d6d8; }
|
||||||
.cms-content-header .cms-content-header-info *, .cms-content-header .cms-content-header-tabs * { display: -moz-inline-stack; display: inline-block; vertical-align: middle; *vertical-align: auto; zoom: 1; *display: inline; }
|
|
||||||
.cms-content-header a { color: #0073c1; }
|
.cms-content-header a { color: #0073c1; }
|
||||||
.cms-content-header .backlink span.btn-icon-back { height: 16px; }
|
.cms-content-header .backlink span.btn-icon-back { height: 16px; }
|
||||||
.cms-content-header h2 { font-size: 14px; font-weight: bold; margin: 0; }
|
.cms-content-header h2 { font-size: 14px; font-weight: bold; margin: 0; margin-bottom: 8px; }
|
||||||
|
.cms-content-header h2 * { vertical-align: middle; }
|
||||||
.cms-content-header .cms-content-header-info { float: left; padding-top: 6px; }
|
.cms-content-header .cms-content-header-info { float: left; padding-top: 6px; }
|
||||||
|
.cms-content-header .cms-content-header-info > * { display: inline-block; }
|
||||||
.cms-content-header .ss-ui-button { line-height: 24px; }
|
.cms-content-header .ss-ui-button { line-height: 24px; }
|
||||||
.cms-content-header .ss-ui-button .ui-button-text { line-height: 1.4; }
|
.cms-content-header .ss-ui-button .ui-button-text { line-height: 1.4; }
|
||||||
|
|
||||||
@ -435,7 +436,7 @@ body.cms { overflow: hidden; }
|
|||||||
.cms-content-actions, .cms-preview-controls { margin: 0; padding: 12px 12px; z-index: 0; border-top: 1px solid #cacacc; -webkit-box-shadow: 1px 0 0 #eceff1, rgba(248, 248, 248, 0.9) 0 1px 0px inset, rgba(201, 205, 206, 0.8) 0 0 1px; -moz-box-shadow: 1px 0 0 #eceff1, rgba(248, 248, 248, 0.9) 0 1px 0px inset, rgba(201, 205, 206, 0.8) 0 0 1px; box-shadow: 1px 0 0 #eceff1, rgba(248, 248, 248, 0.9) 0 1px 0px inset, rgba(201, 205, 206, 0.8) 0 0 1px; height: 28px; background-color: #eceff1; }
|
.cms-content-actions, .cms-preview-controls { margin: 0; padding: 12px 12px; z-index: 0; border-top: 1px solid #cacacc; -webkit-box-shadow: 1px 0 0 #eceff1, rgba(248, 248, 248, 0.9) 0 1px 0px inset, rgba(201, 205, 206, 0.8) 0 0 1px; -moz-box-shadow: 1px 0 0 #eceff1, rgba(248, 248, 248, 0.9) 0 1px 0px inset, rgba(201, 205, 206, 0.8) 0 0 1px; box-shadow: 1px 0 0 #eceff1, rgba(248, 248, 248, 0.9) 0 1px 0px inset, rgba(201, 205, 206, 0.8) 0 0 1px; height: 28px; background-color: #eceff1; }
|
||||||
|
|
||||||
/** -------------------------------------------- Messages -------------------------------------------- */
|
/** -------------------------------------------- Messages -------------------------------------------- */
|
||||||
.message { display: block; clear: both; margin: 8px 0; padding: 10px 12px; font-weight: normal; border: 1px #ccc solid; background: #fff; background: rgba(255, 255, 255, 0.5); text-shadow: none; -webkit-border-radius: 3px 3px 3px 3px; -moz-border-radius: 3px 3px 3px 3px; -ms-border-radius: 3px 3px 3px 3px; -o-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; }
|
.message { display: block; clear: both; margin: 0 0 8px; padding: 10px 12px; font-weight: normal; border: 1px #ccc solid; background: #fff; background: rgba(255, 255, 255, 0.5); text-shadow: none; -webkit-border-radius: 3px 3px 3px 3px; -moz-border-radius: 3px 3px 3px 3px; -ms-border-radius: 3px 3px 3px 3px; -o-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; }
|
||||||
.message.notice { background-color: #f0f8fc; border-color: #93cde8; }
|
.message.notice { background-color: #f0f8fc; border-color: #93cde8; }
|
||||||
.message.warning { background-color: #fefbde; border-color: #e9d104; }
|
.message.warning { background-color: #fefbde; border-color: #e9d104; }
|
||||||
.message.error, .message.bad, .message.required, .message.validation { background-color: #fae8e9; border-color: #e68288; }
|
.message.error, .message.bad, .message.required, .message.validation { background-color: #fae8e9; border-color: #e68288; }
|
||||||
@ -476,7 +477,7 @@ body.cms { overflow: hidden; }
|
|||||||
#Form_AddForm_PageType_Holder ul li .description { font-style: italic; display: inline; clear: none; margin: 0; }
|
#Form_AddForm_PageType_Holder ul li .description { font-style: italic; display: inline; clear: none; margin: 0; }
|
||||||
|
|
||||||
/** -------------------------------------------- Content toolbar -------------------------------------------- */
|
/** -------------------------------------------- Content toolbar -------------------------------------------- */
|
||||||
.cms-content-toolbar { min-height: 29px; display: block; margin: 0 0 8px 0; border-bottom: 1px solid #d0d3d5; -webkit-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -moz-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -o-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); *zoom: 1; /* smaller treedropdown */ }
|
.cms-content-toolbar { min-height: 29px; display: block; margin: 0 0 12px 0; padding-bottom: 0; border-bottom: 1px solid #d0d3d5; -webkit-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -moz-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -o-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); *zoom: 1; /* smaller treedropdown */ }
|
||||||
.cms-content-toolbar:after { content: "\0020"; display: block; height: 0; clear: both; overflow: hidden; visibility: hidden; }
|
.cms-content-toolbar:after { content: "\0020"; display: block; height: 0; clear: both; overflow: hidden; visibility: hidden; }
|
||||||
.cms-content-toolbar .cms-tree-view-modes { float: right; padding-top: 5px; }
|
.cms-content-toolbar .cms-tree-view-modes { float: right; padding-top: 5px; }
|
||||||
.cms-content-toolbar .cms-tree-view-modes * { display: inline-block; }
|
.cms-content-toolbar .cms-tree-view-modes * { display: inline-block; }
|
||||||
@ -485,14 +486,14 @@ body.cms { overflow: hidden; }
|
|||||||
.cms-content-toolbar .chzn-container-single .chzn-single:hover { -webkit-box-shadow: 0 0 5px #b3b3b3; -moz-box-shadow: 0 0 5px #b3b3b3; box-shadow: 0 0 5px #b3b3b3; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ViZWJlYiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2QyZDJkMiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ebebeb), color-stop(100%, #d2d2d2)); background-image: -webkit-linear-gradient(#ebebeb, #d2d2d2); background-image: -moz-linear-gradient(#ebebeb, #d2d2d2); background-image: -o-linear-gradient(#ebebeb, #d2d2d2); background-image: linear-gradient(#ebebeb, #d2d2d2); }
|
.cms-content-toolbar .chzn-container-single .chzn-single:hover { -webkit-box-shadow: 0 0 5px #b3b3b3; -moz-box-shadow: 0 0 5px #b3b3b3; box-shadow: 0 0 5px #b3b3b3; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ViZWJlYiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2QyZDJkMiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ebebeb), color-stop(100%, #d2d2d2)); background-image: -webkit-linear-gradient(#ebebeb, #d2d2d2); background-image: -moz-linear-gradient(#ebebeb, #d2d2d2); background-image: -o-linear-gradient(#ebebeb, #d2d2d2); background-image: linear-gradient(#ebebeb, #d2d2d2); }
|
||||||
.cms-content-toolbar .chzn-container-single .chzn-single:active { -webkit-box-shadow: inset 0 1px 3px #4d4d4d; -moz-box-shadow: inset 0 1px 3px #4d4d4d; box-shadow: inset 0 1px 3px #4d4d4d; }
|
.cms-content-toolbar .chzn-container-single .chzn-single:active { -webkit-box-shadow: inset 0 1px 3px #4d4d4d; -moz-box-shadow: inset 0 1px 3px #4d4d4d; box-shadow: inset 0 1px 3px #4d4d4d; }
|
||||||
.cms-content-toolbar .chzn-container-single .chzn-single span { padding-top: 1px; }
|
.cms-content-toolbar .chzn-container-single .chzn-single span { padding-top: 1px; }
|
||||||
.cms-content-toolbar .chzn-container-single .chzn-single div { background: url(../images/btn-icon/settings.png) 5px 4px no-repeat; border-left: none; width: 100%; }
|
.cms-content-toolbar .chzn-container-single .chzn-single div { border-left: none; width: 100%; }
|
||||||
.cms-content-toolbar .chzn-container-single .chzn-single div b { background: url(../images/sprites-32x32/menu-arrow-deselected-down.png) no-repeat 9px 11px; float: right; width: 24px; }
|
.cms-content-toolbar .chzn-container-single .chzn-single div b { background: url(../images/sprites-32x32/menu-arrow-deselected-down.png) no-repeat 9px 11px; float: right; width: 24px; }
|
||||||
.cms-content-toolbar .ss-ui-button { margin-bottom: 8px; }
|
.cms-content-toolbar .ss-ui-button { margin-bottom: 8px; }
|
||||||
|
|
||||||
/* -------------------------------------------------------- Content Tools is the sidebar on the left of the main content panel */
|
/* -------------------------------------------------------- Content Tools is the sidebar on the left of the main content panel */
|
||||||
.cms-content-tools { background: #eceff1; width: 200px; overflow-y: auto; overflow-x: hidden; z-index: 70; border-right: 1px solid #c0c0c2; -webkit-box-shadow: rgba(248, 248, 248, 0.9) -1px 0 0 inset, 0 0 1px rgba(201, 205, 206, 0.8); -moz-box-shadow: rgba(248, 248, 248, 0.9) -1px 0 0 inset, 0 0 1px rgba(201, 205, 206, 0.8); box-shadow: rgba(248, 248, 248, 0.9) -1px 0 0 inset, 0 0 1px rgba(201, 205, 206, 0.8); float: left; position: relative; }
|
.cms-content-tools { background: #eceff1; width: 200px; overflow-y: auto; overflow-x: hidden; z-index: 70; border-right: 1px solid #c0c0c2; -webkit-box-shadow: rgba(248, 248, 248, 0.9) -1px 0 0 inset, 0 0 1px rgba(201, 205, 206, 0.8); -moz-box-shadow: rgba(248, 248, 248, 0.9) -1px 0 0 inset, 0 0 1px rgba(201, 205, 206, 0.8); box-shadow: rgba(248, 248, 248, 0.9) -1px 0 0 inset, 0 0 1px rgba(201, 205, 206, 0.8); float: left; position: relative; }
|
||||||
.cms-content-tools.filter { padding: 0 !important; }
|
.cms-content-tools.filter { padding: 0 !important; }
|
||||||
.cms-content-tools .cms-panel-header { clear: both; margin: 0 0 7px; line-height: 24px; border-bottom: 1px solid #d0d3d5; -webkit-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -moz-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -o-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); }
|
.cms-content-tools .cms-panel-header { clear: both; margin: 10px 0 7px; padding-bottom: 2px; line-height: 24px; border-bottom: 1px solid #d0d3d5; -webkit-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -moz-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); -o-box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); box-shadow: 0 1px 0 rgba(248, 248, 248, 0.9); }
|
||||||
.cms-content-tools .cms-panel-content { width: 184px; padding: 8.8px 8px 0; overflow: auto; height: 100%; }
|
.cms-content-tools .cms-panel-content { width: 184px; padding: 8.8px 8px 0; overflow: auto; height: 100%; }
|
||||||
.cms-content-tools .cms-panel-content .Actions .ss-ui-action-constructive { margin-right: 5px; }
|
.cms-content-tools .cms-panel-content .Actions .ss-ui-action-constructive { margin-right: 5px; }
|
||||||
.cms-content-tools .cms-content-header { background-color: #748d9d; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2IwYmVjNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzc0OGQ5ZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b0bec7), color-stop(100%, #748d9d)); background-image: -webkit-linear-gradient(#b0bec7, #748d9d); background-image: -moz-linear-gradient(#b0bec7, #748d9d); background-image: -o-linear-gradient(#b0bec7, #748d9d); background-image: linear-gradient(#b0bec7, #748d9d); }
|
.cms-content-tools .cms-content-header { background-color: #748d9d; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2IwYmVjNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzc0OGQ5ZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b0bec7), color-stop(100%, #748d9d)); background-image: -webkit-linear-gradient(#b0bec7, #748d9d); background-image: -moz-linear-gradient(#b0bec7, #748d9d); background-image: -o-linear-gradient(#b0bec7, #748d9d); background-image: linear-gradient(#b0bec7, #748d9d); }
|
||||||
@ -517,20 +518,28 @@ body.cms { overflow: hidden; }
|
|||||||
.cms-content-tools table td { padding: 4px; line-height: 16px; vertical-align: top; }
|
.cms-content-tools table td { padding: 4px; line-height: 16px; vertical-align: top; }
|
||||||
.cms-content-tools td { border-bottom: 1px solid #ced7dc; padding: 7px 2px; font-size: 11px; }
|
.cms-content-tools td { border-bottom: 1px solid #ced7dc; padding: 7px 2px; font-size: 11px; }
|
||||||
|
|
||||||
|
/** ------------------------------------------------------------------
|
||||||
|
* CMS notice, used for filter messages, but generic enough to use elsewhere
|
||||||
|
* ----------------------------------------------------------------- */
|
||||||
|
.cms-notice { display: block; margin: 0 0 8px; padding: 10px 12px; font-weight: normal; border: 1px #d0d3d5 solid; background: #fff; background: rgba(255, 255, 255, 0.5); text-shadow: none; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
|
||||||
|
|
||||||
/** CMS Batch actions */
|
/** CMS Batch actions */
|
||||||
.cms-content-batchactions { float: left; position: relative; display: block; }
|
.cms-content-batchactions { float: left; position: relative; display: block; }
|
||||||
.cms-content-batchactions .view-mode-batchactions-wrapper { height: 18px; float: left; padding: 4px 6px; border: 1px solid #aaa; margin-bottom: 8px; background-color: #D9D9D9; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #d9d9d9)); background-image: -webkit-linear-gradient(top, #ffffff, #d9d9d9); background-image: -moz-linear-gradient(top, #ffffff, #d9d9d9); background-image: -o-linear-gradient(top, #ffffff, #d9d9d9); background-image: linear-gradient(top, #ffffff, #d9d9d9); border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
|
.cms-content-batchactions .view-mode-batchactions-wrapper { height: 18px; float: left; padding: 4px 6px; border: 1px solid #aaa; margin-bottom: 8px; margin-right: -1px; background-color: #D9D9D9; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #d9d9d9)); background-image: -webkit-linear-gradient(top, #ffffff, #d9d9d9); background-image: -moz-linear-gradient(top, #ffffff, #d9d9d9); background-image: -o-linear-gradient(top, #ffffff, #d9d9d9); background-image: linear-gradient(top, #ffffff, #d9d9d9); border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||||
.cms-content-batchactions .view-mode-batchactions-wrapper input { vertical-align: middle; }
|
.cms-content-batchactions .view-mode-batchactions-wrapper input { vertical-align: middle; }
|
||||||
.cms-content-batchactions .view-mode-batchactions-wrapper label { vertical-align: middle; display: none; }
|
.cms-content-batchactions .view-mode-batchactions-wrapper label { vertical-align: middle; display: none; }
|
||||||
.cms-content-batchactions .view-mode-batchactions-wrapper fieldset, .cms-content-batchactions .view-mode-batchactions-wrapper .Actions { display: inline-block; }
|
.cms-content-batchactions .view-mode-batchactions-wrapper fieldset, .cms-content-batchactions .view-mode-batchactions-wrapper .Actions { display: inline-block; }
|
||||||
|
.cms-content-batchactions .view-mode-batchactions-wrapper #view-mode-batchactions { margin-top: 2px; }
|
||||||
.cms-content-batchactions.inactive .view-mode-batchactions-wrapper { border-radius: 4px; }
|
.cms-content-batchactions.inactive .view-mode-batchactions-wrapper { border-radius: 4px; }
|
||||||
.cms-content-batchactions.inactive .view-mode-batchactions-wrapper label { display: inline; }
|
.cms-content-batchactions.inactive .view-mode-batchactions-wrapper label { display: inline; }
|
||||||
.cms-content-batchactions form > * { display: block; float: left; }
|
.cms-content-batchactions form > * { display: block; float: left; }
|
||||||
.cms-content-batchactions form.cms-batch-actions { float: left; }
|
.cms-content-batchactions form.cms-batch-actions { float: left; }
|
||||||
.cms-content-batchactions.inactive form { display: none; }
|
.cms-content-batchactions.inactive form { display: none; }
|
||||||
.cms-content-batchactions .chzn-container-single { display: block; }
|
.cms-content-batchactions .chzn-container-single { display: block; }
|
||||||
.cms-content-batchactions .chzn-container-single .chzn-single { margin-left: -1px; border-radius: 0; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #d9d9d9)); background-image: -webkit-linear-gradient(top, #ffffff, #d9d9d9); background-image: -moz-linear-gradient(top, #ffffff, #d9d9d9); background-image: -o-linear-gradient(top, #ffffff, #d9d9d9); background-image: linear-gradient(top, #ffffff, #d9d9d9); }
|
.cms-content-batchactions .chzn-container-single .chzn-single { border-radius: 0; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #d9d9d9)); background-image: -webkit-linear-gradient(top, #ffffff, #d9d9d9); background-image: -moz-linear-gradient(top, #ffffff, #d9d9d9); background-image: -o-linear-gradient(top, #ffffff, #d9d9d9); background-image: linear-gradient(top, #ffffff, #d9d9d9); }
|
||||||
.cms-content-batchactions .chzn-container-single .chzn-single span { padding-top: 0; }
|
.cms-content-batchactions .chzn-container-single .chzn-single span { padding-top: 0; }
|
||||||
|
.cms-content-batchactions .cms-batch-actions .dropdown { margin: 0; }
|
||||||
|
.cms-content-batchactions .cms-batch-actions .dropdown .chzn-single { padding-left: 8px; /* use default size without icon */ }
|
||||||
.cms-content-batchactions .cms-batch-actions .Actions .ss-ui-button { padding-top: 4px; padding-bottom: 4px; height: 28px; margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
|
.cms-content-batchactions .cms-batch-actions .Actions .ss-ui-button { padding-top: 4px; padding-bottom: 4px; height: 28px; margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
|
||||||
.cms-content-batchactions .cms-batch-actions .Actions .ss-ui-button.ui-state-disabled { opacity: 1; color: #ccc; }
|
.cms-content-batchactions .cms-batch-actions .Actions .ss-ui-button.ui-state-disabled { opacity: 1; color: #ccc; }
|
||||||
|
|
||||||
@ -608,13 +617,13 @@ form.member-profile-form #Permissions .optionset li { float: none; width: auto;
|
|||||||
|
|
||||||
.cms .ui-widget-overlay { background-color: #000; background-image: none; }
|
.cms .ui-widget-overlay { background-color: #000; background-image: none; }
|
||||||
|
|
||||||
.cms .ui-dialog { min-width: 570px; }
|
|
||||||
.cms .ui-dialog .htmleditorfield-dialog { min-width: 570px; }
|
|
||||||
.cms .ui-dialog .ss-ui-dialog.ui-dialog-content { padding-top: 0px; }
|
.cms .ui-dialog .ss-ui-dialog.ui-dialog-content { padding-top: 0px; }
|
||||||
|
|
||||||
.ui-dialog { background: url("../images/textures/bg_cms_main_content.png") repeat left top #f0f3f4; border: 3px solid #000 !important; border-radius: 8px; overflow: visible; padding: 0; }
|
.ui-dialog { background: url("../images/textures/bg_cms_main_content.png") repeat left top #f0f3f4; border: 3px solid #000 !important; border-radius: 8px; overflow: visible; padding: 0; }
|
||||||
.ui-dialog .ui-dialog-titlebar.ui-widget-header { font-size: 14px; padding: 0; border: none; background-color: transparent; background-image: url(../images/textures/cms_content_header.png); background-repeat: repeat; -webkit-box-shadow: rgba(107, 120, 123, 0.5) 0 0 4px inset; -moz-box-shadow: rgba(107, 120, 123, 0.5) 0 0 4px inset; box-shadow: rgba(107, 120, 123, 0.5) 0 0 4px inset; }
|
.ui-dialog .ui-dialog-titlebar.ui-widget-header { font-size: 14px; padding: 0; border: none; background-color: transparent; background-image: url(../images/textures/cms_content_header.png); background-repeat: repeat; -webkit-box-shadow: rgba(107, 120, 123, 0.5) 0 0 4px inset; -moz-box-shadow: rgba(107, 120, 123, 0.5) 0 0 4px inset; box-shadow: rgba(107, 120, 123, 0.5) 0 0 4px inset; }
|
||||||
.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-title { position: absolute; }
|
.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-title { position: absolute; }
|
||||||
|
.ui-dialog .ui-dialog-content { overflow: auto; }
|
||||||
|
.ui-dialog .ui-dialog-content.loading { background-image: url(../images/spinner.gif); background-position: 50% 50%; background-repeat: no-repeat; }
|
||||||
.ui-dialog .cms-dialog-content { background: url("../images/textures/bg_cms_main_content.png") repeat left top #f0f3f4; padding-bottom: 8px; padding-top: 0px; }
|
.ui-dialog .cms-dialog-content { background: url("../images/textures/bg_cms_main_content.png") repeat left top #f0f3f4; padding-bottom: 8px; padding-top: 0px; }
|
||||||
.ui-dialog .cms-dialog-content .Actions { overflow: auto; margin: 8px 0; padding-bottom: 8px; float: right; }
|
.ui-dialog .cms-dialog-content .Actions { overflow: auto; margin: 8px 0; padding-bottom: 8px; float: right; }
|
||||||
.ui-dialog .cms-dialog-content .ui-tabs { position: static; }
|
.ui-dialog .cms-dialog-content .ui-tabs { position: static; }
|
||||||
@ -627,21 +636,22 @@ body.cms-dialog { overflow: auto; background: url("../images/textures/bg_cms_mai
|
|||||||
|
|
||||||
/** -------------------------------------------- "Insert X" forms -------------------------------------------- */
|
/** -------------------------------------------- "Insert X" forms -------------------------------------------- */
|
||||||
.htmleditorfield-dialog.ui-dialog-content { padding: 0; position: relative; }
|
.htmleditorfield-dialog.ui-dialog-content { padding: 0; position: relative; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb .CompositeField { overflow: hidden; *zoom: 1; }
|
.htmleditorfield-dialog .htmleditorfield-from-web .CompositeField { overflow: hidden; *zoom: 1; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb #RemoteURL { border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; width: 55%; max-width: 512px; float: left; position: relative; }
|
.htmleditorfield-dialog .htmleditorfield-from-web #RemoteURL { border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; width: 55%; max-width: 512px; float: left; position: relative; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb #RemoteURL label { position: absolute; left: 8px; top: 13px; font-weight: normal; color: #888; }
|
.htmleditorfield-dialog .htmleditorfield-from-web #RemoteURL label { position: absolute; left: 8px; top: 13px; font-weight: normal; color: #888; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb #RemoteURL .middleColumn { margin-left: 0; }
|
.htmleditorfield-dialog .htmleditorfield-from-web #RemoteURL .middleColumn { margin-left: 0; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb #RemoteURL input.remoteurl { padding-left: 40px; }
|
.htmleditorfield-dialog .htmleditorfield-from-web #RemoteURL input.remoteurl { padding-left: 40px; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url { margin-top: 5px; padding-top: 15px; overflow: hidden; *zoom: 1; border: none; background: none; opacity: 0.8; cursor: hand; }
|
.htmleditorfield-dialog .htmleditorfield-from-web button.add-url { margin-top: 5px; padding-top: 15px; overflow: hidden; *zoom: 1; border: none; background: none; opacity: 0.8; cursor: hand; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url .btn-icon-addMedia { width: 20px; height: 20px; }
|
.htmleditorfield-dialog .htmleditorfield-from-web button.add-url .btn-icon-addMedia { width: 20px; height: 20px; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url .ui-button-text { margin-left: 10px; margin-top: -5px; line-height: 20px; float: left; }
|
.htmleditorfield-dialog .htmleditorfield-from-web button.add-url .ui-button-text { margin-left: 10px; margin-top: -5px; line-height: 20px; float: left; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url:hover, .htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url:active { border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; opacity: 1; }
|
.htmleditorfield-dialog .htmleditorfield-from-web button.add-url:hover, .htmleditorfield-dialog .htmleditorfield-from-web button.add-url:active { border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; opacity: 1; }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url.ui-state-disabled, .htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url.ui-state-disabled:hover, .htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb button.add-url.ui-state-disabled:active { opacity: 0.35; filter: Alpha(Opacity=35); }
|
.htmleditorfield-dialog .htmleditorfield-from-web button.add-url.ui-state-disabled, .htmleditorfield-dialog .htmleditorfield-from-web button.add-url.ui-state-disabled:hover, .htmleditorfield-dialog .htmleditorfield-from-web button.add-url.ui-state-disabled:active { opacity: 0.35; filter: Alpha(Opacity=35); }
|
||||||
.htmleditorfield-dialog #MediaFormInsertMediaTabs_FromWeb .loading button.add-url .ui-icon { background-image: url(../images/throbber.gif); background-position: 50% 50%; background-repeat: no-repeat; }
|
.htmleditorfield-dialog .htmleditorfield-from-web .loading button.add-url .ui-icon { background-image: url(../images/throbber.gif); background-position: 50% 50%; background-repeat: no-repeat; }
|
||||||
.htmleditorfield-dialog .cms-content-header { padding: 0; width: 100%; height: 40px; }
|
.htmleditorfield-dialog .cms-content-header { padding: 0; width: 100%; height: 40px; }
|
||||||
.htmleditorfield-dialog .cms-content-header h3 { padding: 0 8px; margin: 10px; }
|
.htmleditorfield-dialog .cms-content-header h3 { padding: 0 8px; margin: 10px; }
|
||||||
.htmleditorfield-dialog .ss-insert-media, .htmleditorfield-dialog .Actions, .htmleditorfield-dialog .ss-insert-link { padding: 8px 16px; }
|
.htmleditorfield-dialog .ss-insert-media, .htmleditorfield-dialog .Actions, .htmleditorfield-dialog .ss-insert-link { padding: 8px 16px; }
|
||||||
.htmleditorfield-dialog .details .file-url { display: block; width: 450px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; }
|
.htmleditorfield-dialog .ss-insert-media .ui-tabs-panel, .htmleditorfield-dialog .Actions .ui-tabs-panel, .htmleditorfield-dialog .ss-insert-link .ui-tabs-panel { padding: 0; }
|
||||||
|
.htmleditorfield-dialog .details .file-url { display: block; width: 300px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; }
|
||||||
.htmleditorfield-dialog .details .cms-file-info .field { border: none; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); }
|
.htmleditorfield-dialog .details .cms-file-info .field { border: none; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); }
|
||||||
.htmleditorfield-dialog .details .field { border-bottom: 1px solid rgba(201, 205, 206, 0.8); -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); }
|
.htmleditorfield-dialog .details .field { border-bottom: 1px solid rgba(201, 205, 206, 0.8); -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); }
|
||||||
.htmleditorfield-dialog .details .field.last { border-bottom: none; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); margin-bottom: 0; }
|
.htmleditorfield-dialog .details .field.last { border-bottom: none; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); margin-bottom: 0; }
|
||||||
@ -649,13 +659,14 @@ body.cms-dialog { overflow: auto; background: url("../images/textures/bg_cms_mai
|
|||||||
|
|
||||||
.htmleditorfield-linkform .step2 { margin-bottom: 16px; }
|
.htmleditorfield-linkform .step2 { margin-bottom: 16px; }
|
||||||
|
|
||||||
.htmleditorfield-mediaform .ss-gridfield tbody td:first-child img { max-height: 30px; }
|
.htmleditorfield-mediaform .ss-gridfield .gridfield-button-delete { display: none; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield.from-web, .htmleditorfield-mediaform .ss-uploadfield.from-CMS { margin-bottom: 48px; }
|
.htmleditorfield-mediaform .ss-gridfield table.ss-gridfield-table tbody td:first-child { padding: 0; text-align: center; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield.from-web .middleColumn, .htmleditorfield-mediaform .ss-uploadfield.from-CMS .middleColumn { width: auto; background: none; border: none; margin-top: 13px; }
|
.htmleditorfield-mediaform .ss-gridfield table.ss-gridfield-table tbody td:first-child img { max-height: 30px; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield.from-CMS { margin-top: 33px; }
|
.htmleditorfield-mediaform .ss-gridfield table.ss-gridfield-table tr td { padding: 4px; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield.from-CMS h4 { margin-top: 3px; }
|
.htmleditorfield-mediaform .htmleditorfield-from-web .ss-uploadfield .middleColumn, .htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield .middleColumn { width: auto; background: none; border: none; margin-top: 13px; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield.from-CMS .middleColumn { margin-top: 0; }
|
.htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield h4 { float: left; margin-top: 4px; margin-bottom: 0; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield.from-CMS .middleColumn .TreeDropdownField { margin-top: 23px; }
|
.htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield .middleColumn { margin-top: 16px; margin-left: 184px; }
|
||||||
|
.htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield .field.treedropdown { border-bottom: 0; padding: 0; }
|
||||||
.htmleditorfield-mediaform .ss-uploadfield-editandorganize { display: none; }
|
.htmleditorfield-mediaform .ss-uploadfield-editandorganize { display: none; }
|
||||||
|
|
||||||
/** -------------------------------------------- Search forms (used in AssetAdmin, ModelAdmin, etc) -------------------------------------------- */
|
/** -------------------------------------------- Search forms (used in AssetAdmin, ModelAdmin, etc) -------------------------------------------- */
|
||||||
@ -672,9 +683,11 @@ body.cms-dialog { overflow: auto; background: url("../images/textures/bg_cms_mai
|
|||||||
/** -------------------------------------------- Item Edit Form -------------------------------------------- */
|
/** -------------------------------------------- Item Edit Form -------------------------------------------- */
|
||||||
.cms-file-info { overflow: auto; border-bottom: 1px solid rgba(201, 205, 206, 0.8); -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); margin-bottom: 8px; }
|
.cms-file-info { overflow: auto; border-bottom: 1px solid rgba(201, 205, 206, 0.8); -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); margin-bottom: 8px; }
|
||||||
.cms-file-info .cms-file-info-preview { float: left; width: 176px; margin-right: 8px; }
|
.cms-file-info .cms-file-info-preview { float: left; width: 176px; margin-right: 8px; }
|
||||||
.cms-file-info .cms-file-info-preview img { max-width: 176px; }
|
.cms-file-info .cms-file-info-preview img { max-width: 176px; max-height: 128px; }
|
||||||
.cms-file-info .cms-file-info-data { float: left; }
|
.cms-file-info .cms-file-info-data { float: left; }
|
||||||
.cms-file-info .cms-file-info-data .field { margin-bottom: 0; padding-bottom: 8px; border: none; box-shadow: none; }
|
.cms-file-info .cms-file-info-data .field { margin: 0; padding-bottom: 8px; border: none; box-shadow: none; }
|
||||||
|
.cms-file-info .cms-file-info-data .field label.left { width: 96px; }
|
||||||
|
.cms-file-info .cms-file-info-data .field .middleColumn { margin-left: 104px; }
|
||||||
.cms-file-info .cms-file-info-data .field label, .cms-file-info .cms-file-info-data .field span { padding: 0; }
|
.cms-file-info .cms-file-info-data .field label, .cms-file-info .cms-file-info-data .field span { padding: 0; }
|
||||||
|
|
||||||
form.small .cms-file-info-preview { width: 112px; }
|
form.small .cms-file-info-preview { width: 112px; }
|
||||||
@ -707,7 +720,6 @@ form.import-form label.left { width: 250px; }
|
|||||||
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .optionset li { white-space: nowrap; }
|
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .optionset li { white-space: nowrap; }
|
||||||
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .optionset li label { padding-left: 2px; }
|
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .optionset li label { padding-left: 2px; }
|
||||||
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .fieldgroup .fieldgroup-field { width: 216px; padding-left: 0; }
|
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .fieldgroup .fieldgroup-field { width: 216px; padding-left: 0; }
|
||||||
.cms-container .CMSMain.CMSPageSettingsController .tab#Root_Settings .TreeDropdownField .treedropdownfield-toggle-panel-link { border-left: none; background: none; background-image: none; }
|
|
||||||
|
|
||||||
/** -------------------------------------------- Buttons for FileUpload -------------------------------------------- */
|
/** -------------------------------------------- Buttons for FileUpload -------------------------------------------- */
|
||||||
.ss-uploadfield-item-edit-all .ui-button-text { padding-right: 0; }
|
.ss-uploadfield-item-edit-all .ui-button-text { padding-right: 0; }
|
||||||
@ -727,10 +739,11 @@ form.import-form label.left { width: 250px; }
|
|||||||
.cms .jstree li.jstree-open > ul, .TreeDropdownField .treedropdownfield-panel .jstree li.jstree-open > ul { display: block; }
|
.cms .jstree li.jstree-open > ul, .TreeDropdownField .treedropdownfield-panel .jstree li.jstree-open > ul { display: block; }
|
||||||
.cms .jstree li.jstree-closed > ul, .TreeDropdownField .treedropdownfield-panel .jstree li.jstree-closed > ul { display: none; }
|
.cms .jstree li.jstree-closed > ul, .TreeDropdownField .treedropdownfield-panel .jstree li.jstree-closed > ul { display: none; }
|
||||||
.cms .jstree li.disabled > a, .TreeDropdownField .treedropdownfield-panel .jstree li.disabled > a { color: #aaaaaa; }
|
.cms .jstree li.disabled > a, .TreeDropdownField .treedropdownfield-panel .jstree li.disabled > a { color: #aaaaaa; }
|
||||||
|
.cms .jstree li.edit-disabled > a, .TreeDropdownField .treedropdownfield-panel .jstree li.edit-disabled > a { color: #aaaaaa; }
|
||||||
.cms .jstree li > .jstree-icon, .TreeDropdownField .treedropdownfield-panel .jstree li > .jstree-icon { cursor: pointer; }
|
.cms .jstree li > .jstree-icon, .TreeDropdownField .treedropdownfield-panel .jstree li > .jstree-icon { cursor: pointer; }
|
||||||
.cms .jstree ins, .TreeDropdownField .treedropdownfield-panel .jstree ins { display: inline-block; text-decoration: none; width: 18px; height: 18px; margin: 0 0 0 0; padding: 0; float: left; }
|
.cms .jstree ins, .TreeDropdownField .treedropdownfield-panel .jstree ins { display: inline-block; text-decoration: none; width: 18px; height: 18px; margin: 0 0 0 0; padding: 0; float: left; }
|
||||||
.cms .jstree a, .TreeDropdownField .treedropdownfield-panel .jstree a { display: inline-block; line-height: 16px; height: 16px; color: black; white-space: nowrap; text-decoration: none; padding: 1px 2px; margin: 0; border: 1px solid #fff; }
|
.cms .jstree a, .TreeDropdownField .treedropdownfield-panel .jstree a { display: inline-block; line-height: 16px; height: 16px; color: black; white-space: nowrap; text-decoration: none; padding: 1px 2px; margin: 0; border: 1px solid #fff; }
|
||||||
.cms .jstree a:focus, .cms .jstree a:active, .cms .jstree a:hover, .TreeDropdownField .treedropdownfield-panel .jstree a:focus, .TreeDropdownField .treedropdownfield-panel .jstree a:active, .TreeDropdownField .treedropdownfield-panel .jstree a:hover { outline: none; text-decoration: none; cursor: pointer; text-shadow: none; }
|
.cms .jstree a:focus, .cms .jstree a:active, .cms .jstree a:hover, .TreeDropdownField .treedropdownfield-panel .jstree a:focus, .TreeDropdownField .treedropdownfield-panel .jstree a:active, .TreeDropdownField .treedropdownfield-panel .jstree a:hover { text-decoration: none; cursor: pointer; text-shadow: none; }
|
||||||
.cms .jstree a > ins, .TreeDropdownField .treedropdownfield-panel .jstree a > ins { height: 16px; width: 16px; }
|
.cms .jstree a > ins, .TreeDropdownField .treedropdownfield-panel .jstree a > ins { height: 16px; width: 16px; }
|
||||||
.cms .jstree a > ins.jstree-checkbox, .TreeDropdownField .treedropdownfield-panel .jstree a > ins.jstree-checkbox { height: 19px; }
|
.cms .jstree a > ins.jstree-checkbox, .TreeDropdownField .treedropdownfield-panel .jstree a > ins.jstree-checkbox { height: 19px; }
|
||||||
.cms .jstree a > .jstree-icon, .TreeDropdownField .treedropdownfield-panel .jstree a > .jstree-icon { margin-right: 3px; }
|
.cms .jstree a > .jstree-icon, .TreeDropdownField .treedropdownfield-panel .jstree a > .jstree-icon { margin-right: 3px; }
|
||||||
@ -934,7 +947,7 @@ li.class-ErrorPage > a .jstree-pageicon { background-position: 0 -112px; }
|
|||||||
.cms-preview .preview-note span { background: url('../images/sprites-64x64-s88957ee578.png') 0 0 no-repeat; display: block; height: 41px; margin: 0 auto 20px; width: 50px; }
|
.cms-preview .preview-note span { background: url('../images/sprites-64x64-s88957ee578.png') 0 0 no-repeat; display: block; height: 41px; margin: 0 auto 20px; width: 50px; }
|
||||||
.cms-preview .preview-scroll { height: 100%; overflow: auto; position: relative; width: 100%; }
|
.cms-preview .preview-scroll { height: 100%; overflow: auto; position: relative; width: 100%; }
|
||||||
.cms-preview .preview-scroll .preview-device-outer { height: 100%; width: 100%; }
|
.cms-preview .preview-scroll .preview-device-outer { height: 100%; width: 100%; }
|
||||||
.cms-preview .preview-scroll .preview-device-outer .preview-device-inner { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; height: 100%; }
|
.cms-preview .preview-scroll .preview-device-outer .preview-device-inner { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; height: 100%; background-color: #FFF; }
|
||||||
.cms-preview .preview-scroll .preview-device-outer .preview-device-inner iframe { height: 100%; overflow-y: auto; width: 100%; }
|
.cms-preview .preview-scroll .preview-device-outer .preview-device-inner iframe { height: 100%; overflow-y: auto; width: 100%; }
|
||||||
.cms-preview.mobile .preview-scroll, .cms-preview.mobileLandscape .preview-scroll, .cms-preview.tablet .preview-scroll, .cms-preview.tabletLandscape .preview-scroll, .cms-preview.desktop .preview-scroll { background-color: #eceff1; /* cover website preview icon */ }
|
.cms-preview.mobile .preview-scroll, .cms-preview.mobileLandscape .preview-scroll, .cms-preview.tablet .preview-scroll, .cms-preview.tabletLandscape .preview-scroll, .cms-preview.desktop .preview-scroll { background-color: #eceff1; /* cover website preview icon */ }
|
||||||
.cms-preview.mobile .preview-scroll .preview-device-outer, .cms-preview.mobileLandscape .preview-scroll .preview-device-outer, .cms-preview.tablet .preview-scroll .preview-device-outer, .cms-preview.tabletLandscape .preview-scroll .preview-device-outer, .cms-preview.desktop .preview-scroll .preview-device-outer { -webkit-border-radius: 7px; -moz-border-radius: 7px; -ms-border-radius: 7px; -o-border-radius: 7px; border-radius: 7px; background: #d5dde2; border: 1px solid transparent; border-left: 1px solid #cfd9de; padding: 0 16px 16px; }
|
.cms-preview.mobile .preview-scroll .preview-device-outer, .cms-preview.mobileLandscape .preview-scroll .preview-device-outer, .cms-preview.tablet .preview-scroll .preview-device-outer, .cms-preview.tabletLandscape .preview-scroll .preview-device-outer, .cms-preview.desktop .preview-scroll .preview-device-outer { -webkit-border-radius: 7px; -moz-border-radius: 7px; -ms-border-radius: 7px; -o-border-radius: 7px; border-radius: 7px; background: #d5dde2; border: 1px solid transparent; border-left: 1px solid #cfd9de; padding: 0 16px 16px; }
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 977 B After Width: | Height: | Size: 110 B |
@ -106,10 +106,11 @@
|
|||||||
} else if (modeName == 'content') {
|
} else if (modeName == 'content') {
|
||||||
container.entwine('.ss').contentViewMode();
|
container.entwine('.ss').contentViewMode();
|
||||||
this.setIsPreviewEnabled(false);
|
this.setIsPreviewEnabled(false);
|
||||||
this._loadCurrentState();
|
// Do not load content as the preview is not visible.
|
||||||
} else if (modeName == 'preview') {
|
} else if (modeName == 'preview') {
|
||||||
container.entwine('.ss').previewMode();
|
container.entwine('.ss').previewMode();
|
||||||
this.setIsPreviewEnabled(true);
|
this.setIsPreviewEnabled(true);
|
||||||
|
this._loadCurrentState();
|
||||||
} else {
|
} else {
|
||||||
throw 'Invalid mode: ' + modeName;
|
throw 'Invalid mode: ' + modeName;
|
||||||
}
|
}
|
||||||
|
@ -125,10 +125,10 @@ jQuery.noConflict();
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Browser detection
|
// Browser detection
|
||||||
if($.browser.msie && parseInt($.browser.version, 10) < 7) {
|
if($.browser.msie && parseInt($.browser.version, 10) < 8) {
|
||||||
$('.ss-loading-screen').append(
|
$('.ss-loading-screen').append(
|
||||||
'<p class="ss-loading-incompat-warning"><span class="notice">' +
|
'<p class="ss-loading-incompat-warning"><span class="notice">' +
|
||||||
'Your browser is not compatible with the CMS interface. Please use Internet Explorer 7+, Google Chrome 10+ or Mozilla Firefox 3.5+.' +
|
'Your browser is not compatible with the CMS interface. Please use Internet Explorer 8+, Google Chrome or Mozilla Firefox.' +
|
||||||
'</span></p>'
|
'</span></p>'
|
||||||
).css('z-index', $('.ss-loading-screen').css('z-index')+1);
|
).css('z-index', $('.ss-loading-screen').css('z-index')+1);
|
||||||
$('.loading-animation').remove();
|
$('.loading-animation').remove();
|
||||||
@ -461,7 +461,8 @@ jQuery.noConflict();
|
|||||||
|
|
||||||
// Support a full reload
|
// Support a full reload
|
||||||
if(xhr.getResponseHeader('X-Reload') && xhr.getResponseHeader('X-ControllerURL')) {
|
if(xhr.getResponseHeader('X-Reload') && xhr.getResponseHeader('X-ControllerURL')) {
|
||||||
document.location.href = xhr.getResponseHeader('X-ControllerURL');
|
document.location.href = $('base').attr('href').replace(/\/*$/, '')
|
||||||
|
+ '/' + xhr.getResponseHeader('X-ControllerURL');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -469,12 +470,6 @@ jQuery.noConflict();
|
|||||||
// case we'll ignore the response
|
// case we'll ignore the response
|
||||||
if(!data) return;
|
if(!data) return;
|
||||||
|
|
||||||
// Support a full reload
|
|
||||||
if(xhr.getResponseHeader('X-Reload') && xhr.getResponseHeader('X-ControllerURL')) {
|
|
||||||
document.location.href = xhr.getResponseHeader('X-ControllerURL');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update title
|
// Update title
|
||||||
var title = xhr.getResponseHeader('X-Title');
|
var title = xhr.getResponseHeader('X-Title');
|
||||||
if(title) document.title = decodeURIComponent(title.replace(/\+/g, ' '));
|
if(title) document.title = decodeURIComponent(title.replace(/\+/g, ' '));
|
||||||
@ -674,7 +669,9 @@ jQuery.noConflict();
|
|||||||
if(url) {
|
if(url) {
|
||||||
s.removeItem('tabs-' + url);
|
s.removeItem('tabs-' + url);
|
||||||
} else {
|
} else {
|
||||||
for(var i=0;i<s.length;i++) s.removeItem(s.key(i));
|
for(var i=0;i<s.length;i++) {
|
||||||
|
if(s.key(i).match(/^tabs-/)) s.removeItem(s.key(i));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -974,13 +971,14 @@ jQuery.noConflict();
|
|||||||
/**
|
/**
|
||||||
* Reset button handler. IE8 does not bubble reset events to
|
* Reset button handler. IE8 does not bubble reset events to
|
||||||
*/
|
*/
|
||||||
$(".cms-search-form button[type=reset]").entwine({
|
$(".cms-search-form button[type=reset], .cms-search-form input[type=reset]").entwine({
|
||||||
onclick: function(e) {
|
onclick: function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
var form = $(this).parents('form');
|
var form = $(this).parents('form');
|
||||||
|
|
||||||
form.clearForm();
|
form.clearForm();
|
||||||
|
form.find(".dropdown select").prop('selectedIndex', 0).trigger("liszt:updated"); // Reset chosen.js
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -1064,6 +1062,12 @@ jQuery.noConflict();
|
|||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
activate: function(e, ui) {
|
activate: function(e, ui) {
|
||||||
|
// Accessibility: Simulate click to trigger panel load when tab is focused
|
||||||
|
// by a keyboard navigation event rather than a click
|
||||||
|
if(ui.newTab) {
|
||||||
|
ui.newTab.find('.cms-panel-link').click();
|
||||||
|
}
|
||||||
|
|
||||||
// Usability: Hide actions for "readonly" tabs (which don't contain any editable fields)
|
// Usability: Hide actions for "readonly" tabs (which don't contain any editable fields)
|
||||||
var actions = $(this).closest('form').find('.Actions');
|
var actions = $(this).closest('form').find('.Actions');
|
||||||
if($(ui.newTab).closest('li').hasClass('readonly')) {
|
if($(ui.newTab).closest('li').hasClass('readonly')) {
|
||||||
|
@ -115,6 +115,13 @@
|
|||||||
/**
|
/**
|
||||||
* Extends jQueryUI dialog with iframe abilities (and related resizing logic),
|
* Extends jQueryUI dialog with iframe abilities (and related resizing logic),
|
||||||
* and sets some CMS-wide defaults.
|
* and sets some CMS-wide defaults.
|
||||||
|
*
|
||||||
|
* Additional settings:
|
||||||
|
* - 'autoPosition': Automatically reposition window on resize based on 'position' option
|
||||||
|
* - 'widthRatio': Sets width based on percentage of window (value between 0 and 1)
|
||||||
|
* - 'heightRatio': Sets width based on percentage of window (value between 0 and 1)
|
||||||
|
* - 'reloadOnOpen': Reloads the iframe whenever the dialog is reopened
|
||||||
|
* - 'iframeUrl': Create an iframe element and load this URL when the dialog is created
|
||||||
*/
|
*/
|
||||||
$.widget("ssui.ssdialog", $.ui.dialog, {
|
$.widget("ssui.ssdialog", $.ui.dialog, {
|
||||||
options: {
|
options: {
|
||||||
@ -124,12 +131,17 @@
|
|||||||
dialogExtraClass: '',
|
dialogExtraClass: '',
|
||||||
|
|
||||||
// Defaults
|
// Defaults
|
||||||
width: '80%',
|
|
||||||
height: 500,
|
|
||||||
position: 'center',
|
|
||||||
modal: true,
|
modal: true,
|
||||||
bgiframe: true,
|
bgiframe: true,
|
||||||
autoOpen: false
|
autoOpen: false,
|
||||||
|
autoPosition: true,
|
||||||
|
minWidth: 500,
|
||||||
|
maxWidth: 700,
|
||||||
|
minHeight: 300,
|
||||||
|
maxHeight: 600,
|
||||||
|
widthRatio: 0.8,
|
||||||
|
heightRatio: 0.8,
|
||||||
|
resizable: false
|
||||||
},
|
},
|
||||||
_create: function() {
|
_create: function() {
|
||||||
$.ui.dialog.prototype._create.call(this);
|
$.ui.dialog.prototype._create.call(this);
|
||||||
@ -150,7 +162,7 @@
|
|||||||
this.element.append(iframe);
|
this.element.append(iframe);
|
||||||
|
|
||||||
// Let the iframe handle its scrolling
|
// Let the iframe handle its scrolling
|
||||||
this.element.css('overflow', 'hidden');
|
if(this.options.iframeUrl) this.element.css('overflow', 'hidden');
|
||||||
},
|
},
|
||||||
open: function() {
|
open: function() {
|
||||||
$.ui.dialog.prototype.open.call(this);
|
$.ui.dialog.prototype.open.call(this);
|
||||||
@ -165,7 +177,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Resize events
|
// Resize events
|
||||||
this.uiDialog.bind('resize.ssdialog', function() {self._resizeIframe();});
|
|
||||||
$(window).bind('resize.ssdialog', function() {self._resizeIframe();});
|
$(window).bind('resize.ssdialog', function() {self._resizeIframe();});
|
||||||
},
|
},
|
||||||
close: function() {
|
close: function() {
|
||||||
@ -175,18 +186,33 @@
|
|||||||
$(window).unbind('resize.ssdialog');
|
$(window).unbind('resize.ssdialog');
|
||||||
},
|
},
|
||||||
_resizeIframe: function() {
|
_resizeIframe: function() {
|
||||||
var el = this.element, iframe = el.children('iframe');
|
var opts = {}, newWidth, newHeight;
|
||||||
|
if(this.options.widthRatio) {
|
||||||
iframe.attr('width',
|
newWidth = $(window).width() * this.options.widthRatio;
|
||||||
el.innerWidth()
|
if(this.options.minWidth && newWidth < this.options.minWidth) {
|
||||||
- parseFloat(el.css('paddingLeft'))
|
opts.width = this.options.minWidth
|
||||||
- parseFloat(el.css('paddingRight'))
|
} else if(this.options.maxWidth && newWidth > this.options.maxWidth) {
|
||||||
);
|
opts.width = this.options.maxWidth;
|
||||||
iframe.attr('height',
|
} else {
|
||||||
el.innerHeight()
|
opts.width = newWidth;
|
||||||
- parseFloat(el.css('paddingTop'))
|
}
|
||||||
- parseFloat(el.css('paddingBottom'))
|
}
|
||||||
);
|
if(this.options.heightRatio) {
|
||||||
|
newHeight = $(window).height() * this.options.heightRatio;
|
||||||
|
if(this.options.minHeight && newHeight < this.options.minHeight) {
|
||||||
|
opts.height = this.options.minHeight
|
||||||
|
} else if(this.options.maxHeight && newHeight > this.options.maxHeight) {
|
||||||
|
opts.height = this.options.maxHeight;
|
||||||
|
} else {
|
||||||
|
opts.height = newHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.options.autoPosition) {
|
||||||
|
opts.position = this.options.position;
|
||||||
|
}
|
||||||
|
if(!jQuery.isEmptyObject(opts)) {
|
||||||
|
this._setOptions(opts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -23,12 +23,12 @@ form.nostyle {
|
|||||||
//overflow: hidden;
|
//overflow: hidden;
|
||||||
|
|
||||||
// bottom padding accounts for the border and we have a negative
|
// bottom padding accounts for the border and we have a negative
|
||||||
// margin with a postive padding to ensure the bottom border extends
|
// margin with a postive padding to ensure the bottom border extends over the edges
|
||||||
// over the edges
|
|
||||||
padding: 0 0 $grid-y - 1 0;
|
padding: 0 0 $grid-y - 1 0;
|
||||||
margin: 0 0 $grid-y 0;
|
margin: $grid-y 0;
|
||||||
|
|
||||||
&:last-child {
|
&.noborder, &:last-child {
|
||||||
|
padding-bottom: 0;
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
@include box-shadow(none);
|
@include box-shadow(none);
|
||||||
}
|
}
|
||||||
@ -95,6 +95,7 @@ form.nostyle {
|
|||||||
color: lighten($color-text, 20%);
|
color: lighten($color-text, 20%);
|
||||||
display: block;
|
display: block;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
line-height: $grid-y * 2;
|
||||||
margin: $grid-y/2 0 0 $grid-x*23; // left align with .middleColumn
|
margin: $grid-y/2 0 0 $grid-x*23; // left align with .middleColumn
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,7 +236,6 @@ form.small .field, .field.small {
|
|||||||
|
|
||||||
&:hover, &:focus, &:active {
|
&:hover, &:focus, &:active {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
|
@ -253,6 +253,7 @@
|
|||||||
@include box-sizing('border-box');
|
@include box-sizing('border-box');
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height:100%;
|
height:100%;
|
||||||
|
background-color: #FFF;
|
||||||
iframe {
|
iframe {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
@ -97,11 +97,7 @@ body.cms {
|
|||||||
image: url(../images/textures/cms_content_header.png);
|
image: url(../images/textures/cms_content_header.png);
|
||||||
repeat: repeat;
|
repeat: repeat;
|
||||||
position: left bottom;
|
position: left bottom;
|
||||||
}
|
color: $color-darker-bg;
|
||||||
|
|
||||||
.cms-content-header-info *,
|
|
||||||
.cms-content-header-tabs * {
|
|
||||||
@include inline-block;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
@ -118,11 +114,20 @@ body.cms {
|
|||||||
font-size: $font-base-size + 2;
|
font-size: $font-base-size + 2;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
margin-bottom: $grid-x;
|
||||||
|
|
||||||
|
* {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cms-content-header-info {
|
.cms-content-header-info {
|
||||||
float:left;
|
float:left;
|
||||||
padding-top: 6px;
|
padding-top: 6px;
|
||||||
|
|
||||||
|
& > * {
|
||||||
|
display: inline-block; // align back button and breadcrumbs
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset to default styles
|
// Reset to default styles
|
||||||
@ -431,7 +436,7 @@ body.cms {
|
|||||||
.message { // White
|
.message { // White
|
||||||
display: block;
|
display: block;
|
||||||
clear: both;
|
clear: both;
|
||||||
margin: $grid-y 0;
|
margin: 0 0 $grid-y;
|
||||||
padding: $grid-y + $grid-x/4 $grid-x + $grid-x/2;
|
padding: $grid-y + $grid-x/4 $grid-x + $grid-x/2;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
border: 1px #ccc solid;
|
border: 1px #ccc solid;
|
||||||
@ -604,7 +609,8 @@ body.cms {
|
|||||||
.cms-content-toolbar {
|
.cms-content-toolbar {
|
||||||
min-height: 29px;
|
min-height: 29px;
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 0 $grid-y 0;
|
margin: 0 0 $grid-y*1.5 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
|
||||||
@include doubleborder(bottom, $color-light-separator, $box-shadow-shine);
|
@include doubleborder(bottom, $color-light-separator, $box-shadow-shine);
|
||||||
@include legacy-pie-clearfix();
|
@include legacy-pie-clearfix();
|
||||||
@ -651,7 +657,6 @@ body.cms {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
background:url(../images/btn-icon/settings.png) 5px 4px no-repeat;
|
|
||||||
border-left:none;
|
border-left:none;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
@ -690,7 +695,8 @@ body.cms {
|
|||||||
|
|
||||||
.cms-panel-header {
|
.cms-panel-header {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin: 0 0 $grid-y - 1;
|
margin: 10px 0 $grid-y - 1;
|
||||||
|
padding-bottom: 2px;
|
||||||
line-height: $grid-y * 3;
|
line-height: $grid-y * 3;
|
||||||
|
|
||||||
@include doubleborder(bottom, $color-light-separator, $box-shadow-shine);
|
@include doubleborder(bottom, $color-light-separator, $box-shadow-shine);
|
||||||
@ -823,6 +829,22 @@ body.cms {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** ------------------------------------------------------------------
|
||||||
|
* CMS notice, used for filter messages, but generic enough to use elsewhere
|
||||||
|
* ----------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.cms-notice {
|
||||||
|
display: block;
|
||||||
|
margin: 0 0 8px;
|
||||||
|
padding: 10px 12px;
|
||||||
|
font-weight: normal;
|
||||||
|
border: 1px $color-light-separator solid;
|
||||||
|
background: #fff; // for browsers that don't understand rgba
|
||||||
|
background: rgba(#fff,0.5);
|
||||||
|
text-shadow: none;
|
||||||
|
@include border-radius(3px);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CMS Batch actions
|
* CMS Batch actions
|
||||||
*/
|
*/
|
||||||
@ -838,6 +860,7 @@ body.cms {
|
|||||||
padding: 4px 6px;
|
padding: 4px 6px;
|
||||||
border: 1px solid #aaa;
|
border: 1px solid #aaa;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
|
margin-right:-1px;
|
||||||
background-color: #D9D9D9;
|
background-color: #D9D9D9;
|
||||||
@include background-image(linear-gradient(top, #fff, #D9D9D9));
|
@include background-image(linear-gradient(top, #fff, #D9D9D9));
|
||||||
border-top-left-radius: 4px;
|
border-top-left-radius: 4px;
|
||||||
@ -855,6 +878,9 @@ body.cms {
|
|||||||
fieldset, .Actions {
|
fieldset, .Actions {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
#view-mode-batchactions {
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.inactive .view-mode-batchactions-wrapper {
|
&.inactive .view-mode-batchactions-wrapper {
|
||||||
@ -882,7 +908,6 @@ body.cms {
|
|||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
.chzn-single {
|
.chzn-single {
|
||||||
margin-left: -1px;
|
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
@include background-image(linear-gradient(top, #fff, #D9D9D9));
|
@include background-image(linear-gradient(top, #fff, #D9D9D9));
|
||||||
|
|
||||||
@ -892,7 +917,15 @@ body.cms {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cms-batch-actions .Actions .ss-ui-button {
|
|
||||||
|
.cms-batch-actions {
|
||||||
|
.dropdown {
|
||||||
|
margin: 0;
|
||||||
|
.chzn-single {
|
||||||
|
padding-left: 8px; /* use default size without icon */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.Actions .ss-ui-button {
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
@ -906,6 +939,7 @@ body.cms {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#Form_BatchActionsForm select {
|
#Form_BatchActionsForm select {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
@ -1233,10 +1267,6 @@ form.member-profile-form {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.cms .ui-dialog{
|
.cms .ui-dialog{
|
||||||
min-width:570px;
|
|
||||||
.htmleditorfield-dialog{
|
|
||||||
min-width:570px;
|
|
||||||
}
|
|
||||||
.ss-ui-dialog.ui-dialog-content {
|
.ss-ui-dialog.ui-dialog-content {
|
||||||
padding-top: 0px; //removes padding so that tabs are flush with header
|
padding-top: 0px; //removes padding so that tabs are flush with header
|
||||||
}
|
}
|
||||||
@ -1267,6 +1297,16 @@ form.member-profile-form {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ui-dialog-content {
|
||||||
|
overflow: auto; // TODO Replace with proper $.layout grid
|
||||||
|
|
||||||
|
&.loading {
|
||||||
|
background-image: url(../images/spinner.gif);
|
||||||
|
background-position: 50% 50%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.cms-dialog-content {
|
.cms-dialog-content {
|
||||||
background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4;
|
background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4;
|
||||||
padding-bottom: $grid-y;
|
padding-bottom: $grid-y;
|
||||||
@ -1326,7 +1366,7 @@ body.cms-dialog {
|
|||||||
position:relative;
|
position:relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
#MediaFormInsertMediaTabs_FromWeb{
|
.htmleditorfield-from-web {
|
||||||
.CompositeField{
|
.CompositeField{
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
}
|
}
|
||||||
@ -1402,11 +1442,14 @@ body.cms-dialog {
|
|||||||
|
|
||||||
.ss-insert-media, .Actions, .ss-insert-link{
|
.ss-insert-media, .Actions, .ss-insert-link{
|
||||||
padding:$grid-y $grid-x*2 ;
|
padding:$grid-y $grid-x*2 ;
|
||||||
|
.ui-tabs-panel {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.details{
|
.details{
|
||||||
.file-url{
|
.file-url{
|
||||||
display:block;
|
display:block;
|
||||||
width:450px;
|
width:300px;
|
||||||
@include hide-text-overflow;
|
@include hide-text-overflow;
|
||||||
}
|
}
|
||||||
.cms-file-info{
|
.cms-file-info{
|
||||||
@ -1443,15 +1486,26 @@ body.cms-dialog {
|
|||||||
|
|
||||||
.htmleditorfield-mediaform {
|
.htmleditorfield-mediaform {
|
||||||
.ss-gridfield {
|
.ss-gridfield {
|
||||||
// Set thumbnail size
|
.gridfield-button-delete {
|
||||||
tbody td:first-child img {
|
// TODO Remove from PHP instead of hiding
|
||||||
max-height: 30px;
|
display: none; // delete action shouldn't be allowed here
|
||||||
|
}
|
||||||
|
table.ss-gridfield-table {
|
||||||
|
tbody td:first-child {
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
img {
|
||||||
|
max-height: 30px; // same thumbnail size as uploadfield rows
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tr td {
|
||||||
|
padding: $grid-x/2; // more compressed space
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.htmleditorfield-from-web, .htmleditorfield-from-cms {
|
||||||
.ss-uploadfield {
|
.ss-uploadfield {
|
||||||
&.from-web, &.from-CMS{
|
|
||||||
margin-bottom:48px;
|
|
||||||
.middleColumn {
|
.middleColumn {
|
||||||
width:auto;
|
width:auto;
|
||||||
background:none;
|
background:none;
|
||||||
@ -1459,22 +1513,26 @@ body.cms-dialog {
|
|||||||
margin-top:13px;
|
margin-top:13px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&.from-CMS{
|
.htmleditorfield-from-cms {
|
||||||
margin-top:33px;
|
.ss-uploadfield {
|
||||||
h4 {
|
h4 {
|
||||||
margin-top:3px;
|
float: left; // headline and dropdown on same line
|
||||||
|
margin-top: $grid-y/2; // bring to same baseline as dropdown
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.middleColumn {
|
.middleColumn {
|
||||||
margin-top:0;
|
margin-top: $grid-y*2; // same as left-floated h4
|
||||||
.TreeDropdownField{
|
margin-left: $grid-x*23; // make room for headline
|
||||||
margin-top:23px;
|
}
|
||||||
|
.field.treedropdown {
|
||||||
|
border-bottom: 0; // don't show border, dropdown and gridfield visually belong together
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.ss-uploadfield-editandorganize {
|
.ss-uploadfield-editandorganize {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@ -1550,6 +1608,7 @@ body.cms-dialog {
|
|||||||
|
|
||||||
img {
|
img {
|
||||||
max-width: $grid-x * 22; // Same as ".field label"
|
max-width: $grid-x * 22; // Same as ".field label"
|
||||||
|
max-height: $grid-x * 16; // Fitting typical info displayed (~5 rows)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.cms-file-info-data {
|
.cms-file-info-data {
|
||||||
@ -1557,10 +1616,16 @@ body.cms-dialog {
|
|||||||
|
|
||||||
.field {
|
.field {
|
||||||
// Unsetting styles from .field, make it more compact visually
|
// Unsetting styles from .field, make it more compact visually
|
||||||
margin-bottom: 0;
|
margin: 0;
|
||||||
padding-bottom: $grid-x;
|
padding-bottom: $grid-x;
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
label.left {
|
||||||
|
width: $grid-x*12;
|
||||||
|
}
|
||||||
|
.middleColumn {
|
||||||
|
margin-left: $grid-x*13;
|
||||||
|
}
|
||||||
label, span {
|
label, span {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
@ -1662,11 +1727,6 @@ form.import-form {
|
|||||||
width:$grid-x*27;
|
width:$grid-x*27;
|
||||||
padding-left:0;
|
padding-left:0;
|
||||||
}
|
}
|
||||||
.TreeDropdownField .treedropdownfield-toggle-panel-link {
|
|
||||||
border-left:none;
|
|
||||||
background:none;
|
|
||||||
background-image:none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,6 +33,9 @@
|
|||||||
&.disabled > a {
|
&.disabled > a {
|
||||||
color: #aaaaaa;
|
color: #aaaaaa;
|
||||||
}
|
}
|
||||||
|
&.edit-disabled > a {
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
// Expand/collapse arrows
|
// Expand/collapse arrows
|
||||||
& > .jstree-icon {
|
& > .jstree-icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@ -60,7 +63,6 @@
|
|||||||
&:focus,
|
&:focus,
|
||||||
&:active,
|
&:active,
|
||||||
&:hover {
|
&:hover {
|
||||||
outline: none;
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
|
@ -11,6 +11,7 @@ $color-base: #b0bec7 !default;
|
|||||||
$color-widget-bg: lighten($color-base, 20%) !default;
|
$color-widget-bg: lighten($color-base, 20%) !default;
|
||||||
|
|
||||||
/* Keep as solid colours transparent borders wont work in ie */
|
/* Keep as solid colours transparent borders wont work in ie */
|
||||||
|
$color-darker-bg: #D4D6D8 !default;
|
||||||
$color-dark-bg: #142136 !default;
|
$color-dark-bg: #142136 !default;
|
||||||
$color-dark-separator: #19435c !default;
|
$color-dark-separator: #19435c !default;
|
||||||
$color-medium-separator: #808080 !default;
|
$color-medium-separator: #808080 !default;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package cms
|
* @package framework
|
||||||
* @subpackage tests
|
* @subpackage tests
|
||||||
*/
|
*/
|
||||||
class LeftAndMainTest extends FunctionalTest {
|
class LeftAndMainTest extends FunctionalTest {
|
||||||
@ -9,12 +10,47 @@ class LeftAndMainTest extends FunctionalTest {
|
|||||||
|
|
||||||
protected $extraDataObjects = array('LeftAndMainTest_Object');
|
protected $extraDataObjects = array('LeftAndMainTest_Object');
|
||||||
|
|
||||||
|
protected $backupCss, $backupJs, $backupCombined;
|
||||||
|
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
// @todo fix controller stack problems and re-activate
|
// @todo fix controller stack problems and re-activate
|
||||||
//$this->autoFollowRedirection = false;
|
//$this->autoFollowRedirection = false;
|
||||||
CMSMenu::populate_menu();
|
CMSMenu::populate_menu();
|
||||||
|
|
||||||
|
$this->backupCss = Config::inst()->get('LeftAndMain', 'extra_requirements_css');
|
||||||
|
$this->backupJs = Config::inst()->get('LeftAndMain', 'extra_requirements_javascript');
|
||||||
|
$this->backupCombined = Requirements::get_combined_files_enabled();
|
||||||
|
|
||||||
|
Config::inst()->update('LeftAndMain', 'extra_requirements_css', array(
|
||||||
|
FRAMEWORK_DIR . '/tests/assets/LeftAndMainTest.css'
|
||||||
|
));
|
||||||
|
|
||||||
|
Config::inst()->update('LeftAndMain', 'extra_requirements_javascript', array(
|
||||||
|
FRAMEWORK_DIR . '/tests/assets/LeftAndMainTest.js'
|
||||||
|
));
|
||||||
|
|
||||||
|
Requirements::set_combined_files_enabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown() {
|
||||||
|
parent::tearDown();
|
||||||
|
|
||||||
|
Config::inst()->update('LeftAndMain', 'extra_requirements_css', $this->backupCss);
|
||||||
|
Config::inst()->update('LeftAndMain', 'extra_requirements_javascript', $this->backupJs);
|
||||||
|
|
||||||
|
Requirements::set_combined_files_enabled($this->backupCombined);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testExtraCssAndJavascript() {
|
||||||
|
$admin = $this->objFromFixture('Member', 'admin');
|
||||||
|
$this->session()->inst_set('loggedInAs', $admin->ID);
|
||||||
|
$response = $this->get('LeftAndMainTest_Controller');
|
||||||
|
|
||||||
|
$this->assertRegExp('/tests\/assets\/LeftAndMainTest.css/i', $response->getBody(), "body should contain custom css");
|
||||||
|
$this->assertRegExp('/tests\/assets\/LeftAndMainTest.js/i', $response->getBody(), "body should contain custom js");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -158,15 +194,22 @@ class LeftAndMainTest extends FunctionalTest {
|
|||||||
|
|
||||||
$this->session()->inst_set('loggedInAs', null);
|
$this->session()->inst_set('loggedInAs', null);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class LeftAndMainTest_Controller extends LeftAndMain implements TestOnly {
|
class LeftAndMainTest_Controller extends LeftAndMain implements TestOnly {
|
||||||
protected $template = 'BlankPage';
|
protected $template = 'BlankPage';
|
||||||
|
|
||||||
private static $tree_class = 'LeftAndMainTest_Object';
|
private static $tree_class = 'LeftAndMainTest_Object';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class LeftAndMainTest_Object extends DataObject implements TestOnly {
|
class LeftAndMainTest_Object extends DataObject implements TestOnly {
|
||||||
|
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
|
2
cache/Cache.php
vendored
2
cache/Cache.php
vendored
@ -86,7 +86,7 @@
|
|||||||
*
|
*
|
||||||
* // No need for special backend for aggregate - TwoLevels with a File slow
|
* // No need for special backend for aggregate - TwoLevels with a File slow
|
||||||
* // backend supports tags
|
* // backend supports tags
|
||||||
* SS_Cache::pick_backend('two-level', 'any', 10);
|
* SS_Cache::pick_backend('two-level', 'Two-Levels', 10);
|
||||||
* </code>
|
* </code>
|
||||||
*
|
*
|
||||||
* <h2>Invalidate an element</h2>
|
* <h2>Invalidate an element</h2>
|
||||||
|
@ -265,10 +265,12 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
|
|||||||
*/
|
*/
|
||||||
public function getViewer($action) {
|
public function getViewer($action) {
|
||||||
// Hard-coded templates
|
// Hard-coded templates
|
||||||
if($this->templates[$action]) {
|
if(isset($this->templates[$action]) && $this->templates[$action]) {
|
||||||
$templates = $this->templates[$action];
|
$templates = $this->templates[$action];
|
||||||
} else if($this->templates['index']) {
|
|
||||||
|
} else if(isset($this->templates['index']) && $this->templates['index']) {
|
||||||
$templates = $this->templates['index'];
|
$templates = $this->templates['index'];
|
||||||
|
|
||||||
} else if($this->template) {
|
} else if($this->template) {
|
||||||
$templates = $this->template;
|
$templates = $this->template;
|
||||||
} else {
|
} else {
|
||||||
@ -319,6 +321,23 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
|
|||||||
return $returnURL;
|
return $returnURL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the class that defines the given action, so that we know where to check allowed_actions.
|
||||||
|
* Overrides RequestHandler to also look at defined templates
|
||||||
|
*/
|
||||||
|
protected function definingClassForAction($action) {
|
||||||
|
$definingClass = parent::definingClassForAction($action);
|
||||||
|
if($definingClass) return $definingClass;
|
||||||
|
|
||||||
|
$class = get_class($this);
|
||||||
|
while($class != 'RequestHandler') {
|
||||||
|
$templateName = strtok($class, '_') . '_' . $action;
|
||||||
|
if(SSViewer::hasTemplate($templateName)) return $class;
|
||||||
|
|
||||||
|
$class = get_parent_class($class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns TRUE if this controller has a template that is specifically designed to handle a specific action.
|
* Returns TRUE if this controller has a template that is specifically designed to handle a specific action.
|
||||||
*
|
*
|
||||||
|
@ -110,6 +110,7 @@ class Cookie {
|
|||||||
$expiry = $expiry > 0 ? time()+(86400*$expiry) : $expiry;
|
$expiry = $expiry > 0 ? time()+(86400*$expiry) : $expiry;
|
||||||
$path = ($path) ? $path : Director::baseURL();
|
$path = ($path) ? $path : Director::baseURL();
|
||||||
setcookie($name, $value, $expiry, $path, $domain, $secure, $httpOnly);
|
setcookie($name, $value, $expiry, $path, $domain, $secure, $httpOnly);
|
||||||
|
$_COOKIE[$name] = $value;
|
||||||
} else {
|
} else {
|
||||||
if(Config::inst()->get('Cookie', 'report_errors')) {
|
if(Config::inst()->get('Cookie', 'report_errors')) {
|
||||||
user_error("Cookie '$name' can't be set. The site started outputting content at line $line in $file",
|
user_error("Cookie '$name' can't be set. The site started outputting content at line $line in $file",
|
||||||
|
@ -372,6 +372,22 @@ class RequestHandler extends ViewableData {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the class that defines the given action, so that we know where to check allowed_actions.
|
||||||
|
*/
|
||||||
|
protected function definingClassForAction($actionOrigCasing) {
|
||||||
|
$action = strtolower($actionOrigCasing);
|
||||||
|
|
||||||
|
$definingClass = null;
|
||||||
|
$insts = array_merge(array($this), (array)$this->getExtensionInstances());
|
||||||
|
foreach($insts as $inst) {
|
||||||
|
if(!method_exists($inst, $action)) continue;
|
||||||
|
$r = new ReflectionClass(get_class($inst));
|
||||||
|
$m = $r->getMethod($actionOrigCasing);
|
||||||
|
return $m->getDeclaringClass()->getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check that the given action is allowed to be called from a URL.
|
* Check that the given action is allowed to be called from a URL.
|
||||||
* It will interrogate {@link self::$allowed_actions} to determine this.
|
* It will interrogate {@link self::$allowed_actions} to determine this.
|
||||||
@ -382,17 +398,9 @@ class RequestHandler extends ViewableData {
|
|||||||
|
|
||||||
$isAllowed = false;
|
$isAllowed = false;
|
||||||
$isDefined = false;
|
$isDefined = false;
|
||||||
if($this->hasMethod($actionOrigCasing) || !$action || $action == 'index') {
|
|
||||||
// Get actions for this specific class (without inheritance)
|
|
||||||
$definingClass = null;
|
|
||||||
$insts = array_merge(array($this), (array)$this->getExtensionInstances());
|
|
||||||
foreach($insts as $inst) {
|
|
||||||
if(!method_exists($inst, $action)) continue;
|
|
||||||
$r = new ReflectionClass(get_class($inst));
|
|
||||||
$m = $r->getMethod($actionOrigCasing);
|
|
||||||
$definingClass = $m->getDeclaringClass()->getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Get actions for this specific class (without inheritance)
|
||||||
|
$definingClass = $this->definingClassForAction($actionOrigCasing);
|
||||||
$allowedActions = $this->allowedActions($definingClass);
|
$allowedActions = $this->allowedActions($definingClass);
|
||||||
|
|
||||||
// check if specific action is set
|
// check if specific action is set
|
||||||
@ -405,8 +413,7 @@ class RequestHandler extends ViewableData {
|
|||||||
} elseif(substr($test, 0, 2) == '->') {
|
} elseif(substr($test, 0, 2) == '->') {
|
||||||
// Determined by custom method with "->" prefix
|
// Determined by custom method with "->" prefix
|
||||||
list($method, $arguments) = Object::parse_class_spec(substr($test, 2));
|
list($method, $arguments) = Object::parse_class_spec(substr($test, 2));
|
||||||
$definingClassInst = Injector::inst()->get($definingClass);
|
$isAllowed = call_user_func_array(array($this, $method), $arguments);
|
||||||
$isAllowed = call_user_func_array(array($definingClassInst, $method), $arguments);
|
|
||||||
} else {
|
} else {
|
||||||
// Value is a permission code to check the current member against
|
// Value is a permission code to check the current member against
|
||||||
$isAllowed = Permission::check($test);
|
$isAllowed = Permission::check($test);
|
||||||
@ -432,10 +439,6 @@ class RequestHandler extends ViewableData {
|
|||||||
if(!$isDefined && ($action == 'index' || empty($action))) {
|
if(!$isDefined && ($action == 'index' || empty($action))) {
|
||||||
$isAllowed = true;
|
$isAllowed = true;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// Doesn't have method, set to true so that a template can handle this action
|
|
||||||
$isAllowed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $isAllowed;
|
return $isAllowed;
|
||||||
}
|
}
|
||||||
|
@ -541,7 +541,7 @@ class Session {
|
|||||||
// Modify the timeout behaviour so it's the *inactive* time before the session expires.
|
// Modify the timeout behaviour so it's the *inactive* time before the session expires.
|
||||||
// By default it's the total session lifetime
|
// By default it's the total session lifetime
|
||||||
if($timeout && !headers_sent()) {
|
if($timeout && !headers_sent()) {
|
||||||
setcookie(session_name(), session_id(), time()+$timeout, $path, $domain ? $domain : null, $secure, true);
|
Cookie::set(session_name(), session_id(), time()+$timeout, $path, $domain ? $domain : null, $secure, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,10 +559,10 @@ class Session {
|
|||||||
$secure = Config::inst()->get('Session', 'cookie_secure');
|
$secure = Config::inst()->get('Session', 'cookie_secure');
|
||||||
|
|
||||||
if($domain) {
|
if($domain) {
|
||||||
setcookie(session_name(), '', null, $path, $domain, $secure, true);
|
Cookie::set(session_name(), '', null, $path, $domain, $secure, true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
setcookie(session_name(), '', null, $path, null, $secure, true);
|
Cookie::set(session_name(), '', null, $path, null, $secure, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($_COOKIE[session_name()]);
|
unset($_COOKIE[session_name()]);
|
||||||
|
@ -275,6 +275,7 @@ gc_enable();
|
|||||||
require_once 'cache/Cache.php';
|
require_once 'cache/Cache.php';
|
||||||
require_once 'core/Object.php';
|
require_once 'core/Object.php';
|
||||||
require_once 'core/ClassInfo.php';
|
require_once 'core/ClassInfo.php';
|
||||||
|
require_once 'core/DAG.php';
|
||||||
require_once 'core/Config.php';
|
require_once 'core/Config.php';
|
||||||
require_once 'view/TemplateGlobalProvider.php';
|
require_once 'view/TemplateGlobalProvider.php';
|
||||||
require_once 'control/Director.php';
|
require_once 'control/Director.php';
|
||||||
|
@ -36,7 +36,7 @@ body.cms.ss-uploadfield-edit-iframe .fieldholder-small label, .composite.ss-asse
|
|||||||
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item .info { position: relative; padding: 7px; overflow: hidden; background-color: #FFBE66; border: 1px solid #FF9300; }
|
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item .info { position: relative; padding: 7px; overflow: hidden; background-color: #FFBE66; border: 1px solid #FF9300; }
|
||||||
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview { position: absolute; height: 30px; width: 40px; overflow: hidden; z-index: 1; }
|
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview { position: absolute; height: 30px; width: 40px; overflow: hidden; z-index: 1; }
|
||||||
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview .no-preview { display: block; height: 100%; width: 100%; background: url("../images/icons/document.png") 2px 0px no-repeat; }
|
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview .no-preview { display: block; height: 100%; width: 100%; background: url("../images/icons/document.png") 2px 0px no-repeat; }
|
||||||
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-info { position: relative; line-height: 30px; font-size: 14px; overflow: hidden; background-color: #5db4df; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5db4df), color-stop(8%, #5db1dd), color-stop(50%, #439bcb), color-stop(54%, #3f99cd), color-stop(96%, #207db6), color-stop(100%, #1e7cba)); background-image: -webkit-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); background-image: -moz-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); background-image: -o-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); background-image: linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); }
|
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-info { position: relative; line-height: 30px; overflow: hidden; background-color: #5db4df; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5db4df), color-stop(8%, #5db1dd), color-stop(50%, #439bcb), color-stop(54%, #3f99cd), color-stop(96%, #207db6), color-stop(100%, #1e7cba)); background-image: -webkit-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); background-image: -moz-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); background-image: -o-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); background-image: linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%); }
|
||||||
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info { background-color: #c11f1d; padding-right: 130px; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c11f1d), color-stop(4%, #bf1d1b), color-stop(8%, #b71b1c), color-stop(15%, #b61e1d), color-stop(27%, #b11d1d), color-stop(31%, #ab1d1c), color-stop(42%, #a51b1b), color-stop(46%, #9f1b19), color-stop(50%, #9f1b19), color-stop(54%, #991c1a), color-stop(58%, #971a18), color-stop(62%, #911b1b), color-stop(65%, #911b1b), color-stop(88%, #7e1816), color-stop(92%, #771919), color-stop(100%, #731817)); background-image: -webkit-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: -moz-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: -o-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); }
|
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info { background-color: #c11f1d; padding-right: 130px; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c11f1d), color-stop(4%, #bf1d1b), color-stop(8%, #b71b1c), color-stop(15%, #b61e1d), color-stop(27%, #b11d1d), color-stop(31%, #ab1d1c), color-stop(42%, #a51b1b), color-stop(46%, #9f1b19), color-stop(50%, #9f1b19), color-stop(54%, #991c1a), color-stop(58%, #971a18), color-stop(62%, #911b1b), color-stop(65%, #911b1b), color-stop(88%, #7e1816), color-stop(92%, #771919), color-stop(100%, #731817)); background-image: -webkit-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: -moz-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: -o-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); }
|
||||||
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name { width: 100%; cursor: default; background: #bcb9b9; background: rgba(201, 198, 198, 0.9); }
|
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name { width: 100%; cursor: default; background: #bcb9b9; background: rgba(201, 198, 198, 0.9); }
|
||||||
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name { text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7); }
|
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name { text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7); }
|
||||||
|
37
css/Form.css
37
css/Form.css
@ -1,55 +1,22 @@
|
|||||||
/** Fields */
|
form { /** Messages */ }
|
||||||
form * { font-size: 12px; }
|
form * { font-size: 12px; }
|
||||||
|
|
||||||
form fieldset { margin: 0; padding: 0; border-style: none; }
|
form fieldset { margin: 0; padding: 0; border-style: none; }
|
||||||
|
|
||||||
form .field { clear: both; padding: 0.2em; margin: 0 0 0 10em; vertical-align: middle; }
|
form .field { clear: both; padding: 0.2em; margin: 0 0 0 10em; vertical-align: middle; }
|
||||||
|
|
||||||
form p.checkbox { margin: 0 0 0 8.5em; }
|
form p.checkbox { margin: 0 0 0 8.5em; }
|
||||||
|
|
||||||
form .field.nolabel { margin-left: 0; }
|
form .field.nolabel { margin-left: 0; }
|
||||||
|
|
||||||
form label.left { float: left; width: 10em; margin-left: -10em; }
|
form label.left { float: left; width: 10em; margin-left: -10em; }
|
||||||
|
|
||||||
form input.maxlength { width: auto; }
|
form input.maxlength { width: auto; }
|
||||||
|
|
||||||
form .actions { float: right; }
|
form .actions { float: right; }
|
||||||
|
|
||||||
form .validation, form .error, form .required { border: 1px solid #f00; background: #fcc; padding: 0.5em; width: 50%; }
|
form .validation, form .error, form .required { border: 1px solid #f00; background: #fcc; padding: 0.5em; width: 50%; }
|
||||||
|
|
||||||
form .field span.readonly { border: 1px #CCC dotted; background-color: #F7F7F7; display: block; width: 98%; padding: 3px; margin: 5px 0; }
|
form .field span.readonly { border: 1px #CCC dotted; background-color: #F7F7F7; display: block; width: 98%; padding: 3px; margin: 5px 0; }
|
||||||
|
|
||||||
form .indicator.inline { display: inline; margin-left: 5px; vertical-align: middle; }
|
form .indicator.inline { display: inline; margin-left: 5px; vertical-align: middle; }
|
||||||
|
|
||||||
form .indicator.block { display: inline; }
|
form .indicator.block { display: inline; }
|
||||||
|
|
||||||
/* Emulating link styling for actions requiring lesser attention, e.g. "cancel" FormActions */
|
|
||||||
form button.minorAction { background: none; padding: 0; border: 0; color: #0074C6; text-decoration: underline; }
|
form button.minorAction { background: none; padding: 0; border: 0; color: #0074C6; text-decoration: underline; }
|
||||||
|
|
||||||
/** Composite Fields - raw concatenation of fields for programmatic purposes. */
|
|
||||||
.right form div.CompositeField { margin-left: 7.5em; }
|
|
||||||
|
|
||||||
.right form div.CompositeField div.field { font-size: 1em; }
|
|
||||||
|
|
||||||
.right form div.CompositeField { clear: both; }
|
|
||||||
|
|
||||||
.right form div.CompositeField label.left { float: left; width: 10em; margin-left: -10em; }
|
|
||||||
|
|
||||||
.right form div.column2 { float: left; width: 45%; margin-right: 4%; }
|
|
||||||
|
|
||||||
.right form div.multicolumn { width: 100%; float: left; clear: left; }
|
|
||||||
|
|
||||||
/** Messages */
|
|
||||||
form .message.notice { background-color: #FCFFDF; border-color: #FF9300; }
|
|
||||||
|
|
||||||
form .message { margin: 1em 0; padding: 0.5em; font-weight: bold; border: 1px black solid; background-color: #B9FFB9; border-color: #00FF00; }
|
form .message { margin: 1em 0; padding: 0.5em; font-weight: bold; border: 1px black solid; background-color: #B9FFB9; border-color: #00FF00; }
|
||||||
|
form .message.notice { background-color: #FCFFDF; border-color: #FF9300; }
|
||||||
form .message.warning { background-color: #FFD2A6; border-color: #FF9300; }
|
form .message.warning { background-color: #FFD2A6; border-color: #FF9300; }
|
||||||
|
|
||||||
form .message.bad { background-color: #FF8080; border-color: #FF0000; }
|
form .message.bad { background-color: #FF8080; border-color: #FF0000; }
|
||||||
|
|
||||||
form .message.required, form .message.validation { display: block; margin-top: 5px; color: #FF9300; width: 240px; border-color: #FF9300; }
|
form .message.required, form .message.validation { display: block; margin-top: 5px; color: #FF9300; width: 240px; border-color: #FF9300; }
|
||||||
|
|
||||||
form .message.validation { color: #FF4040; width: 240px; border-color: #FF4040; }
|
form .message.validation { color: #FF4040; width: 240px; border-color: #FF4040; }
|
||||||
|
|
||||||
.typography .ss-tabset ul { margin: 0; }
|
.typography .ss-tabset ul { margin: 0; }
|
||||||
|
@ -30,7 +30,7 @@ Used in side panels and action tabs
|
|||||||
.cms .ss-gridfield .add-existing-autocompleter span { display: -moz-inline-stack; display: inline-block; vertical-align: top; *vertical-align: auto; zoom: 1; *display: inline; }
|
.cms .ss-gridfield .add-existing-autocompleter span { display: -moz-inline-stack; display: inline-block; vertical-align: top; *vertical-align: auto; zoom: 1; *display: inline; }
|
||||||
.cms .ss-gridfield .add-existing-autocompleter input.relation-search { width: 270px; margin-bottom: 12px; }
|
.cms .ss-gridfield .add-existing-autocompleter input.relation-search { width: 270px; margin-bottom: 12px; }
|
||||||
.cms .ss-gridfield .grid-csv-button, .cms .ss-gridfield .grid-print-button { margin-bottom: 12px; display: -moz-inline-stack; display: inline-block; vertical-align: middle; *vertical-align: auto; zoom: 1; *display: inline; }
|
.cms .ss-gridfield .grid-csv-button, .cms .ss-gridfield .grid-print-button { margin-bottom: 12px; display: -moz-inline-stack; display: inline-block; vertical-align: middle; *vertical-align: auto; zoom: 1; *display: inline; }
|
||||||
.cms table.ss-gridfield-table { display: table; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; padding: 0; border-collapse: separate; border-bottom: 0 none; width: 100%; margin-bottom: 12px; }
|
.cms table.ss-gridfield-table { display: table; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; padding: 0; border-collapse: separate; border-bottom: 0 none; width: 100%; }
|
||||||
.cms table.ss-gridfield-table thead { color: #323e46; background: transparent; }
|
.cms table.ss-gridfield-table thead { color: #323e46; background: transparent; }
|
||||||
.cms table.ss-gridfield-table thead tr.filter-header .fieldgroup { max-width: 512px; }
|
.cms table.ss-gridfield-table thead tr.filter-header .fieldgroup { max-width: 512px; }
|
||||||
.cms table.ss-gridfield-table thead tr.filter-header .fieldgroup .fieldgroup-field { padding: 0; }
|
.cms table.ss-gridfield-table thead tr.filter-header .fieldgroup .fieldgroup-field { padding: 0; }
|
||||||
@ -114,7 +114,7 @@ Used in side panels and action tabs
|
|||||||
.cms table.ss-gridfield-table tr td.bottom-all { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2IwYmVjNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzk4YWFiNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b0bec7), color-stop(100%, #98aab6)); background-image: -webkit-linear-gradient(#b0bec7, #98aab6); background-image: -moz-linear-gradient(#b0bec7, #98aab6); background-image: -o-linear-gradient(#b0bec7, #98aab6); background-image: linear-gradient(#b0bec7, #98aab6); padding: 4px 12px; }
|
.cms table.ss-gridfield-table tr td.bottom-all { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2IwYmVjNyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzk4YWFiNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b0bec7), color-stop(100%, #98aab6)); background-image: -webkit-linear-gradient(#b0bec7, #98aab6); background-image: -moz-linear-gradient(#b0bec7, #98aab6); background-image: -o-linear-gradient(#b0bec7, #98aab6); background-image: linear-gradient(#b0bec7, #98aab6); padding: 4px 12px; }
|
||||||
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-footer-message { text-align: center; padding-top: 6px; color: white; }
|
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-footer-message { text-align: center; padding-top: 6px; color: white; }
|
||||||
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination { padding-top: 1px; position: absolute; left: 50%; margin-left: -116px; z-index: 5; }
|
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination { padding-top: 1px; position: absolute; left: 50%; margin-left: -116px; z-index: 5; }
|
||||||
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination .pagination-page-number { color: white; text-shadow: 0px -1px 0 rgba(0, 0, 0, 0.2); }
|
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination .pagination-page-number { color: white; text-align: center; text-shadow: 0px -1px 0 rgba(0, 0, 0, 0.2); }
|
||||||
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination .pagination-page-number input { width: 35px; height: 18px; margin-bottom: -6px; padding: 0px; border: 1px solid #899eab; border-bottom: 1px solid #a7b7c1; }
|
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination .pagination-page-number input { width: 35px; height: 18px; margin-bottom: -6px; padding: 0px; border: 1px solid #899eab; border-bottom: 1px solid #a7b7c1; }
|
||||||
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination button { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; border: none; width: 10px; margin: 0 10px; display: inline; float: none; }
|
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination button { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; border: none; width: 10px; margin: 0 10px; display: inline; float: none; }
|
||||||
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination button span { text-indent: -9999em; }
|
.cms table.ss-gridfield-table tr td.bottom-all .datagrid-pagination button span { text-indent: -9999em; }
|
||||||
@ -127,3 +127,4 @@ Used in side panels and action tabs
|
|||||||
.cms table.ss-gridfield-table tr.last td { border-bottom: 0 none; }
|
.cms table.ss-gridfield-table tr.last td { border-bottom: 0 none; }
|
||||||
.cms table.ss-gridfield-table td:first-child { border-left: 1px solid rgba(0, 0, 0, 0.1); }
|
.cms table.ss-gridfield-table td:first-child { border-left: 1px solid rgba(0, 0, 0, 0.1); }
|
||||||
.cms table.ss-gridfield-table td:last-child { border-right: 1px solid rgba(0, 0, 0, 0.1); }
|
.cms table.ss-gridfield-table td:last-child { border-right: 1px solid rgba(0, 0, 0, 0.1); }
|
||||||
|
.cms .grid-bottom-button { margin-top: 12px; }
|
||||||
|
@ -5,7 +5,7 @@ div.TreeDropdownField .treedropdownfield-panel { clear: left; position: absolute
|
|||||||
div.TreeDropdownField .treedropdownfield-panel.loading { min-height: 30px; background: white url("../images/network-save.gif") 7px 7px no-repeat; }
|
div.TreeDropdownField .treedropdownfield-panel.loading { min-height: 30px; background: white url("../images/network-save.gif") 7px 7px no-repeat; }
|
||||||
div.TreeDropdownField .treedropdownfield-panel ul.tree { margin: 0; }
|
div.TreeDropdownField .treedropdownfield-panel ul.tree { margin: 0; }
|
||||||
div.TreeDropdownField .treedropdownfield-panel ul.tree a { font-size: 12px; }
|
div.TreeDropdownField .treedropdownfield-panel ul.tree a { font-size: 12px; }
|
||||||
div.TreeDropdownField .treedropdownfield-toggle-panel-link { border: none; margin: 0; z-index: 0; padding: 7px 3px; overflow: hidden; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; background: #ccc; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #cccccc), color-stop(0.6, #eeeeee)); background-image: -webkit-linear-gradient(center bottom, #cccccc 0%, #eeeeee 60%); background-image: -moz-linear-gradient(center bottom, #cccccc 0%, #eeeeee 60%); background-image: -o-linear-gradient(bottom, #cccccc 0%, #eeeeee 60%); background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 ); background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%); border-left: 1px solid #aaa; }
|
div.TreeDropdownField .treedropdownfield-toggle-panel-link { border: none; margin: 0; z-index: 0; padding: 7px 3px; overflow: hidden; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
|
||||||
div.TreeDropdownField .treedropdownfield-toggle-panel-link.treedropdownfield-open-tree { background: transparent; border: none; }
|
div.TreeDropdownField .treedropdownfield-toggle-panel-link.treedropdownfield-open-tree { background: transparent; border: none; }
|
||||||
div.TreeDropdownField .treedropdownfield-toggle-panel-link a { text-decoration: none; display: block; border: 0; margin: 0; opacity: 0.5; }
|
div.TreeDropdownField .treedropdownfield-toggle-panel-link a { text-decoration: none; display: block; border: 0; margin: 0; opacity: 0.5; }
|
||||||
div.TreeDropdownField a.jstree-loading .jstree-pageicon { background: white url("../images/network-save.gif") center center no-repeat; }
|
div.TreeDropdownField a.jstree-loading .jstree-pageicon { background: white url("../images/network-save.gif") center center no-repeat; }
|
||||||
|
@ -11,9 +11,6 @@
|
|||||||
Used in side panels and action tabs
|
Used in side panels and action tabs
|
||||||
*/
|
*/
|
||||||
.ss-uploadfield .clear { clear: both; }
|
.ss-uploadfield .clear { clear: both; }
|
||||||
.ss-insert-media .ss-uploadfield { margin-top: 20px; }
|
|
||||||
.ss-insert-media .ss-uploadfield h4 { float: left; }
|
|
||||||
.ss-insert-media .ss-uploadfield.from-CMS .nolabel.treedropdown .middleColumn { margin-left: 184px; }
|
|
||||||
.ss-uploadfield .middleColumn { width: 510px; padding: 0; background: #fff; border: 1px solid #b3b3b3; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #efefef), color-stop(10%, #ffffff), color-stop(90%, #ffffff), color-stop(100%, #efefef)); background-image: -webkit-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -moz-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -o-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); }
|
.ss-uploadfield .middleColumn { width: 510px; padding: 0; background: #fff; border: 1px solid #b3b3b3; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #efefef), color-stop(10%, #ffffff), color-stop(90%, #ffffff), color-stop(100%, #efefef)); background-image: -webkit-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -moz-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: -o-linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); background-image: linear-gradient(#efefef, #ffffff 10%, #ffffff 90%, #efefef); }
|
||||||
.ss-uploadfield .ss-uploadfield-item { margin: 0; padding: 15px; overflow: auto; }
|
.ss-uploadfield .ss-uploadfield-item { margin: 0; padding: 15px; overflow: auto; }
|
||||||
.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview { height: 60px; line-height: 60px; width: 80px; text-align: center; font-weight: bold; float: left; overflow: hidden; }
|
.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview { height: 60px; line-height: 60px; width: 80px; text-align: center; font-weight: bold; float: left; overflow: hidden; }
|
||||||
|
23
dev/BehatFixtureFactory.php
Normal file
23
dev/BehatFixtureFactory.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage testing
|
||||||
|
*/
|
||||||
|
class BehatFixtureFactory extends \FixtureFactory {
|
||||||
|
public function createObject($name, $identifier, $data = null) {
|
||||||
|
if(!$data) $data = array();
|
||||||
|
|
||||||
|
// Copy identifier to some visible property unless its already defined.
|
||||||
|
// Exclude files, since they generate their own named based on the file path.
|
||||||
|
if(!is_a($name, 'File', true)) {
|
||||||
|
foreach(array('Name', 'Title') as $fieldName) {
|
||||||
|
if(singleton($name)->hasField($fieldName) && !isset($data[$fieldName])) {
|
||||||
|
$data[$fieldName] = $identifier;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::createObject($name, $identifier, $data);
|
||||||
|
}
|
||||||
|
}
|
@ -88,7 +88,7 @@ class Deprecation {
|
|||||||
|
|
||||||
$callingfile = realpath($backtrace[1]['file']);
|
$callingfile = realpath($backtrace[1]['file']);
|
||||||
|
|
||||||
global $manifest;
|
$manifest = SS_ClassLoader::instance()->getManifest();
|
||||||
foreach ($manifest->getModules() as $name => $path) {
|
foreach ($manifest->getModules() as $name => $path) {
|
||||||
if (strpos($callingfile, realpath($path)) === 0) {
|
if (strpos($callingfile, realpath($path)) === 0) {
|
||||||
return $name;
|
return $name;
|
||||||
|
@ -116,6 +116,7 @@ class FixtureBlueprint {
|
|||||||
|
|
||||||
$this->setValue($obj, $fieldName, $fieldVal, $fixtures);
|
$this->setValue($obj, $fieldName, $fieldVal, $fixtures);
|
||||||
}
|
}
|
||||||
|
|
||||||
$obj->write();
|
$obj->write();
|
||||||
|
|
||||||
// Save to fixture before relationship processing in case of reflexive relationships
|
// Save to fixture before relationship processing in case of reflexive relationships
|
||||||
|
@ -292,6 +292,10 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
|
|||||||
public function setUpOnce() {
|
public function setUpOnce() {
|
||||||
$isAltered = false;
|
$isAltered = false;
|
||||||
|
|
||||||
|
if(!Director::isDev()) {
|
||||||
|
user_error('Tests can only run in "dev" mode', E_USER_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove any illegal extensions that are present
|
// Remove any illegal extensions that are present
|
||||||
foreach($this->illegalExtensions as $class => $extensions) {
|
foreach($this->illegalExtensions as $class => $extensions) {
|
||||||
foreach($extensions as $extension) {
|
foreach($extensions as $extension) {
|
||||||
|
@ -286,7 +286,17 @@ class TestRunner extends Controller {
|
|||||||
$skipTests = explode(',', $this->request->getVar('SkipTests'));
|
$skipTests = explode(',', $this->request->getVar('SkipTests'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$classList = array_diff($classList, $skipTests);
|
$abstractClasses = array();
|
||||||
|
foreach($classList as $className) {
|
||||||
|
// Ensure that the autoloader pulls in the test class, as PHPUnit won't know how to do this.
|
||||||
|
class_exists($className);
|
||||||
|
$reflection = new ReflectionClass($className);
|
||||||
|
if ($reflection->isAbstract()) {
|
||||||
|
array_push($abstractClasses, $className);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$classList = array_diff($classList, $skipTests, $abstractClasses);
|
||||||
|
|
||||||
// run tests before outputting anything to the client
|
// run tests before outputting anything to the client
|
||||||
$suite = new PHPUnit_Framework_TestSuite();
|
$suite = new PHPUnit_Framework_TestSuite();
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
* Removed SiteTree "MetaTitle" and "MetaKeywords" fields
|
* Removed SiteTree "MetaTitle" and "MetaKeywords" fields
|
||||||
* More legible and simplified tab and menu styling in the CMS
|
* More legible and simplified tab and menu styling in the CMS
|
||||||
* Dropped support for Internet Explorer 7
|
* Dropped support for Internet Explorer 7
|
||||||
|
* Added support for Internet Explorer 10 (in "classic"/desktop mode)
|
||||||
|
|
||||||
### Framework
|
### Framework
|
||||||
|
|
||||||
@ -156,7 +157,7 @@ Here's an example on how to rewrite a common `_config.php` configuration:
|
|||||||
|
|
||||||
Object::add_extension('Member', 'MyMemberExtension');
|
Object::add_extension('Member', 'MyMemberExtension');
|
||||||
|
|
||||||
The ugpraded `_config.php`:
|
The upgraded `_config.php`:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
<?php
|
<?php
|
||||||
@ -189,7 +190,7 @@ The upgraded `config.yml`:
|
|||||||
theme: 'simple'
|
theme: 'simple'
|
||||||
Member:
|
Member:
|
||||||
extensions:
|
extensions:
|
||||||
MyMemberExtension
|
- MyMemberExtension
|
||||||
---
|
---
|
||||||
Only:
|
Only:
|
||||||
environment: 'live'
|
environment: 'live'
|
||||||
@ -475,3 +476,6 @@ you can enable those warnings and future-proof your code already.
|
|||||||
by `updateCMSFields`. See the [DataExtension Reference](/reference/dataextension) for more information.
|
by `updateCMSFields`. See the [DataExtension Reference](/reference/dataextension) for more information.
|
||||||
* Magic quotes is now deprecated. Will trigger user_error on live sites, as well as an error on new installs
|
* Magic quotes is now deprecated. Will trigger user_error on live sites, as well as an error on new installs
|
||||||
* Support for Apache 1.x is removed.
|
* Support for Apache 1.x is removed.
|
||||||
|
* Forms created in the CMS should now be instances of a new `CMSForm` class,
|
||||||
|
and have the CMS controller's response negotiator passed into them.
|
||||||
|
Example: `$form = new CMSForm(...); $form->setResponseNegotiator($this->getResponseNegotiator());`
|
||||||
|
@ -2,28 +2,31 @@
|
|||||||
|
|
||||||
## Introduction ##
|
## Introduction ##
|
||||||
|
|
||||||
The CMS interface works just like any other part of your website: It consists of PHP controllers,
|
The CMS interface works just like any other part of your website: It consists of
|
||||||
templates, CSS stylesheets and JavaScript. Because it uses the same base elements,
|
PHP controllers, templates, CSS stylesheets and JavaScript. Because it uses the
|
||||||
it is relatively easy to extend.
|
same base elements, it is relatively easy to extend.
|
||||||
As an example, we're going to add a permanent "bookmarks" bar to popular pages at the bottom of the CMS.
|
|
||||||
A page can be bookmarked by a CMS author through a simple checkbox.
|
As an example, we're going to add a permanent "bookmarks" bar to popular pages
|
||||||
|
at the bottom of the CMS. A page can be bookmarked by a CMS author through a
|
||||||
|
simple checkbox.
|
||||||
|
|
||||||
For a deeper introduction to the inner workings of the CMS, please refer to our
|
For a deeper introduction to the inner workings of the CMS, please refer to our
|
||||||
guide on [CMS Architecture](../reference/cms-architecture).
|
guide on [CMS Architecture](../reference/cms-architecture).
|
||||||
|
|
||||||
## Overload a CMS template ##
|
## Overload a CMS template ##
|
||||||
|
|
||||||
If you place a template with an identical name into your application template directory
|
If you place a template with an identical name into your application template
|
||||||
(usually `mysite/templates/`), it'll take priority over the built-in one.
|
directory (usually `mysite/templates/`), it'll take priority over the built-in
|
||||||
|
one.
|
||||||
|
|
||||||
CMS templates are inherited based on their controllers, similar to subclasses of
|
CMS templates are inherited based on their controllers, similar to subclasses of
|
||||||
the common `Page` object (a new PHP class `MyPage` will look for a `MyPage.ss` template).
|
the common `Page` object (a new PHP class `MyPage` will look for a `MyPage.ss` template).
|
||||||
We can use this to create a different base template with `LeftAndMain.ss`
|
We can use this to create a different base template with `LeftAndMain.ss`
|
||||||
(which corresponds to the `LeftAndMain` PHP controller class).
|
(which corresponds to the `LeftAndMain` PHP controller class).
|
||||||
|
|
||||||
Copy the template markup of the base implementation at `framework/admin/templates/LeftAndMain.ss` into
|
Copy the template markup of the base implementation at `framework/admin/templates/LeftAndMain.ss`
|
||||||
`mysite/templates/LeftAndMain.ss`. It will automatically be picked up by the CMS logic. Add a new section after the
|
into `mysite/templates/LeftAndMain.ss`. It will automatically be picked up by
|
||||||
`$Content` tag:
|
the CMS logic. Add a new section after the `$Content` tag:
|
||||||
|
|
||||||
:::ss
|
:::ss
|
||||||
...
|
...
|
||||||
@ -39,21 +42,24 @@ Copy the template markup of the base implementation at `framework/admin/template
|
|||||||
</div>
|
</div>
|
||||||
...
|
...
|
||||||
|
|
||||||
Refresh the CMS interface with `admin/?flush=all`, and you should see the new bottom bar with some hardcoded links.
|
Refresh the CMS interface with `admin/?flush=all`, and you should see the new
|
||||||
We'll make these dynamic further down.
|
bottom bar with some hardcoded links. We'll make these dynamic further down.
|
||||||
|
|
||||||
You might have noticed that we didn't write any JavaScript to add our layout manager.
|
You might have noticed that we didn't write any JavaScript to add our layout
|
||||||
The important piece of information is the `south` class in our new `<div>` structure,
|
manager. The important piece of information is the `south` class in our new
|
||||||
plus the height value in our CSS. It instructs the existing parent layout how to render the element.
|
`<div>` structure, plus the height value in our CSS. It instructs the existing
|
||||||
This layout manager ([jLayout](http://www.bramstein.com/projects/jlayout/))
|
parent layout how to render the element. This layout manager
|
||||||
allows us to build complex layouts with minimal JavaScript configuration.
|
([jLayout](http://www.bramstein.com/projects/jlayout/)) allows us to build
|
||||||
|
complex layouts with minimal JavaScript configuration.
|
||||||
|
|
||||||
See [layout reference](../reference/layout) for more specific information on CMS layouting.
|
See [layout reference](../reference/layout) for more specific information on
|
||||||
|
CMS layouting.
|
||||||
|
|
||||||
## Include custom CSS in the CMS
|
## Include custom CSS in the CMS
|
||||||
|
|
||||||
In order to show the links in one line, we'll add some CSS, and get it to load with the CMS interface.
|
In order to show the links in one line, we'll add some CSS, and get it to load
|
||||||
Paste the following content into a new file called `mysite/css/BookmarkedPages.css`:
|
with the CMS interface. Paste the following content into a new file called
|
||||||
|
`mysite/css/BookmarkedPages.css`:
|
||||||
|
|
||||||
:::css
|
:::css
|
||||||
.cms-bottom-bar {height: 20px; padding: 5px; background: #C6D7DF;}
|
.cms-bottom-bar {height: 20px; padding: 5px; background: #C6D7DF;}
|
||||||
@ -67,18 +73,23 @@ Load the new CSS file into the CMS, by setting the `LeftAndMain.extra_requiremen
|
|||||||
:::yml
|
:::yml
|
||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
extra_requirements_css:
|
extra_requirements_css:
|
||||||
mysite/css/BookmarkedPages.css:
|
- mysite/css/BookmarkedPages.css:
|
||||||
|
|
||||||
## Create a "bookmark" flag on pages ##
|
## Create a "bookmark" flag on pages ##
|
||||||
|
|
||||||
Now we'll define which pages are actually bookmarked, a flag that is stored in the database.
|
Now we'll define which pages are actually bookmarked, a flag that is stored in
|
||||||
For this we need to decorate the page record with a `DataExtension`.
|
the database. For this we need to decorate the page record with a
|
||||||
Create a new file called `mysite/code/BookmarkedPageExtension.php` and insert the following code.
|
`DataExtension`. Create a new file called `mysite/code/BookmarkedPageExtension.php`
|
||||||
|
and insert the following code.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class BookmarkedPageExtension extends DataExtension {
|
class BookmarkedPageExtension extends DataExtension {
|
||||||
private static $db = array('IsBookmarked' => 'Boolean');
|
|
||||||
|
private static $db = array(
|
||||||
|
'IsBookmarked' => 'Boolean'
|
||||||
|
);
|
||||||
|
|
||||||
public function updateCMSFields(FieldList $fields) {
|
public function updateCMSFields(FieldList $fields) {
|
||||||
$fields->addFieldToTab('Root.Main',
|
$fields->addFieldToTab('Root.Main',
|
||||||
@ -100,14 +111,17 @@ Refresh the CMS, open a page for editing and you should see the new checkbox.
|
|||||||
## Retrieve the list of bookmarks from the database
|
## Retrieve the list of bookmarks from the database
|
||||||
|
|
||||||
One piece in the puzzle is still missing: How do we get the list of bookmarked
|
One piece in the puzzle is still missing: How do we get the list of bookmarked
|
||||||
pages from the datbase into the template we've already created (with hardcoded links)?
|
pages from the database into the template we've already created (with hardcoded
|
||||||
Again, we extend a core class: The main CMS controller called `LeftAndMain`.
|
links)? Again, we extend a core class: The main CMS controller called
|
||||||
|
`LeftAndMain`.
|
||||||
|
|
||||||
Add the following code to a new file `mysite/code/BookmarkedLeftAndMainExtension.php`;
|
Add the following code to a new file `mysite/code/BookmarkedLeftAndMainExtension.php`;
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class BookmarkedPagesLeftAndMainExtension extends LeftAndMainExtension {
|
class BookmarkedPagesLeftAndMainExtension extends LeftAndMainExtension {
|
||||||
|
|
||||||
public function BookmarkedPages() {
|
public function BookmarkedPages() {
|
||||||
return Page::get()->filter("IsBookmarked", 1);
|
return Page::get()->filter("IsBookmarked", 1);
|
||||||
}
|
}
|
||||||
@ -133,39 +147,51 @@ and replace it with the following:
|
|||||||
|
|
||||||
## Extending the CMS actions
|
## Extending the CMS actions
|
||||||
|
|
||||||
CMS actions follow a principle similar to the CMS fields: they are built in the backend with the help of `FormFields`
|
CMS actions follow a principle similar to the CMS fields: they are built in the
|
||||||
and `FormActions`, and the frontend is responsible for applying a consistent styling.
|
backend with the help of `FormFields` and `FormActions`, and the frontend is
|
||||||
|
responsible for applying a consistent styling.
|
||||||
|
|
||||||
The following conventions apply:
|
The following conventions apply:
|
||||||
|
|
||||||
* New actions can be added by redefining `getCMSActions`, or adding an extension with `updateCMSActions`.
|
* New actions can be added by redefining `getCMSActions`, or adding an extension
|
||||||
* It is required the actions are contained in a `FieldSet` (`getCMSActions` returns this already).
|
with `updateCMSActions`.
|
||||||
* Standalone buttons are created by adding a top-level `FormAction` (no such button is added by default).
|
* It is required the actions are contained in a `FieldSet` (`getCMSActions`
|
||||||
* Button groups are created by adding a top-level `CompositeField` with `FormActions` in it.
|
returns this already).
|
||||||
|
* Standalone buttons are created by adding a top-level `FormAction` (no such
|
||||||
|
button is added by default).
|
||||||
|
* Button groups are created by adding a top-level `CompositeField` with
|
||||||
|
`FormActions` in it.
|
||||||
* A `MajorActions` button group is already provided as a default.
|
* A `MajorActions` button group is already provided as a default.
|
||||||
* Drop ups with additional actions that appear as links are created via a `TabSet` and `Tabs` with `FormActions` inside.
|
* Drop ups with additional actions that appear as links are created via a
|
||||||
* A `ActionMenus.MoreOptions` tab is already provided as a default and contains some minor actions.
|
`TabSet` and `Tabs` with `FormActions` inside.
|
||||||
* You can override the actions completely by providing your own `getAllCMSFields`.
|
* A `ActionMenus.MoreOptions` tab is already provided as a default and contains
|
||||||
|
some minor actions.
|
||||||
|
* You can override the actions completely by providing your own
|
||||||
|
`getAllCMSFields`.
|
||||||
|
|
||||||
Let's walk through a couple of examples of adding new CMS actions in `getCMSActions`.
|
Let's walk through a couple of examples of adding new CMS actions in `getCMSActions`.
|
||||||
|
|
||||||
First of all we can add a regular standalone button anywhere in the set. Here we are inserting it in the front of all
|
First of all we can add a regular standalone button anywhere in the set. Here
|
||||||
other actions. We could also add a button group (`CompositeField`) in a similar fashion.
|
we are inserting it in the front of all other actions. We could also add a
|
||||||
|
button group (`CompositeField`) in a similar fashion.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$fields->unshift(FormAction::create('normal', 'Normal button'));
|
$fields->unshift(FormAction::create('normal', 'Normal button'));
|
||||||
|
|
||||||
We can affect the existing button group by manipulating the `CompositeField` already present in the `FieldList`.
|
We can affect the existing button group by manipulating the `CompositeField`
|
||||||
|
already present in the `FieldList`.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$fields->fieldByName('MajorActions')->push(FormAction::create('grouped', 'New group button'));
|
$fields->fieldByName('MajorActions')->push(FormAction::create('grouped', 'New group button'));
|
||||||
|
|
||||||
Another option is adding actions into the drop-up - best place for placing infrequently used minor actions.
|
Another option is adding actions into the drop-up - best place for placing
|
||||||
|
infrequently used minor actions.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$fields->addFieldToTab('ActionMenus.MoreOptions', FormAction::create('minor', 'Minor action'));
|
$fields->addFieldToTab('ActionMenus.MoreOptions', FormAction::create('minor', 'Minor action'));
|
||||||
|
|
||||||
We can also easily create new drop-up menus by defining new tabs within the `TabSet`.
|
We can also easily create new drop-up menus by defining new tabs within the
|
||||||
|
`TabSet`.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$fields->addFieldToTab('ActionMenus.MyDropUp', FormAction::create('minor', 'Minor action in a new drop-up'));
|
$fields->addFieldToTab('ActionMenus.MyDropUp', FormAction::create('minor', 'Minor action in a new drop-up'));
|
||||||
@ -174,15 +200,18 @@ We can also easily create new drop-up menus by defining new tabs within the `Tab
|
|||||||
Empty tabs will be automatically removed from the `FieldList` to prevent clutter.
|
Empty tabs will be automatically removed from the `FieldList` to prevent clutter.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
New actions will need associated controller handlers to work. You can use a `LeftAndMainExtension` to provide one. Refer
|
New actions will need associated controller handlers to work. You can use a
|
||||||
to [Controller documentation](../topics/controller) for instructions on setting up handlers.
|
`LeftAndMainExtension` to provide one. Refer to [Controller documentation](../topics/controller)
|
||||||
|
for instructions on setting up handlers.
|
||||||
|
|
||||||
To make the actions more user-friendly you can also use alternating buttons as detailed in the [CMS Alternating
|
To make the actions more user-friendly you can also use alternating buttons as
|
||||||
Button](../reference/cms-alternating-button) how-to.
|
detailed in the [CMS Alternating Button](../reference/cms-alternating-button)
|
||||||
|
how-to.
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
In a few lines of code, we've customized the look and feel of the CMS.
|
In a few lines of code, we've customized the look and feel of the CMS.
|
||||||
|
|
||||||
While this example is only scratching the surface, it includes most building
|
While this example is only scratching the surface, it includes most building
|
||||||
blocks and concepts for more complex extensions as well.
|
blocks and concepts for more complex extensions as well.
|
||||||
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
Any open source product is only as good as the community behind it. You can participate by sharing
|
Any open source product is only as good as the community behind it. You can
|
||||||
code, ideas, or simply helping others. No matter what your skill level is, every contribution counts.
|
participate by sharing code, ideas, or simply helping others. No matter what
|
||||||
|
your skill level is, every contribution counts.
|
||||||
|
|
||||||
See our [high level overview on silverstripe.org](http://silverstripe.org/contributing-to-silverstripe) on how you can help out.
|
See our [high level overview on silverstripe.org](http://silverstripe.org/contributing-to-silverstripe)
|
||||||
|
on how you can help out.
|
||||||
|
|
||||||
Or, for more detailed guidance, read one of the following pages:
|
Or, for more detailed guidance, read one of the following pages:
|
||||||
|
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
# Misc
|
# Misc
|
||||||
|
|
||||||
This section is dedicated to going to detail about an assortment of topics which don't necessary fit into other documentation
|
This section is dedicated to going to detail about an assortment of topics which
|
||||||
sections.
|
don't necessary fit into other documentation sections.
|
||||||
|
|
||||||
* [Coding conventions](coding-conventions): Guidelines and standards for code formatting and documentation
|
* [Coding conventions](coding-conventions): Guidelines and standards for code formatting and documentation
|
||||||
* [Contributing](contributing): How you can be a part of the SilverStripe Open Source community
|
* [Contributing](contributing): How you can be a part of the SilverStripe Open Source community
|
||||||
* [Module release process](module-release-process): Creating and looking after a module
|
|
||||||
* [Release process](release-process): Describes the Framework and CMS release process
|
* [Release process](release-process): Describes the Framework and CMS release process
|
||||||
* [SS markdown](ss-markdown): Markdown syntax for our technical documentation
|
* [SS markdown](ss-markdown): Markdown syntax for our technical documentation
|
@ -1,241 +0,0 @@
|
|||||||
# Module Maintenance and Release Procedures
|
|
||||||
|
|
||||||
## Creating a module
|
|
||||||
|
|
||||||
One of the best ways that you can contribute to SilverStripe is by developing a module for SilverStripe.
|
|
||||||
If you do, we would love to host your module and have you become an official module maintainer on our site.
|
|
||||||
Please read our ["Contributing to SilverStripe"](http://silverstripe.org/contributing-to-silverstripe/) overview.
|
|
||||||
|
|
||||||
Once you have created a module, login at [silverstripe.org](http://silverstripe.org) and
|
|
||||||
[submit your module](http://silverstripe.org/modules/manage/add)
|
|
||||||
|
|
||||||
It's very important to us that users of SilverStripe can come to expect a level of quality from the core product and any
|
|
||||||
modules running on it. In order to provide this, we require certain things from module maintainers.
|
|
||||||
|
|
||||||
<div class="hint" markdown="1">
|
|
||||||
The following documentation describes aspects of subversion, you can read about similiar
|
|
||||||
strategies for git on a [free online book](http://progit.org/book).
|
|
||||||
</div>
|
|
||||||
|
|
||||||
### Principles
|
|
||||||
|
|
||||||
Strive for features you add to the CMS to be innovatively usable by a content editor rather than a web-developer.
|
|
||||||
Think Wordpress and Apple. Most modules should work by merely placing the code in your SilverStripe installation and
|
|
||||||
running /dev/build. Provide a default set of configuration options that are easily changed in `_config.php`
|
|
||||||
(for instance the `ecommerce` module works out of the box, and you can easily set up a payment provider), aiding a pleasant
|
|
||||||
user experience.
|
|
||||||
|
|
||||||
### Code
|
|
||||||
|
|
||||||
Each line of code you write should be version controlled, in version control systems like
|
|
||||||
[subversion](http://subversion.tigris.org) or [Git](http://gitscm.com). There's lots of services that are freely
|
|
||||||
available for opensource projects, including wiki and bugtracker functionality
|
|
||||||
(e.g. [Google Code for Subversion](http://code.google.com) or [Github for Git](http://github.com)).
|
|
||||||
|
|
||||||
* Add your module to [silverstripe.org/modules](http://silverstripe.org/modules) (and keep the version compatibility information current)
|
|
||||||
* Follow our [coding-conventions](coding-conventions)
|
|
||||||
* Write unit tests and functional tests covering code bundled with the module - see [testing-guide](/topics/testing)
|
|
||||||
* Ensure your code is [localizable](/topics/i18n)
|
|
||||||
|
|
||||||
### Maintenance
|
|
||||||
|
|
||||||
* Create releases (see ["Module Releases"](#module-releases) below)
|
|
||||||
* Ensure that your module is patched to always work with the latest SilverStripe release, and note these compatibilities on
|
|
||||||
your modules page on silverstripe.org
|
|
||||||
* Be involved in our community
|
|
||||||
* Subscripe to our developer mailing list and be available to answer questions on the forum.
|
|
||||||
* Attend our weekly core discussions on IRC as regularly as you can.
|
|
||||||
* Create an **issue tracker** so your users can file bugs and feature requests (see ["Feedback and Bugtracking"](module-release-process#feedback-and-bugtracking) below)
|
|
||||||
* Create a **roadmap** and **milestones** outlining future release planning
|
|
||||||
|
|
||||||
### Feedback and Bugtracking
|
|
||||||
|
|
||||||
Both Google Code and github.com provide their own bugtracker - we encourage you to use any built-in tools that come with
|
|
||||||
your version control hoster. Most Silverstripe-maintained modules have their bugtracker on
|
|
||||||
[github.com](http://www.github.com) (see [issue reporting guidelines](/misc/contributing/issues)).
|
|
||||||
|
|
||||||
Providing bugtracking is a major form of communicating with your users in an efficient way, and will provide a good overview
|
|
||||||
of outstanding work and the stability of your code to an interested user.
|
|
||||||
|
|
||||||
If the user community finds bugs that shouldn't be included in the next stable release, you will need to release another
|
|
||||||
release candidate. If your release candidate is found to be stable, then you can create the stable release.
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
You should have both **developer documentation** and **user documentation**, and keep them updated with your releases.
|
|
||||||
See [Producing OSS: "Documentation"](http://producingoss.com/en/getting-started.html#documentation) and our
|
|
||||||
[contributing guide](contributing/documentation).
|
|
||||||
|
|
||||||
### README file
|
|
||||||
|
|
||||||
Each module should have a `README.md file` in the project root in
|
|
||||||
[markdown format](http://daringfireball.net/projects/markdown/), roughly following this template:
|
|
||||||
|
|
||||||
|
|
||||||
# <MODULENAME> Module
|
|
||||||
|
|
||||||
## Maintainer Contact
|
|
||||||
|
|
||||||
* <FULLNAME> (Nickname: <NICKNAME>, <EMAIL>)
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
* <Specific SilverStripe version, PHP, MySQL, ...>
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
<Links to the wiki, blog posts, etc>
|
|
||||||
|
|
||||||
## Installation Instructions
|
|
||||||
|
|
||||||
<Step by step instructions>
|
|
||||||
|
|
||||||
## Usage Overview
|
|
||||||
|
|
||||||
<Highlevel usage, refer to wiki documentation for details>
|
|
||||||
|
|
||||||
## Known issues
|
|
||||||
|
|
||||||
<Popular issues, how to solve them, and links to tickets in the bugtracker>
|
|
||||||
|
|
||||||
### The docs/ folder ###
|
|
||||||
|
|
||||||
The `README.md` file might get a bit long for bigger modules, and you might want to break it up into multiple files
|
|
||||||
that you can link from the `README.md` file. Example:
|
|
||||||
|
|
||||||
mymodule/
|
|
||||||
README.md
|
|
||||||
code/
|
|
||||||
docs/
|
|
||||||
installation.md
|
|
||||||
tutorial.md
|
|
||||||
howto-search-mymodule.md
|
|
||||||
|
|
||||||
The ["docsviewer" module](https://github.com/silverstripe/silverstripe-docsviewer) can be used
|
|
||||||
to list and render content inside a `docs/` folder (although it is not required, Markdown is designed
|
|
||||||
to be readable in plain text as well).
|
|
||||||
|
|
||||||
### What do you get?
|
|
||||||
|
|
||||||
In return for all your hard work in putting a high-quality module on the site, the SilverStripe project has the following
|
|
||||||
options to support you:
|
|
||||||
|
|
||||||
* Advertising of your module on the http://silverstripe.org/modules/ modules page once it has reached a beta stage and shown
|
|
||||||
to meet our requirements above.
|
|
||||||
* We might showcase your module on our blog and/or newsletter, when it's first released and/or when a major version with
|
|
||||||
significant new features is released. We'll work with you to publicise it on other blogs too (it helps if you deliver
|
|
||||||
screenshots and screencasts)
|
|
||||||
* More influence in suggesting changes to the core product
|
|
||||||
* Kudos on [Ohloh](http://www.ohloh.net/projects/5034?p=SilverStripe+CMS)
|
|
||||||
|
|
||||||
## Releasing a Module
|
|
||||||
|
|
||||||
If you are a module maintaienr, you will be responsible for creating new releases of the module.
|
|
||||||
Releases are important for each codebase to provide stability for its users,
|
|
||||||
and clearly communicate dependencies/requirements.
|
|
||||||
|
|
||||||
### Release Branches
|
|
||||||
|
|
||||||
In order to ensure stability, the first thing we do when making a release is to create a release branch. This branch
|
|
||||||
will exist for the duration of the testing and release candidate phase. The key is that **you should only commit
|
|
||||||
bugfixes to this branch**. This lets you focus on getting a stable version of module ready for release, and new
|
|
||||||
features can still be added to trunk.
|
|
||||||
|
|
||||||
Creating a release branch is a simple `svn cp` command. In the example below, (modulename) would be something like
|
|
||||||
"ecommerce" or "flickrservice", and (releasenumber) would be something like "0.2.1" (see
|
|
||||||
[Producing OSS: Release Numbering](http://producingoss.com/en/development-cycle.html#release-numbering))
|
|
||||||
|
|
||||||
svn cp http://svn.silverstripe.com/open/modules/(modulename)/trunk http://svn.silverstripe.com/open/modules/(modulename)/branches/(releasenumber)
|
|
||||||
|
|
||||||
Once you have created a release branch, you should do some testing of the module yourself. Try installing it on a new
|
|
||||||
site, and existing site, use the different features, and if possible, install on a couple of different servers.
|
|
||||||
|
|
||||||
See [SVN Book: "Release Branches"](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.commonpatterns.html#svn.branchmerge.commonpatterns.release),
|
|
||||||
[Producing OSS: "Release Branches"](http://producingoss.com/en/release-branches.html) and
|
|
||||||
[Producing OSS: "Stabilizing a release"](http://producingoss.com/en/stabilizing-a-release.html) for more details.
|
|
||||||
|
|
||||||
### Release Candidates
|
|
||||||
|
|
||||||
Once you've done your own testing, it's time to create a release candidate (RC). This is a copy of your module that
|
|
||||||
will be sent to the developer community for testing and feedback. Creating a release candidate is a matter of executing
|
|
||||||
a `svn cp` command.
|
|
||||||
|
|
||||||
Note: If you are the only developer on the module, and you aren't going to be creating any new features for the duration
|
|
||||||
of the release cycle, then you can get away with creating your RCs directly from trunk instead of creating a release
|
|
||||||
branch. For major modules, we advise against this, but for very simple modules, going through the whole release process
|
|
||||||
might be overkill.
|
|
||||||
|
|
||||||
svn cp http://svn.silverstripe.com/open/modules/(modulename)/branches/(releasenumber) http://svn.silverstripe.com/open/modules/(modulename)/tags/rc/(releasenumber)-rc1
|
|
||||||
svn co http://svn.silverstripe.com/open/modules/(modulename)/tags/rc/(releasenumber)-rc1 (modulename)
|
|
||||||
tar czf (modulename)_(releasenumber)-rc1.tar.gz (modulename)
|
|
||||||
|
|
||||||
See ["ReleaseBranches" chapter](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.commonpatterns.html#svn.branchmerge.commonpatterns.release)
|
|
||||||
and ["Tags" chapter](http://svnbook.red-bean.com/en/1.5/svn.branchmerge.tags.html).
|
|
||||||
|
|
||||||
### Stabilizing A Release
|
|
||||||
|
|
||||||
After you have put a release candidate out for testing and no-one has found any bugs that would prevent a release, you
|
|
||||||
can create the stable release! Please: **The stable release should always be a copy of a release candidate**. Even if
|
|
||||||
"there's just one tiny bug to fix", you shouldn't release that bug fix onto a stable release - there is always the risk
|
|
||||||
that you inadvertently broke something! As you might guess, `svn cp` is used to create the final release, and then an
|
|
||||||
export to a tar.gz.
|
|
||||||
|
|
||||||
svn cp http://svn.silverstripe.com/open/modules/(modulename)/tags/rc/(releasenumber)-rc2 http://svn.silverstripe.com/open/modules/(modulename)/tags/(releasenumber)
|
|
||||||
svn export http://svn.silverstripe.com/open/modules/(modulename)/tags/(releasenumber) (modulename)
|
|
||||||
tar czf (modulename)_(releasenumber).tar.gz (modulename)
|
|
||||||
|
|
||||||
### Announcing a Release or Release Candidate
|
|
||||||
|
|
||||||
* See [Producing OSS: "Announcing Releases"](http://producingoss.com/en/testing-and-releasing.html#release-announcement)
|
|
||||||
* Update your [documentation](module-release-process#documentation) in the sourcecode, wiki and README
|
|
||||||
* Add your release to the [silverstripe.org/modules](http://silverstripe.org/modules) listing
|
|
||||||
* Announce the release on [silverstripe-announce](http://groups.google.com/group/silverstripe-announce). Include a
|
|
||||||
[changelog](module-release-process#changelogs), the download link and instructions for filing bug reports.
|
|
||||||
* If this release is a major release, our [marketing guys](http://silverstripe.com/contact/) will strive to announce it
|
|
||||||
on the main [silverstripe.com blog](http://silverstripe.com/blog) as well
|
|
||||||
|
|
||||||
|
|
||||||
### Changelogs
|
|
||||||
|
|
||||||
Each release you make should contain `CHANGELOG` file in the project root with a highlevel overview of additions and
|
|
||||||
bugfixes in this release. The `svn log` command gives you all commit messages for a specific project, and is a good
|
|
||||||
start to build a changelog (see ["Examining historical changes" chapter](http://svnbook.red-bean.com/en/1.5/svn.tour.history.html)).
|
|
||||||
Depending on the volume of changes, it is preferred that you summarize these messages in a more "digestible"
|
|
||||||
form (see [Producing OSS: "Changes vs. Changelog"](http://producingoss.com/en/packaging.html#changelog)).
|
|
||||||
|
|
||||||
A good `CHANGELOG` example from the subversion project itself:
|
|
||||||
|
|
||||||
Version 1.5.2
|
|
||||||
(29 Aug 2008, from /branches/1.5.x)
|
|
||||||
http://svn.collab.net/repos/svn/tags/1.5.2
|
|
||||||
|
|
||||||
User-visible changes:
|
|
||||||
|
|
||||||
* Set correct permissions on created fsfs shards (r32355, -7)
|
|
||||||
* Pass client capabilities to start-commit hook (issue #3255)
|
|
||||||
* Disallow creating nested repositories (issue #3269)
|
|
||||||
|
|
||||||
Developer-visible changes:
|
|
||||||
|
|
||||||
* make libsvn_ra_neon initialization thread-safe (r32497, r32510)
|
|
||||||
|
|
||||||
Version 1.5.1
|
|
||||||
(24 Jul 2008, from /branches/1.5.x)
|
|
||||||
http://svn.collab.net/repos/svn/tags/1.5.1
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
### Release Branch Maintenance
|
|
||||||
|
|
||||||
This is also the time to remove the release branch from the subversion tree - we don't want to have lots of branches on
|
|
||||||
the source tree to confuse everyone. However, before you do this, you will need to merge your changes back to the
|
|
||||||
trunk.
|
|
||||||
|
|
||||||
## See Also
|
|
||||||
|
|
||||||
* [Module Development](/topics/module-development)
|
|
||||||
* [Documentation Guide](contributing/documentation)
|
|
||||||
* [Contributing to SilverStripe](contributing)
|
|
||||||
* [Submit your Module](http://silverstripe.org/modules/manage/add)
|
|
||||||
* [subversion](subversion)
|
|
@ -1,7 +1,6 @@
|
|||||||
# Release Process
|
# Release Process
|
||||||
|
|
||||||
Describes the process followed for "core" releases (mainly the `framework` and `cms` modules).
|
Describes the process followed for "core" releases (mainly the `framework` and `cms` modules).
|
||||||
For other modules, we've compiled a helpful guide for a good [module release process](module-release-process).
|
|
||||||
|
|
||||||
## Release Maintainer
|
## Release Maintainer
|
||||||
|
|
||||||
@ -18,8 +17,8 @@ Release dates are usually not published prior to the release, but you can get a
|
|||||||
reviewing the release milestone on github.com. Releases will be
|
reviewing the release milestone on github.com. Releases will be
|
||||||
announced on the [release announcements mailing list](http://groups.google.com/group/silverstripe-announce).
|
announced on the [release announcements mailing list](http://groups.google.com/group/silverstripe-announce).
|
||||||
|
|
||||||
Releases of the *cms* and *framework* modules are coupled at the moment, they follow the same numbering scheme. Module
|
Releases of the *cms* and *framework* modules are coupled at the moment, they
|
||||||
releases are documented separately in [module-release-process](module-release-process).
|
follow the same numbering scheme.
|
||||||
|
|
||||||
## Release Numbering
|
## Release Numbering
|
||||||
|
|
||||||
|
@ -106,12 +106,15 @@ In order to set the correct layout classes, we also need a custom template.
|
|||||||
To obey the inheritance chain, we use `$this->getTemplatesWithSuffix('_EditForm')` for
|
To obey the inheritance chain, we use `$this->getTemplatesWithSuffix('_EditForm')` for
|
||||||
selecting the most specific template (so `MyAdmin_EditForm.ss`, if it exists).
|
selecting the most specific template (so `MyAdmin_EditForm.ss`, if it exists).
|
||||||
|
|
||||||
|
The form should be of type `CMSForm` rather than `Form`, since it allows the use
|
||||||
|
of a `PjaxResponseNegotiator` to handle its display.
|
||||||
|
|
||||||
Basic example form in a CMS controller subclass:
|
Basic example form in a CMS controller subclass:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class MyAdmin extends LeftAndMain {
|
class MyAdmin extends LeftAndMain {
|
||||||
function getEditForm() {
|
function getEditForm() {
|
||||||
$form = new Form(
|
return CMSForm::create(
|
||||||
$this,
|
$this,
|
||||||
'EditForm',
|
'EditForm',
|
||||||
new FieldSet(
|
new FieldSet(
|
||||||
@ -125,11 +128,14 @@ Basic example form in a CMS controller subclass:
|
|||||||
new FieldSet(
|
new FieldSet(
|
||||||
FormAction::create('doSubmit')
|
FormAction::create('doSubmit')
|
||||||
)
|
)
|
||||||
);
|
)
|
||||||
|
// JS and CSS use this identifier
|
||||||
|
->setHTMLID('Form_EditForm')
|
||||||
|
// Render correct responses on validation errors
|
||||||
|
->setResponseNegotiator($this->getResponseNegotiator());
|
||||||
// Required for correct CMS layout
|
// Required for correct CMS layout
|
||||||
$form->addExtraClass('cms-edit-form');
|
->addExtraClass('cms-edit-form')
|
||||||
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
||||||
return $form;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ Example: Simple Definition
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
To include relations in your summaries, you can use a dot-notation.
|
To include relations or field manipulations in your summaries, you can use a dot-notation.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class OtherObject extends DataObject {
|
class OtherObject extends DataObject {
|
||||||
@ -183,17 +183,37 @@ To include relations in your summaries, you can use a dot-notation.
|
|||||||
}
|
}
|
||||||
class MyDataObject extends DataObject {
|
class MyDataObject extends DataObject {
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'Name' => 'Text'
|
'Name' => 'Text',
|
||||||
|
'Description' => 'HTMLText'
|
||||||
);
|
);
|
||||||
private static $has_one = array(
|
private static $has_one = array(
|
||||||
'OtherObject' => 'OtherObject'
|
'OtherObject' => 'OtherObject'
|
||||||
);
|
);
|
||||||
private static $summary_fields = array(
|
private static $summary_fields = array(
|
||||||
'Name',
|
'Name' => 'Name',
|
||||||
'OtherObject.Title'
|
'Description.Summary' => 'Description (summary)',
|
||||||
|
'OtherObject.Title' => 'Other Object Title'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Non-textual elements (such as images and their manipulations) can also be used in summaries.
|
||||||
|
|
||||||
|
:::php
|
||||||
|
class MyDataObject extends DataObject {
|
||||||
|
private static $db = array(
|
||||||
|
'Name' => 'Text'
|
||||||
|
);
|
||||||
|
private static $has_one = array(
|
||||||
|
'HeroImage' => 'Image'
|
||||||
|
);
|
||||||
|
private static $summary_fields = array(
|
||||||
|
'Name' => 'Name,
|
||||||
|
'HeroImage.CMSThumbnail' => 'Hero Image'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
## Permissions
|
## Permissions
|
||||||
|
|
||||||
Models can be modified in a variety of controllers and user interfaces,
|
Models can be modified in a variety of controllers and user interfaces,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Gridfield
|
# GridField
|
||||||
|
|
||||||
Gridfield is SilverStripe's implementation of data grids. Its main purpose is to display tabular data
|
GridField is SilverStripe's implementation of data grids. Its main purpose is to display tabular data
|
||||||
in a format that is easy to view and modify. It's a can be thought of as a HTML table with some tricks.
|
in a format that is easy to view and modify. It's a can be thought of as a HTML table with some tricks.
|
||||||
|
|
||||||
It's built in a way that provides developers with an extensible way to display tabular data in a
|
It's built in a way that provides developers with an extensible way to display tabular data in a
|
||||||
@ -170,6 +170,7 @@ The namespace notation is `ManyMany[<extradata-field-name>]`, so for example
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
|
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
private static $db = array('Name' => 'Text');
|
private static $db = array('Name' => 'Text');
|
||||||
public static $many_many = array('Teams' => 'Team');
|
public static $many_many = array('Teams' => 'Team');
|
||||||
|
@ -2,31 +2,37 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
With the addition of side-by-side editing, the preview has the ability to appear within the CMS window when editing
|
With the addition of side-by-side editing, the preview has the ability to appear
|
||||||
content in the _Pages_ section of the CMS. The site is rendered into an iframe. It will update itself whenever the
|
within the CMS window when editing content in the _Pages_ section of the CMS.
|
||||||
content is saved, and relevant pages will be loaded for editing when the user navigates around in the preview.
|
The site is rendered into an iframe. It will update itself whenever the content
|
||||||
|
is saved, and relevant pages will be loaded for editing when the user navigates
|
||||||
|
around in the preview.
|
||||||
|
|
||||||
The root element for preview is `.cms-preview` which maintains the internal states neccessary for rendering within the
|
The root element for preview is `.cms-preview` which maintains the internal
|
||||||
entwine properties. It provides function calls for transitioning between these states and has the ability to update the
|
states necessary for rendering within the entwine properties. It provides
|
||||||
appearance of the option selectors.
|
function calls for transitioning between these states and has the ability to
|
||||||
|
update the appearance of the option selectors.
|
||||||
|
|
||||||
In terms of backend support, it relies on `SilverStripeNavigator` to be rendered into the `.cms-edit-form`.
|
In terms of backend support, it relies on `SilverStripeNavigator` to be rendered
|
||||||
_LeftAndMain_ will automatically take care of generating it as long as the `*_SilverStripeNavigator` template is found -
|
into the `.cms-edit-form`. _LeftAndMain_ will automatically take care of
|
||||||
first segment has to match current _LeftAndMain_-derived class (e.g. `LeftAndMain_SilverStripeNavigator`).
|
generating it as long as the `*_SilverStripeNavigator` template is found -
|
||||||
|
first segment has to match current _LeftAndMain_-derived class (e.g.
|
||||||
|
`LeftAndMain_SilverStripeNavigator`).
|
||||||
|
|
||||||
We use `ss.preview` entwine namespace for all preview-related entwines.
|
We use `ss.preview` entwine namespace for all preview-related entwines.
|
||||||
|
|
||||||
<div class="notice" markdown='1'>
|
<div class="notice" markdown='1'>
|
||||||
Caveat: `SilverStripeNavigator` and `CMSPreviewable` interface currently only support SiteTree objects that are
|
Caveat: `SilverStripeNavigator` and `CMSPreviewable` interface currently only
|
||||||
_Versioned_. They are not general enough for using on any other DataObject. That pretty much limits the extendability
|
support SiteTree objects that are _Versioned_. They are not general enough for
|
||||||
of the feature.
|
using on any other DataObject. That pretty much limits the extendability of the
|
||||||
|
feature.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Configuration and Defaults
|
## Configuration and Defaults
|
||||||
|
|
||||||
Like most of the CMS, the preview UI is powered by
|
Like most of the CMS, the preview UI is powered by
|
||||||
[jQuery entwine](https://github.com/hafriedlander/jquery.entwine).
|
[jQuery entwine](https://github.com/hafriedlander/jquery.entwine). This means
|
||||||
This means its defaults are configured through JavaScript, by setting entwine properties.
|
its defaults are configured through JavaScript, by setting entwine properties.
|
||||||
In order to achieve this, create a new file `mysite/javascript/MyLeftAndMain.Preview.js`.
|
In order to achieve this, create a new file `mysite/javascript/MyLeftAndMain.Preview.js`.
|
||||||
|
|
||||||
In the following example we configure three aspects:
|
In the following example we configure three aspects:
|
||||||
@ -69,7 +75,7 @@ to the `LeftAndMain.extra_requirements_javascript` [configuration value](/topics
|
|||||||
:::yml
|
:::yml
|
||||||
LeftAndMain
|
LeftAndMain
|
||||||
extra_requirements_javascript:
|
extra_requirements_javascript:
|
||||||
mysite/javascript/MyLeftAndMain.Preview.js:
|
- mysite/javascript/MyLeftAndMain.Preview.js:
|
||||||
|
|
||||||
In order to find out which configuration values are available, the source code
|
In order to find out which configuration values are available, the source code
|
||||||
is your best reference at the moment - have a look in `framework/admin/javascript/LeftAndMain.Preview.js`.
|
is your best reference at the moment - have a look in `framework/admin/javascript/LeftAndMain.Preview.js`.
|
||||||
@ -78,30 +84,33 @@ To understand how layouts are handled in the CMS UI, have a look at the
|
|||||||
|
|
||||||
## Enabling preview
|
## Enabling preview
|
||||||
|
|
||||||
The frontend decides on the preview being enabled or disabled based on the presnce of the `.cms-previewable` class. If
|
The frontend decides on the preview being enabled or disabled based on the
|
||||||
this class is not found the preview will remain hidden, and the layout will stay in the _content_ mode.
|
presence of the `.cms-previewable` class. If this class is not found the preview
|
||||||
|
will remain hidden, and the layout will stay in the _content_ mode.
|
||||||
|
|
||||||
If the class is found, frontend looks for the `SilverStripeNavigator` structure and moves it to the
|
If the class is found, frontend looks for the `SilverStripeNavigator` structure
|
||||||
`.cms-preview-control` panel at the bottom of the preview. This structure supplies preview options such as state
|
and moves it to the `.cms-preview-control` panel at the bottom of the preview.
|
||||||
selector.
|
This structure supplies preview options such as state selector.
|
||||||
|
|
||||||
If the navigator is not found, the preview appears in the GUI, but is shown as "blocked" - i.e. displaying the "preview
|
If the navigator is not found, the preview appears in the GUI, but is shown as
|
||||||
unavailable" overlay.
|
"blocked" - i.e. displaying the "preview unavailable" overlay.
|
||||||
|
|
||||||
The preview can be affected by calling `enablePreview` and `disablePreview`. You can check if the preview is active by
|
The preview can be affected by calling `enablePreview` and `disablePreview`. You
|
||||||
inspecting the `IsPreviewEnabled` entwine property.
|
can check if the preview is active by inspecting the `IsPreviewEnabled` entwine
|
||||||
|
property.
|
||||||
|
|
||||||
## Preview states
|
## Preview states
|
||||||
|
|
||||||
States are the site stages: _live_, _stage_ etc. Preview states are picked up from the `SilverStripeNavigator`.
|
States are the site stages: _live_, _stage_ etc. Preview states are picked up
|
||||||
You can invoke the state change by calling:
|
from the `SilverStripeNavigator`. You can invoke the state change by calling:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
$('.cms-preview').entwine('.ss.preview').changeState('StageLink');
|
$('.cms-preview').entwine('.ss.preview').changeState('StageLink');
|
||||||
```
|
```
|
||||||
|
|
||||||
Note the state names come from `SilverStripeNavigatorItems` class names - thus the _Link_ in their names. This call will
|
Note the state names come from `SilverStripeNavigatorItems` class names - thus
|
||||||
also redraw the state selector to fit with the internal state. See `AllowedStates` in `.cms-preview` entwine for the
|
the _Link_ in their names. This call will also redraw the state selector to fit
|
||||||
|
with the internal state. See `AllowedStates` in `.cms-preview` entwine for the
|
||||||
list of supported states.
|
list of supported states.
|
||||||
|
|
||||||
You can get the current state by calling:
|
You can get the current state by calling:
|
||||||
@ -112,16 +121,18 @@ You can get the current state by calling:
|
|||||||
|
|
||||||
## Preview sizes
|
## Preview sizes
|
||||||
|
|
||||||
This selector defines how the preview iframe is rendered, and try to emulate different device sizes. The options are
|
This selector defines how the preview iframe is rendered, and try to emulate
|
||||||
hardcoded. The option names map directly to CSS classes applied to the `.cms-preview` and are as follows:
|
different device sizes. The options are hardcoded. The option names map directly
|
||||||
|
to CSS classes applied to the `.cms-preview` and are as follows:
|
||||||
|
|
||||||
* _auto_: responsive layout
|
* _auto_: responsive layout
|
||||||
* _desktop_
|
* _desktop_
|
||||||
* _tablet_
|
* _tablet_
|
||||||
* _mobile_
|
* _mobile_
|
||||||
|
|
||||||
You can switch between different types of display sizes programmatically, which has the benefit of redrawing the
|
You can switch between different types of display sizes programmatically, which
|
||||||
related selector and maintaining a consistent internal state:
|
has the benefit of redrawing the related selector and maintaining a consistent
|
||||||
|
internal state:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
$('.cms-preview').entwine('.ss.preview').changeSize('auto');
|
$('.cms-preview').entwine('.ss.preview').changeSize('auto');
|
||||||
@ -135,25 +146,27 @@ You can find out current size by calling:
|
|||||||
|
|
||||||
## Preview modes
|
## Preview modes
|
||||||
|
|
||||||
Preview modes map to the modes supported by the _threeColumnCompressor_ layout algorithm, see
|
Preview modes map to the modes supported by the _threeColumnCompressor_ layout
|
||||||
[layout reference](../reference/layout) for more details. You can change modes by calling:
|
algorithm, see [layout reference](../reference/layout) for more details. You
|
||||||
|
can change modes by calling:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
$('.cms-preview').entwine('.ss.preview').changeMode('preview');
|
$('.cms-preview').entwine('.ss.preview').changeMode('preview');
|
||||||
```
|
```
|
||||||
|
|
||||||
Currently active mode is stored on the `.cms-container` along with related internal states of the layout. You can reach
|
Currently active mode is stored on the `.cms-container` along with related
|
||||||
it by calling:
|
internal states of the layout. You can reach it by calling:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
$('.cms-container').entwine('.ss').getLayoutOptions().mode;
|
$('.cms-container').entwine('.ss').getLayoutOptions().mode;
|
||||||
```
|
```
|
||||||
|
|
||||||
<div class="notice" markdown='1'>
|
<div class="notice" markdown='1'>
|
||||||
Caveat: the `.preview-mode-selector` appears twice, once in the preview and second time in the CMS actions area as
|
Caveat: the `.preview-mode-selector` appears twice, once in the preview and
|
||||||
`#preview-mode-dropdown-in-cms`. This is done because the user should still have access to the mode selector even if
|
second time in the CMS actions area as `#preview-mode-dropdown-in-cms`. This is
|
||||||
preview is not visible. Currently CMS Actions are a separate area to the preview option selectors, even if they try
|
done because the user should still have access to the mode selector even if
|
||||||
to appear as one horizontal bar.
|
preview is not visible. Currently CMS Actions are a separate area to the preview
|
||||||
|
option selectors, even if they try to appear as one horizontal bar.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Preview API
|
## Preview API
|
||||||
|
@ -146,7 +146,7 @@ quotes, `kipper`, which is a **literal**. If true, the text inside the if-block
|
|||||||
is output.
|
is output.
|
||||||
|
|
||||||
:::ss
|
:::ss
|
||||||
<% if $MyDinner="kipper" %>
|
<% if $MyDinner=="kipper" %>
|
||||||
Yummy, kipper for tea.
|
Yummy, kipper for tea.
|
||||||
<% end_if %>
|
<% end_if %>
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ This example shows the use of the `else` option. The markup after `else` is
|
|||||||
output if the tested condition is *not* true.
|
output if the tested condition is *not* true.
|
||||||
|
|
||||||
:::ss
|
:::ss
|
||||||
<% if $MyDinner="kipper" %>
|
<% if $MyDinner=="kipper" %>
|
||||||
Yummy, kipper for tea
|
Yummy, kipper for tea
|
||||||
<% else %>
|
<% else %>
|
||||||
I wish I could have kipper :-(
|
I wish I could have kipper :-(
|
||||||
@ -171,7 +171,7 @@ and the markup for that condition is used. If none of the conditions are true,
|
|||||||
the markup in the `else` clause is used, if that clause is present.
|
the markup in the `else` clause is used, if that clause is present.
|
||||||
|
|
||||||
:::ss
|
:::ss
|
||||||
<% if $MyDinner="quiche" %>
|
<% if $MyDinner=="quiche" %>
|
||||||
Real men don't eat quiche
|
Real men don't eat quiche
|
||||||
<% else_if $MyDinner=$YourDinner %>
|
<% else_if $MyDinner=$YourDinner %>
|
||||||
We both have good taste
|
We both have good taste
|
||||||
|
@ -208,7 +208,7 @@ like this:
|
|||||||
'Description' => 'Text'
|
'Description' => 'Text'
|
||||||
);
|
);
|
||||||
|
|
||||||
public static $belongs_many_many = array(
|
private static $belongs_many_many = array(
|
||||||
'GalleryPage' => 'GalleryPage'
|
'GalleryPage' => 'GalleryPage'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -98,9 +98,14 @@ This code provides a good template:
|
|||||||
|
|
||||||
:::php
|
:::php
|
||||||
class MyProcess extends Controller {
|
class MyProcess extends Controller {
|
||||||
public static $allowed_actions = array('index');
|
|
||||||
|
private static $allowed_actions = array(
|
||||||
|
'index'
|
||||||
|
);
|
||||||
|
|
||||||
function index() {
|
function index() {
|
||||||
set_time_limit(0);
|
set_time_limit(0);
|
||||||
|
|
||||||
while(memory_get_usage() < 32*1024*1024) {
|
while(memory_get_usage() < 32*1024*1024) {
|
||||||
if($this->somethingToDo()) {
|
if($this->somethingToDo()) {
|
||||||
$this->doSomething();
|
$this->doSomething();
|
||||||
@ -112,8 +117,6 @@ This code provides a good template:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Step 2: Install the "daemon" command-line tool on your server.
|
Step 2: Install the "daemon" command-line tool on your server.
|
||||||
|
|
||||||
Step 3: Use sake to start and stop your process
|
Step 3: Use sake to start and stop your process
|
||||||
@ -122,8 +125,9 @@ Step 3: Use sake to start and stop your process
|
|||||||
sake -stop MyProcess
|
sake -stop MyProcess
|
||||||
|
|
||||||
|
|
||||||
Note that sake processes are currently a little brittle, in that the pid and log files are placed in the site root
|
Note that sake processes are currently a little brittle, in that the pid and log
|
||||||
directory, rather than somewhere sensible like /var/log or /var/run.
|
files are placed in the site root directory, rather than somewhere sensible like
|
||||||
|
/var/log or /var/run.
|
||||||
|
|
||||||
### Running Regular Tasks With Cron
|
### Running Regular Tasks With Cron
|
||||||
|
|
||||||
@ -137,6 +141,7 @@ php /path/to/site_root/framework/cli-script.php dev/tasks/MyTask
|
|||||||
|
|
||||||
If you find that your cron job appears to be retrieving the login screen, then you may need to use `php-cli`
|
If you find that your cron job appears to be retrieving the login screen, then you may need to use `php-cli`
|
||||||
instead. This is typical of a cPanel-based setup.
|
instead. This is typical of a cPanel-based setup.
|
||||||
|
|
||||||
```
|
```
|
||||||
php-cli /path/to/site_root/framework/cli-script.php dev/tasks/MyTask
|
php-cli /path/to/site_root/framework/cli-script.php dev/tasks/MyTask
|
||||||
```
|
```
|
||||||
|
@ -164,8 +164,12 @@ through `/fastfood/drivethrough/` to use the same order function.
|
|||||||
|
|
||||||
:::php
|
:::php
|
||||||
class FastFood_Controller extends Controller {
|
class FastFood_Controller extends Controller {
|
||||||
private static $allowed_actions = array('drivethrough');
|
|
||||||
public static $url_handlers = array(
|
private static $allowed_actions = array(
|
||||||
|
'drivethrough'
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $url_handlers = array(
|
||||||
'drivethrough/$Action/$ID/$Name' => 'order'
|
'drivethrough/$Action/$ID/$Name' => 'order'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1,21 +1,26 @@
|
|||||||
# Datamodel
|
# Datamodel
|
||||||
|
|
||||||
SilverStripe uses an [object-relational model](http://en.wikipedia.org/wiki/Object-relational_model) that assumes the
|
SilverStripe uses an [object-relational model](http://en.wikipedia.org/wiki/Object-relational_model)
|
||||||
following connections:
|
that assumes the following connections:
|
||||||
|
|
||||||
* Each database-table maps to a PHP class
|
* Each database-table maps to a PHP class
|
||||||
* Each database-row maps to a PHP object
|
* Each database-row maps to a PHP object
|
||||||
* Each database-column maps to a property on a PHP object
|
* Each database-column maps to a property on a PHP object
|
||||||
|
|
||||||
All data tables in SilverStripe are defined as subclasses of `[api:DataObject]`. Inheritance is supported in the data
|
All data tables in SilverStripe are defined as subclasses of `[api:DataObject]`.
|
||||||
model: seperate tables will be linked together, the data spread across these tables. The mapping and saving/loading
|
|
||||||
logic is handled by SilverStripe, you don't need to worry about writing SQL most of the time.
|
Inheritance is supported in the data model: separate tables will be linked
|
||||||
|
together, the data spread across these tables. The mapping and saving/loading
|
||||||
|
logic is handled by SilverStripe, you don't need to worry about writing SQL most
|
||||||
|
of the time.
|
||||||
|
|
||||||
Most of the ORM customizations are possible through [PHP5 Object
|
Most of the ORM customizations are possible through [PHP5 Object
|
||||||
Overloading](http://www.onlamp.com/pub/a/php/2005/06/16/overloading.html) handled in the `[api:Object]`-class.
|
Overloading](http://www.onlamp.com/pub/a/php/2005/06/16/overloading.html)
|
||||||
|
handled in the `[api:Object]`-class.
|
||||||
|
|
||||||
See [database-structure](/reference/database-structure) for in-depth information on the database-schema,
|
See [database-structure](/reference/database-structure) for in-depth information
|
||||||
and the ["sql queries" topic](/reference/sqlquery) in case you need to drop down to the bare metal.
|
on the database-schema and the ["sql queries" topic](/reference/sqlquery) in
|
||||||
|
case you need to drop down to the bare metal.
|
||||||
|
|
||||||
## Generating the Database Schema
|
## Generating the Database Schema
|
||||||
|
|
||||||
@ -24,27 +29,34 @@ The SilverStripe database-schema is generated automatically by visiting the URL.
|
|||||||
|
|
||||||
<div class="notice" markdown='1'>
|
<div class="notice" markdown='1'>
|
||||||
Note: You need to be logged in as an administrator to perform this command,
|
Note: You need to be logged in as an administrator to perform this command,
|
||||||
unless your site is in "[dev mode](/topics/debugging)", or the command is run through CLI.
|
unless your site is in "[dev mode](/topics/debugging)", or the command is run
|
||||||
|
through CLI.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Querying Data
|
## Querying Data
|
||||||
|
|
||||||
Every query to data starts with a `DataList::create(<class>)` or `<class>::get()` call. For example, this query would return all of the `Member` objects:
|
Every query to data starts with a `DataList::create(<class>)` or `<class>::get()`
|
||||||
|
call. For example, this query would return all of the `Member` objects:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get();
|
$members = Member::get();
|
||||||
|
|
||||||
The ORM uses a "fluent" syntax, where you specify a query by chaining together different methods. Two common methods
|
The ORM uses a "fluent" syntax, where you specify a query by chaining together
|
||||||
are `filter()` and `sort()`:
|
different methods. Two common methods are `filter()` and `sort()`:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->filter(array('FirstName' => 'Sam'))->sort('Surname');
|
$members = Member::get()->filter(array(
|
||||||
|
'FirstName' => 'Sam'
|
||||||
|
))->sort('Surname');
|
||||||
|
|
||||||
Those of you who know a bit about SQL might be thinking "it looks like you're querying all members, and then filtering
|
Those of you who know a bit about SQL might be thinking "it looks like you're
|
||||||
to those with a first name of 'Sam'. Isn't this very slow?" Is isn't, because the ORM doesn't actually execute the SQL
|
querying all members, and then filtering to those with a first name of 'Sam'.
|
||||||
query until you iterate on the result with a `foreach()` or `<% loop %>`. The ORM is smart enough to generate a single
|
|
||||||
efficient query at the last moment in time without needing to post process the result set in PHP. In MySQL the query
|
Isn't this very slow?" Is isn't, because the ORM doesn't actually execute the
|
||||||
generated by the ORM may look something like this for the previous query.
|
SQL query until you iterate on the result with a `foreach()` or `<% loop %>`.
|
||||||
|
The ORM is smart enough to generate a single efficient query at the last moment
|
||||||
|
in time without needing to post process the result set in PHP. In MySQL the
|
||||||
|
query generated by the ORM may look something like this for the previous query.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
SELECT * FROM Member WHERE FirstName = 'Sam' ORDER BY Surname
|
SELECT * FROM Member WHERE FirstName = 'Sam' ORDER BY Surname
|
||||||
@ -64,10 +76,13 @@ An example of the query process in action:
|
|||||||
echo "<p>$member->FirstName $member->Surname</p>";
|
echo "<p>$member->FirstName $member->Surname</p>";
|
||||||
}
|
}
|
||||||
|
|
||||||
This also means that getting the count of a list of objects will be done with a single, efficient query.
|
This also means that getting the count of a list of objects will be done with a
|
||||||
|
single, efficient query.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->filter(array('FirstName' => 'Sam'))->sort('Surname');
|
$members = Member::get()->filter(array(
|
||||||
|
'FirstName' => 'Sam'
|
||||||
|
))->sort('Surname');
|
||||||
|
|
||||||
// This will create an single SELECT COUNT query similar to -
|
// This will create an single SELECT COUNT query similar to -
|
||||||
// SELECT COUNT(*) FROM Members WHERE FirstName = 'Sam'
|
// SELECT COUNT(*) FROM Members WHERE FirstName = 'Sam'
|
||||||
@ -76,35 +91,42 @@ This also means that getting the count of a list of objects will be done with a
|
|||||||
|
|
||||||
### Returning a single DataObject
|
### Returning a single DataObject
|
||||||
|
|
||||||
There are a couple of ways of getting a single DataObject from the ORM. If you know the ID number of the object,
|
There are a couple of ways of getting a single DataObject from the ORM. If you
|
||||||
you can use `byID($id)`:
|
know the ID number of the object, you can use `byID($id)`:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$member = Member::get()->byID(5);
|
$member = Member::get()->byID(5);
|
||||||
|
|
||||||
If you have constructed a query that you know should return a single record, you can call `First()`:
|
If you have constructed a query that you know should return a single record, you
|
||||||
|
can call `First()`:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$member = Member::get()->filter(array('FirstName' => 'Sam', 'Surname' => 'Minnee'))->First();
|
$member = Member::get()->filter(array(
|
||||||
|
'FirstName' => 'Sam', 'Surname' => 'Minnee'
|
||||||
|
))->First();
|
||||||
|
|
||||||
|
|
||||||
### Sort
|
### Sort
|
||||||
|
|
||||||
Quite often you would like to sort a list. Doing this on a list could be done in a few ways.
|
Quite often you would like to sort a list. Doing this on a list could be done in
|
||||||
|
a few ways.
|
||||||
|
|
||||||
If would like to sort the list by `FirstName` in a ascending way (from A to Z).
|
If would like to sort the list by `FirstName` in a ascending way (from A to Z).
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$member = Member::get()->sort('FirstName', 'ASC'); // ASC or DESC
|
$members = Member::get()->sort('FirstName', 'ASC'); // ASC or DESC
|
||||||
$member = Member::get()->sort('FirstName'); // Ascending is implied
|
$members = Member::get()->sort('FirstName'); // Ascending is implied
|
||||||
|
|
||||||
To reverse the sort
|
To reverse the sort
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$member = Member::get()->sort('FirstName', 'DESC');
|
$members = Member::get()->sort('FirstName', 'DESC');
|
||||||
|
|
||||||
However you might have several entries with the same `FirstName` and would like to sort them by `FirstName`
|
// or..
|
||||||
and `LastName`
|
$members = Member::get()->sort('FirstName', 'ASC')->reverse();
|
||||||
|
|
||||||
|
However you might have several entries with the same `FirstName` and would like
|
||||||
|
to sort them by `FirstName` and `LastName`
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$member = Member::get()->sort(array(
|
$member = Member::get()->sort(array(
|
||||||
@ -119,18 +141,19 @@ You can also sort randomly
|
|||||||
|
|
||||||
### Filter
|
### Filter
|
||||||
|
|
||||||
As you might expect, the `filter()` method filters the list of objects that gets returned. The previous example
|
As you might expect, the `filter()` method filters the list of objects that gets
|
||||||
included this filter, which returns all Members with a first name of "Sam".
|
returned. The previous example included this filter, which returns all Members
|
||||||
|
with a first name of "Sam".
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->filter(array('FirstName' => 'Sam'));
|
$members = Member::get()->filter(array('FirstName' => 'Sam'));
|
||||||
|
|
||||||
In SilverStripe 2, we would have passed `"\"FirstName\" = 'Sam'` to make this query. Now, we pass an array,
|
In SilverStripe 2, we would have passed `"\"FirstName\" = 'Sam'` to make this
|
||||||
`array('FirstName' => 'Sam')`, to minimise the risk of SQL injection bugs. The format of this array follows a few
|
query. Now, we pass an array, `array('FirstName' => 'Sam')`, to minimize the
|
||||||
rules:
|
risk of SQL injection bugs. The format of this array follows a few rules:
|
||||||
|
|
||||||
* Each element of the array specifies a filter. You can specify as many filters as you like, and they **all** must
|
* Each element of the array specifies a filter. You can specify as many
|
||||||
be true.
|
filters as you like, and they **all** must be true.
|
||||||
* The key in the filter corresponds to the field that you want to filter by.
|
* The key in the filter corresponds to the field that you want to filter by.
|
||||||
* The value in the filter corresponds to the value that you want to filter to.
|
* The value in the filter corresponds to the value that you want to filter to.
|
||||||
|
|
||||||
@ -154,18 +177,19 @@ Or if you want to find both Sam and Sig.
|
|||||||
'FirstName', array('Sam', 'Sig')
|
'FirstName', array('Sam', 'Sig')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Then there is the most complex task when you want to find Sam and Sig that has
|
||||||
Then there is the most complex task when you want to find Sam and Sig that has either Age 17 or 74.
|
either Age 17 or 74.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->filter(array(
|
$members = Member::get()->filter(array(
|
||||||
'FirstName' => array('Sam', 'Sig'),
|
'FirstName' => array('Sam', 'Sig'),
|
||||||
'Age' => array(17, 74)
|
'Age' => array(17, 74)
|
||||||
));
|
));
|
||||||
|
|
||||||
// SQL: WHERE ("FirstName" IN ('Sam', 'Sig) AND "Age" IN ('17', '74))
|
// SQL: WHERE ("FirstName" IN ('Sam', 'Sig) AND "Age" IN ('17', '74))
|
||||||
|
|
||||||
In case you want to match multiple criteria non-exclusively (with an "OR" disjunctive),
|
In case you want to match multiple criteria non-exclusively (with an "OR"
|
||||||
use the `filterAny()` method instead:
|
disjunctive),use the `filterAny()` method instead:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->filterAny(array(
|
$members = Member::get()->filterAny(array(
|
||||||
@ -185,11 +209,12 @@ You can also combine both conjunctive ("AND") and disjunctive ("OR") statements.
|
|||||||
'FirstName' => 'Sam',
|
'FirstName' => 'Sam',
|
||||||
'Age' => 17,
|
'Age' => 17,
|
||||||
));
|
));
|
||||||
// SQL: WHERE ("LastName" = 'Minnée' AND ("FirstName" = 'Sam' OR "Age" = '17'))
|
// WHERE ("LastName" = 'Minnée' AND ("FirstName" = 'Sam' OR "Age" = '17'))
|
||||||
|
|
||||||
### Exclude
|
### Exclude
|
||||||
|
|
||||||
The `exclude()` method is the opposite to the filter in that it removes entries from a list.
|
The `exclude()` method is the opposite to the filter in that it removes entries
|
||||||
|
from a list.
|
||||||
|
|
||||||
If we would like to remove all members from the list with the FirstName of Sam.
|
If we would like to remove all members from the list with the FirstName of Sam.
|
||||||
|
|
||||||
@ -201,7 +226,8 @@ Remove both Sam and Sig is as easy as.
|
|||||||
:::php
|
:::php
|
||||||
$members = Member::get()->exclude('FirstName', array('Sam','Sig'));
|
$members = Member::get()->exclude('FirstName', array('Sam','Sig'));
|
||||||
|
|
||||||
As you can see it follows the same pattern as filter, so for removing only Sam Minnée from the list
|
As you can see it follows the same pattern as filter, so for removing only Sam
|
||||||
|
Minnée from the list:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->exclude(array(
|
$members = Member::get()->exclude(array(
|
||||||
@ -224,20 +250,24 @@ This would be equivalent to a SQL query of
|
|||||||
|
|
||||||
### Search Filter Modifiers
|
### Search Filter Modifiers
|
||||||
|
|
||||||
The where clauses showcased in the previous two sections (filter and exclude) specify exact
|
The where clauses showcased in the previous two sections (filter and exclude)
|
||||||
matches by default. However, there are a number of suffixes that you can put on field names to change this
|
specify exact matches by default. However, there are a number of suffixes that
|
||||||
behaviour `":StartsWith"`, `":EndsWith"`, `":PartialMatch"`, `":GreaterThan"`, `":LessThan"`, `":Negation"`.
|
you can put on field names to change this behavior such as `":StartsWith"`,
|
||||||
|
`":EndsWith"`, `":PartialMatch"`, `":GreaterThan"`, `":LessThan"`,
|
||||||
|
`":Negation"`.
|
||||||
|
|
||||||
Each of these suffixes is represented in the ORM as a subclass of `[api:SearchFilter]`. Developers can define
|
Each of these suffixes is represented in the ORM as a subclass of
|
||||||
their own SearchFilters if needing to extend the ORM filter and exclude behaviours.
|
`[api:SearchFilter]`. Developers can define their own SearchFilters if needing
|
||||||
|
to extend the ORM filter and exclude behaviors.
|
||||||
|
|
||||||
These suffixes can also take modifiers themselves. The modifiers currently supported are `":not"`, `":nocase"`
|
These suffixes can also take modifiers themselves. The modifiers currently
|
||||||
and `":case"`. These negate the filter, make it case-insensitive and make it case-sensitive respectively. The
|
supported are `":not"`, `":nocase"` and `":case"`. These negate the filter,
|
||||||
default comparison uses the database's default. For MySQL and MSSQL, this is case-insensitive. For PostgreSQL,
|
make it case-insensitive and make it case-sensitive respectively. The default
|
||||||
this is case-sensitive.
|
comparison uses the database's default. For MySQL and MSSQL, this is
|
||||||
|
case-insensitive. For PostgreSQL, this is case-sensitive.
|
||||||
|
|
||||||
The following is a query which will return everyone whose first name doesn't start with S, who has logged in
|
The following is a query which will return everyone whose first name doesn't
|
||||||
since 1/1/2011.
|
start with S, who has logged in since 1/1/2011.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->filter(array(
|
$members = Member::get()->filter(array(
|
||||||
@ -247,15 +277,17 @@ since 1/1/2011.
|
|||||||
|
|
||||||
### Subtract
|
### Subtract
|
||||||
|
|
||||||
You can subtract entries from a DataList by passing in another DataList to `subtract()`
|
You can subtract entries from a DataList by passing in another DataList to
|
||||||
|
`subtract()`
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$allSams = Member::get()->filter('FirstName', 'Sam');
|
$allSams = Member::get()->filter('FirstName', 'Sam');
|
||||||
$allMembers = Member::get();
|
$allMembers = Member::get();
|
||||||
$noSams = $allMembers->subtract($allSams);
|
$noSams = $allMembers->subtract($allSams);
|
||||||
|
|
||||||
Though for the above example it would probably be easier to use `filter()` and `exclude()`. A better
|
Though for the above example it would probably be easier to use `filter()` and
|
||||||
use case could be when you want to find all the members that does not exist in a Group.
|
`exclude()`. A better use case could be when you want to find all the members
|
||||||
|
that does not exist in a Group.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// ... Finding all members that does not belong to $group.
|
// ... Finding all members that does not belong to $group.
|
||||||
@ -263,15 +295,17 @@ use case could be when you want to find all the members that does not exist in a
|
|||||||
|
|
||||||
### Limit
|
### Limit
|
||||||
|
|
||||||
You can limit the amount of records returned in a DataList by using the `limit()` method.
|
You can limit the amount of records returned in a DataList by using the
|
||||||
|
`limit()` method.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// Returning the first 5 members, sorted alphabetically by Surname
|
// Returning the first 5 members, sorted alphabetically by Surname
|
||||||
$members = Member::get()->sort('Surname')->limit(5);
|
$members = Member::get()->sort('Surname')->limit(5);
|
||||||
|
|
||||||
`limit()` accepts two arguments, the first being the amount of results you want returned, with an optional second
|
`limit()` accepts two arguments, the first being the amount of results you want
|
||||||
parameter to specify the offset, which allows you to tell the system where to start getting the results from. The
|
returned, with an optional second parameter to specify the offset, which allows
|
||||||
offset, if not provided as an argument, will default to 0.
|
you to tell the system where to start getting the results from. The offset, if
|
||||||
|
not provided as an argument, will default to 0.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// Return 10 members with an offset of 4 (starting from the 5th result).
|
// Return 10 members with an offset of 4 (starting from the 5th result).
|
||||||
@ -280,27 +314,33 @@ offset, if not provided as an argument, will default to 0.
|
|||||||
|
|
||||||
### Raw SQL options for advanced users
|
### Raw SQL options for advanced users
|
||||||
|
|
||||||
Occasionally, the system described above won't let you do exactly what you need to do. In these situations, we have
|
Occasionally, the system described above won't let you do exactly what you need
|
||||||
methods that manipulate the SQL query at a lower level. When using these, please ensure that all table & field names
|
to do. In these situations, we have methods that manipulate the SQL query at a
|
||||||
are escaped with double quotes, otherwise some DB back-ends (e.g. PostgreSQL) won't work.
|
lower level. When using these, please ensure that all table & field names are
|
||||||
|
escaped with double quotes, otherwise some DB back-ends (e.g. PostgreSQL) won't
|
||||||
|
work.
|
||||||
|
|
||||||
Under the hood, query generation is handled by the `[api:DataQuery]` class. This class does provide more direct
|
Under the hood, query generation is handled by the `[api:DataQuery]` class. This
|
||||||
access to certain SQL features that `DataList` abstracts away from you.
|
class does provide more direct access to certain SQL features that `DataList`
|
||||||
|
abstracts away from you.
|
||||||
|
|
||||||
In general, we advise against using these methods unless it's absolutely necessary. If the ORM doesn't do quite what
|
In general, we advise against using these methods unless it's absolutely
|
||||||
you need it to, you may also consider extending the ORM with new data types or filter modifiers (that documentation
|
necessary. If the ORM doesn't do quite what you need it to, you may also
|
||||||
still needs to be written)
|
consider extending the ORM with new data types or filter modifiers (that
|
||||||
|
documentation still needs to be written)
|
||||||
|
|
||||||
#### Where clauses
|
#### Where clauses
|
||||||
|
|
||||||
You can specify a WHERE clause fragment (that will be combined with other filters using AND) with the `where()` method:
|
You can specify a WHERE clause fragment (that will be combined with other
|
||||||
|
filters using AND) with the `where()` method:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->where("\"FirstName\" = 'Sam'")
|
$members = Member::get()->where("\"FirstName\" = 'Sam'")
|
||||||
|
|
||||||
#### Joining
|
#### Joining
|
||||||
|
|
||||||
You can specify a join with the innerJoin and leftJoin methods. Both of these methods have the same arguments:
|
You can specify a join with the innerJoin and leftJoin methods. Both of these
|
||||||
|
methods have the same arguments:
|
||||||
|
|
||||||
* The name of the table to join to
|
* The name of the table to join to
|
||||||
* The filter clause for the join
|
* The filter clause for the join
|
||||||
@ -310,11 +350,15 @@ For example:
|
|||||||
|
|
||||||
:::php
|
:::php
|
||||||
// Without an alias
|
// Without an alias
|
||||||
$members = Member::get()->leftJoin("Group_Members", "\"Group_Members\".\"MemberID\" = \"Member\".\"ID\"");
|
$members = Member::get()
|
||||||
$members = Member::get()->innerJoin("Group_Members", "\"Rel\".\"MemberID\" = \"Member\".\"ID\"", "REl");
|
->leftJoin("Group_Members", "\"Group_Members\".\"MemberID\" = \"Member\".\"ID\"");
|
||||||
|
|
||||||
Passing a *$join* statement to DataObject::get will filter results further by the JOINs performed against the foreign
|
$members = Member::get()
|
||||||
table. **It will NOT return the additionally joined data.** The returned *$records* will always be a
|
->innerJoin("Group_Members", "\"Rel\".\"MemberID\" = \"Member\".\"ID\"", "Rel");
|
||||||
|
|
||||||
|
Passing a *$join* statement to DataObject::get will filter results further by
|
||||||
|
the JOINs performed against the foreign table. **It will NOT return the
|
||||||
|
additionally joined data.** The returned *$records* will always be a
|
||||||
`[api:DataObject]`.
|
`[api:DataObject]`.
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
@ -340,9 +384,11 @@ See [data-types](data-types) for all available types.
|
|||||||
|
|
||||||
### Overloading
|
### Overloading
|
||||||
|
|
||||||
"Getters" and "Setters" are functions that help us save fields to our data objects. By default, the methods getField()
|
"Getters" and "Setters" are functions that help us save fields to our data
|
||||||
and setField() are used to set data object fields. They save to the protected array, $obj->record. We can overload the
|
objects. By default, the methods getField() and setField() are used to set data
|
||||||
default behaviour by making a function called "get`<fieldname>`" or "set`<fieldname>`".
|
object fields. They save to the protected array, $obj->record. We can overload
|
||||||
|
the default behavior by making a function called "get`<fieldname>`" or
|
||||||
|
"set`<fieldname>`".
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
@ -359,17 +405,22 @@ default behaviour by making a function called "get`<fieldname>`" or "set`<fieldn
|
|||||||
|
|
||||||
### Customizing
|
### Customizing
|
||||||
|
|
||||||
We can create new "virtual properties" which are not actually listed in *static $db* or stored in the database-row.
|
We can create new "virtual properties" which are not actually listed in
|
||||||
Here we combined a Player's first name and surname, accessible through $myPlayer->Title.
|
`private static $db` or stored in the database-row.
|
||||||
|
|
||||||
|
Here we combined a Player's first name and surname, accessible through
|
||||||
|
$myPlayer->Title.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
|
|
||||||
public function getTitle() {
|
public function getTitle() {
|
||||||
return "{$this->FirstName} {$this->Surname}";
|
return "{$this->FirstName} {$this->Surname}";
|
||||||
}
|
}
|
||||||
|
|
||||||
// access through $myPlayer->Title = "John Doe";
|
// access through $myPlayer->Title = "John Doe";
|
||||||
// just saves data on the object, please use $myPlayer->write() to save the database-row
|
// just saves data on the object, please use $myPlayer->write() to save
|
||||||
|
// the database-row
|
||||||
public function setTitle($title) {
|
public function setTitle($title) {
|
||||||
list($firstName, $surName) = explode(' ', $title);
|
list($firstName, $surName) = explode(' ', $title);
|
||||||
$this->FirstName = $firstName;
|
$this->FirstName = $firstName;
|
||||||
@ -378,48 +429,55 @@ Here we combined a Player's first name and surname, accessible through $myPlayer
|
|||||||
}
|
}
|
||||||
|
|
||||||
<div class="warning" markdown='1'>
|
<div class="warning" markdown='1'>
|
||||||
**CAUTION:** It is common practice to make sure that pairs of custom getters/setter deal with the same data, in a consistent
|
**CAUTION:** It is common practice to make sure that pairs of custom
|
||||||
format.
|
getters/setter deal with the same data, in a consistent format.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="warning" markdown='1'>
|
<div class="warning" markdown='1'>
|
||||||
**CAUTION:** Custom setters can be hard to debug: Please double check if you could transform your data in more
|
**CAUTION:** Custom setters can be hard to debug: Please double check if you
|
||||||
straight-forward logic embedded to your custom controller or form-saving.
|
could transform your data in more straight-forward logic embedded to your custom
|
||||||
|
controller or form-saving.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
### Default Values
|
### Default Values
|
||||||
|
|
||||||
Define the default values for all the $db fields. This example sets the "Status"-column on Player to "Active" whenever a
|
Define the default values for all the $db fields. This example sets the
|
||||||
new object is created.
|
"Status"-column on Player to "Active" whenever a new object is created.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $defaults = array(
|
|
||||||
|
private static $defaults = array(
|
||||||
"Status" => 'Active',
|
"Status" => 'Active',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
<div class="notice" markdown='1'>
|
<div class="notice" markdown='1'>
|
||||||
Note: Alternatively you can set defaults directly in the database-schema (rather than the object-model). See
|
Note: Alternatively you can set defaults directly in the database-schema (rather
|
||||||
[data-types](data-types) for details.
|
than the object-model). See [data-types](data-types) for details.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
### Casting
|
### Casting
|
||||||
|
|
||||||
Properties defined in *static $db* are automatically casted to their [data-types](data-types) when used in templates.
|
Properties defined in *static $db* are automatically casted to their
|
||||||
You can also cast the return-values of your custom functions (e.g. your "virtual properties").
|
[data-types](data-types) when used in templates.
|
||||||
Calling those functions directly will still return whatever type your PHP code generates,
|
|
||||||
but using the *obj()*-method or accessing through a template will cast the value according to the $casting-definition.
|
You can also cast the return-values of your custom functions (e.g. your "virtual
|
||||||
|
properties"). Calling those functions directly will still return whatever type
|
||||||
|
your PHP code generates, but using the *obj()*-method or accessing through a
|
||||||
|
template will cast the value according to the $casting-definition.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $casting = array(
|
|
||||||
|
private static $casting = array(
|
||||||
"MembershipFee" => 'Currency',
|
"MembershipFee" => 'Currency',
|
||||||
);
|
);
|
||||||
|
|
||||||
// $myPlayer->MembershipFee() returns a float (e.g. 123.45)
|
// $myPlayer->MembershipFee() returns a float (e.g. 123.45)
|
||||||
// $myPlayer->obj('MembershipFee') returns a object of type Currency
|
// $myPlayer->obj('MembershipFee') returns a object of type Currency
|
||||||
// In a template: <% loop $MyPlayer %>MembershipFee.Nice<% end_loop %> returns a casted string (e.g. "$123.45")
|
// In a template: <% loop $MyPlayer %>MembershipFee.Nice<% end_loop %>
|
||||||
|
// returns a casted string (e.g. "$123.45")
|
||||||
public function getMembershipFee() {
|
public function getMembershipFee() {
|
||||||
return $this->Team()->BaseFee * $this->MembershipYears;
|
return $this->Team()->BaseFee * $this->MembershipYears;
|
||||||
}
|
}
|
||||||
@ -428,86 +486,98 @@ but using the *obj()*-method or accessing through a template will cast the value
|
|||||||
|
|
||||||
## Relations
|
## Relations
|
||||||
|
|
||||||
Relations are built through static array definitions on a class, in the format `<relationship-name> => <classname>`
|
Relations are built through static array definitions on a class, in the format
|
||||||
|
`<relationship-name> => <classname>`.
|
||||||
|
|
||||||
### has_one
|
### has_one
|
||||||
|
|
||||||
A 1-to-1 relation creates a database-column called "`<relationship-name>`ID", in the example below this would be "TeamID"
|
A 1-to-1 relation creates a database-column called "`<relationship-name>`ID", in
|
||||||
on the "Player"-table.
|
the example below this would be "TeamID" on the "Player"-table.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// access with $myPlayer->Team()
|
// access with $myPlayer->Team()
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $has_one = array(
|
|
||||||
|
private static $has_one = array(
|
||||||
"Team" => "Team",
|
"Team" => "Team",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
SilverStripe's `[api:SiteTree]` base-class for content-pages uses a 1-to-1 relationship to link to its
|
SilverStripe's `[api:SiteTree]` base-class for content-pages uses a 1-to-1
|
||||||
parent element in the tree:
|
relationship to link to its parent element in the tree:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// access with $mySiteTree->Parent()
|
// access with $mySiteTree->Parent()
|
||||||
class SiteTree extends DataObject {
|
class SiteTree extends DataObject {
|
||||||
public static $has_one = array(
|
private static $has_one = array(
|
||||||
"Parent" => "SiteTree",
|
"Parent" => "SiteTree",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
### has_many
|
### has_many
|
||||||
|
|
||||||
Defines 1-to-many joins. A database-column named ""`<relationship-name>`ID"" will to be created in the child-class.
|
Defines 1-to-many joins. A database-column named ""`<relationship-name>`ID""
|
||||||
|
will to be created in the child-class.
|
||||||
|
|
||||||
<div class="warning" markdown='1'>
|
<div class="warning" markdown='1'>
|
||||||
**CAUTION:** Please specify a $has_one-relationship on the related child-class as well, in order to have the necessary
|
**CAUTION:** Please specify a $has_one-relationship on the related child-class
|
||||||
accessors available on both ends.
|
as well, in order to have the necessary accessors available on both ends.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// access with $myTeam->Players() or $player->Team()
|
// access with $myTeam->Players() or $player->Team()
|
||||||
class Team extends DataObject {
|
class Team extends DataObject {
|
||||||
public static $has_many = array(
|
|
||||||
|
private static $has_many = array(
|
||||||
"Players" => "Player",
|
"Players" => "Player",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $has_one = array(
|
|
||||||
|
private static $has_one = array(
|
||||||
"Team" => "Team",
|
"Team" => "Team",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
To specify multiple $has_manys to the same object you can use dot notation to distinguish them like below
|
To specify multiple $has_manys to the same object you can use dot notation to
|
||||||
|
distinguish them like below
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Person extends DataObject {
|
class Person extends DataObject {
|
||||||
public static $has_many = array(
|
|
||||||
|
private static $has_many = array(
|
||||||
"Managing" => "Company.Manager",
|
"Managing" => "Company.Manager",
|
||||||
"Cleaning" => "Company.Cleaner",
|
"Cleaning" => "Company.Cleaner",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class Company extends DataObject {
|
class Company extends DataObject {
|
||||||
public static $has_one = array(
|
|
||||||
|
private static $has_one = array(
|
||||||
"Manager" => "Person",
|
"Manager" => "Person",
|
||||||
"Cleaner" => "Person"
|
"Cleaner" => "Person"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Multiple $has_one relationships are okay if they aren't linking to the same object type.
|
Multiple $has_one relationships are okay if they aren't linking to the same
|
||||||
|
object type.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
/**
|
/**
|
||||||
* THIS IS BAD
|
* THIS IS BAD
|
||||||
*/
|
*/
|
||||||
class Team extends DataObject {
|
class Team extends DataObject {
|
||||||
public static $has_many = array(
|
|
||||||
|
private static $has_many = array(
|
||||||
"Players" => "Player",
|
"Players" => "Player",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $has_one = array(
|
private static $has_one = array(
|
||||||
"Team" => "Team",
|
"Team" => "Team",
|
||||||
"AnotherTeam" => "Team",
|
"AnotherTeam" => "Team",
|
||||||
);
|
);
|
||||||
@ -516,22 +586,26 @@ Multiple $has_one relationships are okay if they aren't linking to the same obje
|
|||||||
|
|
||||||
### many_many
|
### many_many
|
||||||
|
|
||||||
Defines many-to-many joins. A new table, (this-class)_(relationship-name), will be created with a pair of ID fields.
|
Defines many-to-many joins. A new table, (this-class)_(relationship-name), will
|
||||||
|
be created with a pair of ID fields.
|
||||||
|
|
||||||
<div class="warning" markdown='1'>
|
<div class="warning" markdown='1'>
|
||||||
**CAUTION:** Please specify a $belongs_many_many-relationship on the related class as well, in order to have the necessary
|
**CAUTION:** Please specify a $belongs_many_many-relationship on the related
|
||||||
accessors available on both ends.
|
class as well, in order to have the necessary accessors available on both ends.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
// access with $myTeam->Categories() or $myCategory->Teams()
|
// access with $myTeam->Categories() or $myCategory->Teams()
|
||||||
class Team extends DataObject {
|
class Team extends DataObject {
|
||||||
public static $many_many = array(
|
|
||||||
|
private static $many_many = array(
|
||||||
"Categories" => "Category",
|
"Categories" => "Category",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class Category extends DataObject {
|
class Category extends DataObject {
|
||||||
public static $belongs_many_many = array(
|
|
||||||
|
private static $belongs_many_many = array(
|
||||||
"Teams" => "Team",
|
"Teams" => "Team",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -539,14 +613,16 @@ accessors available on both ends.
|
|||||||
|
|
||||||
### Adding relations
|
### Adding relations
|
||||||
|
|
||||||
Adding new items to a relations works the same, regardless if you're editing a *has_many*- or a *many_many*.
|
Adding new items to a relations works the same, regardless if you're editing a
|
||||||
They are encapsulated by `[api:HasManyList]` and `[api:ManyManyList]`, both of which provide very similar APIs,
|
*has_many*- or a *many_many*. They are encapsulated by `[api:HasManyList]` and
|
||||||
e.g. an `add()` and `remove()` method.
|
`[api:ManyManyList]`, both of which provide very similar APIs, e.g. an `add()`
|
||||||
|
and `remove()` method.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Team extends DataObject {
|
class Team extends DataObject {
|
||||||
|
|
||||||
// see "many_many"-description for a sample definition of class "Category"
|
// see "many_many"-description for a sample definition of class "Category"
|
||||||
public static $many_many = array(
|
private static $many_many = array(
|
||||||
"Categories" => "Category",
|
"Categories" => "Category",
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -558,14 +634,15 @@ e.g. an `add()` and `remove()` method.
|
|||||||
|
|
||||||
### Custom Relations
|
### Custom Relations
|
||||||
|
|
||||||
You can use the flexible datamodel to get a filtered result-list without writing any SQL. For example, this snippet
|
You can use the flexible datamodel to get a filtered result-list without writing
|
||||||
gets you the "Players"-relation on a team, but only containing active players.
|
any SQL. For example, this snippet gets you the "Players"-relation on a team,
|
||||||
|
but only containing active players.
|
||||||
|
|
||||||
See `[api:DataObject::$has_many]` for more info on the described relations.
|
See `[api:DataObject::$has_many]` for more info on the described relations.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Team extends DataObject {
|
class Team extends DataObject {
|
||||||
public static $has_many = array(
|
private static $has_many = array(
|
||||||
"Players" => "Player"
|
"Players" => "Player"
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -575,39 +652,45 @@ See `[api:DataObject::$has_many]` for more info on the described relations.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Note: Adding new records to a filtered `RelationList` like in the example above doesn't automatically set the
|
Note: Adding new records to a filtered `RelationList` like in the example above
|
||||||
filtered criteria on the added record.
|
doesn't automatically set the filtered criteria on the added record.
|
||||||
|
|
||||||
### Relations on Unsaved Objects
|
### Relations on Unsaved Objects
|
||||||
|
|
||||||
You can also set *has_many* and *many_many* relations before the `DataObject` is saved. This behaviour uses the
|
You can also set *has_many* and *many_many* relations before the `DataObject` is
|
||||||
`[api:UnsavedRelationList]` and converts it into the correct `RelationList` when saving the `DataObject` for the
|
saved. This behaviour uses the `[api:UnsavedRelationList]` and converts it into
|
||||||
first time.
|
the correct `RelationList` when saving the `DataObject` for the first time.
|
||||||
|
|
||||||
This unsaved lists will also recursively save any unsaved objects that they contain.
|
This unsaved lists will also recursively save any unsaved objects that they
|
||||||
|
contain.
|
||||||
|
|
||||||
As these lists are not backed by the database, most of the filtering methods on `DataList` cannot be used on a
|
As these lists are not backed by the database, most of the filtering methods on
|
||||||
list of this type. As such, an `UnsavedRelationList` should only be used for setting a relation before saving an
|
`DataList` cannot be used on a list of this type. As such, an
|
||||||
object, not for displaying the objects contained in the relation.
|
`UnsavedRelationList` should only be used for setting a relation before saving
|
||||||
|
an object, not for displaying the objects contained in the relation.
|
||||||
|
|
||||||
## Validation and Constraints
|
## Validation and Constraints
|
||||||
|
|
||||||
Traditionally, validation in SilverStripe has been mostly handled on the controller
|
Traditionally, validation in SilverStripe has been mostly handled on the
|
||||||
through [form validation](/topics/form-validation).
|
controller through [form validation](/topics/form-validation).
|
||||||
|
|
||||||
While this is a useful approach, it can lead to data inconsistencies if the
|
While this is a useful approach, it can lead to data inconsistencies if the
|
||||||
record is modified outside of the controller and form context.
|
record is modified outside of the controller and form context.
|
||||||
Most validation constraints are actually data constraints which belong on the model.
|
|
||||||
SilverStripe provides the `[api:DataObject->validate()]` method for this purpose.
|
Most validation constraints are actually data constraints which belong on the
|
||||||
|
model. SilverStripe provides the `[api:DataObject->validate()]` method for this
|
||||||
|
purpose.
|
||||||
|
|
||||||
By default, there is no validation - objects are always valid!
|
By default, there is no validation - objects are always valid!
|
||||||
However, you can overload this method in your
|
However, you can overload this method in your
|
||||||
DataObject sub-classes to specify custom validation,
|
DataObject sub-classes to specify custom validation,
|
||||||
or use the hook through `[api:DataExtension]`.
|
or use the hook through `[api:DataExtension]`.
|
||||||
|
|
||||||
Invalid objects won't be able to be written - a [api:ValidationException]`
|
Invalid objects won't be able to be written - a [api:ValidationException]` will
|
||||||
will be thrown and no write will occur.
|
be thrown and no write will occur.
|
||||||
It is expected that you call validate() in your own application to test that an object
|
|
||||||
is valid before attempting a write, and respond appropriately if it isn't.
|
It is expected that you call validate() in your own application to test that an
|
||||||
|
object is valid before attempting a write, and respond appropriately if it isn't.
|
||||||
|
|
||||||
The return value of `validate()` is a `[api:ValidationResult]` object.
|
The return value of `validate()` is a `[api:ValidationResult]` object.
|
||||||
You can append your own errors in there.
|
You can append your own errors in there.
|
||||||
@ -616,6 +699,7 @@ Example: Validate postcodes based on the selected country
|
|||||||
|
|
||||||
:::php
|
:::php
|
||||||
class MyObject extends DataObject {
|
class MyObject extends DataObject {
|
||||||
|
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'Country' => 'Varchar',
|
'Country' => 'Varchar',
|
||||||
'Postcode' => 'Varchar'
|
'Postcode' => 'Varchar'
|
||||||
@ -632,21 +716,23 @@ Example: Validate postcodes based on the selected country
|
|||||||
|
|
||||||
## Maps
|
## Maps
|
||||||
|
|
||||||
A map is an array where the array indexes contain data as well as the values. You can build a map
|
A map is an array where the array indexes contain data as well as the values.
|
||||||
from any DataList like this:
|
You can build a map from any DataList like this:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->map('ID', 'FirstName');
|
$members = Member::get()->map('ID', 'FirstName');
|
||||||
|
|
||||||
This will return a map where the keys are Member IDs, and the values are the corresponding FirstName
|
This will return a map where the keys are Member IDs, and the values are the
|
||||||
values. Like everything else in the ORM, these maps are lazy loaded, so the following code will only
|
corresponding FirstName values. Like everything else in the ORM, these maps are
|
||||||
query a single record from the database:
|
lazy loaded, so the following code will only query a single record from the
|
||||||
|
database:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get()->map('ID', 'FirstName');
|
$members = Member::get()->map('ID', 'FirstName');
|
||||||
echo $member[5];
|
echo $member[5];
|
||||||
|
|
||||||
This functionality is provided by the `SS_Map` class, which can be used to build a map around any `SS_List`.
|
This functionality is provided by the `SS_Map` class, which can be used to build
|
||||||
|
a map around any `SS_List`.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$members = Member::get();
|
$members = Member::get();
|
||||||
@ -657,8 +743,9 @@ through `[api:SS_List->column()]`.
|
|||||||
|
|
||||||
## Data Handling
|
## Data Handling
|
||||||
|
|
||||||
When saving data through the object model, you don't have to manually escape strings to create SQL-safe commands.
|
When saving data through the object model, you don't have to manually escape
|
||||||
You have to make sure though that certain properties are not overwritten, e.g. *ID* or *ClassName*.
|
strings to create SQL-safe commands. You have to make sure though that certain
|
||||||
|
properties are not overwritten, e.g. *ID* or *ClassName*.
|
||||||
|
|
||||||
### Creation
|
### Creation
|
||||||
|
|
||||||
@ -689,8 +776,9 @@ You have to make sure though that certain properties are not overwritten, e.g. *
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
Alternatively you can use *castedUpdate()* to respect the [data-types](/topics/data-types). This is preferred to manually
|
Alternatively you can use *castedUpdate()* to respect the
|
||||||
casting data before saving.
|
[data-types](/topics/data-types). This is preferred to manually casting data
|
||||||
|
before saving.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$myPlayer->castedUpdate(
|
$myPlayer->castedUpdate(
|
||||||
@ -703,20 +791,24 @@ casting data before saving.
|
|||||||
|
|
||||||
### onBeforeWrite
|
### onBeforeWrite
|
||||||
|
|
||||||
You can customize saving-behaviour for each DataObject, e.g. for adding workflow or data customization. The function is
|
You can customize saving-behaviour for each DataObject, e.g. for adding workflow
|
||||||
triggered when calling *write()* to save the object to the database. This includes saving a page in the CMS or altering
|
or data customization. The function is triggered when calling *write()* to save
|
||||||
a ModelAdmin record.
|
the object to the database. This includes saving a page in the CMS or altering a
|
||||||
|
ModelAdmin record.
|
||||||
|
|
||||||
Example: Disallow creation of new players if the currently logged-in player is not a team-manager.
|
Example: Disallow creation of new players if the currently logged-in player is
|
||||||
|
not a team-manager.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $has_many = array(
|
|
||||||
|
private static $has_many = array(
|
||||||
"Teams"=>"Team"
|
"Teams"=>"Team"
|
||||||
);
|
);
|
||||||
|
|
||||||
public function onBeforeWrite() {
|
public function onBeforeWrite() {
|
||||||
// check on first write action, aka "database row creation" (ID-property is not set)
|
// check on first write action, aka "database row creation"
|
||||||
|
// (ID-property is not set)
|
||||||
if(!$this->ID) {
|
if(!$this->ID) {
|
||||||
$currentPlayer = Member::currentUser();
|
$currentPlayer = Member::currentUser();
|
||||||
if(!$currentPlayer->IsTeamManager()) {
|
if(!$currentPlayer->IsTeamManager()) {
|
||||||
@ -727,31 +819,34 @@ Example: Disallow creation of new players if the currently logged-in player is n
|
|||||||
|
|
||||||
// check on every write action
|
// check on every write action
|
||||||
if(!$this->record['TeamID']) {
|
if(!$this->record['TeamID']) {
|
||||||
user_error('Cannot save player without a valid team-connection', E_USER_ERROR);
|
user_error('Cannot save player without a valid team', E_USER_ERROR);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// CAUTION: You are required to call the parent-function, otherwise SilverStripe will not execute the request.
|
// CAUTION: You are required to call the parent-function, otherwise
|
||||||
|
// SilverStripe will not execute the request.
|
||||||
parent::onBeforeWrite();
|
parent::onBeforeWrite();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
<div class="notice" markdown='1'>
|
<div class="notice" markdown='1'>
|
||||||
Note: There are no separate methods for *onBeforeCreate* and *onBeforeUpdate*. Please check for the existence of
|
Note: There are no separate methods for *onBeforeCreate* and *onBeforeUpdate*.
|
||||||
$this->ID to toggle these two modes, as shown in the example above.
|
Please check for the existence of $this->ID to toggle these two modes, as shown
|
||||||
|
in the example above.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
### onBeforeDelete
|
### onBeforeDelete
|
||||||
|
|
||||||
Triggered before executing *delete()* on an existing object.
|
Triggered before executing *delete()* on an existing object.
|
||||||
|
|
||||||
Example: Checking for a specific [permission](/reference/permission) to delete this type of object.
|
Example: Checking for a specific [permission](/reference/permission) to delete
|
||||||
It checks if a member is logged in who belongs to a group containing the permission "PLAYER_DELETE".
|
this type of object. It checks if a member is logged in who belongs to a group
|
||||||
|
containing the permission "PLAYER_DELETE".
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Player extends DataObject {
|
class Player extends DataObject {
|
||||||
public static $has_many = array(
|
private static $has_many = array(
|
||||||
"Teams"=>"Team"
|
"Teams"=>"Team"
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -771,20 +866,25 @@ See [forms](/topics/forms).
|
|||||||
|
|
||||||
### Saving data with custom SQL
|
### Saving data with custom SQL
|
||||||
|
|
||||||
See the ["sql queries" topic](/reference/sqlquery) for custom *INSERT*, *UPDATE*, *DELETE* queries.
|
See the ["sql queries" topic](/reference/sqlquery) for custom *INSERT*,
|
||||||
|
*UPDATE*, *DELETE* queries.
|
||||||
|
|
||||||
## Extending DataObjects
|
## Extending DataObjects
|
||||||
|
|
||||||
You can add properties and methods to existing `[api:DataObjects]`s like `[api:Member]` (a core class) without
|
You can add properties and methods to existing `[api:DataObjects]`s like
|
||||||
hacking core code or subclassing. See `[api:DataExtension]` for a general description, and `[api:Hierarchy]` for
|
`[api:Member]` (a core class) without hacking core code or subclassing. See
|
||||||
the most popular examples.
|
`[api:DataExtension]` for a general description, and `[api:Hierarchy]` for the
|
||||||
|
most popular examples.
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
### What's the difference between DataObject::get() and a relation-getter?
|
### What's the difference between DataObject::get() and a relation-getter?
|
||||||
|
|
||||||
You can work with both in pretty much the same way, but relationship-getters return a special type of collection:
|
You can work with both in pretty much the same way, but relationship-getters
|
||||||
A `[api:HasManyList]` or a `[api:ManyManyList]` with relation-specific functionality.
|
return a special type of collection:
|
||||||
|
|
||||||
|
A `[api:HasManyList]` or a `[api:ManyManyList]` with relation-specific
|
||||||
|
functionality.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$myTeams = $myPlayer->Team(); // returns HasManyList
|
$myTeams = $myPlayer->Team(); // returns HasManyList
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
# Forms
|
# Forms
|
||||||
|
|
||||||
HTML forms are in practice the most used way to communicate with a browser. SilverStripe provides classes to generate
|
HTML forms are in practice the most used way to communicate with a browser.
|
||||||
and handle the actions and data from a form.
|
SilverStripe provides classes to generate and handle the actions and data from a
|
||||||
|
form.
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
A fully implemented form in SilverStripe includes a couple of classes that individually have separate concerns.
|
A fully implemented form in SilverStripe includes a couple of classes that
|
||||||
|
individually have separate concerns.
|
||||||
|
|
||||||
* Controller - Takes care of assembling the form and receiving data from it.
|
* Controller - Takes care of assembling the form and receiving data from it.
|
||||||
* Form - Holds sets of fields, actions and validators.
|
* Form - Holds sets of fields, actions and validators.
|
||||||
@ -13,19 +15,22 @@ A fully implemented form in SilverStripe includes a couple of classes that indiv
|
|||||||
* FormActions - Often submit buttons that executes actions.
|
* FormActions - Often submit buttons that executes actions.
|
||||||
* Validators - Validate the whole form, see [Form validation](form-validation.md) topic for more information.
|
* Validators - Validate the whole form, see [Form validation](form-validation.md) topic for more information.
|
||||||
|
|
||||||
Depending on your needs you can customize and override any of the above classes, however the defaults are often
|
Depending on your needs you can customize and override any of the above classes,
|
||||||
sufficient.
|
however the defaults are often sufficient.
|
||||||
|
|
||||||
## The Controller
|
## The Controller
|
||||||
|
|
||||||
Forms start at the controller. Here is a simple example on how to set up a form in a controller.
|
Forms start at the controller. Here is a simple example on how to set up a form
|
||||||
|
in a controller.
|
||||||
|
|
||||||
**Page.php**
|
**Page.php**
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Page_Controller extends ContentController {
|
class Page_Controller extends ContentController {
|
||||||
|
|
||||||
public static $allowed_actions = array('HelloForm');
|
private static $allowed_actions = array(
|
||||||
|
'HelloForm'
|
||||||
|
);
|
||||||
|
|
||||||
// Template method
|
// Template method
|
||||||
public function HelloForm() {
|
public function HelloForm() {
|
||||||
@ -45,18 +50,20 @@ Forms start at the controller. Here is a simple example on how to set up a form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
The name of the form ("HelloForm") is passed into the `Form`
|
The name of the form ("HelloForm") is passed into the `Form` constructor as a
|
||||||
constructor as a second argument. It needs to match the method name.
|
second argument. It needs to match the method name.
|
||||||
|
|
||||||
Since forms need a URL, the `HelloForm()` method needs to be handled
|
Since forms need a URL, the `HelloForm()` method needs to be handled like any
|
||||||
like any other controller action. In order to whitelist its access through
|
other controller action. In order to whitelist its access through URLs, we add
|
||||||
URLs, we add it to the `$allowed_actions` array.
|
it to the `$allowed_actions` array.
|
||||||
Form actions ("doSayHello") on the other hand should NOT be included here,
|
|
||||||
these are handled separately through `Form->httpSubmission()`.
|
Form actions ("doSayHello") on the other hand should NOT be included here, these
|
||||||
You can control access on form actions either by conditionally removing
|
are handled separately through `Form->httpSubmission()`.
|
||||||
a `FormAction` from the form construction,
|
|
||||||
or by defining `$allowed_actions` in your own `Form` class
|
You can control access on form actions either by conditionally removing a
|
||||||
(more information in the ["controllers" topic](/topics/controllers)).
|
`FormAction` from the form construction, or by defining `$allowed_actions` in
|
||||||
|
your own `Form` class (more information in the
|
||||||
|
["controllers" topic](/topics/controllers)).
|
||||||
|
|
||||||
**Page.ss**
|
**Page.ss**
|
||||||
|
|
||||||
@ -65,8 +72,8 @@ or by defining `$allowed_actions` in your own `Form` class
|
|||||||
<div>$HelloForm</div>
|
<div>$HelloForm</div>
|
||||||
|
|
||||||
<div class="warning" markdown='1'>
|
<div class="warning" markdown='1'>
|
||||||
Be sure to add the Form name 'HelloForm' to the Controller::$allowed_actions() to be sure that form submissions
|
Be sure to add the Form name 'HelloForm' to the Controller::$allowed_actions()
|
||||||
get through to the correct action.
|
to be sure that form submissions get through to the correct action.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="notice" markdown='1'>
|
<div class="notice" markdown='1'>
|
||||||
@ -78,13 +85,15 @@ documentation or the API documentation for `[api:Object]`::create().
|
|||||||
|
|
||||||
## The Form
|
## The Form
|
||||||
|
|
||||||
Form is the base class of all forms in a SilverStripe application. Forms in your application can be created either by
|
Form is the base class of all forms in a SilverStripe application. Forms in your
|
||||||
instantiating the Form class itself, or by subclassing it.
|
application can be created either by instantiating the Form class itself, or by
|
||||||
|
subclassing it.
|
||||||
|
|
||||||
### Instantiating a form
|
### Instantiating a form
|
||||||
|
|
||||||
Creating a form is a matter of defining a method to represent that form. This method should return a form object. The
|
Creating a form is a matter of defining a method to represent that form. This
|
||||||
constructor takes the following arguments:
|
method should return a form object. The constructor takes the following
|
||||||
|
arguments:
|
||||||
|
|
||||||
* `$controller`: This must be and instance of the controller that contains the form, often `$this`.
|
* `$controller`: This must be and instance of the controller that contains the form, often `$this`.
|
||||||
* `$name`: This must be the name of the method on that controller that is called to return the form. The first two
|
* `$name`: This must be the name of the method on that controller that is called to return the form. The first two
|
||||||
@ -141,7 +150,7 @@ data.
|
|||||||
:::php
|
:::php
|
||||||
class Page_Controller extends ContentController {
|
class Page_Controller extends ContentController {
|
||||||
|
|
||||||
public static $allowed_actions = array(
|
private static $allowed_actions = array(
|
||||||
'HelloForm',
|
'HelloForm',
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -161,6 +170,7 @@ data.
|
|||||||
EmailField::create("Email"),
|
EmailField::create("Email"),
|
||||||
PasswordField::create("Password")
|
PasswordField::create("Password")
|
||||||
);
|
);
|
||||||
|
|
||||||
$actions = new FieldList(FormAction::create("login")->setTitle("Log in"));
|
$actions = new FieldList(FormAction::create("login")->setTitle("Log in"));
|
||||||
|
|
||||||
parent::__construct($controller, $name, $fields, $actions);
|
parent::__construct($controller, $name, $fields, $actions);
|
||||||
@ -180,8 +190,9 @@ There are many classes extending `[api:FormField]`. There is a full overview at
|
|||||||
|
|
||||||
### Using Form Fields
|
### Using Form Fields
|
||||||
|
|
||||||
To get these fields automatically rendered into a form element, all you need to do is create a new instance of the
|
To get these fields automatically rendered into a form element, all you need to
|
||||||
class, and add it to the fieldlist of the form.
|
do is create a new instance of the class, and add it to the `FieldList` of the
|
||||||
|
form.
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
$form = new Form(
|
$form = new Form(
|
||||||
@ -202,8 +213,9 @@ class, and add it to the fieldlist of the form.
|
|||||||
|
|
||||||
## Readonly
|
## Readonly
|
||||||
|
|
||||||
You can turn a form or individual fields into a readonly version. This is handy in the case of confirmation pages or
|
You can turn a form or individual fields into a readonly version. This is handy
|
||||||
when certain fields can be edited due to permissions.
|
in the case of confirmation pages or when certain fields can be edited due to
|
||||||
|
permissions.
|
||||||
|
|
||||||
Readonly on a Form
|
Readonly on a Form
|
||||||
|
|
||||||
@ -242,6 +254,7 @@ First of all, you need to create your form on it's own class, that way you can d
|
|||||||
EmailField::create("Email"),
|
EmailField::create("Email"),
|
||||||
PasswordField::create("Password")
|
PasswordField::create("Password")
|
||||||
);
|
);
|
||||||
|
|
||||||
$actions = new FieldList(FormAction::create("login")->setTitle("Log in"));
|
$actions = new FieldList(FormAction::create("login")->setTitle("Log in"));
|
||||||
parent::__construct($controller, $name, $fields, $actions);
|
parent::__construct($controller, $name, $fields, $actions);
|
||||||
}
|
}
|
||||||
@ -256,11 +269,12 @@ First of all, you need to create your form on it's own class, that way you can d
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
`MyForm->forTemplate()` tells the `[api:Form]` class to render with a template of return value of `$this->class`, which in this case
|
`MyForm->forTemplate()` tells the `[api:Form]` class to render with a template
|
||||||
is *MyForm*. If the template doesn't exist, then it falls back to using Form.ss.
|
of return value of `$this->class`, which in this case is *MyForm*. If the
|
||||||
|
template doesn't exist, then it falls back to using Form.ss.
|
||||||
|
|
||||||
*MyForm.ss* should then be placed into your *templates/Includes* directory for your project. Here is an example of
|
*MyForm.ss* should then be placed into your *templates/Includes* directory for
|
||||||
basic customisation:
|
your project. Here is an example of basic customization:
|
||||||
|
|
||||||
:::ss
|
:::ss
|
||||||
<form $FormAttributes>
|
<form $FormAttributes>
|
||||||
@ -314,17 +328,20 @@ Will be rendered as:
|
|||||||
:::html
|
:::html
|
||||||
<input type="text" name="MyText" class="text largeText" id="MyForm_MyCustomForm_MyText" data-validation-regex="[\d]*">
|
<input type="text" name="MyText" class="text largeText" id="MyForm_MyCustomForm_MyText" data-validation-regex="[\d]*">
|
||||||
|
|
||||||
Each form field is rendered into a form via the `[FormField->FieldHolder()](api:FormField)` method, which includes
|
Each form field is rendered into a form via the
|
||||||
a container `<div>` as well as a `<label>` element (if applicable).
|
`[FormField->FieldHolder()](api:FormField)` method, which includes a container
|
||||||
|
`<div>` as well as a `<label>` element (if applicable).
|
||||||
|
|
||||||
You can also render each field without these structural elements through the `[FormField->Field()](api:FormField)`
|
You can also render each field without these structural elements through the
|
||||||
method. In order to influence the form rendering, overloading these two methods is a good start.
|
`[FormField->Field()](api:FormField)` method. In order to influence the form
|
||||||
|
rendering, overloading these two methods is a good start.
|
||||||
|
|
||||||
In addition, most form fields are rendered through SilverStripe templates, e.g. `TextareaField` is rendered via
|
In addition, most form fields are rendered through SilverStripe templates, e.g.
|
||||||
`framework/templates/forms/TextareaField.ss`.
|
`TextareaField` is rendered via `framework/templates/forms/TextareaField.ss`.
|
||||||
|
|
||||||
These templates can be overwritten globally by placing a template with the same name in your `mysite` directory,
|
These templates can be overwritten globally by placing a template with the same
|
||||||
or set on a form field instance via anyone of these methods:
|
name in your `mysite` directory, or set on a form field instance via anyone of
|
||||||
|
these methods:
|
||||||
|
|
||||||
- FormField->setTemplate()
|
- FormField->setTemplate()
|
||||||
- FormField->setFieldHolderTemplate()
|
- FormField->setFieldHolderTemplate()
|
||||||
@ -336,8 +353,9 @@ or set on a form field instance via anyone of these methods:
|
|||||||
|
|
||||||
### Securing forms against Cross-Site Request Forgery (CSRF)
|
### Securing forms against Cross-Site Request Forgery (CSRF)
|
||||||
|
|
||||||
SilverStripe tries to protect users against *Cross-Site Request Forgery (CSRF)* by adding a hidden *SecurityID*
|
SilverStripe tries to protect users against *Cross-Site Request Forgery (CSRF)*
|
||||||
parameter to each form. See [secure-development](/topics/security) for details.
|
by adding a hidden *SecurityID* parameter to each form. See
|
||||||
|
[secure-development](/topics/security) for details.
|
||||||
|
|
||||||
In addition, you should limit forms to the intended HTTP verb (mostly `GET` or `POST`)
|
In addition, you should limit forms to the intended HTTP verb (mostly `GET` or `POST`)
|
||||||
to further reduce attack surface, by using `[api:Form->setStrictFormMethodCheck()]`.
|
to further reduce attack surface, by using `[api:Form->setStrictFormMethodCheck()]`.
|
||||||
@ -353,6 +371,7 @@ If you want to remove certain fields from your subclass:
|
|||||||
|
|
||||||
:::php
|
:::php
|
||||||
class MyCustomForm extends MyForm {
|
class MyCustomForm extends MyForm {
|
||||||
|
|
||||||
public function __construct($controller, $name) {
|
public function __construct($controller, $name) {
|
||||||
parent::__construct($controller, $name);
|
parent::__construct($controller, $name);
|
||||||
|
|
||||||
|
@ -2,24 +2,34 @@
|
|||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
Creating a module is a good way to re-use abstract code and templates across multiple projects. SilverStripe already has
|
Creating a module is a good way to re-use abstract code and templates across
|
||||||
certain modules included, for example "framework" and "cms". These two modules are the core functionality and
|
multiple projects. SilverStripe already has certain modules included, for
|
||||||
templating for any initial installation. If you're wanting to add generic functionality that isn't specific to your
|
example "framework" and "cms". These two modules are the core functionality and
|
||||||
|
templates for any initial installation.
|
||||||
|
|
||||||
|
If you want to add generic functionality that isn't specific to your
|
||||||
project, like a forum, an ecommerce package or a blog you can do it like this;
|
project, like a forum, an ecommerce package or a blog you can do it like this;
|
||||||
|
|
||||||
1. Create another directory at the root level (same level as "framework" and "cms")
|
1. Create another directory at the root level (same level as "framework" and
|
||||||
2. You must create an `_config/` directory inside your module directory, else SilverStripe will not include it
|
"cms")
|
||||||
|
2. You must create a _config.php inside your module directory, or else
|
||||||
|
SilverStripe will not include it
|
||||||
3. Inside your module directory, follow our [directory structure guidelines](/topics/directory-structure#module_structure)
|
3. Inside your module directory, follow our [directory structure guidelines](/topics/directory-structure#module_structure)
|
||||||
|
|
||||||
|
As long as your module has a `_config.php` file inside it, SilverStripe will
|
||||||
|
automatically include any PHP classes from that module.
|
||||||
|
|
||||||
## Tips
|
## Tips
|
||||||
|
|
||||||
Try and keep your module as generic as possible - for example if you're making a forum module, your members section
|
Try to keep your module as generic as possible - for example if you're making a
|
||||||
shouldn't contain fields like 'Games You Play' or 'Your LiveJournal Name' - if people want to add these fields they can
|
forum module, your members section shouldn't contain fields like 'Games You
|
||||||
|
Play' or 'Your LiveJournal Name' - if people want to add these fields they can
|
||||||
sub-class your class, or extend the fields on to it.
|
sub-class your class, or extend the fields on to it.
|
||||||
|
|
||||||
If you're using Requirements to include generic support files for your project like CSS or Javascript, and want to
|
If you're using [api:Requirements] to include generic support files for your project
|
||||||
override these files to be more specific in your project, the following code is an example of how to do so using the
|
like CSS or Javascript, and want to override these files to be more specific in
|
||||||
init() function on your module controller classes:
|
your project, the following code is an example of how to do so using the init()
|
||||||
|
function on your module controller classes:
|
||||||
|
|
||||||
:::php
|
:::php
|
||||||
class Forum_Controller extends Page_Controller {
|
class Forum_Controller extends Page_Controller {
|
||||||
@ -36,22 +46,148 @@ init() function on your module controller classes:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
This will use `<projectname>/css/forum.css` if it exists, otherwise it falls back to using `forum/css/forum.css`.
|
This will use `<projectname>/css/forum.css` if it exists, otherwise it falls
|
||||||
|
back to using `forum/css/forum.css`.
|
||||||
|
|
||||||
|
## Conventions
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
SilverStripe has a comprehensive [Configuration](/topics/configuration) system
|
||||||
|
built on YAML which allows developers to set configuration values in core
|
||||||
|
classes.
|
||||||
|
|
||||||
|
If your module allows developers to customize specific values (for example API
|
||||||
|
key values) use the existing configuration system for your data.
|
||||||
|
|
||||||
|
:::php
|
||||||
|
// use this in your module code
|
||||||
|
$varible = Config::inst()->get('ModuleName', 'SomeValue');
|
||||||
|
|
||||||
|
Then developers can set that value in their own configuration file. As a module
|
||||||
|
author, you can set the default configuration values.
|
||||||
|
|
||||||
|
// yourmodule/_config/module.yml
|
||||||
|
---
|
||||||
|
Name: modulename
|
||||||
|
---
|
||||||
|
ModuleName:
|
||||||
|
SomeValue: 10
|
||||||
|
|
||||||
|
But by using the Config system, developers can alter the value for their
|
||||||
|
application without editing your code.
|
||||||
|
|
||||||
|
// mysite/_config/module_customizations.yml
|
||||||
|
---
|
||||||
|
Name: modulecustomizations
|
||||||
|
After: "#modulename"
|
||||||
|
---
|
||||||
|
ModuleName:
|
||||||
|
SomeValue: 10
|
||||||
|
|
||||||
|
If you want to make the configuration value user editable in the backend CMS,
|
||||||
|
provide an extension to [SiteConfig](/reference/siteconfig).
|
||||||
|
|
||||||
## Publication
|
## Publication
|
||||||
|
|
||||||
If you wish to submit your module to our public directory, you take responsibility for a certain level of code quality,
|
If you wish to submit your module to our public directory, you take
|
||||||
adherence to conventions, writing documentation, and releasing updates. See [contributing](/misc/contributing).
|
responsibility for a certain level of code quality, adherence to conventions,
|
||||||
|
writing documentation, and releasing updates. See
|
||||||
|
[contributing](/misc/contributing).
|
||||||
|
|
||||||
|
### Composer and Packagist
|
||||||
|
|
||||||
|
SilverStripe uses [Composer](/installation/composer/) to manage module releases
|
||||||
|
and dependencies between modules. If you plan on releasing your module to the
|
||||||
|
public, ensure that you provide a `composer.json` file in the root of your
|
||||||
|
module containing the meta-data about your module.
|
||||||
|
|
||||||
|
For more information about what your `composer.json` file should include,
|
||||||
|
consult the [Composer Documentation](http://getcomposer.org/doc/01-basic-usage.md).
|
||||||
|
|
||||||
|
A basic usage of a module for 3.1 that requires the CMS would look similar to
|
||||||
|
this:
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "yourname/silverstripe-modulename",
|
||||||
|
"description": "..",
|
||||||
|
"type": "silverstripe-module",
|
||||||
|
"keywords": ["silverstripe", ".."],
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
|
"authors": [{
|
||||||
|
"name": "Your Name",
|
||||||
|
"email": "Your Email"
|
||||||
|
}],
|
||||||
|
"require": {
|
||||||
|
"silverstripe/framework": ">=3.1.x-dev,<4.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Once your module is released, submit it to [Packagist](https://packagist.org/)
|
||||||
|
to have the module accessible to developers.
|
||||||
|
|
||||||
|
### Versioning
|
||||||
|
|
||||||
|
Over time you may have to release new versions of your module to continue to
|
||||||
|
work with newer versions of SilverStripe. By using composer, this is made easy
|
||||||
|
for developers by allowing them to specify what version they want to use. Each
|
||||||
|
version of your module should be a separate branch in your version control and
|
||||||
|
each branch should have a `composer.json` file explicitly defining what versions
|
||||||
|
of SilverStripe you support.
|
||||||
|
|
||||||
|
<div class="notice" markdown='1'>
|
||||||
|
The convention to follow for support is the `master` or `trunk` branch of your
|
||||||
|
code should always be the one to work with the `master` branch of SilverStripe.
|
||||||
|
Other branches should be created as needed for other SilverStripe versions you
|
||||||
|
want to support.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
For example, if you release a module for 3.0 which works well but doesn't work
|
||||||
|
in 3.1.0 you should provide a separate `branch` of the module for 3.0 support.
|
||||||
|
|
||||||
|
// for module that supports 3.0.1. (git branch 1.0)
|
||||||
|
"require": {
|
||||||
|
"silverstripe/framework": "3.0.*",
|
||||||
|
}
|
||||||
|
|
||||||
|
// for branch of the module that only supports 3.1 (git branch master)
|
||||||
|
"require": {
|
||||||
|
"silverstripe/framework": ">=3.1.*",
|
||||||
|
}
|
||||||
|
|
||||||
|
You can have an overlap in supported versions (e.g two branches for 3.1) but you
|
||||||
|
should explain the differences in your `README.md` file.
|
||||||
|
|
||||||
|
If you want to change the minimum supported version of your module, make sure
|
||||||
|
you create a new branch which continues to support the minimum version as it
|
||||||
|
stands before you update the main branch.
|
||||||
|
|
||||||
|
|
||||||
## Reference
|
## Reference
|
||||||
|
|
||||||
**How To:**
|
### How To:
|
||||||
|
|
||||||
* [Add a link to your module in the main SilverStripe Admin Menu](/reference/leftandmain)
|
* [How to customize the CMS Menu](/howto/customize-cms-menu)
|
||||||
|
* [How to extend the CMS interface](/howto/extend-cms-interface)
|
||||||
|
|
||||||
**Useful Links:**
|
### Reference:
|
||||||
|
|
||||||
|
Provide custom functionality for the developer via:
|
||||||
|
|
||||||
|
* [DataExtension](/reference/dataextension)
|
||||||
|
* [SiteConfig](/reference/siteconfig)
|
||||||
|
* [Page types](/topics/page-types)
|
||||||
|
|
||||||
|
Follow SilverStripe best practice:
|
||||||
|
|
||||||
|
* [Partial Caching](/reference/partial-caching)
|
||||||
|
* [Injector](/reference/injector)
|
||||||
|
|
||||||
|
## Useful Links
|
||||||
|
|
||||||
|
* [Introduction to Composer](http://getcomposer.org/doc/00-intro.md)
|
||||||
* [Modules](modules)
|
* [Modules](modules)
|
||||||
* [Module Release Process](module-release-process)
|
* [Directory structure guidelines](/topics/directory-structure#module_structure)
|
||||||
* [Debugging methods](/topics/debugging)
|
* [Debugging methods](/topics/debugging)
|
||||||
* [URL Variable Tools](/reference/urlvariabletools) - Lists a number of page options, rendering tools or special URL variables that you can use to debug your SilverStripe applications
|
* [URL Variable Tools](/reference/urlvariabletools) - Lists a number of page options, rendering tools or special URL variables that you can use to debug your SilverStripe applications
|
||||||
|
@ -106,4 +106,3 @@ and comes with the same caveats.
|
|||||||
## Related
|
## Related
|
||||||
|
|
||||||
* [Modules Development](/topics/module-developement)
|
* [Modules Development](/topics/module-developement)
|
||||||
* [Module Release Process](/misc/module-release-process)
|
|
@ -466,7 +466,9 @@ class File extends DataObject {
|
|||||||
parent::onBeforeWrite();
|
parent::onBeforeWrite();
|
||||||
|
|
||||||
// Set default owner
|
// Set default owner
|
||||||
if(!$this->ID) $this->OwnerID = (Member::currentUser() ? Member::currentUser()->ID : 0);
|
if(!$this->ID && !$this->OwnerID) {
|
||||||
|
$this->OwnerID = (Member::currentUser() ? Member::currentUser()->ID : 0);
|
||||||
|
}
|
||||||
|
|
||||||
// Set default name
|
// Set default name
|
||||||
if(!$this->getField('Name')) $this->Name = "new-" . strtolower($this->class);
|
if(!$this->getField('Name')) $this->Name = "new-" . strtolower($this->class);
|
||||||
@ -875,14 +877,11 @@ class File extends DataObject {
|
|||||||
if(!in_array(strtolower($extension), $allowed)) {
|
if(!in_array(strtolower($extension), $allowed)) {
|
||||||
$exts = $allowed;
|
$exts = $allowed;
|
||||||
sort($exts);
|
sort($exts);
|
||||||
$message = sprintf(
|
$message = _t(
|
||||||
_t(
|
|
||||||
'File.INVALIDEXTENSION',
|
'File.INVALIDEXTENSION',
|
||||||
'Extension is not allowed (valid: %s)',
|
'Extension is not allowed (valid: {extensions})',
|
||||||
|
'Argument 1: Comma-separated list of valid extensions',
|
||||||
'Argument 1: Comma-separated list of valid extensions'
|
array('extensions' => wordwrap(implode(', ',$exts)))
|
||||||
),
|
|
||||||
wordwrap(implode(', ',$exts))
|
|
||||||
);
|
);
|
||||||
return new ValidationResult(false, $message);
|
return new ValidationResult(false, $message);
|
||||||
}
|
}
|
||||||
|
@ -359,9 +359,36 @@ class Form extends RequestHandler {
|
|||||||
|
|
||||||
// Validate the form
|
// Validate the form
|
||||||
if(!$this->validate()) {
|
if(!$this->validate()) {
|
||||||
if(Director::is_ajax()) {
|
return $this->getValidationErrorResponse();
|
||||||
// Special case for legacy Validator.js implementation (assumes eval'ed javascript collected through
|
}
|
||||||
// FormResponse)
|
|
||||||
|
// First, try a handler method on the controller (has been checked for allowed_actions above already)
|
||||||
|
if($this->controller->hasMethod($funcName)) {
|
||||||
|
return $this->controller->$funcName($vars, $this, $request);
|
||||||
|
// Otherwise, try a handler method on the form object.
|
||||||
|
} elseif($this->hasMethod($funcName)) {
|
||||||
|
return $this->$funcName($vars, $this, $request);
|
||||||
|
} elseif($field = $this->checkFieldsForAction($this->Fields(), $funcName)) {
|
||||||
|
return $field->$funcName($vars, $this, $request);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->httpError(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the appropriate response up the controller chain
|
||||||
|
* if {@link validate()} fails (which is checked prior to executing any form actions).
|
||||||
|
* By default, returns different views for ajax/non-ajax request, and
|
||||||
|
* handles 'appliction/json' requests with a JSON object containing the error messages.
|
||||||
|
* Behaviour can be influenced by setting {@link $redirectToFormOnValidationError}.
|
||||||
|
*
|
||||||
|
* @return SS_HTTPResponse|string
|
||||||
|
*/
|
||||||
|
protected function getValidationErrorResponse() {
|
||||||
|
$request = $this->getRequest();
|
||||||
|
if($request->isAjax()) {
|
||||||
|
// Special case for legacy Validator.js implementation
|
||||||
|
// (assumes eval'ed javascript collected through FormResponse)
|
||||||
$acceptType = $request->getHeader('Accept');
|
$acceptType = $request->getHeader('Accept');
|
||||||
if(strpos($acceptType, 'application/json') !== FALSE) {
|
if(strpos($acceptType, 'application/json') !== FALSE) {
|
||||||
// Send validation errors back as JSON with a flag at the start
|
// Send validation errors back as JSON with a flag at the start
|
||||||
@ -389,19 +416,6 @@ class Form extends RequestHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// First, try a handler method on the controller (has been checked for allowed_actions above already)
|
|
||||||
if($this->controller->hasMethod($funcName)) {
|
|
||||||
return $this->controller->$funcName($vars, $this, $request);
|
|
||||||
// Otherwise, try a handler method on the form object.
|
|
||||||
} elseif($this->hasMethod($funcName)) {
|
|
||||||
return $this->$funcName($vars, $this, $request);
|
|
||||||
} elseif($field = $this->checkFieldsForAction($this->Fields(), $funcName)) {
|
|
||||||
return $field->$funcName($vars, $this, $request);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->httpError(404);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fields can have action to, let's check if anyone of the responds to $funcname them
|
* Fields can have action to, let's check if anyone of the responds to $funcname them
|
||||||
*
|
*
|
||||||
|
@ -380,6 +380,8 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
new GridFieldSortableHeader(),
|
new GridFieldSortableHeader(),
|
||||||
new GridFieldDataColumns(),
|
new GridFieldDataColumns(),
|
||||||
new GridFieldPaginator(5),
|
new GridFieldPaginator(5),
|
||||||
|
// TODO Shouldn't allow delete here, its too confusing with a "remove from editor view" action.
|
||||||
|
// Remove once we can fit the search button in the last actual title column
|
||||||
new GridFieldDeleteAction(),
|
new GridFieldDeleteAction(),
|
||||||
new GridFieldDetailForm()
|
new GridFieldDetailForm()
|
||||||
);
|
);
|
||||||
@ -399,11 +401,11 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
$fromCMS = new CompositeField(
|
$fromCMS = new CompositeField(
|
||||||
new LiteralField('headerSelect',
|
new LiteralField('headerSelect',
|
||||||
'<h4>'.sprintf($numericLabelTmpl, '1', _t('HtmlEditorField.FindInFolder', 'Find in Folder')).'</h4>'),
|
'<h4>'.sprintf($numericLabelTmpl, '1', _t('HtmlEditorField.FindInFolder', 'Find in Folder')).'</h4>'),
|
||||||
$select = new TreeDropdownField('ParentID', "", 'Folder'),
|
$select = TreeDropdownField::create('ParentID', "", 'Folder')->addExtraClass('noborder'),
|
||||||
$fileField
|
$fileField
|
||||||
);
|
);
|
||||||
|
|
||||||
$fromCMS->addExtraClass('content ss-uploadfield from-CMS');
|
$fromCMS->addExtraClass('content ss-uploadfield');
|
||||||
$select->addExtraClass('content-select');
|
$select->addExtraClass('content-select');
|
||||||
|
|
||||||
|
|
||||||
@ -416,7 +418,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
);
|
);
|
||||||
|
|
||||||
$remoteURL->addExtraClass('remoteurl');
|
$remoteURL->addExtraClass('remoteurl');
|
||||||
$fromWeb->addExtraClass('content ss-uploadfield from-web');
|
$fromWeb->addExtraClass('content ss-uploadfield');
|
||||||
|
|
||||||
Requirements::css(FRAMEWORK_DIR . '/css/AssetUploadField.css');
|
Requirements::css(FRAMEWORK_DIR . '/css/AssetUploadField.css');
|
||||||
$computerUploadField = Object::create('UploadField', 'AssetUploadField', '');
|
$computerUploadField = Object::create('UploadField', 'AssetUploadField', '');
|
||||||
@ -426,30 +428,32 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
$computerUploadField->removeExtraClass('ss-uploadfield');
|
$computerUploadField->removeExtraClass('ss-uploadfield');
|
||||||
$computerUploadField->setTemplate('HtmlEditorField_UploadField');
|
$computerUploadField->setTemplate('HtmlEditorField_UploadField');
|
||||||
$computerUploadField->setFolderName(Config::inst()->get('Upload', 'uploads_folder'));
|
$computerUploadField->setFolderName(Config::inst()->get('Upload', 'uploads_folder'));
|
||||||
|
// @todo - Remove this once this field supports display and recovery of file upload validation errors
|
||||||
|
$computerUploadField->setOverwriteWarning(false);
|
||||||
|
|
||||||
$tabSet = new TabSet(
|
$tabSet = new TabSet(
|
||||||
"MediaFormInsertMediaTabs",
|
"MediaFormInsertMediaTabs",
|
||||||
new Tab(
|
Tab::create(
|
||||||
'FromComputer',
|
'FromComputer',
|
||||||
_t('HtmlEditorField.FROMCOMPUTER','From your computer'),
|
_t('HtmlEditorField.FROMCOMPUTER','From your computer'),
|
||||||
$computerUploadField
|
$computerUploadField
|
||||||
),
|
)->addExtraClass('htmleditorfield-from-computer'),
|
||||||
new Tab(
|
Tab::create(
|
||||||
'FromWeb',
|
'FromWeb',
|
||||||
_t('HtmlEditorField.FROMWEB', 'From the web'),
|
_t('HtmlEditorField.FROMWEB', 'From the web'),
|
||||||
$fromWeb
|
$fromWeb
|
||||||
),
|
)->addExtraClass('htmleditorfield-from-web'),
|
||||||
new Tab(
|
Tab::create(
|
||||||
'FromCms',
|
'FromCms',
|
||||||
_t('HtmlEditorField.FROMCMS','From the CMS'),
|
_t('HtmlEditorField.FROMCMS','From the CMS'),
|
||||||
$fromCMS
|
$fromCMS
|
||||||
)
|
)->addExtraClass('htmleditorfield-from-cms')
|
||||||
);
|
);
|
||||||
$tabSet->addExtraClass('cms-tabset-primary');
|
$tabSet->addExtraClass('cms-tabset-primary');
|
||||||
|
|
||||||
$allFields = new CompositeField(
|
$allFields = new CompositeField(
|
||||||
$tabSet,
|
$tabSet,
|
||||||
new LiteralField('headerEdit', '<h4 class="field header-edit">' . sprintf($numericLabelTmpl, '2',
|
new LiteralField('headerEdit', '<h4 class="field noborder header-edit">' . sprintf($numericLabelTmpl, '2',
|
||||||
_t('HtmlEditorField.ADJUSTDETAILSDIMENSIONS', 'Details & dimensions')) . '</h4>'),
|
_t('HtmlEditorField.ADJUSTDETAILSDIMENSIONS', 'Details & dimensions')) . '</h4>'),
|
||||||
$editComposite = new CompositeField(
|
$editComposite = new CompositeField(
|
||||||
new LiteralField('contentEdit', '<div class="content-edit ss-uploadfield-files files"></div>')
|
new LiteralField('contentEdit', '<div class="content-edit ss-uploadfield-files files"></div>')
|
||||||
@ -709,15 +713,15 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
)->setName("FilePreviewImage")->addExtraClass('cms-file-info-preview'),
|
)->setName("FilePreviewImage")->addExtraClass('cms-file-info-preview'),
|
||||||
CompositeField::create(
|
CompositeField::create(
|
||||||
CompositeField::create(
|
CompositeField::create(
|
||||||
new ReadonlyField("FileType", _t('AssetTableField.TYPE','File type') . ':', $file->FileType),
|
new ReadonlyField("FileType", _t('AssetTableField.TYPE','File type'), $file->FileType),
|
||||||
new ReadonlyField("Size", _t('AssetTableField.SIZE','File size') . ':', $file->getSize()),
|
new ReadonlyField("Size", _t('AssetTableField.SIZE','File size'), $file->getSize()),
|
||||||
$urlField = new ReadonlyField('ClickableURL', _t('AssetTableField.URL','URL'),
|
$urlField = new ReadonlyField('ClickableURL', _t('AssetTableField.URL','URL'),
|
||||||
sprintf('<a href="%s" target="_blank" class="file-url">%s</a>',
|
sprintf('<a href="%s" title="%s" target="_blank" class="file-url">%s</a>',
|
||||||
$file->Link(), $file->RelativeLink())
|
$file->Link(), $file->Link(), $file->RelativeLink())
|
||||||
),
|
),
|
||||||
new DateField_Disabled("Created", _t('AssetTableField.CREATED','First uploaded') . ':',
|
new DateField_Disabled("Created", _t('AssetTableField.CREATED','First uploaded'),
|
||||||
$file->Created),
|
$file->Created),
|
||||||
new DateField_Disabled("LastEdited", _t('AssetTableField.LASTEDIT','Last changed') . ':',
|
new DateField_Disabled("LastEdited", _t('AssetTableField.LASTEDIT','Last changed'),
|
||||||
$file->LastEdited)
|
$file->LastEdited)
|
||||||
)
|
)
|
||||||
)->setName("FilePreviewData")->addExtraClass('cms-file-info-data')
|
)->setName("FilePreviewData")->addExtraClass('cms-file-info-data')
|
||||||
|
@ -6,6 +6,14 @@
|
|||||||
*/
|
*/
|
||||||
class PasswordField extends TextField {
|
class PasswordField extends TextField {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controls the autocomplete attribute on the field.
|
||||||
|
*
|
||||||
|
* Setting it to false will set the attribute to "off", which will hint the browser
|
||||||
|
* to not cache the password and to not use any password managers.
|
||||||
|
*/
|
||||||
|
private static $autocomplete;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an input field, class="text" and type="text" with an optional
|
* Returns an input field, class="text" and type="text" with an optional
|
||||||
* maxlength
|
* maxlength
|
||||||
@ -21,10 +29,17 @@ class PasswordField extends TextField {
|
|||||||
|
|
||||||
|
|
||||||
public function getAttributes() {
|
public function getAttributes() {
|
||||||
return array_merge(
|
$attributes = array_merge(
|
||||||
parent::getAttributes(),
|
parent::getAttributes(),
|
||||||
array('type' => 'password')
|
array('type' => 'password')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$autocomplete = Config::inst()->get('PasswordField', 'autocomplete');
|
||||||
|
if (isset($autocomplete)) {
|
||||||
|
$attributes['autocomplete'] = $autocomplete ? 'on' : 'off';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -502,14 +502,13 @@ class UploadField extends FileField {
|
|||||||
/**
|
/**
|
||||||
* Assign a front-end config variable for the upload field
|
* Assign a front-end config variable for the upload field
|
||||||
*
|
*
|
||||||
|
* @see https://github.com/blueimp/jQuery-File-Upload/wiki/Options for the list of front end options available
|
||||||
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @param mixed $val
|
* @param mixed $val
|
||||||
* @return UploadField self reference
|
* @return UploadField self reference
|
||||||
*/
|
*/
|
||||||
public function setConfig($key, $val) {
|
public function setConfig($key, $val) {
|
||||||
if(!array_key_exists($key, $this->ufConfig)) {
|
|
||||||
user_error("UploadField->setConfig called with invalid option: '$key'", E_USER_ERROR);
|
|
||||||
}
|
|
||||||
$this->ufConfig[$key] = $val;
|
$this->ufConfig[$key] = $val;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -517,13 +516,13 @@ class UploadField extends FileField {
|
|||||||
/**
|
/**
|
||||||
* Gets a front-end config variable for the upload field
|
* Gets a front-end config variable for the upload field
|
||||||
*
|
*
|
||||||
|
* @see https://github.com/blueimp/jQuery-File-Upload/wiki/Options for the list of front end options available
|
||||||
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function getConfig($key) {
|
public function getConfig($key) {
|
||||||
if(!array_key_exists($key, $this->ufConfig)) {
|
if(!isset($this->ufConfig[$key])) return null;
|
||||||
user_error("UploadField->getConfig called with invalid option: '$key'", E_USER_ERROR);
|
|
||||||
}
|
|
||||||
return $this->ufConfig[$key];
|
return $this->ufConfig[$key];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1548,8 +1547,13 @@ class UploadField_SelectHandler extends RequestHandler {
|
|||||||
$config = GridFieldConfig::create();
|
$config = GridFieldConfig::create();
|
||||||
$config->addComponent(new GridFieldSortableHeader());
|
$config->addComponent(new GridFieldSortableHeader());
|
||||||
$config->addComponent(new GridFieldFilterHeader());
|
$config->addComponent(new GridFieldFilterHeader());
|
||||||
$config->addComponent(new GridFieldDataColumns());
|
$config->addComponent($columns = new GridFieldDataColumns());
|
||||||
$config->addComponent(new GridFieldPaginator(10));
|
$columns->setDisplayFields(array(
|
||||||
|
'StripThumbnail' => '',
|
||||||
|
'Name' => 'Name',
|
||||||
|
'Title' => 'Title'
|
||||||
|
));
|
||||||
|
$config->addComponent(new GridFieldPaginator(8));
|
||||||
|
|
||||||
// If relation is to be autoset, we need to make sure we only list compatible objects.
|
// If relation is to be autoset, we need to make sure we only list compatible objects.
|
||||||
$baseClass = $this->parent->getRelationAutosetClass();
|
$baseClass = $this->parent->getRelationAutosetClass();
|
||||||
|
@ -381,6 +381,10 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler {
|
|||||||
if($this->record->ID && !$canEdit) {
|
if($this->record->ID && !$canEdit) {
|
||||||
// Restrict editing of existing records
|
// Restrict editing of existing records
|
||||||
$form->makeReadonly();
|
$form->makeReadonly();
|
||||||
|
// Hack to re-enable delete button if user can delete
|
||||||
|
if ($canDelete) {
|
||||||
|
$form->Actions()->fieldByName('action_doDelete')->setReadonly(false);
|
||||||
|
}
|
||||||
} elseif(!$this->record->ID && !$canCreate) {
|
} elseif(!$this->record->ID && !$canCreate) {
|
||||||
// Restrict creation of new records
|
// Restrict creation of new records
|
||||||
$form->makeReadonly();
|
$form->makeReadonly();
|
||||||
|
@ -53,7 +53,7 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP
|
|||||||
$button->setAttribute('data-icon', 'download-csv');
|
$button->setAttribute('data-icon', 'download-csv');
|
||||||
$button->addExtraClass('no-ajax');
|
$button->addExtraClass('no-ajax');
|
||||||
return array(
|
return array(
|
||||||
$this->targetFragment => '<p class="grid-csv-button">' . $button->Field() . '</p>',
|
$this->targetFragment => '<p class="grid-bottom-button grid-csv-button">' . $button->Field() . '</p>',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,9 @@ var ss = ss || {};
|
|||||||
*/
|
*/
|
||||||
ss.editorWrappers = {};
|
ss.editorWrappers = {};
|
||||||
ss.editorWrappers.tinyMCE = (function() {
|
ss.editorWrappers.tinyMCE = (function() {
|
||||||
|
|
||||||
|
var instance;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
init: function(config) {
|
init: function(config) {
|
||||||
if(!ss.editorWrappers.tinyMCE.initialized) {
|
if(!ss.editorWrappers.tinyMCE.initialized) {
|
||||||
@ -25,7 +28,7 @@ ss.editorWrappers.tinyMCE = (function() {
|
|||||||
* @return Mixed Implementation specific object
|
* @return Mixed Implementation specific object
|
||||||
*/
|
*/
|
||||||
getInstance: function() {
|
getInstance: function() {
|
||||||
return tinyMCE.activeEditor;
|
return this.instance;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Invoked when a content-modifying UI is opened.
|
* Invoked when a content-modifying UI is opened.
|
||||||
@ -55,13 +58,31 @@ ss.editorWrappers.tinyMCE = (function() {
|
|||||||
* @param Function
|
* @param Function
|
||||||
*/
|
*/
|
||||||
create: function(domID, config) {
|
create: function(domID, config) {
|
||||||
var ed = new tinymce.Editor(domID, config);
|
this.instance = new tinymce.Editor(domID, config);
|
||||||
|
|
||||||
// Patch TinyMCE events into underlying textarea field.
|
// Patch TinyMCE events into underlying textarea field.
|
||||||
ed.onInit.add(function(ed) {
|
this.instance.onInit.add(function(ed) {
|
||||||
jQuery(ed.getElement()).trigger('editorinit');
|
jQuery(ed.getElement()).trigger('editorinit');
|
||||||
|
|
||||||
|
// Periodically check for inline changes when focused,
|
||||||
|
// since TinyMCE's onChange only fires on certain actions
|
||||||
|
// like inserting a new paragraph, as opposed to any user input.
|
||||||
|
// This also works around an issue where the "save" button
|
||||||
|
// wouldn't trigger if the click is the cause of a "blur" event
|
||||||
|
// after an (undetected) inline change. This "blur" causes onChange
|
||||||
|
// to trigger, which will change the button markup to show "alternative" styles,
|
||||||
|
// effectively cancelling the original click event.
|
||||||
|
var interval;
|
||||||
|
jQuery(ed.getBody()).on('focus', function() {
|
||||||
|
interval = setInterval(function() {
|
||||||
|
ed.save();
|
||||||
|
}, 5000);
|
||||||
});
|
});
|
||||||
ed.onChange.add(function(ed, l) {
|
jQuery(ed.getBody()).on('blur', function() {
|
||||||
|
clearInterval(interval);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.instance.onChange.add(function(ed, l) {
|
||||||
// Update underlying textarea on every change, so external handlers
|
// Update underlying textarea on every change, so external handlers
|
||||||
// such as changetracker have a chance to trigger properly.
|
// such as changetracker have a chance to trigger properly.
|
||||||
ed.save();
|
ed.save();
|
||||||
@ -69,7 +90,7 @@ ss.editorWrappers.tinyMCE = (function() {
|
|||||||
});
|
});
|
||||||
// Add more events here as needed.
|
// Add more events here as needed.
|
||||||
|
|
||||||
ed.render();
|
this.instance.render();
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Redraw the editor contents
|
* Redraw the editor contents
|
||||||
@ -234,7 +255,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
* Constructor: onmatch
|
* Constructor: onmatch
|
||||||
*/
|
*/
|
||||||
onadd: function() {
|
onadd: function() {
|
||||||
var edClass = this.data('editor') || ss.editorWrappers['default'], ed = edClass();
|
var edClass = this.data('editor') || 'default', ed = ss.editorWrappers[edClass]();
|
||||||
this.setEditor(ed);
|
this.setEditor(ed);
|
||||||
|
|
||||||
// Using a global config (generated through HTMLEditorConfig PHP logic).
|
// Using a global config (generated through HTMLEditorConfig PHP logic).
|
||||||
@ -342,10 +363,11 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
|
return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
|
||||||
};
|
};
|
||||||
|
|
||||||
var url = $('#cms-editor-dialogs').data('url' + capitalize(type) + 'form'),
|
var self = this, url = $('#cms-editor-dialogs').data('url' + capitalize(type) + 'form'),
|
||||||
dialog = $('.htmleditorfield-' + type + 'dialog');
|
dialog = $('.htmleditorfield-' + type + 'dialog');
|
||||||
|
|
||||||
if(dialog.length) {
|
if(dialog.length) {
|
||||||
|
dialog.getForm().setElement(this);
|
||||||
dialog.open();
|
dialog.open();
|
||||||
} else {
|
} else {
|
||||||
// Show a placeholder for instant feedback. Will be replaced with actual
|
// Show a placeholder for instant feedback. Will be replaced with actual
|
||||||
@ -354,8 +376,12 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
$('body').append(dialog);
|
$('body').append(dialog);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: url,
|
url: url,
|
||||||
|
complete: function() {
|
||||||
|
dialog.removeClass('loading');
|
||||||
|
},
|
||||||
success: function(html) {
|
success: function(html) {
|
||||||
dialog.html(html);
|
dialog.html(html);
|
||||||
|
dialog.getForm().setElement(self);
|
||||||
dialog.trigger('dialogopen');
|
dialog.trigger('dialogopen');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -366,11 +392,9 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
$('.htmleditorfield-dialog').entwine({
|
$('.htmleditorfield-dialog').entwine({
|
||||||
onadd: function() {
|
onadd: function() {
|
||||||
// Create jQuery dialog
|
// Create jQuery dialog
|
||||||
|
if (!this.is('.ui-dialog-content')) {
|
||||||
var height = $(window).height() * 0.8;
|
this.ssdialog({autoOpen: true});
|
||||||
var width = $(window).width() * 0.8;
|
}
|
||||||
|
|
||||||
if (!this.is('.ui-dialog-content')) this.dialog({autoOpen: true, bgiframe: true, modal: true, height: height, width: width, ghost: true});
|
|
||||||
|
|
||||||
this._super();
|
this._super();
|
||||||
},
|
},
|
||||||
@ -379,10 +403,10 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
return this.find('form');
|
return this.find('form');
|
||||||
},
|
},
|
||||||
open: function() {
|
open: function() {
|
||||||
this.dialog('open');
|
this.ssdialog('open');
|
||||||
},
|
},
|
||||||
close: function() {
|
close: function() {
|
||||||
this.dialog('close');
|
this.ssdialog('close');
|
||||||
},
|
},
|
||||||
toggle: function(bool) {
|
toggle: function(bool) {
|
||||||
if(this.is(':visible')) this.close();
|
if(this.is(':visible')) this.close();
|
||||||
@ -396,15 +420,17 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
*/
|
*/
|
||||||
$('form.htmleditorfield-form').entwine({
|
$('form.htmleditorfield-form').entwine({
|
||||||
Selection: null,
|
Selection: null,
|
||||||
|
|
||||||
|
// Implementation-dependent serialization of the current editor selection state
|
||||||
Bookmark: null,
|
Bookmark: null,
|
||||||
|
|
||||||
|
// DOMElement pointing to the currently active textarea
|
||||||
|
Element: null,
|
||||||
|
|
||||||
setSelection: function(node) {
|
setSelection: function(node) {
|
||||||
return this._super($(node));
|
return this._super($(node));
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wrapper for various HTML editors
|
|
||||||
Editor: null,
|
|
||||||
|
|
||||||
onadd: function() {
|
onadd: function() {
|
||||||
// Move title from headline to (jQuery compatible) title attribute
|
// Move title from headline to (jQuery compatible) title attribute
|
||||||
var titleEl = this.find(':header:first');
|
var titleEl = this.find(':header:first');
|
||||||
@ -415,7 +441,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
onremove: function() {
|
onremove: function() {
|
||||||
this.setSelection(null);
|
this.setSelection(null);
|
||||||
this.setBookmark(null);
|
this.setBookmark(null);
|
||||||
this.setEditor(null);
|
this.setElement(null);
|
||||||
|
|
||||||
this._super();
|
this._super();
|
||||||
},
|
},
|
||||||
@ -454,19 +480,11 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
createEditor: function(){
|
|
||||||
return ss.editorWrappers['default']();
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the tinyMCE editor
|
* @return Object ss.editorWrapper instance
|
||||||
*/
|
*/
|
||||||
getEditor: function(){
|
getEditor: function(){
|
||||||
var val = this._super();
|
return this.getElement().getEditor();
|
||||||
if(!val) {
|
|
||||||
this.setEditor(val = this.createEditor());
|
|
||||||
}
|
|
||||||
return val;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
modifySelection: function(callback) {
|
modifySelection: function(callback) {
|
||||||
@ -826,7 +844,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
}
|
}
|
||||||
this.redraw();
|
this.redraw();
|
||||||
},
|
},
|
||||||
redraw: function() {
|
redraw: function(updateExisting) {
|
||||||
this._super();
|
this._super();
|
||||||
|
|
||||||
var node = this.getSelection(),
|
var node = this.getSelection(),
|
||||||
@ -835,7 +853,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
header = this.find('.header-edit');
|
header = this.find('.header-edit');
|
||||||
|
|
||||||
// Only show second step if files are selected
|
// Only show second step if files are selected
|
||||||
if(header) header[(hasItems) ? 'show' : 'hide']();
|
header[(hasItems) ? 'show' : 'hide']();
|
||||||
|
|
||||||
// Disable "insert" button if no files are selected
|
// Disable "insert" button if no files are selected
|
||||||
this.find('.Actions :submit')
|
this.find('.Actions :submit')
|
||||||
@ -845,11 +863,15 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
// Hide file selection and step labels when editing an existing file
|
// Hide file selection and step labels when editing an existing file
|
||||||
this.find('#MediaFormInsertMediaTabs,.header-edit')[editingSelected ? 'hide' : 'show']();
|
this.find('#MediaFormInsertMediaTabs,.header-edit')[editingSelected ? 'hide' : 'show']();
|
||||||
|
|
||||||
var updateExisting = Boolean(this.find('.ss-htmleditorfield-file').length);
|
// TODO Way too much knowledge on UploadField internals, use viewfile URL directly instead
|
||||||
this.find('.htmleditorfield-mediaform-heading.insert')[updateExisting ? 'hide' : 'show']();
|
this.find('.htmleditorfield-mediaform-heading.insert')[editingSelected ? 'hide' : 'show']();
|
||||||
this.find('.Actions .media-insert')[updateExisting ? 'hide' : 'show']();
|
this.find('.ss-uploadfield-item-actions')[editingSelected ? 'hide' : 'show']();
|
||||||
this.find('.htmleditorfield-mediaform-heading.update')[updateExisting ? 'show' : 'hide']();
|
this.find('.ss-uploadfield-item-name')[editingSelected ? 'hide' : 'show']();
|
||||||
this.find('.Actions .media-update')[updateExisting ? 'show' : 'hide']();
|
this.find('.ss-uploadfield-item-preview')[editingSelected ? 'hide' : 'show']();
|
||||||
|
this.find('.Actions .media-insert')[editingSelected ? 'hide' : 'show']();
|
||||||
|
this.find('.htmleditorfield-mediaform-heading.update')[editingSelected ? 'show' : 'hide']();
|
||||||
|
this.find('.Actions .media-update')[editingSelected ? 'show' : 'hide']();
|
||||||
|
this.find('.ss-uploadfield-item-editform').toggleEditForm(editingSelected);
|
||||||
},
|
},
|
||||||
resetFields: function() {
|
resetFields: function() {
|
||||||
this.find('.ss-htmleditorfield-file').remove(); // Remove any existing views
|
this.find('.ss-htmleditorfield-file').remove(); // Remove any existing views
|
||||||
@ -866,7 +888,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
var self = this, params = (Number(idOrUrl) == idOrUrl) ? {ID: idOrUrl} : {FileURL: idOrUrl};
|
var self = this, params = (Number(idOrUrl) == idOrUrl) ? {ID: idOrUrl} : {FileURL: idOrUrl};
|
||||||
|
|
||||||
var item = $('<div class="ss-htmleditorfield-file loading" />');
|
var item = $('<div class="ss-htmleditorfield-file loading" />');
|
||||||
this.find('.content-edit').append(item);
|
this.find('.content-edit').prepend(item);
|
||||||
|
|
||||||
var dfr = $.Deferred();
|
var dfr = $.Deferred();
|
||||||
|
|
||||||
@ -1004,6 +1026,10 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
* @return {String} HTML suitable for insertion into the rich text editor
|
* @return {String} HTML suitable for insertion into the rich text editor
|
||||||
*/
|
*/
|
||||||
getHTML: function() {
|
getHTML: function() {
|
||||||
|
// Assumes UploadField markup structure
|
||||||
|
return $('<div>').append(
|
||||||
|
$('<a/>').attr({href: this.data('url')}).text(this.find('.name').text())
|
||||||
|
).html();
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Insert updated HTML content into the rich text editor
|
* Insert updated HTML content into the rich text editor
|
||||||
@ -1300,11 +1326,11 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('div.ss-assetuploadfield .ss-uploadfield-item-editform').entwine({
|
$('div.ss-assetuploadfield .ss-uploadfield-item-editform').entwine({
|
||||||
toggleEditForm: function() {
|
toggleEditForm: function(bool) {
|
||||||
var itemInfo = this.prev('.ss-uploadfield-item-info'), status = itemInfo.find('.ss-uploadfield-item-status');
|
var itemInfo = this.prev('.ss-uploadfield-item-info'), status = itemInfo.find('.ss-uploadfield-item-status');
|
||||||
var text="";
|
var text="";
|
||||||
|
|
||||||
if(this.height() === 0) {
|
if(bool === true || (bool !== false && this.height() === 0)) {
|
||||||
text = ss.i18n._t('UploadField.Editing', "Editing ...");
|
text = ss.i18n._t('UploadField.Editing', "Editing ...");
|
||||||
this.height('auto');
|
this.height('auto');
|
||||||
itemInfo.find('.toggle-details-icon').addClass('opened');
|
itemInfo.find('.toggle-details-icon').addClass('opened');
|
||||||
|
@ -114,16 +114,19 @@
|
|||||||
|
|
||||||
var node = tree.find('*[data-id="' + val + '"]'),
|
var node = tree.find('*[data-id="' + val + '"]'),
|
||||||
title = node.children('a').find("span.jstree_pageicon")?node.children('a').find("span.item").html():null;
|
title = node.children('a').find("span.jstree_pageicon")?node.children('a').find("span.item").html():null;
|
||||||
if(!title) title=(node) ? tree.jstree('get_text', node[0]) : null;
|
if(!title) title=(node.length > 0) ? tree.jstree('get_text', node[0]) : null;
|
||||||
|
|
||||||
if(title) self.setTitle(title);
|
if(title) {
|
||||||
|
self.setTitle(title);
|
||||||
|
self.data('title', title)
|
||||||
|
}
|
||||||
if(node) tree.jstree('select_node', node);
|
if(node) tree.jstree('select_node', node);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Load the tree if its not already present
|
// Load the tree if its not already present
|
||||||
if(jQuery.jstree._reference(tree) || !val) updateFn();
|
if(!tree.is(':empty') || !val) updateFn();
|
||||||
else this.loadTree(null, updateFn);
|
else this.loadTree({forceValue: val}, updateFn);
|
||||||
},
|
},
|
||||||
setValue: function(val) {
|
setValue: function(val) {
|
||||||
this.data('metadata', $.extend(this.data('metadata'), {id: val}));
|
this.data('metadata', $.extend(this.data('metadata'), {id: val}));
|
||||||
|
70
lang/af.yml
70
lang/af.yml
@ -2,6 +2,7 @@ af:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nuwe Dossier'
|
NEWFOLDER: 'Nuwe Dossier'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Eerste opgelaai'
|
CREATED: 'Eerste opgelaai'
|
||||||
DIM: Afmetings
|
DIM: Afmetings
|
||||||
@ -59,9 +60,9 @@ af:
|
|||||||
ERRORNOTADMIN: 'Daardie verbruiker is nie ''n administreerder nie'
|
ERRORNOTADMIN: 'Daardie verbruiker is nie ''n administreerder nie'
|
||||||
ERRORNOTREC: 'Daar die verbruikersnaam / wagwoord is nie herken nie'
|
ERRORNOTREC: 'Daar die verbruikersnaam / wagwoord is nie herken nie'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Onwaar
|
|
||||||
ANY: Enige
|
ANY: Enige
|
||||||
1: Waar
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Besig om te laai...'
|
LOADING: 'Besig om te laai...'
|
||||||
REQUIREJS: 'Die IBS vereis dat JavaScript aangeskakel is'
|
REQUIREJS: 'Die IBS vereis dat JavaScript aangeskakel is'
|
||||||
@ -70,6 +71,8 @@ af:
|
|||||||
ACCESSALLINTERFACES: 'Toegang tot alle IBS gedeeltes'
|
ACCESSALLINTERFACES: 'Toegang tot alle IBS gedeeltes'
|
||||||
ACCESSALLINTERFACESHELP: 'Oorheers meer spesifieke toegans verstellings'
|
ACCESSALLINTERFACESHELP: 'Oorheers meer spesifieke toegans verstellings'
|
||||||
SAVE: Stoor
|
SAVE: Stoor
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My profiel'
|
MENUTITLE: 'My profiel'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ af:
|
|||||||
HELLO: 'Hi daar'
|
HELLO: 'Hi daar'
|
||||||
PASSWORD: Wagwoord
|
PASSWORD: Wagwoord
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Onwaar
|
NOANSWER: 'False'
|
||||||
- Waar
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Maak wipop toe'
|
CLOSEPOPUP: 'Maak wipop toe'
|
||||||
SUCCESSADD2: '{name} bygesit'
|
SUCCESSADD2: '{name} bygesit'
|
||||||
@ -109,20 +112,21 @@ af:
|
|||||||
PLURALNAME: 'Data Voorwerpe'
|
PLURALNAME: 'Data Voorwerpe'
|
||||||
SINGULARNAME: 'Data Voorwerp'
|
SINGULARNAME: 'Data Voorwerp'
|
||||||
Date:
|
Date:
|
||||||
DAY: dag
|
DAY: day
|
||||||
DAYS: dae
|
DAYS: days
|
||||||
HOUR: uur
|
HOUR: hour
|
||||||
HOURS: ure
|
HOURS: hours
|
||||||
MIN: minuut
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minute
|
MIN: min
|
||||||
MONTH: maand
|
MINS: mins
|
||||||
MONTHS: maande
|
MONTH: month
|
||||||
SEC: sekonde
|
MONTHS: months
|
||||||
SECS: sekondes
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} terug'
|
TIMEDIFFAGO: '{difference} terug'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: jaar
|
YEAR: year
|
||||||
YEARS: jare
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'Nie gestel nie'
|
NOTSET: 'Nie gestel nie'
|
||||||
TODAY: vandag
|
TODAY: vandag
|
||||||
@ -198,7 +202,8 @@ af:
|
|||||||
TEXT2: 'wagwoord herstel skakel'
|
TEXT2: 'wagwoord herstel skakel'
|
||||||
TEXT3: vir
|
TEXT3: vir
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s word benodig.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Gaan
|
SubmitBtnLabel: Gaan
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The waarde wat ingesleutel is is nie uniek nie'
|
VALIDATIONNOTUNIQUE: 'The waarde wat ingesleutel is is nie uniek nie'
|
||||||
@ -208,6 +213,7 @@ af:
|
|||||||
VALIDATOR: Vergeldiger
|
VALIDATOR: Vergeldiger
|
||||||
VALIDCURRENCY: 'Tik asseblief ''n geldige geldeenheid in '
|
VALIDCURRENCY: 'Tik asseblief ''n geldige geldeenheid in '
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: geen
|
NONE: geen
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Verwyder
|
DELETE_DESCRIPTION: Verwyder
|
||||||
@ -230,6 +236,7 @@ af:
|
|||||||
ResetFilter: Herstel
|
ResetFilter: Herstel
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Geen toestemming om te verwyder nie'
|
DeletePermissionsFailure: 'Geen toestemming om te verwyder nie'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: 'Kanselleer '
|
CancelBtn: 'Kanselleer '
|
||||||
Create: Skep
|
Create: Skep
|
||||||
@ -237,7 +244,9 @@ af:
|
|||||||
DeletePermissionsFailure: 'Geen toestemming om te verwyder nie'
|
DeletePermissionsFailure: 'Geen toestemming om te verwyder nie'
|
||||||
Deleted: 'Verwyderde %s %s'
|
Deleted: 'Verwyderde %s %s'
|
||||||
Save: Stoor
|
Save: Stoor
|
||||||
Saved: 'Gestoor %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Voeg nog ''n rol by hierdie groep'
|
AddRole: 'Voeg nog ''n rol by hierdie groep'
|
||||||
@ -267,6 +276,7 @@ af:
|
|||||||
ADDURL: 'Voeg URL by'
|
ADDURL: 'Voeg URL by'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anker
|
ANCHORVALUE: Anker
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: 'Plaas in'
|
BUTTONINSERT: 'Plaas in'
|
||||||
BUTTONINSERTLINK: 'Sit in'
|
BUTTONINSERTLINK: 'Sit in'
|
||||||
BUTTONREMOVELINK: 'Verwyder skakel'
|
BUTTONREMOVELINK: 'Verwyder skakel'
|
||||||
@ -331,6 +341,9 @@ af:
|
|||||||
PreviewButton: Beskou
|
PreviewButton: Beskou
|
||||||
REORGANISATIONSUCCESSFUL: 'Die ''site tree'' is suksesvol geheorganiseer'
|
REORGANISATIONSUCCESSFUL: 'Die ''site tree'' is suksesvol geheorganiseer'
|
||||||
SAVEDUP: Gestoor
|
SAVEDUP: Gestoor
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: Unknown
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
@ -407,6 +420,7 @@ af:
|
|||||||
TWODIGITMONTH: 'Twee syfer maand (01=Januarie etc)'
|
TWODIGITMONTH: 'Twee syfer maand (01=Januarie etc)'
|
||||||
TWODIGITSECOND: 'Twee syfers van sekondes (00 to 59)'
|
TWODIGITSECOND: 'Twee syfers van sekondes (00 to 59)'
|
||||||
TWODIGITYEAR: 'Twee syfer jaar'
|
TWODIGITYEAR: 'Twee syfer jaar'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p> Voer gebruikers in <em>CSV</em>formaat (komma geskeide waardes).<small> <a href="#" class="toggle-advanced">Wys gevorderde gebruike</a></small></p>'
|
Help1: '<p> Voer gebruikers in <em>CSV</em>formaat (komma geskeide waardes).<small> <a href="#" class="toggle-advanced">Wys gevorderde gebruike</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ af:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Verwyder
|
DELETE: Verwyder
|
||||||
DELETEDRECORDS: 'Verwyder {count} rekords'
|
DELETEDRECORDS: 'Verwyder {count} rekords'
|
||||||
EMPTYBEFOREIMPORT: 'Maak databasis skoon voordat data ingevoer word'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Voer in van CSV'
|
IMPORT: 'Voer in van CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Soek asseblief vir ''n CSV lêer om in the voer'
|
NOCSVFILE: 'Soek asseblief vir ''n CSV lêer om in the voer'
|
||||||
@ -515,7 +529,20 @@ af:
|
|||||||
BtnImport: 'Voer In'
|
BtnImport: 'Voer In'
|
||||||
FileFieldLabel: 'CSV Lêer <small>(Laat toe uitbreidings: *.csv)</small>'
|
FileFieldLabel: 'CSV Lêer <small>(Laat toe uitbreidings: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Verander
|
Edit: Verander
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Geen foto gelaai nie'
|
NOUPLOAD: 'Geen foto gelaai nie'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ af:
|
|||||||
ATTACHFILE: 'Heg lêer aan'
|
ATTACHFILE: 'Heg lêer aan'
|
||||||
ATTACHFILES: 'Heg lêer(s) aan'
|
ATTACHFILES: 'Heg lêer(s) aan'
|
||||||
AttachFile: 'Aangehegde lêer(s)'
|
AttachFile: 'Aangehegde lêer(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Verwyder van lêers af'
|
DELETE: 'Verwyder van lêers af'
|
||||||
DELETEINFO: 'Wis die lêer uit die lêer stoor uit'
|
DELETEINFO: 'Wis die lêer uit die lêer stoor uit'
|
||||||
DOEDIT: Stoor
|
DOEDIT: Stoor
|
||||||
@ -565,12 +594,15 @@ af:
|
|||||||
FROMFILES: 'Van die lêers afdeling'
|
FROMFILES: 'Van die lêers afdeling'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Maksimum aantal van {count} lêer(s) oorskry '
|
MAXNUMBEROFFILES: 'Maksimum aantal van {count} lêer(s) oorskry '
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Kan net {count} lêer oplaai'
|
MAXNUMBEROFFILESSHORT: 'Kan net {count} lêer oplaai'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Verwyder
|
REMOVE: Verwyder
|
||||||
REMOVEERROR: 'Daar het ''n fout onstaan met die verwydering van die lêer'
|
REMOVEERROR: 'Daar het ''n fout onstaan met die verwydering van die lêer'
|
||||||
REMOVEINFO: 'Verwyder die lêer van hier af maar moet dit nie uit die lêer stoor verwyder nie'
|
REMOVEINFO: 'Verwyder die lêer van hier af maar moet dit nie uit die lêer stoor verwyder nie'
|
||||||
STARTALL: 'Begin alles'
|
STARTALL: 'Begin alles'
|
||||||
STARTALLINFO: 'Begin op alles op te laai'
|
STARTALLINFO: 'Begin op alles op te laai'
|
||||||
Saved: Gestoor
|
Saved: Gestoor
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Weergawe
|
has_many_Versions: Weergawe
|
||||||
|
106
lang/ar.yml
106
lang/ar.yml
@ -2,14 +2,15 @@ ar:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'مجلد جديد'
|
NEWFOLDER: 'مجلد جديد'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'أول المرفوعات'
|
CREATED: 'أول المرفوعات'
|
||||||
DIM: الأبعاد
|
DIM: الأبعاد
|
||||||
FILENAME: 'اسم الملف'
|
FILENAME: 'اسم الملف'
|
||||||
FOLDER: Folder
|
FOLDER: Folder
|
||||||
LASTEDIT: 'آخر التعديلات'
|
LASTEDIT: 'آخر التعديلات'
|
||||||
OWNER: المالك
|
OWNER: 'المالك'
|
||||||
SIZE: الحجم
|
SIZE: 'الحجم'
|
||||||
TITLE: العنوان
|
TITLE: العنوان
|
||||||
TYPE: النوع
|
TYPE: النوع
|
||||||
URL: الرابط
|
URL: الرابط
|
||||||
@ -28,7 +29,7 @@ ar:
|
|||||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
||||||
UPLOADOR: OR
|
UPLOADOR: OR
|
||||||
BBCodeParser:
|
BBCodeParser:
|
||||||
ALIGNEMENT: المحاذاة
|
ALIGNEMENT: 'المحاذاة'
|
||||||
ALIGNEMENTEXAMPLE: 'محاذاة إلى اليمين'
|
ALIGNEMENTEXAMPLE: 'محاذاة إلى اليمين'
|
||||||
BOLD: 'خط عريض'
|
BOLD: 'خط عريض'
|
||||||
BOLDEXAMPLE: عريض
|
BOLDEXAMPLE: عريض
|
||||||
@ -42,7 +43,7 @@ ar:
|
|||||||
IMAGE: الصورة
|
IMAGE: الصورة
|
||||||
IMAGEDESCRIPTION: 'عرض الصورة في الموضوع'
|
IMAGEDESCRIPTION: 'عرض الصورة في الموضوع'
|
||||||
ITALIC: 'خط مائل'
|
ITALIC: 'خط مائل'
|
||||||
ITALICEXAMPLE: مائل
|
ITALICEXAMPLE: 'مائل'
|
||||||
LINK: 'رابط الموقع'
|
LINK: 'رابط الموقع'
|
||||||
LINKDESCRIPTION: 'رابط إلى موقع آخر'
|
LINKDESCRIPTION: 'رابط إلى موقع آخر'
|
||||||
STRUCK: 'خط في المنتصف'
|
STRUCK: 'خط في المنتصف'
|
||||||
@ -59,9 +60,9 @@ ar:
|
|||||||
ERRORNOTADMIN: 'هذا المستخدم لا يملك صلاحيات الإدارة'
|
ERRORNOTADMIN: 'هذا المستخدم لا يملك صلاحيات الإدارة'
|
||||||
ERRORNOTREC: 'اسم المستخدم أو الرقم السري غير صحيح'
|
ERRORNOTREC: 'اسم المستخدم أو الرقم السري غير صحيح'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: لا
|
|
||||||
ANY: أي
|
ANY: أي
|
||||||
1: نعم
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ ar:
|
|||||||
ACCESSALLINTERFACES: 'الدخول إلى جميع واجهات إدارة المحتوى'
|
ACCESSALLINTERFACES: 'الدخول إلى جميع واجهات إدارة المحتوى'
|
||||||
ACCESSALLINTERFACESHELP: 'ينقض أكثر من توصيف الوصول المحدد'
|
ACCESSALLINTERFACESHELP: 'ينقض أكثر من توصيف الوصول المحدد'
|
||||||
SAVE: حفظ
|
SAVE: حفظ
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ar:
|
|||||||
HELLO: أهلاً
|
HELLO: أهلاً
|
||||||
PASSWORD: 'الرقم السري'
|
PASSWORD: 'الرقم السري'
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- لا
|
NOANSWER: 'False'
|
||||||
- نعم
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'إغلاق النافذة'
|
CLOSEPOPUP: 'إغلاق النافذة'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,23 +112,24 @@ ar:
|
|||||||
PLURALNAME: 'بيانات كائن'
|
PLURALNAME: 'بيانات كائن'
|
||||||
SINGULARNAME: 'بيانات كائن'
|
SINGULARNAME: 'بيانات كائن'
|
||||||
Date:
|
Date:
|
||||||
DAY: اليوم
|
DAY: day
|
||||||
DAYS: الأيام
|
DAYS: days
|
||||||
HOUR: ساعة
|
HOUR: hour
|
||||||
HOURS: ساعات
|
HOURS: hours
|
||||||
MIN: دقيقة
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: الدقائق
|
MIN: min
|
||||||
MONTH: الشهر
|
MINS: mins
|
||||||
MONTHS: الأشهر
|
MONTH: month
|
||||||
SEC: ثانية
|
MONTHS: months
|
||||||
SECS: الثواني
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: السنة
|
YEAR: year
|
||||||
YEARS: السنوات
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'غير محدد'
|
NOTSET: 'غير محدد'
|
||||||
TODAY: اليوم
|
TODAY: 'اليوم'
|
||||||
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
||||||
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
||||||
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
||||||
@ -144,7 +148,7 @@ ar:
|
|||||||
ANY: أي
|
ANY: أي
|
||||||
File:
|
File:
|
||||||
AviType: 'AVI video file'
|
AviType: 'AVI video file'
|
||||||
Content: المحتوى
|
Content: 'المحتوى'
|
||||||
CssType: 'CSS file'
|
CssType: 'CSS file'
|
||||||
DmgType: 'Apple disk image'
|
DmgType: 'Apple disk image'
|
||||||
DocType: 'Word document'
|
DocType: 'Word document'
|
||||||
@ -162,11 +166,11 @@ ar:
|
|||||||
MpgType: 'MPEG video file'
|
MpgType: 'MPEG video file'
|
||||||
NOFILESIZE: 'حجم الملف 0 بايت'
|
NOFILESIZE: 'حجم الملف 0 بايت'
|
||||||
NOVALIDUPLOAD: 'نوع الملف غير قابل للرفع'
|
NOVALIDUPLOAD: 'نوع الملف غير قابل للرفع'
|
||||||
Name: الاسم
|
Name: 'الاسم'
|
||||||
PLURALNAME: الملفات
|
PLURALNAME: 'الملفات'
|
||||||
PdfType: 'Adobe Acrobat PDF file'
|
PdfType: 'Adobe Acrobat PDF file'
|
||||||
PngType: 'PNG image - good general-purpose format'
|
PngType: 'PNG image - good general-purpose format'
|
||||||
SINGULARNAME: الملف
|
SINGULARNAME: 'الملف'
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
TOOLARGESHORT: 'Filesize exceeds {size}'
|
||||||
TiffType: 'Tagged image format'
|
TiffType: 'Tagged image format'
|
||||||
@ -180,7 +184,7 @@ ar:
|
|||||||
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
||||||
DELETE: 'Delete {type}'
|
DELETE: 'Delete {type}'
|
||||||
DISALLOWEDFILETYPE: 'This filetype is not allowed to be uploaded'
|
DISALLOWEDFILETYPE: 'This filetype is not allowed to be uploaded'
|
||||||
FILE: ملف
|
FILE: 'ملف'
|
||||||
FROMCOMPUTER: 'من جهازك الشخصي'
|
FROMCOMPUTER: 'من جهازك الشخصي'
|
||||||
FROMFILESTORE: 'من مكتبة الملفات'
|
FROMFILESTORE: 'من مكتبة الملفات'
|
||||||
NOSOURCE: 'الرجاء اختيارمصدر ملف المرفق'
|
NOSOURCE: 'الرجاء اختيارمصدر ملف المرفق'
|
||||||
@ -198,16 +202,18 @@ ar:
|
|||||||
TEXT2: 'رابط إعادة تعيين كلمة المرور'
|
TEXT2: 'رابط إعادة تعيين كلمة المرور'
|
||||||
TEXT3: لـ
|
TEXT3: لـ
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s مطلوب'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'القيمة المدخلة غير فريدة و قابلة للتكرار '
|
VALIDATIONNOTUNIQUE: 'القيمة المدخلة غير فريدة و قابلة للتكرار '
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'رقم المرور غير صحيح'
|
VALIDATIONPASSWORDSDONTMATCH: 'رقم المرور غير صحيح'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'أرقام المرور لا يمكن أن تكون فارغة'
|
VALIDATIONPASSWORDSNOTEMPTY: 'أرقام المرور لا يمكن أن تكون فارغة'
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
||||||
VALIDATOR: المحقق
|
VALIDATOR: 'المحقق'
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: لايوجد
|
NONE: لايوجد
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ ar:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ ar:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ ar:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: رابط
|
ANCHORVALUE: رابط
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'أدخل رابط'
|
BUTTONINSERTLINK: 'أدخل رابط'
|
||||||
BUTTONREMOVELINK: 'إزالة رابط'
|
BUTTONREMOVELINK: 'إزالة رابط'
|
||||||
@ -279,8 +289,8 @@ ar:
|
|||||||
CSSCLASSRIGHT: 'إلى اليمين ، مع التفاف النص'
|
CSSCLASSRIGHT: 'إلى اليمين ، مع التفاف النص'
|
||||||
DETAILS: Details
|
DETAILS: Details
|
||||||
EMAIL: 'بريد إلكتروني'
|
EMAIL: 'بريد إلكتروني'
|
||||||
FILE: ملف
|
FILE: 'ملف'
|
||||||
FOLDER: المجلد
|
FOLDER: 'المجلد'
|
||||||
FROMCMS: 'From the CMS'
|
FROMCMS: 'From the CMS'
|
||||||
FROMCOMPUTER: 'From your computer'
|
FROMCOMPUTER: 'From your computer'
|
||||||
FROMWEB: 'From the web'
|
FROMWEB: 'From the web'
|
||||||
@ -322,7 +332,7 @@ ar:
|
|||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
||||||
DELETED: Deleted.
|
DELETED: Deleted.
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Actions
|
||||||
HELP: مساعدة
|
HELP: 'مساعدة'
|
||||||
PAGETYPE: 'نوع الصفحة:'
|
PAGETYPE: 'نوع الصفحة:'
|
||||||
PERMAGAIN: 'تم خروجك من النظام بنجاح. للدخول مرة أخرى أدحل البريد الإلكتروني و الرقم السري بالأسفل'
|
PERMAGAIN: 'تم خروجك من النظام بنجاح. للدخول مرة أخرى أدحل البريد الإلكتروني و الرقم السري بالأسفل'
|
||||||
PERMALREADY: 'عذراً , لكن لا يمكنك الوصول لهذا القسم من النظام. يتوجب عليك الدخول بصلاحية أخرى'
|
PERMALREADY: 'عذراً , لكن لا يمكنك الوصول لهذا القسم من النظام. يتوجب عليك الدخول بصلاحية أخرى'
|
||||||
@ -331,7 +341,10 @@ ar:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -377,7 +390,7 @@ ar:
|
|||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
||||||
WELCOMEBACK: 'Welcome Back, {firstname}'
|
WELCOMEBACK: 'Welcome Back, {firstname}'
|
||||||
YOUROLDPASSWORD: 'رقم المرور السابق'
|
YOUROLDPASSWORD: 'رقم المرور السابق'
|
||||||
belongs_many_many_Groups: المجموعات
|
belongs_many_many_Groups: 'المجموعات'
|
||||||
db_LastVisited: 'تاريخ آخر زيارة'
|
db_LastVisited: 'تاريخ آخر زيارة'
|
||||||
db_Locale: 'واجهة الموقع'
|
db_Locale: 'واجهة الموقع'
|
||||||
db_LockedOutUntil: 'مغلق حتى تاريخ'
|
db_LockedOutUntil: 'مغلق حتى تاريخ'
|
||||||
@ -407,6 +420,7 @@ ar:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ ar:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: حذف
|
DELETE: حذف
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'استيراد من CSV'
|
IMPORT: 'استيراد من CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'فضلاً استعرض ملف CSV للاستيراد'
|
NOCSVFILE: 'فضلاً استعرض ملف CSV للاستيراد'
|
||||||
@ -441,8 +455,8 @@ ar:
|
|||||||
IMPORT_TAB_HEADER: Import
|
IMPORT_TAB_HEADER: Import
|
||||||
SEARCHLISTINGS: Search
|
SEARCHLISTINGS: Search
|
||||||
MoneyField:
|
MoneyField:
|
||||||
FIELDLABELAMOUNT: الكمية
|
FIELDLABELAMOUNT: 'الكمية'
|
||||||
FIELDLABELCURRENCY: العملة
|
FIELDLABELCURRENCY: 'العملة'
|
||||||
NullableField:
|
NullableField:
|
||||||
IsNullLabel: باطل
|
IsNullLabel: باطل
|
||||||
NumericField:
|
NumericField:
|
||||||
@ -515,7 +529,20 @@ ar:
|
|||||||
BtnImport: استيراد
|
BtnImport: استيراد
|
||||||
FileFieldLabel: ' CSV ملف <small>(الامتداد المسموح :*.csv )</small>'
|
FileFieldLabel: ' CSV ملف <small>(الامتداد المسموح :*.csv )</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'لا توجد صور مرفوعة'
|
NOUPLOAD: 'لا توجد صور مرفوعة'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ ar:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ ar:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: الإصدارات
|
has_many_Versions: الإصدارات
|
||||||
|
72
lang/ast.yml
72
lang/ast.yml
@ -2,6 +2,7 @@ ast:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ ast:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ ast:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ast:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ ast:
|
|||||||
PLURALNAME: 'Oxetos de datos'
|
PLURALNAME: 'Oxetos de datos'
|
||||||
SINGULARNAME: 'Oxetu de datos'
|
SINGULARNAME: 'Oxetu de datos'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: ' mins'
|
MIN: min
|
||||||
MONTH: ' month'
|
MINS: mins
|
||||||
MONTHS: ' months'
|
MONTH: month
|
||||||
SEC: ' sec'
|
MONTHS: months
|
||||||
SECS: ' secs'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'nun s''establez'
|
NOTSET: 'nun s''establez'
|
||||||
TODAY: hoi
|
TODAY: hoi
|
||||||
@ -198,7 +202,8 @@ ast:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ ast:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ ast:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ ast:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ ast:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ ast:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ ast:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ ast:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ ast:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ ast:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ ast:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiones
|
has_many_Versions: Versiones
|
||||||
|
72
lang/az.yml
72
lang/az.yml
@ -2,6 +2,7 @@ az:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ az:
|
|||||||
ERRORNOTADMIN: 'İstifadəçi administrator deyil'
|
ERRORNOTADMIN: 'İstifadəçi administrator deyil'
|
||||||
ERRORNOTREC: 'Belə istifadəçi adı və ya parol tanınmadı'
|
ERRORNOTREC: 'Belə istifadəçi adı və ya parol tanınmadı'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Yox
|
|
||||||
ANY: İstənilən
|
ANY: İstənilən
|
||||||
1: Bəli
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ az:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: 'Yadda saxla'
|
SAVE: 'Yadda saxla'
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ az:
|
|||||||
HELLO: Salam
|
HELLO: Salam
|
||||||
PASSWORD: Parol
|
PASSWORD: Parol
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Yox
|
NOANSWER: 'False'
|
||||||
- Bəli
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: Bağla
|
CLOSEPOPUP: Bağla
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ az:
|
|||||||
PLURALNAME: 'Data Obyektlər'
|
PLURALNAME: 'Data Obyektlər'
|
||||||
SINGULARNAME: 'Data Obyekt'
|
SINGULARNAME: 'Data Obyekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: gün
|
DAY: day
|
||||||
DAYS: günlər
|
DAYS: days
|
||||||
HOUR: saat
|
HOUR: hour
|
||||||
HOURS: saatlar
|
HOURS: hours
|
||||||
MIN: dəq
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: dəqiqələr
|
MIN: min
|
||||||
MONTH: ay
|
MINS: mins
|
||||||
MONTHS: aylar
|
MONTH: month
|
||||||
SEC: san
|
MONTHS: months
|
||||||
SECS: san-lər
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: il
|
YEAR: year
|
||||||
YEARS: illər
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'təyin edilməyib'
|
NOTSET: 'təyin edilməyib'
|
||||||
TODAY: 'bu gün'
|
TODAY: 'bu gün'
|
||||||
@ -198,7 +202,8 @@ az:
|
|||||||
TEXT2: 'parolu sıfırlma linki'
|
TEXT2: 'parolu sıfırlma linki'
|
||||||
TEXT3: üçün
|
TEXT3: üçün
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s tələb olunur.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Daxil edilən məlumat unikal deyil'
|
VALIDATIONNOTUNIQUE: 'Daxil edilən məlumat unikal deyil'
|
||||||
@ -208,6 +213,7 @@ az:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: 'heç bir'
|
NONE: 'heç bir'
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ az:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ az:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ az:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Ankor
|
ANCHORVALUE: Ankor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Link əlavə et'
|
BUTTONINSERTLINK: 'Link əlavə et'
|
||||||
BUTTONREMOVELINK: 'Linki sil'
|
BUTTONREMOVELINK: 'Linki sil'
|
||||||
@ -331,7 +341,10 @@ az:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ az:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ az:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ az:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Şəkil yüklənməmişdir'
|
NOUPLOAD: 'Şəkil yüklənməmişdir'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ az:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ az:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiyalar
|
has_many_Versions: Versiyalar
|
||||||
|
92
lang/bg.yml
92
lang/bg.yml
@ -2,9 +2,10 @@ bg:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: НоваПапка
|
NEWFOLDER: НоваПапка
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: Създаден
|
CREATED: Създаден
|
||||||
DIM: Размери
|
DIM: 'Размери'
|
||||||
FILENAME: 'Име на файл'
|
FILENAME: 'Име на файл'
|
||||||
FOLDER: Папка
|
FOLDER: Папка
|
||||||
LASTEDIT: 'Последна промяна'
|
LASTEDIT: 'Последна промяна'
|
||||||
@ -59,9 +60,9 @@ bg:
|
|||||||
ERRORNOTADMIN: 'Този потребител не е администратор.'
|
ERRORNOTADMIN: 'Този потребител не е администратор.'
|
||||||
ERRORNOTREC: 'Това потребителско име / парола не е разпознато'
|
ERRORNOTREC: 'Това потребителско име / парола не е разпознато'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Зареждане ...'
|
LOADING: 'Зареждане ...'
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ bg:
|
|||||||
ACCESSALLINTERFACES: 'Достъп до всички секции на CMS'
|
ACCESSALLINTERFACES: 'Достъп до всички секции на CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Запис
|
SAVE: Запис
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Моят профил'
|
MENUTITLE: 'Моят профил'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ bg:
|
|||||||
HELLO: Здравей!
|
HELLO: Здравей!
|
||||||
PASSWORD: Парола
|
PASSWORD: Парола
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'не е чекнато'
|
NOANSWER: 'False'
|
||||||
- чекнато
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Затвори прозореца'
|
CLOSEPOPUP: 'Затвори прозореца'
|
||||||
SUCCESSADD2: 'Беше добавен {name}'
|
SUCCESSADD2: 'Беше добавен {name}'
|
||||||
@ -88,8 +91,8 @@ bg:
|
|||||||
ComplexTableField.ss:
|
ComplexTableField.ss:
|
||||||
ADDITEM: 'Добави %s'
|
ADDITEM: 'Добави %s'
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'No items found'
|
||||||
SORTASC: Възходящ
|
SORTASC: 'Възходящ'
|
||||||
SORTDESC: Низходящ
|
SORTDESC: 'Низходящ'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: Следващо
|
NEXT: Следващо
|
||||||
PREVIOUS: Предишно
|
PREVIOUS: Предишно
|
||||||
@ -109,20 +112,21 @@ bg:
|
|||||||
PLURALNAME: 'Обекти с данни'
|
PLURALNAME: 'Обекти с данни'
|
||||||
SINGULARNAME: 'Обект с данни'
|
SINGULARNAME: 'Обект с данни'
|
||||||
Date:
|
Date:
|
||||||
DAY: ден
|
DAY: day
|
||||||
DAYS: дни
|
DAYS: days
|
||||||
HOUR: час
|
HOUR: hour
|
||||||
HOURS: часове
|
HOURS: hours
|
||||||
MIN: минута
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: минути
|
MIN: min
|
||||||
MONTH: месец
|
MINS: mins
|
||||||
MONTHS: месеци
|
MONTH: month
|
||||||
SEC: секунда
|
MONTHS: months
|
||||||
SECS: секунди
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: 'преди {difference}'
|
TIMEDIFFAGO: 'преди {difference}'
|
||||||
TIMEDIFFIN: 'за {difference}'
|
TIMEDIFFIN: 'за {difference}'
|
||||||
YEAR: година
|
YEAR: year
|
||||||
YEARS: години
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'Не нагласено'
|
NOTSET: 'Не нагласено'
|
||||||
TODAY: днес
|
TODAY: днес
|
||||||
@ -198,7 +202,8 @@ bg:
|
|||||||
TEXT2: 'адрес за рестартирване на парола'
|
TEXT2: 'адрес за рестартирване на парола'
|
||||||
TEXT3: за
|
TEXT3: за
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'нужно е %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Въведената стойност не е уникална'
|
VALIDATIONNOTUNIQUE: 'Въведената стойност не е уникална'
|
||||||
@ -208,6 +213,7 @@ bg:
|
|||||||
VALIDATOR: Валидатор
|
VALIDATOR: Валидатор
|
||||||
VALIDCURRENCY: 'Моля, въведете коректна валута.'
|
VALIDCURRENCY: 'Моля, въведете коректна валута.'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: нищо
|
NONE: нищо
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Изтриване
|
DELETE_DESCRIPTION: Изтриване
|
||||||
@ -230,6 +236,7 @@ bg:
|
|||||||
ResetFilter: Изчистване
|
ResetFilter: Изчистване
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Изтриването не е разрешено'
|
DeletePermissionsFailure: 'Изтриването не е разрешено'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Създай
|
Create: Създай
|
||||||
@ -237,7 +244,9 @@ bg:
|
|||||||
DeletePermissionsFailure: 'Изтриването не е разрешено'
|
DeletePermissionsFailure: 'Изтриването не е разрешено'
|
||||||
Deleted: 'Изтрити %s %s'
|
Deleted: 'Изтрити %s %s'
|
||||||
Save: Запис
|
Save: Запис
|
||||||
Saved: 'Съхранени %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Добавяне на роля към групата'
|
AddRole: 'Добавяне на роля към групата'
|
||||||
@ -253,7 +262,7 @@ bg:
|
|||||||
RolesAddEditLink: 'Управление на ролите'
|
RolesAddEditLink: 'Управление на ролите'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Group
|
||||||
Sort: Сортиране
|
Sort: Сортиране
|
||||||
has_many_Permissions: Разрешения
|
has_many_Permissions: 'Разрешения'
|
||||||
many_many_Members: Потребители
|
many_many_Members: Потребители
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Внасяне на една или повече групи в <em>CSV формат</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Покажи начин на употреба</a></small></p>'
|
Help1: '<p>Внасяне на една или повече групи в <em>CSV формат</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Покажи начин на употреба</a></small></p>'
|
||||||
@ -267,6 +276,7 @@ bg:
|
|||||||
ADDURL: 'Добави URL'
|
ADDURL: 'Добави URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Детайли и размери'
|
ADJUSTDETAILSDIMENSIONS: 'Детайли и размери'
|
||||||
ANCHORVALUE: Котва
|
ANCHORVALUE: Котва
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Вмъкни
|
BUTTONINSERT: Вмъкни
|
||||||
BUTTONINSERTLINK: 'Вмъкни препратка'
|
BUTTONINSERTLINK: 'Вмъкни препратка'
|
||||||
BUTTONREMOVELINK: 'Премахни препратка'
|
BUTTONREMOVELINK: 'Премахни препратка'
|
||||||
@ -288,7 +298,7 @@ bg:
|
|||||||
IMAGEALT: 'Алтернативен текст (alt)'
|
IMAGEALT: 'Алтернативен текст (alt)'
|
||||||
IMAGEALTTEXT: 'Алтернативен текст (alt) - показва се ако изображението не е заредено'
|
IMAGEALTTEXT: 'Алтернативен текст (alt) - показва се ако изображението не е заредено'
|
||||||
IMAGEALTTEXTDESC: 'Вижда се на екранните четци или ако картинката не може да бъде показана'
|
IMAGEALTTEXTDESC: 'Вижда се на екранните четци или ако картинката не може да бъде показана'
|
||||||
IMAGEDIMENSIONS: Размери
|
IMAGEDIMENSIONS: 'Размери'
|
||||||
IMAGEHEIGHTPX: Височина
|
IMAGEHEIGHTPX: Височина
|
||||||
IMAGETITLE: 'Описание (tooltip) - за допълнителна информация към изображението'
|
IMAGETITLE: 'Описание (tooltip) - за допълнителна информация към изображението'
|
||||||
IMAGETITLETEXT: 'Описание (tooltip)'
|
IMAGETITLETEXT: 'Описание (tooltip)'
|
||||||
@ -331,6 +341,9 @@ bg:
|
|||||||
PreviewButton: Преглед
|
PreviewButton: Преглед
|
||||||
REORGANISATIONSUCCESSFUL: 'Реорганизацията на дървото на сайта беше успешна.'
|
REORGANISATIONSUCCESSFUL: 'Реорганизацията на дървото на сайта беше успешна.'
|
||||||
SAVEDUP: Записано
|
SAVEDUP: Записано
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: непозната
|
VersionUnknown: непозната
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Здравей
|
Hello: Здравей
|
||||||
@ -407,6 +420,7 @@ bg:
|
|||||||
TWODIGITMONTH: 'Месец с водеща нула (01=Януари, и т.н.)'
|
TWODIGITMONTH: 'Месец с водеща нула (01=Януари, и т.н.)'
|
||||||
TWODIGITSECOND: 'Секунди с водеща нула (00 до 59)'
|
TWODIGITSECOND: 'Секунди с водеща нула (00 до 59)'
|
||||||
TWODIGITYEAR: 'Двуцифрена година'
|
TWODIGITYEAR: 'Двуцифрена година'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Внасяне на потебители в <em>CSV формат</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Покажи начин на употреба</a></small></p>'
|
Help1: '<p>Внасяне на потебители в <em>CSV формат</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Покажи начин на употреба</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ bg:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Изтрий
|
DELETE: Изтрий
|
||||||
DELETEDRECORDS: 'Бяха изтрити {count} записа.'
|
DELETEDRECORDS: 'Бяха изтрити {count} записа.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Внасяне от CSV'
|
IMPORT: 'Внасяне от CSV'
|
||||||
IMPORTEDRECORDS: 'Бяха внесени {count} записа.'
|
IMPORTEDRECORDS: 'Бяха внесени {count} записа.'
|
||||||
NOCSVFILE: 'Преглед на CSV файл за внасяне'
|
NOCSVFILE: 'Преглед на CSV файл за внасяне'
|
||||||
@ -506,16 +520,29 @@ bg:
|
|||||||
MENUTITLE: Сигурност
|
MENUTITLE: Сигурност
|
||||||
MemberListCaution: 'Внимание: изтривайки потребители от този списък, ще ги премахне от всички групи и от базата данни.'
|
MemberListCaution: 'Внимание: изтривайки потребители от този списък, ще ги премахне от всички групи и от базата данни.'
|
||||||
NEWGROUP: 'Нова група'
|
NEWGROUP: 'Нова група'
|
||||||
PERMISSIONS: Разрешения
|
PERMISSIONS: 'Разрешения'
|
||||||
ROLES: Роли
|
ROLES: 'Роли'
|
||||||
ROLESDESCRIPTION: 'Ролите са предварително зададени сетове от разрешения и могат да бъдат присвоявани на групи.<br />Ако е нужно, те се наследяват от родителските групи.'
|
ROLESDESCRIPTION: 'Ролите са предварително зададени сетове от разрешения и могат да бъдат присвоявани на групи.<br />Ако е нужно, те се наследяват от родителските групи.'
|
||||||
TABROLES: Роли
|
TABROLES: 'Роли'
|
||||||
Users: Потребители
|
Users: Потребители
|
||||||
SecurityAdmin_MemberImportForm:
|
SecurityAdmin_MemberImportForm:
|
||||||
BtnImport: 'Внасяне от CSV'
|
BtnImport: 'Внасяне от CSV'
|
||||||
FileFieldLabel: 'CSV файл <small>(разширение: *.csv)</small>'
|
FileFieldLabel: 'CSV файл <small>(разширение: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
Edit: Редакция
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
|
Edit: 'Редакция'
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Няма качени изображения'
|
NOUPLOAD: 'Няма качени изображения'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,12 +578,14 @@ bg:
|
|||||||
ATTACHFILE: 'Прикачване на файл'
|
ATTACHFILE: 'Прикачване на файл'
|
||||||
ATTACHFILES: 'Прикачване на файлове'
|
ATTACHFILES: 'Прикачване на файлове'
|
||||||
AttachFile: 'Прикачване на файл(ове)'
|
AttachFile: 'Прикачване на файл(ове)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Изтрий файла от сървъра'
|
DELETEINFO: 'Изтрий файла от сървъра'
|
||||||
DOEDIT: Запис
|
DOEDIT: Запис
|
||||||
DROPFILE: 'пуснете файл'
|
DROPFILE: 'пуснете файл'
|
||||||
DROPFILES: 'пускане на файлове'
|
DROPFILES: 'пускане на файлове'
|
||||||
Dimensions: Размери
|
Dimensions: 'Размери'
|
||||||
EDIT: Edit
|
EDIT: Edit
|
||||||
EDITINFO: 'Редактирай този файл'
|
EDITINFO: 'Редактирай този файл'
|
||||||
FIELDNOTSET: 'Информация за файла не беше намерена'
|
FIELDNOTSET: 'Информация за файла не беше намерена'
|
||||||
@ -565,12 +594,15 @@ bg:
|
|||||||
FROMFILES: 'От файлове'
|
FROMFILES: 'От файлове'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Максималния брой файлове ({count}) е надхвърлен.'
|
MAXNUMBEROFFILES: 'Максималния брой файлове ({count}) е надхвърлен.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Максималният брой файлове за качване е {count}'
|
MAXNUMBEROFFILESSHORT: 'Максималният брой файлове за качване е {count}'
|
||||||
REMOVE: Премахни
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
|
REMOVE: 'Премахни'
|
||||||
REMOVEERROR: 'Грешка при премахване на файл'
|
REMOVEERROR: 'Грешка при премахване на файл'
|
||||||
REMOVEINFO: 'Премахни файла без да го изтриваш'
|
REMOVEINFO: 'Премахни файла без да го изтриваш'
|
||||||
STARTALL: 'Старт на всички'
|
STARTALL: 'Старт на всички'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Записано
|
Saved: Записано
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Версии
|
has_many_Versions: Версии
|
||||||
|
78
lang/bs.yml
78
lang/bs.yml
@ -2,6 +2,7 @@ bs:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NoviDirektorij
|
NEWFOLDER: NoviDirektorij
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Prvo postavljeno'
|
CREATED: 'Prvo postavljeno'
|
||||||
DIM: Dimenzije
|
DIM: Dimenzije
|
||||||
@ -59,9 +60,9 @@ bs:
|
|||||||
ERRORNOTADMIN: 'Ovaj korisnik nije administrator.'
|
ERRORNOTADMIN: 'Ovaj korisnik nije administrator.'
|
||||||
ERRORNOTREC: 'Korisničko ime / šifra nije prepoznata'
|
ERRORNOTREC: 'Korisničko ime / šifra nije prepoznata'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ bs:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Snimi
|
SAVE: Snimi
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ bs:
|
|||||||
HELLO: Pozdrav
|
HELLO: Pozdrav
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ bs:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: dan
|
DAY: day
|
||||||
DAYS: dani
|
DAYS: days
|
||||||
HOUR: sat
|
HOUR: hour
|
||||||
HOURS: sati
|
HOURS: hours
|
||||||
MIN: minuta
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minute
|
MIN: min
|
||||||
MONTH: mjesec
|
MINS: mins
|
||||||
MONTHS: mjeseci
|
MONTH: month
|
||||||
SEC: sekunda
|
MONTHS: months
|
||||||
SECS: sekundi
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: godina
|
YEAR: year
|
||||||
YEARS: godine
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'nije postavljeno'
|
NOTSET: 'nije postavljeno'
|
||||||
TODAY: danas
|
TODAY: danas
|
||||||
@ -198,7 +202,8 @@ bs:
|
|||||||
TEXT2: 'link za ponovno podešavanje šifre'
|
TEXT2: 'link za ponovno podešavanje šifre'
|
||||||
TEXT3: za
|
TEXT3: za
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s je obavezno'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Unesena vrijednost nije jedinstvena'
|
VALIDATIONNOTUNIQUE: 'Unesena vrijednost nije jedinstvena'
|
||||||
@ -208,6 +213,7 @@ bs:
|
|||||||
VALIDATOR: 'Provjera ispravnosti'
|
VALIDATOR: 'Provjera ispravnosti'
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ništa
|
NONE: ništa
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ bs:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ bs:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ bs:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Sidro
|
ANCHORVALUE: Sidro
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Ubaci link'
|
BUTTONINSERTLINK: 'Ubaci link'
|
||||||
BUTTONREMOVELINK: 'Ukloni link'
|
BUTTONREMOVELINK: 'Ukloni link'
|
||||||
@ -293,7 +303,7 @@ bs:
|
|||||||
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Title text (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'For additional information about the image'
|
||||||
IMAGEWIDTHPX: Širina
|
IMAGEWIDTHPX: 'Širina'
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Insert Media'
|
||||||
LINK: Link
|
LINK: Link
|
||||||
LINKANCHOR: 'Sidro na ovoj stranici'
|
LINKANCHOR: 'Sidro na ovoj stranici'
|
||||||
@ -331,7 +341,10 @@ bs:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -365,7 +378,7 @@ bs:
|
|||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'You''re logged in as {name}.'
|
||||||
NEWPASSWORD: 'Nova šifra'
|
NEWPASSWORD: 'Nova šifra'
|
||||||
PASSWORD: Šifra
|
PASSWORD: 'Šifra'
|
||||||
PLURALNAME: Members
|
PLURALNAME: Members
|
||||||
REMEMBERME: 'Zapamti me slijedeći put'
|
REMEMBERME: 'Zapamti me slijedeći put'
|
||||||
SINGULARNAME: Member
|
SINGULARNAME: Member
|
||||||
@ -407,6 +420,7 @@ bs:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ bs:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ bs:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nijedna slika nije postavljena'
|
NOUPLOAD: 'Nijedna slika nije postavljena'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -527,7 +554,7 @@ bs:
|
|||||||
ADDITEM: 'Add %s'
|
ADDITEM: 'Add %s'
|
||||||
TableListField:
|
TableListField:
|
||||||
CSVEXPORT: 'Izvezi u CSV'
|
CSVEXPORT: 'Izvezi u CSV'
|
||||||
PRINT: Štampaj
|
PRINT: 'Štampaj'
|
||||||
Print: Print
|
Print: Print
|
||||||
SELECT: 'Select:'
|
SELECT: 'Select:'
|
||||||
TableListField.ss:
|
TableListField.ss:
|
||||||
@ -551,6 +578,8 @@ bs:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ bs:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
74
lang/ca.yml
74
lang/ca.yml
@ -2,6 +2,7 @@ ca:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NovaCarpeta
|
NEWFOLDER: NovaCarpeta
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Carregat per primer cop'
|
CREATED: 'Carregat per primer cop'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ ca:
|
|||||||
ERRORNOTADMIN: 'Aquest usuari no és un administrador.'
|
ERRORNOTADMIN: 'Aquest usuari no és un administrador.'
|
||||||
ERRORNOTREC: 'Aquest nom d''usuari / contrasenya no es reconeix'
|
ERRORNOTREC: 'Aquest nom d''usuari / contrasenya no es reconeix'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ ca:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Desa
|
SAVE: Desa
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ca:
|
|||||||
HELLO: Hola
|
HELLO: Hola
|
||||||
PASSWORD: Contrasenya
|
PASSWORD: Contrasenya
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Tanca la finestra'
|
CLOSEPOPUP: 'Tanca la finestra'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ ca:
|
|||||||
PLURALNAME: 'Objectes de dades'
|
PLURALNAME: 'Objectes de dades'
|
||||||
SINGULARNAME: 'Objecte de dades'
|
SINGULARNAME: 'Objecte de dades'
|
||||||
Date:
|
Date:
|
||||||
DAY: dia
|
DAY: day
|
||||||
DAYS: dies
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: hores
|
HOURS: hours
|
||||||
MIN: minut
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minuts
|
MIN: min
|
||||||
MONTH: mes
|
MINS: mins
|
||||||
MONTHS: mesos
|
MONTH: month
|
||||||
SEC: segon
|
MONTHS: months
|
||||||
SECS: segons
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: any
|
YEAR: year
|
||||||
YEARS: anys
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'no definit'
|
NOTSET: 'no definit'
|
||||||
TODAY: avui
|
TODAY: avui
|
||||||
@ -198,7 +202,8 @@ ca:
|
|||||||
TEXT2: 'enllaç de reinici de la contrasenya'
|
TEXT2: 'enllaç de reinici de la contrasenya'
|
||||||
TEXT3: per
|
TEXT3: per
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'Es requereix %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'El valor que heu introduït no és únic'
|
VALIDATIONNOTUNIQUE: 'El valor que heu introduït no és únic'
|
||||||
@ -208,6 +213,7 @@ ca:
|
|||||||
VALIDATOR: Validador
|
VALIDATOR: Validador
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: cap
|
NONE: cap
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ ca:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ ca:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ ca:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Ancla
|
ANCHORVALUE: Ancla
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insereix un enllaç'
|
BUTTONINSERTLINK: 'Insereix un enllaç'
|
||||||
BUTTONREMOVELINK: 'Suprimeix un enllaç'
|
BUTTONREMOVELINK: 'Suprimeix un enllaç'
|
||||||
@ -304,7 +314,7 @@ ca:
|
|||||||
LINKINTERNAL: 'Pàgina del lloc web'
|
LINKINTERNAL: 'Pàgina del lloc web'
|
||||||
LINKOPENNEWWIN: 'Obrir l''enllaç a una nova finestra?'
|
LINKOPENNEWWIN: 'Obrir l''enllaç a una nova finestra?'
|
||||||
LINKTO: 'Enllaça a'
|
LINKTO: 'Enllaça a'
|
||||||
PAGE: Pàgina
|
PAGE: 'Pàgina'
|
||||||
URL: URL
|
URL: URL
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
||||||
UpdateMEDIA: 'Update Media'
|
UpdateMEDIA: 'Update Media'
|
||||||
@ -331,7 +341,10 @@ ca:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ ca:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ ca:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Suprimeix
|
DELETE: Suprimeix
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importa de CSV'
|
IMPORT: 'Importa de CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Si us plau, cerqueu el fitxer CSV per a importar'
|
NOCSVFILE: 'Si us plau, cerqueu el fitxer CSV per a importar'
|
||||||
@ -515,7 +529,20 @@ ca:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No heu carregat cap imatge'
|
NOUPLOAD: 'No heu carregat cap imatge'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ ca:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ ca:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
74
lang/cs.yml
74
lang/cs.yml
@ -2,6 +2,7 @@ cs:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Povolené extenze'
|
ALLOWEDEXTS: 'Povolené extenze'
|
||||||
NEWFOLDER: 'Nová složka'
|
NEWFOLDER: 'Nová složka'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Poprvé nahráno'
|
CREATED: 'Poprvé nahráno'
|
||||||
DIM: Rozměry
|
DIM: Rozměry
|
||||||
@ -59,9 +60,9 @@ cs:
|
|||||||
ERRORNOTADMIN: 'Tento uživatel není administrátor.'
|
ERRORNOTADMIN: 'Tento uživatel není administrátor.'
|
||||||
ERRORNOTREC: 'Toto uživatelské jméno / heslo nebylo rozpoznáno'
|
ERRORNOTREC: 'Toto uživatelské jméno / heslo nebylo rozpoznáno'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Ne
|
|
||||||
ANY: Jakkýkoliv
|
ANY: Jakkýkoliv
|
||||||
1: Ano
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Nahrávání...
|
LOADING: Nahrávání...
|
||||||
REQUIREJS: 'CMS vyžaduje, aby jste měli JavaScript zapnut.'
|
REQUIREJS: 'CMS vyžaduje, aby jste měli JavaScript zapnut.'
|
||||||
@ -70,6 +71,8 @@ cs:
|
|||||||
ACCESSALLINTERFACES: 'Přístup ke všem sekcím CMS'
|
ACCESSALLINTERFACES: 'Přístup ke všem sekcím CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Prepíše více specifické nastavení přístupu.'
|
ACCESSALLINTERFACESHELP: 'Prepíše více specifické nastavení přístupu.'
|
||||||
SAVE: Uložit
|
SAVE: Uložit
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Můj profil'
|
MENUTITLE: 'Můj profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ cs:
|
|||||||
HELLO: 'Dobrý den'
|
HELLO: 'Dobrý den'
|
||||||
PASSWORD: Heslo
|
PASSWORD: Heslo
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Ne
|
NOANSWER: 'False'
|
||||||
- Ano
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: Zavřít
|
CLOSEPOPUP: Zavřít
|
||||||
SUCCESSADD2: 'Přidáno {name}'
|
SUCCESSADD2: 'Přidáno {name}'
|
||||||
@ -109,20 +112,21 @@ cs:
|
|||||||
PLURALNAME: 'Datové objekty'
|
PLURALNAME: 'Datové objekty'
|
||||||
SINGULARNAME: 'Datový objekt'
|
SINGULARNAME: 'Datový objekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: den
|
DAY: day
|
||||||
DAYS: dny
|
DAYS: days
|
||||||
HOUR: hodina
|
HOUR: hour
|
||||||
HOURS: hodiny
|
HOURS: hours
|
||||||
MIN: minuta
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minuty
|
MIN: min
|
||||||
MONTH: měsíc
|
MINS: mins
|
||||||
MONTHS: měsíce
|
MONTH: month
|
||||||
SEC: sekunda
|
MONTHS: months
|
||||||
SECS: sekundy
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: 'před {difference}'
|
TIMEDIFFAGO: 'před {difference}'
|
||||||
TIMEDIFFIN: 'v {difference}'
|
TIMEDIFFIN: 'v {difference}'
|
||||||
YEAR: rok
|
YEAR: year
|
||||||
YEARS: roky
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: nenastaveno
|
NOTSET: nenastaveno
|
||||||
TODAY: dnes
|
TODAY: dnes
|
||||||
@ -198,7 +202,8 @@ cs:
|
|||||||
TEXT2: 'odkaz na reset hesla'
|
TEXT2: 'odkaz na reset hesla'
|
||||||
TEXT3: pro
|
TEXT3: pro
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s je požadováno.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Jdi
|
SubmitBtnLabel: Jdi
|
||||||
VALIDATIONCREDITNUMBER: 'Prosím ujistěte se, že jste zadal/a {number} číslo kreditní karty správně'
|
VALIDATIONCREDITNUMBER: 'Prosím ujistěte se, že jste zadal/a {number} číslo kreditní karty správně'
|
||||||
VALIDATIONNOTUNIQUE: 'Zadaná hodnota není unikátní'
|
VALIDATIONNOTUNIQUE: 'Zadaná hodnota není unikátní'
|
||||||
@ -208,6 +213,7 @@ cs:
|
|||||||
VALIDATOR: Validátor
|
VALIDATOR: Validátor
|
||||||
VALIDCURRENCY: 'Prosím zadejte platnou měnu'
|
VALIDCURRENCY: 'Prosím zadejte platnou měnu'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: žádný
|
NONE: žádný
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Smazat
|
DELETE_DESCRIPTION: Smazat
|
||||||
@ -230,6 +236,7 @@ cs:
|
|||||||
ResetFilter: Resetovat
|
ResetFilter: Resetovat
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Žádná oprávnění mazat'
|
DeletePermissionsFailure: 'Žádná oprávnění mazat'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Storno
|
CancelBtn: Storno
|
||||||
Create: Vytvořit
|
Create: Vytvořit
|
||||||
@ -237,7 +244,9 @@ cs:
|
|||||||
DeletePermissionsFailure: 'Žádná oprávnění mazat'
|
DeletePermissionsFailure: 'Žádná oprávnění mazat'
|
||||||
Deleted: 'Smazáno %s %s'
|
Deleted: 'Smazáno %s %s'
|
||||||
Save: Uložit
|
Save: Uložit
|
||||||
Saved: 'Uloženo %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Přidat roli pro tuto skupinu'
|
AddRole: 'Přidat roli pro tuto skupinu'
|
||||||
@ -267,6 +276,7 @@ cs:
|
|||||||
ADDURL: 'Přidat URL'
|
ADDURL: 'Přidat URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozměry'
|
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozměry'
|
||||||
ANCHORVALUE: 'Záložka (kotva)'
|
ANCHORVALUE: 'Záložka (kotva)'
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Vložit
|
BUTTONINSERT: Vložit
|
||||||
BUTTONINSERTLINK: 'Vložit odkaz'
|
BUTTONINSERTLINK: 'Vložit odkaz'
|
||||||
BUTTONREMOVELINK: 'Odstranit odkaz'
|
BUTTONREMOVELINK: 'Odstranit odkaz'
|
||||||
@ -293,7 +303,7 @@ cs:
|
|||||||
IMAGETITLE: 'Titul text (tooltip) - další informace o obrázku'
|
IMAGETITLE: 'Titul text (tooltip) - další informace o obrázku'
|
||||||
IMAGETITLETEXT: 'Titulek textu (tooltip)'
|
IMAGETITLETEXT: 'Titulek textu (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'Pro další informace o obrázku'
|
IMAGETITLETEXTDESC: 'Pro další informace o obrázku'
|
||||||
IMAGEWIDTHPX: Šířka
|
IMAGEWIDTHPX: 'Šířka'
|
||||||
INSERTMEDIA: 'Vložit média'
|
INSERTMEDIA: 'Vložit média'
|
||||||
LINK: 'Vložit nebo upravit odkaz'
|
LINK: 'Vložit nebo upravit odkaz'
|
||||||
LINKANCHOR: 'Záložka (kotva) na stránce'
|
LINKANCHOR: 'Záložka (kotva) na stránce'
|
||||||
@ -331,7 +341,10 @@ cs:
|
|||||||
PreviewButton: Náhled
|
PreviewButton: Náhled
|
||||||
REORGANISATIONSUCCESSFUL: 'Strom webu reorganizován úspěšně.'
|
REORGANISATIONSUCCESSFUL: 'Strom webu reorganizován úspěšně.'
|
||||||
SAVEDUP: Uloženo.
|
SAVEDUP: Uloženo.
|
||||||
VersionUnknown: neznáme
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Ahoj
|
Hello: Ahoj
|
||||||
LOGOUT: 'Odhlásit se'
|
LOGOUT: 'Odhlásit se'
|
||||||
@ -407,6 +420,7 @@ cs:
|
|||||||
TWODIGITMONTH: 'Dvojčíslí měsíce (01=Leden, atď.)'
|
TWODIGITMONTH: 'Dvojčíslí měsíce (01=Leden, atď.)'
|
||||||
TWODIGITSECOND: 'Dvojčíslí vteřiny (00 až 59)'
|
TWODIGITSECOND: 'Dvojčíslí vteřiny (00 až 59)'
|
||||||
TWODIGITYEAR: 'Dvojčíslí roku'
|
TWODIGITYEAR: 'Dvojčíslí roku'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import členů v <em>CSV formátu</em> (čárkou-oddělené hodnoty). <small><a href="#" class="toggle-advanced">Zobrazit rozšířené použití</a></small></p>'
|
Help1: '<p>Import členů v <em>CSV formátu</em> (čárkou-oddělené hodnoty). <small><a href="#" class="toggle-advanced">Zobrazit rozšířené použití</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Pokročilé použití</h4>\\n<ul>\\n<li>Povolené sloupce: <em>%s</em></li>\\n<li>Existující uživatelé jsou porovnáni jejich unikátní vlastností <em>Code</em>, a aktualizováni s novými hodnotami z importovaného souboru.</li>\\n<li>Skupiny mohou být přiřazeny sloupcem <em>Groups</em>. Skupiny jsou identifikovány svojí vlastností <em>Code</em>, více skupin může být odděleno čárkou. Existující členství ve skupině nejsou smazána.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Pokročilé použití</h4>\\n<ul>\\n<li>Povolené sloupce: <em>%s</em></li>\\n<li>Existující uživatelé jsou porovnáni jejich unikátní vlastností <em>Code</em>, a aktualizováni s novými hodnotami z importovaného souboru.</li>\\n<li>Skupiny mohou být přiřazeny sloupcem <em>Groups</em>. Skupiny jsou identifikovány svojí vlastností <em>Code</em>, více skupin může být odděleno čárkou. Existující členství ve skupině nejsou smazána.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ cs:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Smazat
|
DELETE: Smazat
|
||||||
DELETEDRECORDS: 'Smazáno {count} záznamů.'
|
DELETEDRECORDS: 'Smazáno {count} záznamů.'
|
||||||
EMPTYBEFOREIMPORT: 'Vyčistit databázi před importováním'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importovat ze souboru CSV'
|
IMPORT: 'Importovat ze souboru CSV'
|
||||||
IMPORTEDRECORDS: 'Importováno {count} záznamů.'
|
IMPORTEDRECORDS: 'Importováno {count} záznamů.'
|
||||||
NOCSVFILE: 'Prosím, vyhledejte soubor CSV pro import'
|
NOCSVFILE: 'Prosím, vyhledejte soubor CSV pro import'
|
||||||
@ -515,7 +529,20 @@ cs:
|
|||||||
BtnImport: Import
|
BtnImport: Import
|
||||||
FileFieldLabel: 'Soubor CSV <small>(Povoleny přípony: *.csv)</small>'
|
FileFieldLabel: 'Soubor CSV <small>(Povoleny přípony: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Editovat
|
Edit: Editovat
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nebyl nahrán žádný obrázek'
|
NOUPLOAD: 'Nebyl nahrán žádný obrázek'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ cs:
|
|||||||
ATTACHFILE: 'Připojit soubor'
|
ATTACHFILE: 'Připojit soubor'
|
||||||
ATTACHFILES: 'Připojit soubory'
|
ATTACHFILES: 'Připojit soubory'
|
||||||
AttachFile: 'Připojit soubor(y)'
|
AttachFile: 'Připojit soubor(y)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Smazat ze souborů'
|
DELETE: 'Smazat ze souborů'
|
||||||
DELETEINFO: 'Trvale odstranit tento soubor z úložiště souborů'
|
DELETEINFO: 'Trvale odstranit tento soubor z úložiště souborů'
|
||||||
DOEDIT: Uložit
|
DOEDIT: Uložit
|
||||||
@ -565,12 +594,15 @@ cs:
|
|||||||
FROMFILES: 'Ze souborů'
|
FROMFILES: 'Ze souborů'
|
||||||
HOTLINKINFO: 'Info: Tento obrázek bude "hotlinkován". Ujistěte se prosím, že máte oprávnění od původního tvůrce webu, aby se tak stalo.'
|
HOTLINKINFO: 'Info: Tento obrázek bude "hotlinkován". Ujistěte se prosím, že máte oprávnění od původního tvůrce webu, aby se tak stalo.'
|
||||||
MAXNUMBEROFFILES: 'Maximální počet {count} soubor(ů) překročen.'
|
MAXNUMBEROFFILES: 'Maximální počet {count} soubor(ů) překročen.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Můžete nahrát pouze {count} souborů'
|
MAXNUMBEROFFILESSHORT: 'Můžete nahrát pouze {count} souborů'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Odstranit
|
REMOVE: Odstranit
|
||||||
REMOVEERROR: 'Chyba odstranění souboru'
|
REMOVEERROR: 'Chyba odstranění souboru'
|
||||||
REMOVEINFO: 'Odtranit tento soubor odsud, ale nesmazat ho z úložiště souborů'
|
REMOVEINFO: 'Odtranit tento soubor odsud, ale nesmazat ho z úložiště souborů'
|
||||||
STARTALL: 'Začni vše'
|
STARTALL: 'Začni vše'
|
||||||
STARTALLINFO: 'Začni vše nahrávat'
|
STARTALLINFO: 'Začni vše nahrávat'
|
||||||
Saved: Uloženo
|
Saved: Uloženo
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Verze
|
has_many_Versions: Verze
|
||||||
|
72
lang/da.yml
72
lang/da.yml
@ -2,6 +2,7 @@ da:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Ny mappe'
|
NEWFOLDER: 'Ny mappe'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Først uploadet'
|
CREATED: 'Først uploadet'
|
||||||
DIM: Dimensioner
|
DIM: Dimensioner
|
||||||
@ -59,9 +60,9 @@ da:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ da:
|
|||||||
ACCESSALLINTERFACES: 'Adgang til alle CMS grænseflader'
|
ACCESSALLINTERFACES: 'Adgang til alle CMS grænseflader'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Gem
|
SAVE: Gem
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ da:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Luk popup'
|
CLOSEPOPUP: 'Luk popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ da:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: ' mins'
|
MIN: min
|
||||||
MONTH: ' month'
|
MINS: mins
|
||||||
MONTHS: ' months'
|
MONTH: month
|
||||||
SEC: ' sec'
|
MONTHS: months
|
||||||
SECS: ' secs'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ da:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ da:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ da:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ da:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ da:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ da:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ da:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ da:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Slet
|
DELETE: Slet
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importer fra CSV'
|
IMPORT: 'Importer fra CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Tryk på Gennemse for at vælge en CSVfil til importering'
|
NOCSVFILE: 'Tryk på Gennemse for at vælge en CSVfil til importering'
|
||||||
@ -515,7 +529,20 @@ da:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ da:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ da:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
72
lang/de.yml
72
lang/de.yml
@ -2,6 +2,7 @@ de:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Neuer Ordner'
|
NEWFOLDER: 'Neuer Ordner'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Erstmalig hochgeladen'
|
CREATED: 'Erstmalig hochgeladen'
|
||||||
DIM: Dimensionen
|
DIM: Dimensionen
|
||||||
@ -59,9 +60,9 @@ de:
|
|||||||
ERRORNOTADMIN: 'Dieser Nutzer ist kein Administrator'
|
ERRORNOTADMIN: 'Dieser Nutzer ist kein Administrator'
|
||||||
ERRORNOTREC: 'Dieser/s Nutzername/Passwort wurde nicht erkannt'
|
ERRORNOTREC: 'Dieser/s Nutzername/Passwort wurde nicht erkannt'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Nein
|
|
||||||
ANY: alle
|
ANY: alle
|
||||||
1: Ja
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Lade Daten ...'
|
LOADING: 'Lade Daten ...'
|
||||||
REQUIREJS: 'Für die Benutzung des CMS wird JavaScript benötigt.'
|
REQUIREJS: 'Für die Benutzung des CMS wird JavaScript benötigt.'
|
||||||
@ -70,6 +71,8 @@ de:
|
|||||||
ACCESSALLINTERFACES: 'Zugriff auf alle Bereiche des CMS'
|
ACCESSALLINTERFACES: 'Zugriff auf alle Bereiche des CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Hebt alle bereichspezifischen Berechtigungen auf.'
|
ACCESSALLINTERFACESHELP: 'Hebt alle bereichspezifischen Berechtigungen auf.'
|
||||||
SAVE: Speichern
|
SAVE: Speichern
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Mein Profil'
|
MENUTITLE: 'Mein Profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ de:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Passwort
|
PASSWORD: Passwort
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Nein
|
NOANSWER: 'False'
|
||||||
- Ja
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Popup schließen'
|
CLOSEPOPUP: 'Popup schließen'
|
||||||
SUCCESSADD2: '{name} hinzugefügt'
|
SUCCESSADD2: '{name} hinzugefügt'
|
||||||
@ -109,20 +112,21 @@ de:
|
|||||||
PLURALNAME: DataObjects
|
PLURALNAME: DataObjects
|
||||||
SINGULARNAME: DataObject
|
SINGULARNAME: DataObject
|
||||||
Date:
|
Date:
|
||||||
DAY: Tag
|
DAY: day
|
||||||
DAYS: Tage
|
DAYS: days
|
||||||
HOUR: Stunde
|
HOUR: hour
|
||||||
HOURS: Stunden
|
HOURS: hours
|
||||||
MIN: Minuten
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: Minuten
|
MIN: min
|
||||||
MONTH: Monat
|
MINS: mins
|
||||||
MONTHS: Monat
|
MONTH: month
|
||||||
SEC: Sekunden
|
MONTHS: months
|
||||||
SECS: Sekunden
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: 'vor {difference}'
|
TIMEDIFFAGO: 'vor {difference}'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: Jahr
|
YEAR: year
|
||||||
YEARS: Jahre
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'nicht gesetzt'
|
NOTSET: 'nicht gesetzt'
|
||||||
TODAY: heute
|
TODAY: heute
|
||||||
@ -198,7 +202,8 @@ de:
|
|||||||
TEXT2: 'Link zum Zurücksetzen des Passworts'
|
TEXT2: 'Link zum Zurücksetzen des Passworts'
|
||||||
TEXT3: für
|
TEXT3: für
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s wird benötigt'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Los
|
SubmitBtnLabel: Los
|
||||||
VALIDATIONCREDITNUMBER: 'Bitte stellen Sie sicher, dass Sie die Kreditkartennummer ({number}) korrekt eingegeben haben'
|
VALIDATIONCREDITNUMBER: 'Bitte stellen Sie sicher, dass Sie die Kreditkartennummer ({number}) korrekt eingegeben haben'
|
||||||
VALIDATIONNOTUNIQUE: 'Der eingegebene Wert ist nicht einzigartig'
|
VALIDATIONNOTUNIQUE: 'Der eingegebene Wert ist nicht einzigartig'
|
||||||
@ -208,6 +213,7 @@ de:
|
|||||||
VALIDATOR: Prüfer
|
VALIDATOR: Prüfer
|
||||||
VALIDCURRENCY: 'Bitte geben Sie einen korrekten Betrag ein'
|
VALIDCURRENCY: 'Bitte geben Sie einen korrekten Betrag ein'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: keine
|
NONE: keine
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Löschen
|
DELETE_DESCRIPTION: Löschen
|
||||||
@ -230,6 +236,7 @@ de:
|
|||||||
ResetFilter: Zurücksetzen
|
ResetFilter: Zurücksetzen
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Keine Berechtigung zum Löschen'
|
DeletePermissionsFailure: 'Keine Berechtigung zum Löschen'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Abbrechen
|
CancelBtn: Abbrechen
|
||||||
Create: Erstellen
|
Create: Erstellen
|
||||||
@ -237,7 +244,9 @@ de:
|
|||||||
DeletePermissionsFailure: 'Keine Berechtigungen zum löschen'
|
DeletePermissionsFailure: 'Keine Berechtigungen zum löschen'
|
||||||
Deleted: 'Gelöscht %s %s'
|
Deleted: 'Gelöscht %s %s'
|
||||||
Save: Speichern
|
Save: Speichern
|
||||||
Saved: 'Gespeichert %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Rolle für die Gruppe hinzufügen'
|
AddRole: 'Rolle für die Gruppe hinzufügen'
|
||||||
@ -267,6 +276,7 @@ de:
|
|||||||
ADDURL: 'URL hinzufügen'
|
ADDURL: 'URL hinzufügen'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & Dimensionen'
|
ADJUSTDETAILSDIMENSIONS: 'Details & Dimensionen'
|
||||||
ANCHORVALUE: Anker
|
ANCHORVALUE: Anker
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Einfügen
|
BUTTONINSERT: Einfügen
|
||||||
BUTTONINSERTLINK: 'Verweis einfügen'
|
BUTTONINSERTLINK: 'Verweis einfügen'
|
||||||
BUTTONREMOVELINK: 'Verweise entfernen'
|
BUTTONREMOVELINK: 'Verweise entfernen'
|
||||||
@ -331,7 +341,10 @@ de:
|
|||||||
PreviewButton: Vorschau
|
PreviewButton: Vorschau
|
||||||
REORGANISATIONSUCCESSFUL: 'Der Seitenbaum wurde erfolgreich sortiert.'
|
REORGANISATIONSUCCESSFUL: 'Der Seitenbaum wurde erfolgreich sortiert.'
|
||||||
SAVEDUP: Gespeichert.
|
SAVEDUP: Gespeichert.
|
||||||
VersionUnknown: Unbekannt
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: unbekannt
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: Ausloggen
|
LOGOUT: Ausloggen
|
||||||
@ -407,6 +420,7 @@ de:
|
|||||||
TWODIGITMONTH: 'Monat mit führender Null (z.B. 01 = Januar, usw.)'
|
TWODIGITMONTH: 'Monat mit führender Null (z.B. 01 = Januar, usw.)'
|
||||||
TWODIGITSECOND: Sekunde
|
TWODIGITSECOND: Sekunde
|
||||||
TWODIGITYEAR: 'Zweistellige Jahreszahl'
|
TWODIGITYEAR: 'Zweistellige Jahreszahl'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Mitglieder im <em>CSV</em>-Format (kommaseparierte Werte) importieren. <small><a href="#" class="toggle-advanced">Erweiterte Nutzung</a></small></p>'
|
Help1: '<p>Mitglieder im <em>CSV</em>-Format (kommaseparierte Werte) importieren. <small><a href="#" class="toggle-advanced">Erweiterte Nutzung</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Erweiterte Benutzung</h4>\\n<ul>\\n<li>Gültige Spalten: <em>%s</em></li>\\n<li>Bereits existierende Benutzer werden anhand ihres eindeutigen <em>Code</em> identifiziert und um neue Einträge aus der Importdatei erweitert.</li>\\n<li>Gruppen können in der Spalte <em>Gruppen</em> hinzugefügt werden. Gruppen werden anhand ihres <em>Code</em> erkannt. Mehrere Gruppen werden Komma-separiert eingetragen. Schon zugewiesene Gruppen werden nicht entfernt.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Erweiterte Benutzung</h4>\\n<ul>\\n<li>Gültige Spalten: <em>%s</em></li>\\n<li>Bereits existierende Benutzer werden anhand ihres eindeutigen <em>Code</em> identifiziert und um neue Einträge aus der Importdatei erweitert.</li>\\n<li>Gruppen können in der Spalte <em>Gruppen</em> hinzugefügt werden. Gruppen werden anhand ihres <em>Code</em> erkannt. Mehrere Gruppen werden Komma-separiert eingetragen. Schon zugewiesene Gruppen werden nicht entfernt.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ de:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Löschen
|
DELETE: Löschen
|
||||||
DELETEDRECORDS: '{count} Datensätze wurden gelöscht.'
|
DELETEDRECORDS: '{count} Datensätze wurden gelöscht.'
|
||||||
EMPTYBEFOREIMPORT: 'Datenbank vor Import leeren'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'CSV Import'
|
IMPORT: 'CSV Import'
|
||||||
IMPORTEDRECORDS: '{count} Datensätze wurden importiert.'
|
IMPORTEDRECORDS: '{count} Datensätze wurden importiert.'
|
||||||
NOCSVFILE: 'Wählen Sie eine CSV-Datei zum Importieren'
|
NOCSVFILE: 'Wählen Sie eine CSV-Datei zum Importieren'
|
||||||
@ -515,7 +529,20 @@ de:
|
|||||||
BtnImport: Import
|
BtnImport: Import
|
||||||
FileFieldLabel: 'CSV Datei <small>(Erlaubte Dateierweiterung: *.csv)</small>'
|
FileFieldLabel: 'CSV Datei <small>(Erlaubte Dateierweiterung: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Bearbeiten
|
Edit: Bearbeiten
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Es wurde kein Bild hochgeladen'
|
NOUPLOAD: 'Es wurde kein Bild hochgeladen'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ de:
|
|||||||
ATTACHFILE: 'Datei anhängen'
|
ATTACHFILE: 'Datei anhängen'
|
||||||
ATTACHFILES: 'Dateien anhängen'
|
ATTACHFILES: 'Dateien anhängen'
|
||||||
AttachFile: 'Dateien anhängen'
|
AttachFile: 'Dateien anhängen'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Aus Dateien löschen'
|
DELETE: 'Aus Dateien löschen'
|
||||||
DELETEINFO: 'Löscht die Datei dauerhaft aus dem Dateisystem'
|
DELETEINFO: 'Löscht die Datei dauerhaft aus dem Dateisystem'
|
||||||
DOEDIT: Speichern
|
DOEDIT: Speichern
|
||||||
@ -565,12 +594,15 @@ de:
|
|||||||
FROMFILES: 'Von "Dateien"'
|
FROMFILES: 'Von "Dateien"'
|
||||||
HOTLINKINFO: 'Info: Dieses Bild wird verknüpft. Bitte vergewissere dich die Erlaubnis des Inhabers der Ursprungsseite zu haben.'
|
HOTLINKINFO: 'Info: Dieses Bild wird verknüpft. Bitte vergewissere dich die Erlaubnis des Inhabers der Ursprungsseite zu haben.'
|
||||||
MAXNUMBEROFFILES: 'Maximale Anzahl an {count} Datei(en) überschritten'
|
MAXNUMBEROFFILES: 'Maximale Anzahl an {count} Datei(en) überschritten'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'SIe können maximal {count} Datei(en) hochladen'
|
MAXNUMBEROFFILESSHORT: 'SIe können maximal {count} Datei(en) hochladen'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Entfernen
|
REMOVE: Entfernen
|
||||||
REMOVEERROR: 'Fehler beim Entfernen der Datei'
|
REMOVEERROR: 'Fehler beim Entfernen der Datei'
|
||||||
REMOVEINFO: 'Entfernt die Datei von hier, löscht Sie aber nicht aus dem Dateisystem.'
|
REMOVEINFO: 'Entfernt die Datei von hier, löscht Sie aber nicht aus dem Dateisystem.'
|
||||||
STARTALL: 'Alle starten'
|
STARTALL: 'Alle starten'
|
||||||
STARTALLINFO: 'Alle Uploads starten'
|
STARTALLINFO: 'Alle Uploads starten'
|
||||||
Saved: Gespeichert
|
Saved: Gespeichert
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versionen
|
has_many_Versions: Versionen
|
||||||
|
74
lang/el.yml
74
lang/el.yml
@ -2,6 +2,7 @@ el:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ el:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -69,7 +70,9 @@ el:
|
|||||||
ACCESS: 'Access to ''{title}'' section'
|
ACCESS: 'Access to ''{title}'' section'
|
||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Αποθήκευση
|
SAVE: 'Αποθήκευση'
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ el:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ el:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: ' mins'
|
MIN: min
|
||||||
MONTH: ' month'
|
MINS: mins
|
||||||
MONTHS: ' months'
|
MONTH: month
|
||||||
SEC: ' sec'
|
MONTHS: months
|
||||||
SECS: ' secs'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ el:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ el:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ el:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ el:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ el:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ el:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ el:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ el:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ el:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ el:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ el:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
63
lang/en.yml
63
lang/en.yml
@ -2,6 +2,7 @@ en:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -109,20 +110,21 @@ en:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
MIN: min
|
||||||
MINS: ' mins'
|
MINS: mins
|
||||||
MONTH: ' month'
|
MONTH: month
|
||||||
MONTHS: ' months'
|
MONTHS: months
|
||||||
SEC: ' sec'
|
SEC: sec
|
||||||
SECS: ' secs'
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +200,7 @@ en:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -207,8 +209,10 @@ en:
|
|||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
FormField:
|
FormField:
|
||||||
NONE: none
|
NONE: none
|
||||||
|
Example: 'e.g. %s'
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
Delete: Delete
|
Delete: Delete
|
||||||
@ -230,6 +234,7 @@ en:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +242,7 @@ en:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
GridFieldItemEditView.ss:
|
GridFieldItemEditView.ss:
|
||||||
'Go back': 'Go back'
|
'Go back': 'Go back'
|
||||||
Group:
|
Group:
|
||||||
@ -309,6 +314,7 @@ en:
|
|||||||
URL: URL
|
URL: URL
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
||||||
UpdateMEDIA: 'Update Media'
|
UpdateMEDIA: 'Update Media'
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
Image:
|
Image:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Files
|
||||||
SINGULARNAME: File
|
SINGULARNAME: File
|
||||||
@ -332,7 +338,10 @@ en:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
VersionUnknown: Unknown
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +416,7 @@ en:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\n <h4>Advanced usage</h4>\n <ul>\n <li>Allowed columns: <em>%s</em></li>\n <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from\n the imported file.</li>\n <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property,\n multiple groups can be separated by comma. Existing group memberships are not cleared.</li>\n </ul>\n</div>"
|
Help2: "<div class=\"advanced\">\n <h4>Advanced usage</h4>\n <ul>\n <li>Allowed columns: <em>%s</em></li>\n <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from\n the imported file.</li>\n <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property,\n multiple groups can be separated by comma. Existing group memberships are not cleared.</li>\n </ul>\n</div>"
|
||||||
@ -422,7 +432,7 @@ en:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -517,6 +527,19 @@ en:
|
|||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -574,5 +597,13 @@ en:
|
|||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
|
@ -2,6 +2,7 @@ en_GB:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ en_GB:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ en_GB:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ en_GB:
|
|||||||
HELLO: Hello
|
HELLO: Hello
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -113,10 +116,11 @@ en_GB:
|
|||||||
DAYS: days
|
DAYS: days
|
||||||
HOUR: hour
|
HOUR: hour
|
||||||
HOURS: hours
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: mins
|
MINS: mins
|
||||||
MONTH: month
|
MONTH: month
|
||||||
MONTHS: ' months'
|
MONTHS: months
|
||||||
SEC: sec
|
SEC: sec
|
||||||
SECS: secs
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
@ -198,7 +202,8 @@ en_GB:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ en_GB:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ en_GB:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ en_GB:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ en_GB:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ en_GB:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ en_GB:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ en_GB:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ en_GB:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ en_GB:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,13 +594,15 @@ en_GB:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
|
||||||
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
70
lang/eo.yml
70
lang/eo.yml
@ -2,6 +2,7 @@ eo:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Unue alŝutita'
|
CREATED: 'Unue alŝutita'
|
||||||
DIM: Dimensioj
|
DIM: Dimensioj
|
||||||
@ -59,9 +60,9 @@ eo:
|
|||||||
ERRORNOTADMIN: 'Tiu uzanto ne estas administranto.'
|
ERRORNOTADMIN: 'Tiu uzanto ne estas administranto.'
|
||||||
ERRORNOTREC: 'Kiuj salutnomo / pasvorto ne estas rekonebla'
|
ERRORNOTREC: 'Kiuj salutnomo / pasvorto ne estas rekonebla'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Ne
|
|
||||||
ANY: Ajna
|
ANY: Ajna
|
||||||
1: Jes
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ eo:
|
|||||||
ACCESSALLINTERFACES: 'Aliro al ĉiuj interfacoj de CMS'
|
ACCESSALLINTERFACES: 'Aliro al ĉiuj interfacoj de CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Nuligas pli specifajn alirajn agordojn.'
|
ACCESSALLINTERFACESHELP: 'Nuligas pli specifajn alirajn agordojn.'
|
||||||
SAVE: Konservi
|
SAVE: Konservi
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ eo:
|
|||||||
HELLO: Saluton
|
HELLO: Saluton
|
||||||
PASSWORD: Pasvorto
|
PASSWORD: Pasvorto
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Ne
|
NOANSWER: 'False'
|
||||||
- Jes
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Fermi Ŝprucfenestron'
|
CLOSEPOPUP: 'Fermi Ŝprucfenestron'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ eo:
|
|||||||
PLURALNAME: 'Datumaj Objektoj'
|
PLURALNAME: 'Datumaj Objektoj'
|
||||||
SINGULARNAME: 'Datuma Objekto'
|
SINGULARNAME: 'Datuma Objekto'
|
||||||
Date:
|
Date:
|
||||||
DAY: tago
|
DAY: day
|
||||||
DAYS: tagoj
|
DAYS: days
|
||||||
HOUR: horo
|
HOUR: hour
|
||||||
HOURS: horoj
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: minutoj
|
MINS: mins
|
||||||
MONTH: monato
|
MONTH: month
|
||||||
MONTHS: monatoj
|
MONTHS: months
|
||||||
SEC: sek
|
SEC: sec
|
||||||
SECS: sekundoj
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: jaro
|
YEAR: year
|
||||||
YEARS: jaroj
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'ne agordita'
|
NOTSET: 'ne agordita'
|
||||||
TODAY: hodiaŭ
|
TODAY: hodiaŭ
|
||||||
@ -198,7 +202,8 @@ eo:
|
|||||||
TEXT2: 'pasvorta reagorda ligilo'
|
TEXT2: 'pasvorta reagorda ligilo'
|
||||||
TEXT3: por
|
TEXT3: por
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s estas postulita'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'La enirita valoron ne unika'
|
VALIDATIONNOTUNIQUE: 'La enirita valoron ne unika'
|
||||||
@ -208,6 +213,7 @@ eo:
|
|||||||
VALIDATOR: Validigilo
|
VALIDATOR: Validigilo
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: neniu
|
NONE: neniu
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ eo:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ eo:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ eo:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Ankri
|
ANCHORVALUE: Ankri
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Almeti ligilon'
|
BUTTONINSERTLINK: 'Almeti ligilon'
|
||||||
BUTTONREMOVELINK: 'Forigi ligilon'
|
BUTTONREMOVELINK: 'Forigi ligilon'
|
||||||
@ -331,7 +341,10 @@ eo:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ eo:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Gravaj membroj en <em>CSV-formato</em> (perkome disigitaj valoroj ). <small><a href="#" class="toggle-advanced">Vidigi spertulan uzadon</a></small></p>'
|
Help1: '<p>Gravaj membroj en <em>CSV-formato</em> (perkome disigitaj valoroj ). <small><a href="#" class="toggle-advanced">Vidigi spertulan uzadon</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ eo:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Forigi
|
DELETE: Forigi
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importi el CSV'
|
IMPORT: 'Importi el CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Bonvolu foliumi por CSV-dosiero importota'
|
NOCSVFILE: 'Bonvolu foliumi por CSV-dosiero importota'
|
||||||
@ -515,7 +529,20 @@ eo:
|
|||||||
BtnImport: Importi
|
BtnImport: Importi
|
||||||
FileFieldLabel: 'CSV-dosiero <small>(Permesitaj sufiksoj: *.csv)</small>'
|
FileFieldLabel: 'CSV-dosiero <small>(Permesitaj sufiksoj: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Neniu Bildo Alŝutita'
|
NOUPLOAD: 'Neniu Bildo Alŝutita'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ eo:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ eo:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versioj
|
has_many_Versions: Versioj
|
||||||
|
624
lang/es.yml
624
lang/es.yml
@ -1,12 +1,13 @@
|
|||||||
es:
|
es:
|
||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Extensiones permitidas'
|
||||||
NEWFOLDER: NuevaCarpeta
|
NEWFOLDER: NuevaCarpeta
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Agregado por primera vez'
|
CREATED: 'Agregado por primera vez'
|
||||||
DIM: Dimensiones
|
DIM: Dimensiones
|
||||||
FILENAME: 'Nombre del archivo'
|
FILENAME: 'Nombre del archivo'
|
||||||
FOLDER: Folder
|
FOLDER: Carpeta
|
||||||
LASTEDIT: 'Modificado por última vez'
|
LASTEDIT: 'Modificado por última vez'
|
||||||
OWNER: Propietario
|
OWNER: Propietario
|
||||||
SIZE: Tamaño
|
SIZE: Tamaño
|
||||||
@ -14,19 +15,19 @@ es:
|
|||||||
TYPE: Tipo
|
TYPE: Tipo
|
||||||
URL: URL
|
URL: URL
|
||||||
AssetUploadField:
|
AssetUploadField:
|
||||||
ChooseFiles: 'Choose files'
|
ChooseFiles: 'Seleccione los archivos'
|
||||||
DRAGFILESHERE: 'Drag files here'
|
DRAGFILESHERE: 'Arrastre los archivos aqui'
|
||||||
DROPAREA: 'Drop Area'
|
DROPAREA: 'Area para soltar ficheros'
|
||||||
EDITALL: 'Edit all'
|
EDITALL: 'Editar todo'
|
||||||
EDITANDORGANIZE: 'Edit & organize'
|
EDITANDORGANIZE: 'Editar y organizar'
|
||||||
EDITINFO: 'Edit files'
|
EDITINFO: 'Editar archivos'
|
||||||
FILES: Files
|
FILES: Archivos
|
||||||
FROMCOMPUTER: 'Choose files from your computer'
|
FROMCOMPUTER: 'Seleccione los archivos desde su ordenador'
|
||||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
FROMCOMPUTERINFO: 'Subir archivos desde tu ordenador'
|
||||||
TOTAL: Total
|
TOTAL: Total
|
||||||
TOUPLOAD: 'Choose files to upload...'
|
TOUPLOAD: 'Seleccione los archivos a subir...'
|
||||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
UPLOADINPROGRESS: 'Por favor espere .... carga en curso'
|
||||||
UPLOADOR: OR
|
UPLOADOR: O
|
||||||
BBCodeParser:
|
BBCodeParser:
|
||||||
ALIGNEMENT: Alineación
|
ALIGNEMENT: Alineación
|
||||||
ALIGNEMENTEXAMPLE: 'alineado a la derecha'
|
ALIGNEMENTEXAMPLE: 'alineado a la derecha'
|
||||||
@ -53,25 +54,27 @@ es:
|
|||||||
UNORDEREDDESCRIPTION: 'Lista desordenada'
|
UNORDEREDDESCRIPTION: 'Lista desordenada'
|
||||||
UNORDEREDEXAMPLE1: 'elemento 1 desordenado'
|
UNORDEREDEXAMPLE1: 'elemento 1 desordenado'
|
||||||
BackLink_Button.ss:
|
BackLink_Button.ss:
|
||||||
Back: Back
|
Back: Volver
|
||||||
BasicAuth:
|
BasicAuth:
|
||||||
ENTERINFO: 'Por favor introduzca su nombre de usuario y contraseña.'
|
ENTERINFO: 'Por favor introduzca su nombre de usuario y contraseña.'
|
||||||
ERRORNOTADMIN: 'Ese usuario no es un administrador.'
|
ERRORNOTADMIN: 'Ese usuario no es un administrador.'
|
||||||
ERRORNOTREC: 'Ese nombre de usuario / contraseña no pudo ser reconocido.'
|
ERRORNOTREC: 'Ese nombre de usuario / contraseña no pudo ser reconocido.'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
ANY: Cualquiera
|
||||||
ANY: Any
|
NOANSWER: 'False'
|
||||||
1: 'True'
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Cargando...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'El CMS requiere que tenga habilitado JavaScript .'
|
||||||
CMSMain:
|
CMSMain:
|
||||||
ACCESS: 'Access to ''{title}'' section'
|
ACCESS: 'Acceder a la sección ''{title}'''
|
||||||
ACCESSALLINTERFACES: 'Acceder a todas las interfaces del CMS'
|
ACCESSALLINTERFACES: 'Acceder a todas las interfaces del CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Anula configuraciones de acceso más específicas.'
|
||||||
SAVE: Guardar
|
SAVE: Guardar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'Mi Perfil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
CHANGEPASSWORDTEXT1: 'Has cambiado tu contraseña por'
|
CHANGEPASSWORDTEXT1: 'Has cambiado tu contraseña por'
|
||||||
CHANGEPASSWORDTEXT2: 'Ahora puede utilizar los siguientes datos de acreditación para iniciar sesión:'
|
CHANGEPASSWORDTEXT2: 'Ahora puede utilizar los siguientes datos de acreditación para iniciar sesión:'
|
||||||
@ -79,24 +82,24 @@ es:
|
|||||||
HELLO: Hola
|
HELLO: Hola
|
||||||
PASSWORD: Contraseña
|
PASSWORD: Contraseña
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Cerrar Popup'
|
CLOSEPOPUP: 'Cerrar Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Añadido {name}'
|
||||||
SUCCESSEDIT: 'Guardado %s %s %s'
|
SUCCESSEDIT: 'Guardado %s %s %s'
|
||||||
ComplexTableField.ss:
|
ComplexTableField.ss:
|
||||||
ADDITEM: 'Agregar %s'
|
ADDITEM: 'Agregar %s'
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'Registros no encontrados'
|
||||||
SORTASC: 'Orden Ascendente'
|
SORTASC: 'Orden Ascendente'
|
||||||
SORTDESC: 'Orden Descendente'
|
SORTDESC: 'Orden Descendente'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: Siguiente
|
NEXT: Siguiente
|
||||||
PREVIOUS: Anterior
|
PREVIOUS: Anterior
|
||||||
ConfirmedPasswordField:
|
ConfirmedPasswordField:
|
||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
ATLEAST: 'Las constraseñas deben tener al menos {min} caracteres de longitud.'
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
BETWEEN: 'Las contraseñas deben tener desde {min} a {max} caracteres de longitud.'
|
||||||
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
MAXIMUM: 'Las contraseñas deben tener como máximo {max} caracteres de longitud.'
|
||||||
SHOWONCLICKTITLE: 'Cambiar contraseña'
|
SHOWONCLICKTITLE: 'Cambiar contraseña'
|
||||||
CreditCardField:
|
CreditCardField:
|
||||||
FIRST: primero
|
FIRST: primero
|
||||||
@ -109,192 +112,199 @@ es:
|
|||||||
PLURALNAME: 'Objetos de Datos'
|
PLURALNAME: 'Objetos de Datos'
|
||||||
SINGULARNAME: 'Objeto de Datos'
|
SINGULARNAME: 'Objeto de Datos'
|
||||||
Date:
|
Date:
|
||||||
DAY: día
|
DAY: day
|
||||||
DAYS: días
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: horas
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: mins.
|
MINS: mins
|
||||||
MONTH: mes
|
MONTH: month
|
||||||
MONTHS: meses
|
MONTHS: months
|
||||||
SEC: seg.
|
SEC: sec
|
||||||
SECS: segs.
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: 'hace {difference}'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'en {difference}'
|
||||||
YEAR: año
|
YEAR: year
|
||||||
YEARS: años
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'sin establecer'
|
NOTSET: 'sin establecer'
|
||||||
TODAY: hoy
|
TODAY: hoy
|
||||||
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
VALIDDATEFORMAT2: 'Por favor, introduzca un formato de fecha válido ({format})'
|
||||||
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
VALIDDATEMAXDATE: 'La fecha tiene que ser mayor o igual a la fecha máxima permitida ({date})'
|
||||||
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
VALIDDATEMINDATE: 'La fecha tiene que ser posterior o coincidente a la fecha mínima permitida ({date})'
|
||||||
DatetimeField:
|
DatetimeField:
|
||||||
NOTSET: 'Not set'
|
NOTSET: 'No establecido'
|
||||||
Director:
|
Director:
|
||||||
INVALID_REQUEST: 'Invalid request'
|
INVALID_REQUEST: 'Solicitud no válida'
|
||||||
DropdownField:
|
DropdownField:
|
||||||
CHOOSE: (Elegir)
|
CHOOSE: (Elegir)
|
||||||
EmailField:
|
EmailField:
|
||||||
VALIDATION: 'Please enter an email address'
|
VALIDATION: 'Introduzca una dirección de correo electrónico'
|
||||||
Email_BounceRecord:
|
Email_BounceRecord:
|
||||||
PLURALNAME: 'Email Bounce Records'
|
PLURALNAME: 'Email Bounce Records'
|
||||||
SINGULARNAME: 'Email Bounce Record'
|
SINGULARNAME: 'Email Bounce Record'
|
||||||
Enum:
|
Enum:
|
||||||
ANY: Any
|
ANY: Cualquiera
|
||||||
File:
|
File:
|
||||||
AviType: 'AVI video file'
|
AviType: 'Archivo de video AVI'
|
||||||
Content: Contenido
|
Content: Contenido
|
||||||
CssType: 'CSS file'
|
CssType: 'Archivo CSS'
|
||||||
DmgType: 'Apple disk image'
|
DmgType: 'Image de disco de Apple'
|
||||||
DocType: 'Word document'
|
DocType: 'Documento Word'
|
||||||
Filename: 'Nombre del archivo'
|
Filename: 'Nombre del archivo'
|
||||||
GifType: 'GIF image - good for diagrams'
|
GifType: 'Imagen GIF - buena para diagramas'
|
||||||
GzType: 'GZIP compressed file'
|
GzType: 'Archivo comprimido GZIP'
|
||||||
HtlType: 'HTML file'
|
HtlType: 'Archivo HTML'
|
||||||
HtmlType: 'HTML file'
|
HtmlType: 'Archivo HTML'
|
||||||
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
|
INVALIDEXTENSION: 'La extensión no es permitida (válidas: {extensions})'
|
||||||
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
|
INVALIDEXTENSIONSHORT: 'La extensión no es permitida'
|
||||||
IcoType: 'Icon image'
|
IcoType: 'Imagen Icon'
|
||||||
JpgType: 'JPEG image - good for photos'
|
JpgType: 'Imagen JPEG - buena para fotos'
|
||||||
JsType: 'Javascript file'
|
JsType: 'Archivo Javascript'
|
||||||
Mp3Type: 'MP3 audio file'
|
Mp3Type: 'Archivo de audio MP3'
|
||||||
MpgType: 'MPEG video file'
|
MpgType: 'Archivo de video MPEG'
|
||||||
NOFILESIZE: 'El tamaño del fichero es de cero bytes.'
|
NOFILESIZE: 'El tamaño del fichero es de cero bytes.'
|
||||||
NOVALIDUPLOAD: 'File is not a valid upload'
|
NOVALIDUPLOAD: 'El archivo no es válido para cargarlo'
|
||||||
Name: Nombre
|
Name: Nombre
|
||||||
PLURALNAME: Archivos
|
PLURALNAME: Archivos
|
||||||
PdfType: 'Adobe Acrobat PDF file'
|
PdfType: 'Archivo PDF de Adobe Acrobat'
|
||||||
PngType: 'PNG image - good general-purpose format'
|
PngType: 'Imagen PNG - buen formato de propósito general'
|
||||||
SINGULARNAME: Archivo
|
SINGULARNAME: Archivo
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
TOOLARGE: 'El tamaño del archivo es demasiado grande, máximo permitido {size}'
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
TOOLARGESHORT: 'El tamaño del archivo supera {size}'
|
||||||
TiffType: 'Tagged image format'
|
TiffType: 'Formato de imagen etiquetada'
|
||||||
Title: Título
|
Title: Título
|
||||||
WavType: 'WAV audo file'
|
WavType: 'Archivo de audio WAV'
|
||||||
XlsType: 'Excel spreadsheet'
|
XlsType: 'Hoja de cálculo Excel'
|
||||||
ZipType: 'ZIP compressed file'
|
ZipType: 'Archivo comprimido ZIP'
|
||||||
FileIFrameField:
|
FileIFrameField:
|
||||||
ATTACH: 'Attach {type}'
|
ATTACH: 'Adjunte {type}'
|
||||||
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED: '{type}s puede ser adjuntado una vez hayas guardado el registro por primera vez.'
|
||||||
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED2: 'Se pueden adjuntar archivos una vez se haya guardado el registro por primera vez.'
|
||||||
DELETE: 'Delete {type}'
|
DELETE: 'Borrar {type}'
|
||||||
DISALLOWEDFILETYPE: 'This filetype is not allowed to be uploaded'
|
DISALLOWEDFILETYPE: 'No se permite cargar este tipo de archivo'
|
||||||
FILE: File
|
FILE: Archivo
|
||||||
FROMCOMPUTER: 'From your Computer'
|
FROMCOMPUTER: 'Desde tu ordenador'
|
||||||
FROMFILESTORE: 'From the File Store'
|
FROMFILESTORE: 'Desde el Almacén de archivos'
|
||||||
NOSOURCE: 'Please select a source file to attach'
|
NOSOURCE: 'Por favor, seleccione un archivo de origen para adjuntar'
|
||||||
REPLACE: 'Replace {type}'
|
REPLACE: 'Reemplace {type}'
|
||||||
FileIFrameField_iframe.ss:
|
FileIFrameField_iframe.ss:
|
||||||
TITLE: 'Image Uploading Iframe'
|
TITLE: 'Imagen para cargar Iframe'
|
||||||
Filesystem:
|
Filesystem:
|
||||||
SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted'
|
SYNCRESULTS: 'Sincronización completada: {createdcount} registros creados, {deletedcount} registros borrados'
|
||||||
Folder:
|
Folder:
|
||||||
PLURALNAME: Folders
|
PLURALNAME: Carpetas
|
||||||
SINGULARNAME: Folder
|
SINGULARNAME: Carpeta
|
||||||
ForgotPasswordEmail.ss:
|
ForgotPasswordEmail.ss:
|
||||||
HELLO: Hola
|
HELLO: Hola
|
||||||
TEXT1: 'Aquí tiene su'
|
TEXT1: 'Aquí tiene su'
|
||||||
TEXT2: 'enlace para restablecer contraseña'
|
TEXT2: 'enlace para restablecer contraseña'
|
||||||
TEXT3: para
|
TEXT3: para
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'se requiere llenar el campo %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
SubmitBtnLabel: Go
|
FIELDISREQUIRED: '{name} is required'
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
SubmitBtnLabel: Ir
|
||||||
|
VALIDATIONCREDITNUMBER: 'Por favor, asegúrese de que ha introducido el número de tarjeta de crédito correctamente {number}'
|
||||||
VALIDATIONNOTUNIQUE: 'El valor que se ha introducido no es único'
|
VALIDATIONNOTUNIQUE: 'El valor que se ha introducido no es único'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Las contraseñas no concuerdan'
|
VALIDATIONPASSWORDSDONTMATCH: 'Las contraseñas no concuerdan'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Las contraseñas no pueden estar vacías'
|
VALIDATIONPASSWORDSNOTEMPTY: 'Las contraseñas no pueden estar vacías'
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Las contraseñas deben tener al menos un dígito y un carácter alfanumérico'
|
||||||
VALIDATOR: Validador
|
VALIDATOR: Validador
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Por favor, introduzca una moneda válida.'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ninguna
|
NONE: ninguna
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Borrar
|
||||||
Delete: Delete
|
Delete: Borrar
|
||||||
UnlinkRelation: Unlink
|
UnlinkRelation: Desenlazar
|
||||||
GridField:
|
GridField:
|
||||||
Add: 'Add {name}'
|
Add: 'Añadir {name}'
|
||||||
Filter: Filter
|
Filter: Filtro
|
||||||
FilterBy: 'Filter by '
|
FilterBy: 'Filtrar por'
|
||||||
Find: Find
|
Find: Buscar
|
||||||
LEVELUP: 'Level up'
|
LEVELUP: 'Subir nivel'
|
||||||
LinkExisting: 'Link Existing'
|
LinkExisting: 'Enlace Existente'
|
||||||
NewRecord: 'New %s'
|
NewRecord: 'Nuevo %s'
|
||||||
NoItemsFound: 'No items found'
|
NoItemsFound: 'No se encontraron registros'
|
||||||
PRINTEDAT: 'Printed at'
|
PRINTEDAT: 'Impreso en'
|
||||||
PRINTEDBY: 'Printed by'
|
PRINTEDBY: 'Impreso por'
|
||||||
PlaceHolder: 'Find {type}'
|
PlaceHolder: 'Buscar {type}'
|
||||||
PlaceHolderWithLabels: 'Find {type} by {name}'
|
PlaceHolderWithLabels: 'Buscar {type} por {name}'
|
||||||
RelationSearch: 'Relation search'
|
RelationSearch: 'Búsqueda de relación'
|
||||||
ResetFilter: Reset
|
ResetFilter: Restaurar
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'Sin permiso para borrar'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancelar
|
||||||
Create: Create
|
Create: Crear
|
||||||
Delete: Delete
|
Delete: Borrar
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'Sin permiso para borrar'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Borrado %s %s'
|
||||||
Save: Save
|
Save: Guardar
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Añadir una regla a este grupo'
|
||||||
Code: 'Código de grupo'
|
Code: 'Código de grupo'
|
||||||
DefaultGroupTitleAdministrators: Administrators
|
DefaultGroupTitleAdministrators: Administradores
|
||||||
DefaultGroupTitleContentAuthors: 'Content Authors'
|
DefaultGroupTitleContentAuthors: 'Autores de contenido'
|
||||||
Description: Descripción
|
Description: Descripción
|
||||||
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
|
GroupReminder: 'Si selecciona un grupo padre, este grupo tomará todas sus funciones'
|
||||||
Locked: '¿Bloqueado?'
|
Locked: '¿Bloqueado?'
|
||||||
NoRoles: 'No roles found'
|
NoRoles: 'Reglas no encontradas'
|
||||||
PLURALNAME: Groups
|
PLURALNAME: Grupos
|
||||||
Parent: 'Grupo Padre'
|
Parent: 'Grupo Padre'
|
||||||
RolesAddEditLink: 'Manage roles'
|
RolesAddEditLink: 'Administrar reglas'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Grupo
|
||||||
Sort: 'Orden de Clasificación'
|
Sort: 'Orden de Clasificación'
|
||||||
has_many_Permissions: Permisos
|
has_many_Permissions: Permisos
|
||||||
many_many_Members: Miembros
|
many_many_Members: Miembros
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Importar uno o más grupos en formato <em>CSV</em> (valores separados por coma). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
Help2: "<div class=\"advanced\">\\n<h4>Uso avanzado</h4>\\n<ul>\\n<li>Columnas permitidas: <em>%s</em></li>\\n<li>Grupos existentes son relacionados por su valor <em>Code</em>, y actualizados con nuevos valores desde el archivo importado</li>\\n<li>Jerarquías de grupos pueden ser creadas usando una columna <em>ParentCode</em>.</li>\\n<li>Códigos de permiso pueden ser asignados por la columna <em>PermissionCode</em>. Códigos de permisos existentes no son borrados.</li>\\n</ul>\\n</div>"
|
||||||
ResultCreated: 'Created {count} groups'
|
ResultCreated: 'Creados {count} grupos'
|
||||||
ResultDeleted: 'Se eliminaron %d grupos'
|
ResultDeleted: 'Se eliminaron %d grupos'
|
||||||
ResultUpdated: 'Updated %d groups'
|
ResultUpdated: 'Actualizados grupos %d'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
InfiniteLoopNotAllowed: 'Bucle infinito encontrado dentro de la jerarquía "{type}". Por favor, cambie el padre para resolver el problema'
|
||||||
HtmlEditorField:
|
HtmlEditorField:
|
||||||
ADDURL: 'Add URL'
|
ADDURL: 'Añadir URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Detalles & dimensiones'
|
||||||
ANCHORVALUE: Ancla
|
ANCHORVALUE: Ancla
|
||||||
BUTTONINSERT: Insert
|
BUTTONADDURL: 'Add url'
|
||||||
|
BUTTONINSERT: Insertar
|
||||||
BUTTONINSERTLINK: 'Insertar enlace'
|
BUTTONINSERTLINK: 'Insertar enlace'
|
||||||
BUTTONREMOVELINK: 'Eliminar enlace'
|
BUTTONREMOVELINK: 'Eliminar enlace'
|
||||||
BUTTONUpdate: Update
|
BUTTONUpdate: Actualizar
|
||||||
CAPTIONTEXT: 'Caption text'
|
CAPTIONTEXT: 'Texto del título'
|
||||||
CSSCLASS: 'Alineación / estilo'
|
CSSCLASS: 'Alineación / estilo'
|
||||||
CSSCLASSCENTER: 'Centrado, en si mismo'
|
CSSCLASSCENTER: 'Centrado, en si mismo'
|
||||||
CSSCLASSLEFT: 'A la izquierda, con el texto flotando alrededor.'
|
CSSCLASSLEFT: 'A la izquierda, con el texto flotando alrededor.'
|
||||||
CSSCLASSLEFTALONE: 'En la izquierda, en el suyo.'
|
CSSCLASSLEFTALONE: 'En la izquierda, en el suyo.'
|
||||||
CSSCLASSRIGHT: 'A la derecha, con el texto flotando alrededor.'
|
CSSCLASSRIGHT: 'A la derecha, con el texto flotando alrededor.'
|
||||||
DETAILS: Details
|
DETAILS: Detalles
|
||||||
EMAIL: 'Dirección de E-mail'
|
EMAIL: 'Dirección de E-mail'
|
||||||
FILE: Archivo
|
FILE: Archivo
|
||||||
FOLDER: Carpeta
|
FOLDER: Carpeta
|
||||||
FROMCMS: 'From the CMS'
|
FROMCMS: 'Desde el CMS'
|
||||||
FROMCOMPUTER: 'From your computer'
|
FROMCOMPUTER: 'Desde tu ordenador'
|
||||||
FROMWEB: 'From the web'
|
FROMWEB: 'Desde la web'
|
||||||
FindInFolder: 'Find in Folder'
|
FindInFolder: 'Buscar en carpeta'
|
||||||
IMAGEALT: 'Alternative text (alt)'
|
IMAGEALT: 'Texto alternativo (alt)'
|
||||||
IMAGEALTTEXT: 'Alternative text (alt) - shown if image cannot be displayed'
|
IMAGEALTTEXT: 'Texto alternativo (alt) - es mostrado si la imagen no puede ser visualizada'
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
IMAGEALTTEXTDESC: 'Mostrar a los lectores de pantalla o si la imagen no se puede visualizar'
|
||||||
IMAGEDIMENSIONS: Dimensiones
|
IMAGEDIMENSIONS: Dimensiones
|
||||||
IMAGEHEIGHTPX: Alto
|
IMAGEHEIGHTPX: Alto
|
||||||
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
IMAGETITLE: 'Texto del título (tooltip) - para obtener más información acerca de la imagen'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Texto del título (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'Para obtener información adicional acerca de la imagen'
|
||||||
IMAGEWIDTHPX: Ancho
|
IMAGEWIDTHPX: Ancho
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Insertar Media'
|
||||||
LINK: 'Insertar/editar enlace para el texto resaltado'
|
LINK: 'Insertar/editar enlace para el texto resaltado'
|
||||||
LINKANCHOR: 'Ancla en esta página'
|
LINKANCHOR: 'Ancla en esta página'
|
||||||
LINKDESCR: 'Descripción del Enlace'
|
LINKDESCR: 'Descripción del Enlace'
|
||||||
@ -306,55 +316,58 @@ es:
|
|||||||
LINKTO: 'Enlazar a'
|
LINKTO: 'Enlazar a'
|
||||||
PAGE: Página
|
PAGE: Página
|
||||||
URL: URL
|
URL: URL
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
URLNOTANOEMBEDRESOURCE: 'La URL ''{url}'' ''no se puede convertir en un recurso multimedia.'
|
||||||
UpdateMEDIA: 'Update Media'
|
UpdateMEDIA: 'Actualizar Media'
|
||||||
Image:
|
Image:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Archivos
|
||||||
SINGULARNAME: File
|
SINGULARNAME: Archivo
|
||||||
ImageField:
|
ImageField:
|
||||||
IMAGE: Image
|
IMAGE: Imagen
|
||||||
Image_Cached:
|
Image_Cached:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Archivos
|
||||||
SINGULARNAME: File
|
SINGULARNAME: Archivo
|
||||||
Image_iframe.ss:
|
Image_iframe.ss:
|
||||||
TITLE: 'Iframe para agregar imágenes'
|
TITLE: 'Iframe para agregar imágenes'
|
||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
CANT_REORGANISE: 'Usted no tiene permiso para modificar las páginas de nivel superior. Su modificación no se ha guardado.'
|
||||||
DELETED: Deleted.
|
DELETED: Borrado
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Acciones
|
||||||
HELP: Ayuda
|
HELP: Ayuda
|
||||||
PAGETYPE: 'Tipo de página:'
|
PAGETYPE: 'Tipo de página:'
|
||||||
PERMAGAIN: 'Ha sido desconectado del CMS. Si quiere volver a entrar, introduzca su nombre de usuario y contraseña a continuación.'
|
PERMAGAIN: 'Ha sido desconectado del CMS. Si quiere volver a entrar, introduzca su nombre de usuario y contraseña a continuación.'
|
||||||
PERMALREADY: 'Lamentablemente no puede acceder a esta parte del CMS. Si quiere entrar como alguien distinto, hágalo a continuación'
|
PERMALREADY: 'Lamentablemente no puede acceder a esta parte del CMS. Si quiere entrar como alguien distinto, hágalo a continuación'
|
||||||
PERMDEFAULT: 'Introduzca su correo electrónico y su contraseña para acceder al CMS.'
|
PERMDEFAULT: 'Introduzca su correo electrónico y su contraseña para acceder al CMS.'
|
||||||
PLEASESAVE: 'Por favor Guarde la Página: Esta página no se ha podido actualizar porque aún no ha sido salvada.'
|
PLEASESAVE: 'Por favor Guarde la Página: Esta página no se ha podido actualizar porque aún no ha sido salvada.'
|
||||||
PreviewButton: Preview
|
PreviewButton: 'Vista previa'
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganizado el árbol del sitio con éxito.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Guardado
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hola
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Finalizar la sesión'
|
||||||
LoginAttempt:
|
LoginAttempt:
|
||||||
Email: 'Correo electrónico'
|
Email: 'Correo electrónico'
|
||||||
IP: 'Dirección IP'
|
IP: 'Dirección IP'
|
||||||
PLURALNAME: 'Login Attempts'
|
PLURALNAME: 'Intentos de ingreso'
|
||||||
SINGULARNAME: 'Login Attempt'
|
SINGULARNAME: 'Intento de ingreso'
|
||||||
Status: Estado
|
Status: Estado
|
||||||
Member:
|
Member:
|
||||||
ADDGROUP: 'Add group'
|
ADDGROUP: 'Añadir grupo'
|
||||||
BUTTONCHANGEPASSWORD: 'Cambiar Contraseña'
|
BUTTONCHANGEPASSWORD: 'Cambiar Contraseña'
|
||||||
BUTTONLOGIN: 'Inicie Sesión'
|
BUTTONLOGIN: 'Inicie Sesión'
|
||||||
BUTTONLOGINOTHER: 'Inicie sesión como otra persona'
|
BUTTONLOGINOTHER: 'Inicie sesión como otra persona'
|
||||||
BUTTONLOSTPASSWORD: 'He perdido mi contraseña'
|
BUTTONLOSTPASSWORD: 'He perdido mi contraseña'
|
||||||
CANTEDIT: 'You don''t have permission to do that'
|
CANTEDIT: 'No tiene permiso para hacer eso'
|
||||||
CONFIRMNEWPASSWORD: 'Confirmar Nueva Contraseña'
|
CONFIRMNEWPASSWORD: 'Confirmar Nueva Contraseña'
|
||||||
CONFIRMPASSWORD: 'Confirmar Contraseña'
|
CONFIRMPASSWORD: 'Confirmar Contraseña'
|
||||||
DATEFORMAT: 'Date format'
|
DATEFORMAT: 'Formato de fecha'
|
||||||
DefaultAdminFirstname: 'Default Admin'
|
DefaultAdminFirstname: 'Administrador por defecto'
|
||||||
DefaultDateTime: default
|
DefaultDateTime: 'por defecto'
|
||||||
EMAIL: E-mail
|
EMAIL: E-mail
|
||||||
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
|
EMPTYNEWPASSWORD: 'La nueva contraseña no puede estar vacía, por favor inténtalo de nuevo'
|
||||||
ENTEREMAIL: 'Por favor, introduce un correo electrónico para obtener un enlace con el que cambiar la contraseña'
|
ENTEREMAIL: 'Por favor, introduce un correo electrónico para obtener un enlace con el que cambiar la contraseña'
|
||||||
ERRORLOCKEDOUT: 'Su cuenta ha sido inhabilitada temporalmente porque ha habido demasiados intentos fallidos de conectarse. Por favor, intente de nuevo en 20 minutos.'
|
ERRORLOCKEDOUT: 'Su cuenta ha sido inhabilitada temporalmente porque ha habido demasiados intentos fallidos de conectarse. Por favor, intente de nuevo en 20 minutos.'
|
||||||
ERRORNEWPASSWORD: 'Ha introducido su nueva contraseña de distinta manera, intente de nuevo'
|
ERRORNEWPASSWORD: 'Ha introducido su nueva contraseña de distinta manera, intente de nuevo'
|
||||||
@ -362,8 +375,8 @@ es:
|
|||||||
ERRORWRONGCRED: 'No parece ser la dirección de e-mail o contraseña correcta. Por favor intente de nuevo.'
|
ERRORWRONGCRED: 'No parece ser la dirección de e-mail o contraseña correcta. Por favor intente de nuevo.'
|
||||||
FIRSTNAME: Nombre(s)
|
FIRSTNAME: Nombre(s)
|
||||||
INTERFACELANG: 'Lenguaje de la Interfaz'
|
INTERFACELANG: 'Lenguaje de la Interfaz'
|
||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'No podemos aceptar este password: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'Estás conectado como {name}.'
|
||||||
NEWPASSWORD: 'Nueva Contraseña'
|
NEWPASSWORD: 'Nueva Contraseña'
|
||||||
PASSWORD: Contraseña
|
PASSWORD: Contraseña
|
||||||
PLURALNAME: Miembros
|
PLURALNAME: Miembros
|
||||||
@ -372,10 +385,10 @@ es:
|
|||||||
SUBJECTPASSWORDCHANGED: 'Su contraseña ha sido cambiada'
|
SUBJECTPASSWORDCHANGED: 'Su contraseña ha sido cambiada'
|
||||||
SUBJECTPASSWORDRESET: 'Enlace para restaurar su contraseña'
|
SUBJECTPASSWORDRESET: 'Enlace para restaurar su contraseña'
|
||||||
SURNAME: Apellidos
|
SURNAME: Apellidos
|
||||||
TIMEFORMAT: 'Time format'
|
TIMEFORMAT: 'Formato de tiempo'
|
||||||
VALIDATIONMEMBEREXISTS: 'Ya existe un miembro con este email.'
|
VALIDATIONMEMBEREXISTS: 'Ya existe un miembro con este email.'
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'No se puede sobrescribir el miembro existente #{id} con identificador idéntico ({name} = {value}))'
|
||||||
WELCOMEBACK: 'Welcome Back, {firstname}'
|
WELCOMEBACK: 'Bienvenido de nuevo, {firstname}'
|
||||||
YOUROLDPASSWORD: 'Su contraseña anterior'
|
YOUROLDPASSWORD: 'Su contraseña anterior'
|
||||||
belongs_many_many_Groups: Grupos
|
belongs_many_many_Groups: Grupos
|
||||||
db_LastVisited: 'Fecha de la Última Visita'
|
db_LastVisited: 'Fecha de la Última Visita'
|
||||||
@ -387,98 +400,99 @@ es:
|
|||||||
MemberAuthenticator:
|
MemberAuthenticator:
|
||||||
TITLE: 'E-mail & Contraseña'
|
TITLE: 'E-mail & Contraseña'
|
||||||
MemberDatetimeOptionsetField:
|
MemberDatetimeOptionsetField:
|
||||||
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
AMORPM: 'AM (antes del mediodía) o PM (después del mediodía)'
|
||||||
'APPLY FILTER': 'Apply Filter'
|
'APPLY FILTER': 'Aplicar filtro'
|
||||||
Custom: Custom
|
Custom: Personalizable
|
||||||
DATEFORMATBAD: 'Date format is invalid'
|
DATEFORMATBAD: 'El formato de fecha es inválido'
|
||||||
DAYNOLEADING: 'Day of month without leading zero'
|
DAYNOLEADING: 'Día del mes sin cero inicial'
|
||||||
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
DIGITSDECFRACTIONSECOND: 'Uno o más dígitos representando una fracción decimal de un segundo'
|
||||||
FOURDIGITYEAR: 'Four-digit year'
|
FOURDIGITYEAR: 'Año de cuatro dígitos'
|
||||||
FULLNAMEMONTH: 'Full name of month (e.g. June)'
|
FULLNAMEMONTH: 'Nombre completo del mes (ej.Junio)'
|
||||||
HOURNOLEADING: 'Hour without leading zero'
|
HOURNOLEADING: 'Hora sin ceros a la izquierda'
|
||||||
MINUTENOLEADING: 'Minute without leading zero'
|
MINUTENOLEADING: 'Minutos sin cero inicial'
|
||||||
MONTHNOLEADING: 'Month digit without leading zero'
|
MONTHNOLEADING: 'Dígitos mes sin cero inicial'
|
||||||
Preview: Preview
|
Preview: 'Vista previa'
|
||||||
SHORTMONTH: 'Short name of month (e.g. Jun)'
|
SHORTMONTH: 'Nombre abreviado del mes (por ejemplo, Jun)'
|
||||||
TOGGLEHELP: 'Toggle formatting help'
|
TOGGLEHELP: 'Cambia el formato de ayuda'
|
||||||
TWODIGITDAY: 'Two-digit day of month'
|
TWODIGITDAY: 'Día de dos dígitos del mes'
|
||||||
TWODIGITHOUR: 'Two digits of hour (00 through 23)'
|
TWODIGITHOUR: 'Dos dígitos de hora (00 a 23)'
|
||||||
TWODIGITMINUTE: 'Two digits of minute (00 through 59)'
|
TWODIGITMINUTE: 'Dos dígitos en minutos (00 a 59)'
|
||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Meses con dos dígitos (01=Enero,etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Segundos con dos dígitos (00 a 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Año de dos dígitos'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Importar usuarios en <em>formato CSV</em> (valores separados por coma). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: "<div class=\"advanced\">\\n<h4>Uso avanzado</h4>\\n<ul>\\n<li>Columnas permitidas: <em>%s</em></li>\\n<li>Usuarios existentes son relacionados por su propiedad <em>Code</em>, y actualizados con nuevos valores desde el archivo importado.</li>\\n<li>Los grupos pueden ser asignaods por la columna <em>Groups</em>. Los grupos son identificados por su propiedad <em>Code</em>,\\nmúltiples grupos pueden ser separados por comas. Los grupos de miembros existentes no son borrados.</li>\\n</ul>\\n</div>"
|
||||||
ResultCreated: 'Created {count} members'
|
ResultCreated: 'Creados {count} miembros'
|
||||||
ResultDeleted: 'Se eliminaron %d miembros'
|
ResultDeleted: 'Se eliminaron %d miembros'
|
||||||
ResultNone: 'No changes'
|
ResultNone: 'No hay cambios'
|
||||||
ResultUpdated: 'Updated {count} members'
|
ResultUpdated: 'Actualizados {count} miembros'
|
||||||
MemberPassword:
|
MemberPassword:
|
||||||
PLURALNAME: 'Member Passwords'
|
PLURALNAME: 'Contraseñas de los miembros'
|
||||||
SINGULARNAME: 'Member Password'
|
SINGULARNAME: 'Contraseña del miembro'
|
||||||
MemberTableField: null
|
MemberTableField: null
|
||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Eliminar
|
DELETE: Eliminar
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Borrados {count} registros.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importar desde CSV'
|
IMPORT: 'Importar desde CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Importados {count} registros.'
|
||||||
NOCSVFILE: 'Por favor, selecciona un archivo CSV para importar'
|
NOCSVFILE: 'Por favor, selecciona un archivo CSV para importar'
|
||||||
NOIMPORT: 'Nada para importar'
|
NOIMPORT: 'Nada para importar'
|
||||||
RESET: Reset
|
RESET: Restablecer
|
||||||
Title: 'Data Models'
|
Title: 'Modelos de datos'
|
||||||
UPDATEDRECORDS: 'Updated {count} records.'
|
UPDATEDRECORDS: 'Actualizados {count} registros.'
|
||||||
ModelAdmin_ImportSpec.ss:
|
ModelAdmin_ImportSpec.ss:
|
||||||
IMPORTSPECFIELDS: 'Database columns'
|
IMPORTSPECFIELDS: 'Columnas de la base de datos'
|
||||||
IMPORTSPECLINK: 'Show Specification for %s'
|
IMPORTSPECLINK: 'Mostrar especificación para %s'
|
||||||
IMPORTSPECRELATIONS: Relations
|
IMPORTSPECRELATIONS: Relaciones
|
||||||
IMPORTSPECTITLE: 'Specification for %s'
|
IMPORTSPECTITLE: 'Especificación para %s'
|
||||||
ModelAdmin_Tools.ss:
|
ModelAdmin_Tools.ss:
|
||||||
FILTER: Filter
|
FILTER: Filtrar
|
||||||
IMPORT: Import
|
IMPORT: Importar
|
||||||
ModelSidebar.ss:
|
ModelSidebar.ss:
|
||||||
IMPORT_TAB_HEADER: Import
|
IMPORT_TAB_HEADER: Importar
|
||||||
SEARCHLISTINGS: Search
|
SEARCHLISTINGS: Buscar
|
||||||
MoneyField:
|
MoneyField:
|
||||||
FIELDLABELAMOUNT: Amount
|
FIELDLABELAMOUNT: Cantidad
|
||||||
FIELDLABELCURRENCY: Currency
|
FIELDLABELCURRENCY: Moneda
|
||||||
NullableField:
|
NullableField:
|
||||||
IsNullLabel: 'Is Null'
|
IsNullLabel: 'Es Nulo'
|
||||||
NumericField:
|
NumericField:
|
||||||
VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field'
|
VALIDATION: '''{value}'' no es un número, sólo números pueden ser aceptados para este campo'
|
||||||
Pagination:
|
Pagination:
|
||||||
Page: Page
|
Page: Página
|
||||||
View: View
|
View: Vista
|
||||||
Permission:
|
Permission:
|
||||||
AdminGroup: Administrator
|
AdminGroup: Administrador
|
||||||
CMS_ACCESS_CATEGORY: 'CMS Access'
|
CMS_ACCESS_CATEGORY: 'Acceso al CMS'
|
||||||
FULLADMINRIGHTS: 'Todos los derechos administrativos'
|
FULLADMINRIGHTS: 'Todos los derechos administrativos'
|
||||||
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
|
FULLADMINRIGHTS_HELP: 'Implica y anula todos los demás permisos asignados.'
|
||||||
PLURALNAME: Permissions
|
PLURALNAME: Permisos
|
||||||
SINGULARNAME: Permission
|
SINGULARNAME: Permiso
|
||||||
PermissionCheckboxSetField:
|
PermissionCheckboxSetField:
|
||||||
AssignedTo: 'assigned to "{title}"'
|
AssignedTo: 'asignado a "{title}"'
|
||||||
FromGroup: 'inherited from group "{title}"'
|
FromGroup: 'heredado desde el grupo "{title}"'
|
||||||
FromRole: 'inherited from role "{title}"'
|
FromRole: 'heredado desde la regla "{title}"'
|
||||||
FromRoleOnGroup: 'inherited from role "%s" on group "%s"'
|
FromRoleOnGroup: 'heredado desde la regla "%s" del grupo "%s"'
|
||||||
PermissionRole:
|
PermissionRole:
|
||||||
OnlyAdminCanApply: 'Only admin can apply'
|
OnlyAdminCanApply: 'Sólo el administrador puede aplicar'
|
||||||
PLURALNAME: Roles
|
PLURALNAME: Reglas
|
||||||
SINGULARNAME: Role
|
SINGULARNAME: Regla
|
||||||
Title: Title
|
Title: Título
|
||||||
PermissionRoleCode:
|
PermissionRoleCode:
|
||||||
PLURALNAME: 'Permission Role Cods'
|
PLURALNAME: 'Códigos de las reglas de permisos'
|
||||||
SINGULARNAME: 'Permission Role Code'
|
SINGULARNAME: 'Códigos de las regla de permisos'
|
||||||
Permissions:
|
Permissions:
|
||||||
PERMISSIONS_CATEGORY: 'Roles and access permissions'
|
PERMISSIONS_CATEGORY: 'Reglas y permisos de acceso'
|
||||||
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
UserPermissionsIntro: 'Asignar grupos a este usuario ajustará los permisos que tienen. Vea la sección de grupos para obtener información sobre permisos en grupos individuales.'
|
||||||
PhoneNumberField:
|
PhoneNumberField:
|
||||||
VALIDATION: 'Por favor introduzca un número de teléfono válido'
|
VALIDATION: 'Por favor introduzca un número de teléfono válido'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
ADD: Añadir
|
ADD: Añadir
|
||||||
CSVEXPORT: 'Export to CSV'
|
CSVEXPORT: 'Exportar a CSV'
|
||||||
NOTFOUND: 'No items found'
|
NOTFOUND: 'Registros no encontrados'
|
||||||
Security:
|
Security:
|
||||||
ALREADYLOGGEDIN: 'No tiene acceso a esta página. Si posee otra cuenta con los privilegios para acceder a esta página, puede iniciar sesión a continuación.'
|
ALREADYLOGGEDIN: 'No tiene acceso a esta página. Si posee otra cuenta con los privilegios para acceder a esta página, puede iniciar sesión a continuación.'
|
||||||
BUTTONSEND: 'Envíenme el enlace para restaurar la contraseña'
|
BUTTONSEND: 'Envíenme el enlace para restaurar la contraseña'
|
||||||
@ -489,88 +503,106 @@ es:
|
|||||||
LOGGEDOUT: 'Ha terminado su sesión. Si desea iniciar sesión nuevamente, introduzca sus datos de acreditación a continuación.'
|
LOGGEDOUT: 'Ha terminado su sesión. Si desea iniciar sesión nuevamente, introduzca sus datos de acreditación a continuación.'
|
||||||
LOGIN: Entrar
|
LOGIN: Entrar
|
||||||
NOTEPAGESECURED: 'Esa página está protegida. Introduzca sus datos de acreditación a continuación y lo enviaremos a ella en un momento.'
|
NOTEPAGESECURED: 'Esa página está protegida. Introduzca sus datos de acreditación a continuación y lo enviaremos a ella en un momento.'
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
NOTERESETLINKINVALID: '<p>El enlace para restablecer la contraseña es inválido o ha expirado.</p><p>Usted puede solicitar uno nuevo <a href="{link1}">aqui</a> o cambiar su contraseña después de que se haya <a href="{link2}">conectado</a>.</p>'
|
||||||
NOTERESETPASSWORD: 'Introduzca su dirección de e-mail, y le enviaremos un enlace, con el cual podrá restaurar su contraseña'
|
NOTERESETPASSWORD: 'Introduzca su dirección de e-mail, y le enviaremos un enlace, con el cual podrá restaurar su contraseña'
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
PASSWORDSENTHEADER: 'Un enlace para restablecer la contraseña ha sido enviado a ''{email}'''
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
PASSWORDSENTTEXT: 'Gracias! Un enlace para restablecer la contraseña ha sido enviado a ''{email}'', siempre que una cuenta exista para la dirección de email indicada.'
|
||||||
SecurityAdmin:
|
SecurityAdmin:
|
||||||
ACCESS_HELP: 'Allow viewing, adding and editing users, as well as assigning permissions and roles to them.'
|
ACCESS_HELP: 'Permitir ver, añadir y editar usuarios, así como asignarles permisos y reglas.'
|
||||||
APPLY_ROLES: 'Apply roles to groups'
|
APPLY_ROLES: 'Aplicar reglas a grupos'
|
||||||
APPLY_ROLES_HELP: 'Ability to edit the roles assigned to a group. Requires the "Access to ''Users'' section" permission.'
|
APPLY_ROLES_HELP: 'Posibilidad de editar las reglas asignados a un grupo. Requiere el permiso de "acceso a la sección ''Usuarios''" .'
|
||||||
EDITPERMISSIONS: 'Editar permisos y direcciones IP de cada grupo'
|
EDITPERMISSIONS: 'Editar permisos y direcciones IP de cada grupo'
|
||||||
EDITPERMISSIONS_HELP: 'Ability to edit Permissions and IP Addresses for a group. Requires the "Access to ''Security'' section" permission.'
|
EDITPERMISSIONS_HELP: 'Posibilidad de editar los permisos y direcciones IP para un grupo. Requiere el permiso de "Acceso a la sección ''Seguridad '' ".'
|
||||||
GROUPNAME: 'Nombre del grupo'
|
GROUPNAME: 'Nombre del grupo'
|
||||||
IMPORTGROUPS: 'Import groups'
|
IMPORTGROUPS: 'Importar grupos'
|
||||||
IMPORTUSERS: 'Import users'
|
IMPORTUSERS: 'Importar usuarios'
|
||||||
MEMBERS: Miembros
|
MEMBERS: Miembros
|
||||||
MENUTITLE: Security
|
MENUTITLE: Seguridad
|
||||||
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
|
MemberListCaution: 'Precaución: Borrar miembros de esta lista también los eliminará de todos los grupos y la base de datos'
|
||||||
NEWGROUP: 'Nuevo grupo'
|
NEWGROUP: 'Nuevo grupo'
|
||||||
PERMISSIONS: Permisos
|
PERMISSIONS: Permisos
|
||||||
ROLES: Roles
|
ROLES: Reglas
|
||||||
ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required.'
|
ROLESDESCRIPTION: 'Las reglas son conjuntos predefinidos de permisos, y pueden ser asignadas a grupos.<br /> Pueden ser heredadas desde grupos padres si es necesario.'
|
||||||
TABROLES: Roles
|
TABROLES: Reglas
|
||||||
Users: Users
|
Users: Usuarios
|
||||||
SecurityAdmin_MemberImportForm:
|
SecurityAdmin_MemberImportForm:
|
||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Importar desde CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'Archivo CSV <small>(Permitidas extensiones: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
Edit: Edit
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
|
Edit: Editar
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No se han agregado imágenes'
|
NOUPLOAD: 'No se han agregado imágenes'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
TABMAIN: Principal
|
TABMAIN: Principal
|
||||||
TableField:
|
TableField:
|
||||||
ISREQUIRED: 'In %s ''%s'' is required'
|
ISREQUIRED: 'En %s ''%s'' es requerido'
|
||||||
TableField.ss:
|
TableField.ss:
|
||||||
ADD: 'Añadir una nueva línea'
|
ADD: 'Añadir una nueva línea'
|
||||||
ADDITEM: 'Add %s'
|
ADDITEM: 'Añadir %s'
|
||||||
TableListField:
|
TableListField:
|
||||||
CSVEXPORT: 'Exportar a CSV'
|
CSVEXPORT: 'Exportar a CSV'
|
||||||
PRINT: Imprimir
|
PRINT: Imprimir
|
||||||
Print: Print
|
Print: Imprimir
|
||||||
SELECT: 'Select:'
|
SELECT: Seleccionar
|
||||||
TableListField.ss:
|
TableListField.ss:
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'Registros no encontrados'
|
||||||
SORTASC: 'Sort in ascending order'
|
SORTASC: 'Clasificar en orden ascendente'
|
||||||
SORTDESC: 'Sort in descending order'
|
SORTDESC: 'Clasificar en orden descendente'
|
||||||
TableListField_PageControls.ss:
|
TableListField_PageControls.ss:
|
||||||
DISPLAYING: Displaying
|
DISPLAYING: Mostrando
|
||||||
OF: of
|
OF: de
|
||||||
TO: to
|
TO: a
|
||||||
VIEWFIRST: 'Ver primero'
|
VIEWFIRST: 'Ver primero'
|
||||||
VIEWLAST: 'Ver último'
|
VIEWLAST: 'Ver último'
|
||||||
VIEWNEXT: 'Ver siguiente'
|
VIEWNEXT: 'Ver siguiente'
|
||||||
VIEWPREVIOUS: 'Ver anterior'
|
VIEWPREVIOUS: 'Ver anterior'
|
||||||
TimeField:
|
TimeField:
|
||||||
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
|
VALIDATEFORMAT: 'Por favor, introduzca un formato de tiempo válido ({format})'
|
||||||
ToggleField:
|
ToggleField:
|
||||||
LESS: menos
|
LESS: menos
|
||||||
MORE: más
|
MORE: más
|
||||||
UploadField:
|
UploadField:
|
||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Adjuntar un archivo'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Adjuntar ficheros'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Adjuntar archivo(s)'
|
||||||
DELETE: 'Delete from files'
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DOEDIT: Save
|
DELETE: 'Borrar desde archivos'
|
||||||
DROPFILE: 'drop a file'
|
DELETEINFO: 'Borrar permanentemente este archivo del almacén de archivos'
|
||||||
DROPFILES: 'drop files'
|
DOEDIT: Guardar
|
||||||
Dimensions: Dimensions
|
DROPFILE: 'Soltar un fichero'
|
||||||
EDIT: Edit
|
DROPFILES: 'soltar archivos'
|
||||||
EDITINFO: 'Edit this file'
|
Dimensions: Dimensiones
|
||||||
FIELDNOTSET: 'File information not found'
|
EDIT: Editar
|
||||||
FROMCOMPUTER: 'From your computer'
|
EDITINFO: 'Editar este archivo'
|
||||||
FROMCOMPUTERINFO: 'Select from files'
|
FIELDNOTSET: 'No ha sido encontrada la información del archivo'
|
||||||
FROMFILES: 'From files'
|
FROMCOMPUTER: 'Desde tu ordenador'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
FROMCOMPUTERINFO: 'Seleccione desde los archivos'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
FROMFILES: 'Desde archivos'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
HOTLINKINFO: 'Información: Esta imagen será hotlinked. Asegúrese de que tiene los permisos del sitio original del creador para hacerlo.'
|
||||||
REMOVE: Remove
|
MAXNUMBEROFFILES: 'El número máximo de {count} archivo(s) ha sido excedido.'
|
||||||
REMOVEERROR: 'Error removing file'
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
MAXNUMBEROFFILESSHORT: 'Sólo puede cargar {count} archivos'
|
||||||
STARTALL: 'Start all'
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
STARTALLINFO: 'Start all uploads'
|
REMOVE: Eliminar
|
||||||
Saved: Saved
|
REMOVEERROR: 'Error borrando el fichero'
|
||||||
|
REMOVEINFO: 'Eliminar este archivo de este lugar, pero no eliminarlo del almacén de archivos'
|
||||||
|
STARTALL: 'Iniciar todos'
|
||||||
|
STARTALLINFO: 'Iniciar todas las subidas de archivos'
|
||||||
|
Saved: Guardado
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiones
|
has_many_Versions: Versiones
|
||||||
|
@ -2,6 +2,7 @@ es_AR:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nueva Carpeta'
|
NEWFOLDER: 'Nueva Carpeta'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Agregado por primera vez'
|
CREATED: 'Agregado por primera vez'
|
||||||
DIM: Dimensiones
|
DIM: Dimensiones
|
||||||
@ -59,9 +60,9 @@ es_AR:
|
|||||||
ERRORNOTADMIN: 'El usuario no es administrador.'
|
ERRORNOTADMIN: 'El usuario no es administrador.'
|
||||||
ERRORNOTREC: 'No se reconoce el nombre de usuario / contraseña'
|
ERRORNOTREC: 'No se reconoce el nombre de usuario / contraseña'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: No
|
|
||||||
ANY: Cualquiera
|
ANY: Cualquiera
|
||||||
1: Sí
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ es_AR:
|
|||||||
ACCESSALLINTERFACES: 'Acceder a todas las secciones del CMS'
|
ACCESSALLINTERFACES: 'Acceder a todas las secciones del CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Guardar
|
SAVE: Guardar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ es_AR:
|
|||||||
HELLO: Hola
|
HELLO: Hola
|
||||||
PASSWORD: Contraseña
|
PASSWORD: Contraseña
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- No
|
NOANSWER: 'False'
|
||||||
- No
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Cerrar Ventana Emergente'
|
CLOSEPOPUP: 'Cerrar Ventana Emergente'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ es_AR:
|
|||||||
PLURALNAME: 'Objetos de Datos'
|
PLURALNAME: 'Objetos de Datos'
|
||||||
SINGULARNAME: 'Objeto de Datos'
|
SINGULARNAME: 'Objeto de Datos'
|
||||||
Date:
|
Date:
|
||||||
DAY: día
|
DAY: day
|
||||||
DAYS: días
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: horas
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: min
|
MINS: mins
|
||||||
MONTH: mes
|
MONTH: month
|
||||||
MONTHS: meses
|
MONTHS: months
|
||||||
SEC: seg
|
SEC: sec
|
||||||
SECS: segs
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: año
|
YEAR: year
|
||||||
YEARS: años
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'no especificada'
|
NOTSET: 'no especificada'
|
||||||
TODAY: hoy
|
TODAY: hoy
|
||||||
@ -198,7 +202,8 @@ es_AR:
|
|||||||
TEXT2: 'vínculo para restablecer la contraseña'
|
TEXT2: 'vínculo para restablecer la contraseña'
|
||||||
TEXT3: para
|
TEXT3: para
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s es obligatorio.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'El valor ingresado no es único'
|
VALIDATIONNOTUNIQUE: 'El valor ingresado no es único'
|
||||||
@ -208,6 +213,7 @@ es_AR:
|
|||||||
VALIDATOR: Verificador
|
VALIDATOR: Verificador
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ninguna
|
NONE: ninguna
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ es_AR:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ es_AR:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ es_AR:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anclar
|
ANCHORVALUE: Anclar
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insertar enlace'
|
BUTTONINSERTLINK: 'Insertar enlace'
|
||||||
BUTTONREMOVELINK: 'Quitar enlace'
|
BUTTONREMOVELINK: 'Quitar enlace'
|
||||||
@ -331,7 +341,10 @@ es_AR:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ es_AR:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Importar miembros en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
|
Help1: '<p>Importar miembros en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ es_AR:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Eliminar
|
DELETE: Eliminar
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importar desde CSV'
|
IMPORT: 'Importar desde CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Por favor explorar por un archivo CVS para importar'
|
NOCSVFILE: 'Por favor explorar por un archivo CVS para importar'
|
||||||
@ -515,7 +529,20 @@ es_AR:
|
|||||||
BtnImport: importar
|
BtnImport: importar
|
||||||
FileFieldLabel: 'Archivo CSV <small>(extensiones permitidas: *.csv)</small>'
|
FileFieldLabel: 'Archivo CSV <small>(extensiones permitidas: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'La Imagen No se Cargó'
|
NOUPLOAD: 'La Imagen No se Cargó'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ es_AR:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ es_AR:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiones
|
has_many_Versions: Versiones
|
||||||
|
@ -2,6 +2,7 @@ es_MX:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nueva Carpeta'
|
NEWFOLDER: 'Nueva Carpeta'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Agregado por primera vez'
|
CREATED: 'Agregado por primera vez'
|
||||||
DIM: Dimensiones
|
DIM: Dimensiones
|
||||||
@ -59,9 +60,9 @@ es_MX:
|
|||||||
ERRORNOTADMIN: 'El usuario no es administrador.'
|
ERRORNOTADMIN: 'El usuario no es administrador.'
|
||||||
ERRORNOTREC: 'No se reconoce el nombre de usuario / contraseña'
|
ERRORNOTREC: 'No se reconoce el nombre de usuario / contraseña'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Falso
|
|
||||||
ANY: Cualquiera
|
ANY: Cualquiera
|
||||||
1: Verdadero
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Cargando...
|
LOADING: Cargando...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ es_MX:
|
|||||||
ACCESSALLINTERFACES: 'Acceder a todas las secciones del CMS'
|
ACCESSALLINTERFACES: 'Acceder a todas las secciones del CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Anula la configuració de acceso más específica.'
|
ACCESSALLINTERFACESHELP: 'Anula la configuració de acceso más específica.'
|
||||||
SAVE: Guardar
|
SAVE: Guardar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ es_MX:
|
|||||||
HELLO: Hey
|
HELLO: Hey
|
||||||
PASSWORD: Contraseña
|
PASSWORD: Contraseña
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Falso
|
NOANSWER: 'False'
|
||||||
- Verdadero
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Cerrar Mensaje Emergente'
|
CLOSEPOPUP: 'Cerrar Mensaje Emergente'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ es_MX:
|
|||||||
PLURALNAME: 'Datos de objetos'
|
PLURALNAME: 'Datos de objetos'
|
||||||
SINGULARNAME: 'Datos del objeto'
|
SINGULARNAME: 'Datos del objeto'
|
||||||
Date:
|
Date:
|
||||||
DAY: día
|
DAY: day
|
||||||
DAYS: días
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: horas
|
HOURS: hours
|
||||||
MIN: minuto
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minutos
|
MIN: min
|
||||||
MONTH: mes
|
MINS: mins
|
||||||
MONTHS: meses
|
MONTH: month
|
||||||
SEC: segundo
|
MONTHS: months
|
||||||
SECS: segundos
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} atrás'
|
TIMEDIFFAGO: '{difference} atrás'
|
||||||
TIMEDIFFIN: 'en {difference}'
|
TIMEDIFFIN: 'en {difference}'
|
||||||
YEAR: año
|
YEAR: year
|
||||||
YEARS: años
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'no especificada'
|
NOTSET: 'no especificada'
|
||||||
TODAY: ahora
|
TODAY: ahora
|
||||||
@ -198,7 +202,8 @@ es_MX:
|
|||||||
TEXT2: 'vínculo para restablecer la contraseña'
|
TEXT2: 'vínculo para restablecer la contraseña'
|
||||||
TEXT3: para
|
TEXT3: para
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s es obligatorio'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'El valor ingresado no es único'
|
VALIDATIONNOTUNIQUE: 'El valor ingresado no es único'
|
||||||
@ -208,6 +213,7 @@ es_MX:
|
|||||||
VALIDATOR: Verificador
|
VALIDATOR: Verificador
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: Ninguno
|
NONE: Ninguno
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ es_MX:
|
|||||||
ResetFilter: Resetear
|
ResetFilter: Resetear
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No borrar permisos'
|
DeletePermissionsFailure: 'No borrar permisos'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ es_MX:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Agrega un rol para este grupo'
|
AddRole: 'Agrega un rol para este grupo'
|
||||||
@ -267,6 +276,7 @@ es_MX:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anclar
|
ANCHORVALUE: Anclar
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insertar
|
BUTTONINSERT: Insertar
|
||||||
BUTTONINSERTLINK: 'Insertar enlace'
|
BUTTONINSERTLINK: 'Insertar enlace'
|
||||||
BUTTONREMOVELINK: 'Quitar enlace'
|
BUTTONREMOVELINK: 'Quitar enlace'
|
||||||
@ -331,6 +341,9 @@ es_MX:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: desconocido
|
VersionUnknown: desconocido
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
@ -407,6 +420,7 @@ es_MX:
|
|||||||
TWODIGITMONTH: 'Mes de 2 dígitos (01=Enero, etc.)'
|
TWODIGITMONTH: 'Mes de 2 dígitos (01=Enero, etc.)'
|
||||||
TWODIGITSECOND: 'Dos dígitos de los segundos (00 a 59)'
|
TWODIGITSECOND: 'Dos dígitos de los segundos (00 a 59)'
|
||||||
TWODIGITYEAR: 'Año en 2 dígitos'
|
TWODIGITYEAR: 'Año en 2 dígitos'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: "<p>Importar usurious en <em>format CSV</em> (valores separados por comas). <small><a href=\"#\" class=\"toggle-advanced\">Mostrar uso avanzado</a></small></p>\\n"
|
Help1: "<p>Importar usurious en <em>format CSV</em> (valores separados por comas). <small><a href=\"#\" class=\"toggle-advanced\">Mostrar uso avanzado</a></small></p>\\n"
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ es_MX:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Eliminar
|
DELETE: Eliminar
|
||||||
DELETEDRECORDS: 'Borrados {count} registros'
|
DELETEDRECORDS: 'Borrados {count} registros'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importar desde CSV'
|
IMPORT: 'Importar desde CSV'
|
||||||
IMPORTEDRECORDS: 'Importados {count} registros'
|
IMPORTEDRECORDS: 'Importados {count} registros'
|
||||||
NOCSVFILE: 'Por favor navegue hasta el archivo CSV a importar'
|
NOCSVFILE: 'Por favor navegue hasta el archivo CSV a importar'
|
||||||
@ -515,7 +529,20 @@ es_MX:
|
|||||||
BtnImport: Importar
|
BtnImport: Importar
|
||||||
FileFieldLabel: 'Archivo CSV <small>(Extensiones permitidas: *.csv)'
|
FileFieldLabel: 'Archivo CSV <small>(Extensiones permitidas: *.csv)'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No subió la Imagen'
|
NOUPLOAD: 'No subió la Imagen'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ es_MX:
|
|||||||
ATTACHFILE: 'Adjuntar un archivo'
|
ATTACHFILE: 'Adjuntar un archivo'
|
||||||
ATTACHFILES: 'Adjuntar archivos'
|
ATTACHFILES: 'Adjuntar archivos'
|
||||||
AttachFile: 'Adjuntar archivo(s)'
|
AttachFile: 'Adjuntar archivo(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Eliminar permanentemente este archivo desde el almacén'
|
DELETEINFO: 'Eliminar permanentemente este archivo desde el almacén'
|
||||||
DOEDIT: Guardar
|
DOEDIT: Guardar
|
||||||
@ -565,12 +594,15 @@ es_MX:
|
|||||||
FROMFILES: 'Desde archivos'
|
FROMFILES: 'Desde archivos'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Máximo número {count} de archivos sobrepasado'
|
MAXNUMBEROFFILES: 'Máximo número {count} de archivos sobrepasado'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Solo puedes subir {count} archivos'
|
MAXNUMBEROFFILESSHORT: 'Solo puedes subir {count} archivos'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remover
|
REMOVE: Remover
|
||||||
REMOVEERROR: 'Error removiendo archivo'
|
REMOVEERROR: 'Error removiendo archivo'
|
||||||
REMOVEINFO: 'Remover este archivo de aquí, pero no borrarlo del almacén de archivos'
|
REMOVEINFO: 'Remover este archivo de aquí, pero no borrarlo del almacén de archivos'
|
||||||
STARTALL: 'Comenzar todas'
|
STARTALL: 'Comenzar todas'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Guardado
|
Saved: Guardado
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiones
|
has_many_Versions: Versiones
|
||||||
|
586
lang/et_EE.yml
586
lang/et_EE.yml
@ -1,43 +1,44 @@
|
|||||||
et_EE:
|
et_EE:
|
||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Lubatud laiendid'
|
||||||
NEWFOLDER: 'Uus kaust'
|
NEWFOLDER: 'Uus kaust'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Esmakordselt üles laaditud'
|
CREATED: 'Esmakordselt üles laaditud'
|
||||||
DIM: Mõõtmed
|
DIM: Mõõtmed
|
||||||
FILENAME: Failinimi
|
FILENAME: Failinimi
|
||||||
FOLDER: Folder
|
FOLDER: Kaust
|
||||||
LASTEDIT: 'Viimati muudetud'
|
LASTEDIT: 'Viimati muudetud'
|
||||||
OWNER: Omanik
|
OWNER: Omanik
|
||||||
SIZE: Suurus
|
SIZE: Failisuurus
|
||||||
TITLE: Pealkiri
|
TITLE: Pealkiri
|
||||||
TYPE: Tüüp
|
TYPE: Failitüüp
|
||||||
URL: Aadress
|
URL: URL
|
||||||
AssetUploadField:
|
AssetUploadField:
|
||||||
ChooseFiles: 'Choose files'
|
ChooseFiles: 'Valige failid'
|
||||||
DRAGFILESHERE: 'Lohista failid siia'
|
DRAGFILESHERE: 'Lohistage failid siia'
|
||||||
DROPAREA: 'Drop Area'
|
DROPAREA: Pukseerimisala
|
||||||
EDITALL: 'Edit all'
|
EDITALL: 'Muuda kõiki'
|
||||||
EDITANDORGANIZE: 'Edit & organize'
|
EDITANDORGANIZE: 'Muuda ja korralda'
|
||||||
EDITINFO: 'Edit files'
|
EDITINFO: 'Muuda faile'
|
||||||
FILES: Files
|
FILES: Failid
|
||||||
FROMCOMPUTER: 'Choose files from your computer'
|
FROMCOMPUTER: 'Valige fail arvutist'
|
||||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
FROMCOMPUTERINFO: 'Laadige üles arvutist'
|
||||||
TOTAL: Total
|
TOTAL: Kokku
|
||||||
TOUPLOAD: 'Choose files to upload...'
|
TOUPLOAD: 'Valige üleslaadimiseks failid...'
|
||||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
UPLOADINPROGRESS: 'Oodake... Üleslaadimine on pooleli'
|
||||||
UPLOADOR: OR
|
UPLOADOR: VÕI
|
||||||
BBCodeParser:
|
BBCodeParser:
|
||||||
ALIGNEMENT: Joondus
|
ALIGNEMENT: Joondus
|
||||||
ALIGNEMENTEXAMPLE: 'Joondus paremale'
|
ALIGNEMENTEXAMPLE: 'Joondus paremale'
|
||||||
BOLD: 'Paks tekst'
|
BOLD: 'Paks tekst'
|
||||||
BOLDEXAMPLE: Paks
|
BOLDEXAMPLE: Paks
|
||||||
CODE: 'Koodi plokk'
|
CODE: Koodiplokk
|
||||||
CODEDESCRIPTION: 'Kodederimata koodi plokk'
|
CODEDESCRIPTION: 'Kodederimata koodi plokk'
|
||||||
CODEEXAMPLE: 'Koodi plokk'
|
CODEEXAMPLE: 'Koodi plokk'
|
||||||
COLORED: 'Värvitud tekst'
|
COLORED: 'Värviline tekst'
|
||||||
COLOREDEXAMPLE: 'Sinine tekst'
|
COLOREDEXAMPLE: 'Sinine tekst'
|
||||||
EMAILLINK: 'Emaili aadress'
|
EMAILLINK: 'Saada link e-posti teel'
|
||||||
EMAILLINKDESCRIPTION: 'Loo link emaili aadrssile'
|
EMAILLINKDESCRIPTION: 'Loo link emaili aadrssile'
|
||||||
IMAGE: Pilt
|
IMAGE: Pilt
|
||||||
IMAGEDESCRIPTION: 'Näita pilti oma postituses'
|
IMAGEDESCRIPTION: 'Näita pilti oma postituses'
|
||||||
@ -59,19 +60,21 @@ et_EE:
|
|||||||
ERRORNOTADMIN: 'Antud kasutaja ei ole administraator.'
|
ERRORNOTADMIN: 'Antud kasutaja ei ole administraator.'
|
||||||
ERRORNOTREC: 'See kasutajanimi / parool ei ole tunnustatud'
|
ERRORNOTREC: 'See kasutajanimi / parool ei ole tunnustatud'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
ANY: Kõik
|
||||||
ANY: Any
|
NOANSWER: 'False'
|
||||||
1: 'True'
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Laadimine...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'Sisuhaldussüsteem nõuab, et JavaScript oleks lubatud.'
|
||||||
CMSMain:
|
CMSMain:
|
||||||
ACCESS: 'Juurdepääs jaotisele ''{title}'''
|
ACCESS: 'Juurdepääs jaotisele ''{title}'''
|
||||||
ACCESSALLINTERFACES: 'Ligipääs kõigile Sisuhalduse kasutajaliidestele'
|
ACCESSALLINTERFACES: 'Ligipääs kõigile Sisuhalduse kasutajaliidestele'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Alistab täpsemad juurdepääsuseaded.'
|
||||||
SAVE: Salvesta
|
SAVE: Salvesta
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'Minu profiil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
CHANGEPASSWORDTEXT1: 'Vahetasid oma parooli lehel'
|
CHANGEPASSWORDTEXT1: 'Vahetasid oma parooli lehel'
|
||||||
CHANGEPASSWORDTEXT2: 'Nüüd võid kasutada sisse logimiseks järgnevaid andmeid:'
|
CHANGEPASSWORDTEXT2: 'Nüüd võid kasutada sisse logimiseks järgnevaid andmeid:'
|
||||||
@ -79,28 +82,28 @@ et_EE:
|
|||||||
HELLO: Tere
|
HELLO: Tere
|
||||||
PASSWORD: Parool
|
PASSWORD: Parool
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Sulge hüpikaken'
|
CLOSEPOPUP: 'Sulge hüpikaken'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: '{name} on lisatud'
|
||||||
SUCCESSEDIT: 'Salvestatud %s %s %s'
|
SUCCESSEDIT: 'Salvestatud %s %s %s'
|
||||||
ComplexTableField.ss:
|
ComplexTableField.ss:
|
||||||
ADDITEM: 'Lisa %s'
|
ADDITEM: 'Lisa %s'
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'Üksusi ei leitud'
|
||||||
SORTASC: 'Sorteeri kasvavalt'
|
SORTASC: 'Sorteeri kasvavalt'
|
||||||
SORTDESC: 'Sorteeri kahanevalt'
|
SORTDESC: 'Sorteeri kahanevalt'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: Eelmine
|
NEXT: Eelmine
|
||||||
PREVIOUS: Järgmine
|
PREVIOUS: Järgmine
|
||||||
ConfirmedPasswordField:
|
ConfirmedPasswordField:
|
||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
ATLEAST: 'Parool peab olema vähemalt {min} märki pikk.'
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
BETWEEN: 'Parooli pikkus peab olema vahemikus {min}–{max} märki.'
|
||||||
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
MAXIMUM: 'Parool võib olla kuni {max} märki pikk.'
|
||||||
SHOWONCLICKTITLE: 'Muuda parool'
|
SHOWONCLICKTITLE: 'Muuda parool'
|
||||||
CreditCardField:
|
CreditCardField:
|
||||||
FIRST: esimene
|
FIRST: esimene
|
||||||
FOURTH: Neljas
|
FOURTH: neljas
|
||||||
SECOND: teine
|
SECOND: teine
|
||||||
THIRD: kolmas
|
THIRD: kolmas
|
||||||
CurrencyField:
|
CurrencyField:
|
||||||
@ -109,192 +112,199 @@ et_EE:
|
|||||||
PLURALNAME: 'Andme objektid'
|
PLURALNAME: 'Andme objektid'
|
||||||
SINGULARNAME: 'Andme objekt'
|
SINGULARNAME: 'Andme objekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: Päev
|
DAY: day
|
||||||
DAYS: Päevad
|
DAYS: days
|
||||||
HOUR: Tund
|
HOUR: hour
|
||||||
HOURS: Tunnid
|
HOURS: hours
|
||||||
MIN: Minut
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: Minutid
|
MIN: min
|
||||||
MONTH: Kuu
|
MINS: mins
|
||||||
MONTHS: Kuud
|
MONTH: month
|
||||||
SEC: Sekund
|
MONTHS: months
|
||||||
SECS: Sekundit
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: Aasta
|
YEAR: year
|
||||||
YEARS: Aastad
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'Pole seadistatud'
|
NOTSET: 'Pole seadistatud'
|
||||||
TODAY: Täna
|
TODAY: Täna
|
||||||
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
VALIDDATEFORMAT2: 'Sisestage sobivas vormingus kuupäev ({format})'
|
||||||
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
VALIDDATEMAXDATE: 'Teie kuupäev peab oleme lubatud kuupäevast ({date}) varasem või ühtima sellega.'
|
||||||
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
VALIDDATEMINDATE: 'Teie kuupäev peab oleme lubatud kuupäevast ({date}) hilisem või ühtima sellega.'
|
||||||
DatetimeField:
|
DatetimeField:
|
||||||
NOTSET: Määramata
|
NOTSET: Määramata
|
||||||
Director:
|
Director:
|
||||||
INVALID_REQUEST: 'Invalid request'
|
INVALID_REQUEST: 'Sobimatu taotlus'
|
||||||
DropdownField:
|
DropdownField:
|
||||||
CHOOSE: (Vali)
|
CHOOSE: (Vali)
|
||||||
EmailField:
|
EmailField:
|
||||||
VALIDATION: 'Please enter an email address'
|
VALIDATION: 'Sisestage e-posti aadress'
|
||||||
Email_BounceRecord:
|
Email_BounceRecord:
|
||||||
PLURALNAME: 'Email Bounce Records'
|
PLURALNAME: 'Tagastatud e-posti kirjed'
|
||||||
SINGULARNAME: 'Email Bounce Record'
|
SINGULARNAME: 'Tagastatud e-posti kirje'
|
||||||
Enum:
|
Enum:
|
||||||
ANY: Any
|
ANY: Kõik
|
||||||
File:
|
File:
|
||||||
AviType: 'AVI videofail'
|
AviType: AVI-videofail
|
||||||
Content: Sisu
|
Content: Sisu
|
||||||
CssType: 'CSS file'
|
CssType: CSS-fail
|
||||||
DmgType: 'Apple disk image'
|
DmgType: 'Apple disk image'
|
||||||
DocType: 'Wordi dokument'
|
DocType: 'Wordi dokument'
|
||||||
Filename: Failinimi
|
Filename: Failinimi
|
||||||
GifType: 'GIF image - good for diagrams'
|
GifType: 'GIF-kujutis – hea diagrammide jaoks'
|
||||||
GzType: 'GZIP tihendatud fail'
|
GzType: 'Tihendatud GZIP-fail'
|
||||||
HtlType: 'HTML fail'
|
HtlType: HTML-fail
|
||||||
HtmlType: 'HTML fail'
|
HtmlType: HTML-fail
|
||||||
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
|
INVALIDEXTENSION: 'Laiend ei ole lubatud (sobimatud: {extensions})'
|
||||||
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
|
INVALIDEXTENSIONSHORT: 'Laiend ei ole lubatud'
|
||||||
IcoType: 'Icon image'
|
IcoType: Ikoonipilt
|
||||||
JpgType: 'JPEG pilt - hea fotode jaoks'
|
JpgType: 'JPEG-kujutis – hea fotode jaoks'
|
||||||
JsType: 'Javascripti fail'
|
JsType: 'Javascripti fail'
|
||||||
Mp3Type: 'MP3 helifail'
|
Mp3Type: MP3-helifail
|
||||||
MpgType: 'MPEG videofail'
|
MpgType: MPEG-videofail
|
||||||
NOFILESIZE: 'Faili suurus on null bitti.'
|
NOFILESIZE: 'Faili suurus on null baiti.'
|
||||||
NOVALIDUPLOAD: 'File is not a valid upload'
|
NOVALIDUPLOAD: 'Fail ei ole üleslaadimiseks sobiv'
|
||||||
Name: Nimi
|
Name: Nimi
|
||||||
PLURALNAME: Failid
|
PLURALNAME: Failid
|
||||||
PdfType: 'Adobe Acrobat PDF file'
|
PdfType: 'Adobe Acrobati PDF-fail'
|
||||||
PngType: 'PNG image - good general-purpose format'
|
PngType: 'PNG-kujutis – hea üldotstarbelise vormingu jaoks'
|
||||||
SINGULARNAME: Fail
|
SINGULARNAME: Fail
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
TOOLARGE: 'Fail on liiga suur, lubatud on maksimaalselt {size}'
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
TOOLARGESHORT: 'Fail on suurem kui {size}'
|
||||||
TiffType: 'Tagged image format'
|
TiffType: 'Tagged image format'
|
||||||
Title: Pealkiri
|
Title: Pealkiri
|
||||||
WavType: 'WAV helifail'
|
WavType: WAV-helifail
|
||||||
XlsType: 'Exceli arvutustabel'
|
XlsType: 'Exceli arvutustabel'
|
||||||
ZipType: 'ZIP tihendatud fail'
|
ZipType: 'Tihendatud ZIP-fail'
|
||||||
FileIFrameField:
|
FileIFrameField:
|
||||||
ATTACH: 'Attach {type}'
|
ATTACH: 'Manusta {type}'
|
||||||
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
||||||
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED2: 'Faile saab manustada pärast seda, kui olete kirje salvestanud.'
|
||||||
DELETE: 'Delete {type}'
|
DELETE: 'Kustuta {type}'
|
||||||
DISALLOWEDFILETYPE: 'This filetype is not allowed to be uploaded'
|
DISALLOWEDFILETYPE: 'Seda failitüüpi ei ole lubatud üles laadida'
|
||||||
FILE: File
|
FILE: Fail
|
||||||
FROMCOMPUTER: 'From your Computer'
|
FROMCOMPUTER: 'Teie arvutist'
|
||||||
FROMFILESTORE: 'From the File Store'
|
FROMFILESTORE: Failihoidlast
|
||||||
NOSOURCE: 'Please select a source file to attach'
|
NOSOURCE: 'Valige manustamiseks lähtefail'
|
||||||
REPLACE: 'Replace {type}'
|
REPLACE: 'Asenda {type}'
|
||||||
FileIFrameField_iframe.ss:
|
FileIFrameField_iframe.ss:
|
||||||
TITLE: 'Image Uploading Iframe'
|
TITLE: 'Kujutise üleslaadimise IFrame'
|
||||||
Filesystem:
|
Filesystem:
|
||||||
SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted'
|
SYNCRESULTS: 'Sünkroonimine on lõpetatud: {createdcount} loodud üksust, {deletedcount} kustutatud üksust'
|
||||||
Folder:
|
Folder:
|
||||||
PLURALNAME: Kataloogid
|
PLURALNAME: Kaustad
|
||||||
SINGULARNAME: Folder
|
SINGULARNAME: Kaust
|
||||||
ForgotPasswordEmail.ss:
|
ForgotPasswordEmail.ss:
|
||||||
HELLO: Tere
|
HELLO: Tere
|
||||||
TEXT1: 'Siin on sinu'
|
TEXT1: 'Siin on sinu'
|
||||||
TEXT2: 'Parooli tühistus link'
|
TEXT2: 'Parooli tühistus link'
|
||||||
TEXT3: -
|
TEXT3: -
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s on vajalik'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
SubmitBtnLabel: Go
|
FIELDISREQUIRED: '{name} is required'
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
SubmitBtnLabel: Mine
|
||||||
|
VALIDATIONCREDITNUMBER: 'Veenduge, et sisestasite krediitkaardinumbri {number} õigesti'
|
||||||
VALIDATIONNOTUNIQUE: 'Sisestatud väärtus ei ole unikaalne'
|
VALIDATIONNOTUNIQUE: 'Sisestatud väärtus ei ole unikaalne'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Paroolid ei katu'
|
VALIDATIONPASSWORDSDONTMATCH: 'Paroolid ei katu'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Paroolid ei saa olla tühjad'
|
VALIDATIONPASSWORDSNOTEMPTY: 'Paroolid ei saa olla tühjad'
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Paroolis peab olema vähemalt üks number ja üks tähestikutäht'
|
||||||
VALIDATOR: Kinnitaja
|
VALIDATOR: Kinnitaja
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Sisestage kehtiv valuuta'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: puudub
|
NONE: puudub
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Kustuta
|
DELETE_DESCRIPTION: Kustuta
|
||||||
Delete: Delete
|
Delete: Kustuta
|
||||||
UnlinkRelation: Unlink
|
UnlinkRelation: 'Tühista linkimine'
|
||||||
GridField:
|
GridField:
|
||||||
Add: 'Add {name}'
|
Add: 'Lisa {name}'
|
||||||
Filter: Filter
|
Filter: Filtreeri
|
||||||
FilterBy: 'Filter by '
|
FilterBy: Filtreerimisalus
|
||||||
Find: Find
|
Find: Otsi
|
||||||
LEVELUP: 'Level up'
|
LEVELUP: 'Level up'
|
||||||
LinkExisting: 'Link Existing'
|
LinkExisting: 'Lingi olemasolev'
|
||||||
NewRecord: 'New %s'
|
NewRecord: 'Uus %s'
|
||||||
NoItemsFound: 'Ei leitud ühtegi kannet'
|
NoItemsFound: 'Üksusi ei leitud'
|
||||||
PRINTEDAT: 'Printed at'
|
PRINTEDAT: 'Printimiskoht:'
|
||||||
PRINTEDBY: 'Printed by'
|
PRINTEDBY: Printis
|
||||||
PlaceHolder: 'Find {type}'
|
PlaceHolder: 'Leia {type}'
|
||||||
PlaceHolderWithLabels: 'Find {type} by {name}'
|
PlaceHolderWithLabels: 'Find {type} by {name}'
|
||||||
RelationSearch: 'Relation search'
|
RelationSearch: 'Seose otsing'
|
||||||
ResetFilter: Reset
|
ResetFilter: Lähtesta
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'Kustutamisõigused puuduvad'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Katkesta
|
CancelBtn: Loobu
|
||||||
Create: Create
|
Create: Loo
|
||||||
Delete: Delete
|
Delete: Kustuta
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'Kustutamisõigused puuduvad'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: '%s %s on kustutatud'
|
||||||
Save: Save
|
Save: Salvesta
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Lisa selle grupi jaoks rolle'
|
||||||
Code: 'Grupi kood'
|
Code: 'Grupi kood'
|
||||||
DefaultGroupTitleAdministrators: Administrators
|
DefaultGroupTitleAdministrators: Administraatorid
|
||||||
DefaultGroupTitleContentAuthors: 'Content Authors'
|
DefaultGroupTitleContentAuthors: 'Sisu autorid'
|
||||||
Description: Kirjeldus
|
Description: Kirjeldus
|
||||||
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
|
GroupReminder: 'Kui valite vanemgrupi, kaotab see grupp kõik rollid'
|
||||||
Locked: 'Lukus?'
|
Locked: 'Lukus?'
|
||||||
NoRoles: 'No roles found'
|
NoRoles: 'Ühtegi rolli ei leitud'
|
||||||
PLURALNAME: Groups
|
PLURALNAME: Grupid
|
||||||
Parent: 'Vanem grupp'
|
Parent: 'Vanem grupp'
|
||||||
RolesAddEditLink: 'Manage roles'
|
RolesAddEditLink: 'Halda rolle'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Grupp
|
||||||
Sort: Järjesta
|
Sort: Järjesta
|
||||||
has_many_Permissions: Õigused
|
has_many_Permissions: Õigused
|
||||||
many_many_Members: Liikmed
|
many_many_Members: Liikmed
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Impordi üks või rohkem gruppe <em>CSV</em>-vormingus (komaeraldusega väärtused). <small><a href="#" class="toggle-advanced">Kuva täpsem kasutus</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
||||||
ResultCreated: 'Created {count} groups'
|
ResultCreated: '{count} gruppi on loodud'
|
||||||
ResultDeleted: 'Deleted %d groups'
|
ResultDeleted: '%d gruppi on kustutatud'
|
||||||
ResultUpdated: 'Updated %d groups'
|
ResultUpdated: '%d gruppi on uuendatud'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
||||||
HtmlEditorField:
|
HtmlEditorField:
|
||||||
ADDURL: 'Add URL'
|
ADDURL: 'Lisa URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Üksikasjad ja mõõtmed'
|
||||||
ANCHORVALUE: Link
|
ANCHORVALUE: Link
|
||||||
BUTTONINSERT: Insert
|
BUTTONADDURL: 'Add url'
|
||||||
|
BUTTONINSERT: Sisesta
|
||||||
BUTTONINSERTLINK: 'Sisesta link'
|
BUTTONINSERTLINK: 'Sisesta link'
|
||||||
BUTTONREMOVELINK: 'Eemalda link'
|
BUTTONREMOVELINK: 'Eemalda link'
|
||||||
BUTTONUpdate: Update
|
BUTTONUpdate: Uuenda
|
||||||
CAPTIONTEXT: 'Caption text'
|
CAPTIONTEXT: 'Pealdise tekst'
|
||||||
CSSCLASS: 'Joondus / Stiil'
|
CSSCLASS: 'Joondus / Stiil'
|
||||||
CSSCLASSCENTER: 'Keskel, iseseisvalt.'
|
CSSCLASSCENTER: 'Keskel, iseseisvalt.'
|
||||||
CSSCLASSLEFT: 'Vasakul, tekst voldib ennast ümber.'
|
CSSCLASSLEFT: 'Vasakul, tekst voldib ennast ümber.'
|
||||||
CSSCLASSLEFTALONE: 'Ise vasakule'
|
CSSCLASSLEFTALONE: 'Ise vasakule'
|
||||||
CSSCLASSRIGHT: 'Paremal, tekst voldib ennast ümber.'
|
CSSCLASSRIGHT: 'Paremal, tekst voldib ennast ümber.'
|
||||||
DETAILS: Details
|
DETAILS: Üksikasjad
|
||||||
EMAIL: 'E-posti aadress'
|
EMAIL: 'E-posti aadress'
|
||||||
FILE: Fail
|
FILE: Fail
|
||||||
FOLDER: Kaust
|
FOLDER: Kaust
|
||||||
FROMCMS: 'From the CMS'
|
FROMCMS: Sisuhaldussüsteemist
|
||||||
FROMCOMPUTER: 'From your computer'
|
FROMCOMPUTER: 'Teie arvutist'
|
||||||
FROMWEB: 'From the web'
|
FROMWEB: Veebist
|
||||||
FindInFolder: 'Find in Folder'
|
FindInFolder: 'Otsi kaustast'
|
||||||
IMAGEALT: 'Alternative text (alt)'
|
IMAGEALT: 'Asetekst (alt)'
|
||||||
IMAGEALTTEXT: 'Alternative text (alt) - shown if image cannot be displayed'
|
IMAGEALTTEXT: 'Asetekst (alt) – kuvatakse, kui kujutist ei ole võimalik kuvada'
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
IMAGEALTTEXTDESC: 'Kuvatakse ekraanilugeja puhul või kui kujutist ei saa kuvada'
|
||||||
IMAGEDIMENSIONS: Mõõtmed
|
IMAGEDIMENSIONS: Mõõtmed
|
||||||
IMAGEHEIGHTPX: Laius
|
IMAGEHEIGHTPX: Laius
|
||||||
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
IMAGETITLE: 'Pealkirja tekst (kohtspikker) – lisateabeks kujutise kohta'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Pealkirja tekst (kohtspikker)'
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'Lisateabe saamiseks kujutise kohta'
|
||||||
IMAGEWIDTHPX: Kõrgus
|
IMAGEWIDTHPX: Kõrgus
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Sisesta meedium'
|
||||||
LINK: Link
|
LINK: Link
|
||||||
LINKANCHOR: 'Link sellele lehele'
|
LINKANCHOR: 'Link sellele lehele'
|
||||||
LINKDESCR: 'Lingi kirjeldus'
|
LINKDESCR: 'Lingi kirjeldus'
|
||||||
@ -306,22 +316,22 @@ et_EE:
|
|||||||
LINKTO: Lingi
|
LINKTO: Lingi
|
||||||
PAGE: Leht
|
PAGE: Leht
|
||||||
URL: URL
|
URL: URL
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
URLNOTANOEMBEDRESOURCE: 'URL-i ''{url}'' ei saanud muuta meediumiressursiks.'
|
||||||
UpdateMEDIA: 'Update Media'
|
UpdateMEDIA: 'Uuenda meediumi'
|
||||||
Image:
|
Image:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Failid
|
||||||
SINGULARNAME: File
|
SINGULARNAME: Fail
|
||||||
ImageField:
|
ImageField:
|
||||||
IMAGE: Image
|
IMAGE: Kujutis
|
||||||
Image_Cached:
|
Image_Cached:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Failid
|
||||||
SINGULARNAME: File
|
SINGULARNAME: Fail
|
||||||
Image_iframe.ss:
|
Image_iframe.ss:
|
||||||
TITLE: 'Pildi üleslaadimise Iframe'
|
TITLE: 'Pildi üleslaadimise Iframe'
|
||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
CANT_REORGANISE: 'Teil ei ole õigusi kõrgema taseme lehtede muutmiseks. Teie muudatust ei salvestatud.'
|
||||||
DELETED: Kustutatud.
|
DELETED: Kustutatud.
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Tegevused
|
||||||
HELP: Spikker
|
HELP: Spikker
|
||||||
PAGETYPE: 'Lehekülje tüüp:'
|
PAGETYPE: 'Lehekülje tüüp:'
|
||||||
PERMAGAIN: 'Oled Sisuhaldusest välja logitud. Kui soovite uuesti sisse logida sisestage kasutajanimi ja parool.'
|
PERMAGAIN: 'Oled Sisuhaldusest välja logitud. Kui soovite uuesti sisse logida sisestage kasutajanimi ja parool.'
|
||||||
@ -329,32 +339,35 @@ et_EE:
|
|||||||
PERMDEFAULT: 'Sisesta oma e-posti aadress ja parool sisuhaldussüsteemi ligipääsemiseks.'
|
PERMDEFAULT: 'Sisesta oma e-posti aadress ja parool sisuhaldussüsteemi ligipääsemiseks.'
|
||||||
PLEASESAVE: 'Palun Salvesta Lehekülg: Antud lehekülge ei uuendatud, kuna seda ei ole veel salvestatud.'
|
PLEASESAVE: 'Palun Salvesta Lehekülg: Antud lehekülge ei uuendatud, kuna seda ei ole veel salvestatud.'
|
||||||
PreviewButton: Eelvaade
|
PreviewButton: Eelvaade
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Saidipuu korraldati edukalt ümber.'
|
||||||
SAVEDUP: Salvestatud.
|
SAVEDUP: Salvestatud.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Tere!
|
||||||
LOGOUT: 'Logi välja'
|
LOGOUT: 'Logi välja'
|
||||||
LoginAttempt:
|
LoginAttempt:
|
||||||
Email: 'E-posti aadress'
|
Email: 'E-posti aadress'
|
||||||
IP: 'IP Aadress'
|
IP: 'IP Aadress'
|
||||||
PLURALNAME: 'Login Attempts'
|
PLURALNAME: Sisselogimiskatsed
|
||||||
SINGULARNAME: 'Login Attempt'
|
SINGULARNAME: Sisselogimiskatse
|
||||||
Status: Staatus
|
Status: Staatus
|
||||||
Member:
|
Member:
|
||||||
ADDGROUP: 'Add group'
|
ADDGROUP: 'Lisa grupp'
|
||||||
BUTTONCHANGEPASSWORD: 'Muuda parool'
|
BUTTONCHANGEPASSWORD: 'Muuda parool'
|
||||||
BUTTONLOGIN: 'Logi sisse'
|
BUTTONLOGIN: 'Logi sisse'
|
||||||
BUTTONLOGINOTHER: 'Logi sisse kellegi teisena'
|
BUTTONLOGINOTHER: 'Logi sisse kellegi teisena'
|
||||||
BUTTONLOSTPASSWORD: 'Kaotasin oma parooli'
|
BUTTONLOSTPASSWORD: 'Kaotasin oma parooli'
|
||||||
CANTEDIT: 'You don''t have permission to do that'
|
CANTEDIT: 'Teil ei ole selleks tegevuseks õigust'
|
||||||
CONFIRMNEWPASSWORD: 'Kinnita uus parool'
|
CONFIRMNEWPASSWORD: 'Kinnita uus parool'
|
||||||
CONFIRMPASSWORD: 'Kinnita parool'
|
CONFIRMPASSWORD: 'Kinnita parool'
|
||||||
DATEFORMAT: 'Kuupäeva vorming'
|
DATEFORMAT: Kuupäevavorming
|
||||||
DefaultAdminFirstname: 'Default Admin'
|
DefaultAdminFirstname: Vaikeadministraator
|
||||||
DefaultDateTime: default
|
DefaultDateTime: vaikeseadistus
|
||||||
EMAIL: E-post
|
EMAIL: E-post
|
||||||
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
|
EMPTYNEWPASSWORD: 'Uue parooli väli ei saa olla tühi. Proovige uuesti'
|
||||||
ENTEREMAIL: 'Palun sisesta email, et saada paooli tühistamise link'
|
ENTEREMAIL: 'Palun sisesta email, et saada paooli tühistamise link'
|
||||||
ERRORLOCKEDOUT: 'Konto on liiga paljude ebaõnnestunud sisselogimiskatsete tõttu ajutiselt blokeeritud. Palun oota 20 minutit ja proovi siis uuesti.'
|
ERRORLOCKEDOUT: 'Konto on liiga paljude ebaõnnestunud sisselogimiskatsete tõttu ajutiselt blokeeritud. Palun oota 20 minutit ja proovi siis uuesti.'
|
||||||
ERRORNEWPASSWORD: 'Te sisestasite oma parooli erinevalt, proovige uuesti'
|
ERRORNEWPASSWORD: 'Te sisestasite oma parooli erinevalt, proovige uuesti'
|
||||||
@ -363,7 +376,7 @@ et_EE:
|
|||||||
FIRSTNAME: Eesnimi
|
FIRSTNAME: Eesnimi
|
||||||
INTERFACELANG: 'Kasutajaliidese keel'
|
INTERFACELANG: 'Kasutajaliidese keel'
|
||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'Olete logitud sisse kui {name}.'
|
||||||
NEWPASSWORD: 'Uus parool'
|
NEWPASSWORD: 'Uus parool'
|
||||||
PASSWORD: Parool
|
PASSWORD: Parool
|
||||||
PLURALNAME: Kasutajad
|
PLURALNAME: Kasutajad
|
||||||
@ -372,10 +385,10 @@ et_EE:
|
|||||||
SUBJECTPASSWORDCHANGED: 'Sinu parool on muudetud'
|
SUBJECTPASSWORDCHANGED: 'Sinu parool on muudetud'
|
||||||
SUBJECTPASSWORDRESET: 'Sinu parooli lähtestamise link'
|
SUBJECTPASSWORDRESET: 'Sinu parooli lähtestamise link'
|
||||||
SURNAME: Perekonnanimi
|
SURNAME: Perekonnanimi
|
||||||
TIMEFORMAT: 'Aja vorming'
|
TIMEFORMAT: Kellaajavorming
|
||||||
VALIDATIONMEMBEREXISTS: 'Sellise e-posti aadressiga liige on juba olemas'
|
VALIDATIONMEMBEREXISTS: 'Sellise e-posti aadressiga liige on juba olemas'
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Olemasolevat kasutajat #{id} ei saa sama identifikaatoriga üle kirjutada ({name} = {value})'
|
||||||
WELCOMEBACK: 'Welcome Back, {firstname}'
|
WELCOMEBACK: 'Tere tulemast tagasi, {firstname}!'
|
||||||
YOUROLDPASSWORD: 'Sinu vana parool'
|
YOUROLDPASSWORD: 'Sinu vana parool'
|
||||||
belongs_many_many_Groups: Grupid
|
belongs_many_many_Groups: Grupid
|
||||||
db_LastVisited: 'Viimati külastatud kuupäev'
|
db_LastVisited: 'Viimati külastatud kuupäev'
|
||||||
@ -387,98 +400,99 @@ et_EE:
|
|||||||
MemberAuthenticator:
|
MemberAuthenticator:
|
||||||
TITLE: 'E-post ja parool'
|
TITLE: 'E-post ja parool'
|
||||||
MemberDatetimeOptionsetField:
|
MemberDatetimeOptionsetField:
|
||||||
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
AMORPM: 'AM (enne keskpäeva) või PM (pärast keskpäeva)'
|
||||||
'APPLY FILTER': 'Apply Filter'
|
'APPLY FILTER': 'Rakenda filter'
|
||||||
Custom: Custom
|
Custom: Kohandatud
|
||||||
DATEFORMATBAD: 'Date format is invalid'
|
DATEFORMATBAD: 'Kuupäevavorming on sobimatu'
|
||||||
DAYNOLEADING: 'Day of month without leading zero'
|
DAYNOLEADING: 'Kuupäev ilma nullita'
|
||||||
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
||||||
FOURDIGITYEAR: 'Four-digit year'
|
FOURDIGITYEAR: 'Aasta nelja numbrina'
|
||||||
FULLNAMEMONTH: 'Full name of month (e.g. June)'
|
FULLNAMEMONTH: 'Kuu täisnimetus (nt august)'
|
||||||
HOURNOLEADING: 'Hour without leading zero'
|
HOURNOLEADING: 'Tunnid ilma nullita'
|
||||||
MINUTENOLEADING: 'Minute without leading zero'
|
MINUTENOLEADING: 'Minutid ilma nullita'
|
||||||
MONTHNOLEADING: 'Month digit without leading zero'
|
MONTHNOLEADING: 'Kuu ilma nullita'
|
||||||
Preview: Eelvaade
|
Preview: Eelvaade
|
||||||
SHORTMONTH: 'Short name of month (e.g. Jun)'
|
SHORTMONTH: 'Kuu lühinimetus (nt aug)'
|
||||||
TOGGLEHELP: 'Toggle formatting help'
|
TOGGLEHELP: 'Toggle formatting help'
|
||||||
TWODIGITDAY: 'Two-digit day of month'
|
TWODIGITDAY: 'Kuupäev kahe numbrina'
|
||||||
TWODIGITHOUR: 'Two digits of hour (00 through 23)'
|
TWODIGITHOUR: 'Tunnid kahe numbrina (00–23)'
|
||||||
TWODIGITMINUTE: 'Two digits of minute (00 through 59)'
|
TWODIGITMINUTE: 'Minutid kahe numbrina (00–59)'
|
||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Kuu kahe numbrina (nt 01=jaanuar jne)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Sekundid kahe numbrina (00–59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Aasta kahe numbrina'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Impordi kasutajad <em>CSV-vormingus</em> (komaeraldusega väärtused). <small><a href="#" class="toggle-advanced">Kuva täpsem kasutus</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
ResultCreated: 'Created {count} members'
|
ResultCreated: '{count} liiget on loodud'
|
||||||
ResultDeleted: 'Deleted %d members'
|
ResultDeleted: '%d liiget on kustutatud'
|
||||||
ResultNone: 'No changes'
|
ResultNone: 'Muudatusi pole'
|
||||||
ResultUpdated: 'Updated {count} members'
|
ResultUpdated: '{count} liiget on uuendatud'
|
||||||
MemberPassword:
|
MemberPassword:
|
||||||
PLURALNAME: 'Member Passwords'
|
PLURALNAME: 'Liikme paroolid'
|
||||||
SINGULARNAME: 'Member Password'
|
SINGULARNAME: 'Liikme parool'
|
||||||
MemberTableField: null
|
MemberTableField: null
|
||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Kustuta
|
DELETE: Kustuta
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: '{count} kirjet on kustutatud.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Impordi CSV failist'
|
IMPORT: 'Impordi CSV-failist'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: '{count} kirjet on imporditud.'
|
||||||
NOCSVFILE: 'Palun avage CSV fail impordiks'
|
NOCSVFILE: 'Avage importimiseks CSV-fail'
|
||||||
NOIMPORT: 'Midagi pole importida'
|
NOIMPORT: 'Pole midagi importida'
|
||||||
RESET: Reset
|
RESET: Lähtesta
|
||||||
Title: 'Data Models'
|
Title: Andmemudelid
|
||||||
UPDATEDRECORDS: 'Updated {count} records.'
|
UPDATEDRECORDS: '{count} kirjet on uuendatud.'
|
||||||
ModelAdmin_ImportSpec.ss:
|
ModelAdmin_ImportSpec.ss:
|
||||||
IMPORTSPECFIELDS: 'Database columns'
|
IMPORTSPECFIELDS: 'Andmebaasi tulbad'
|
||||||
IMPORTSPECLINK: 'Show Specification for %s'
|
IMPORTSPECLINK: 'Kuva üksuse %s spetsifikatsioonid'
|
||||||
IMPORTSPECRELATIONS: Relations
|
IMPORTSPECRELATIONS: Seosed
|
||||||
IMPORTSPECTITLE: 'Specification for %s'
|
IMPORTSPECTITLE: 'Üksuse %s spetsifikatsioonid'
|
||||||
ModelAdmin_Tools.ss:
|
ModelAdmin_Tools.ss:
|
||||||
FILTER: Filter
|
FILTER: Filtreeri
|
||||||
IMPORT: Import
|
IMPORT: Impordi
|
||||||
ModelSidebar.ss:
|
ModelSidebar.ss:
|
||||||
IMPORT_TAB_HEADER: Import
|
IMPORT_TAB_HEADER: Impordi
|
||||||
SEARCHLISTINGS: Search
|
SEARCHLISTINGS: Otsi
|
||||||
MoneyField:
|
MoneyField:
|
||||||
FIELDLABELAMOUNT: Amount
|
FIELDLABELAMOUNT: Hulk
|
||||||
FIELDLABELCURRENCY: Valuuta
|
FIELDLABELCURRENCY: Valuuta
|
||||||
NullableField:
|
NullableField:
|
||||||
IsNullLabel: 'Is Null'
|
IsNullLabel: 'On tühi'
|
||||||
NumericField:
|
NumericField:
|
||||||
VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field'
|
VALIDATION: '''{value}'' ei ole number, sellele väljale võib sisestada ainult numbreid'
|
||||||
Pagination:
|
Pagination:
|
||||||
Page: Lehekülg
|
Page: Leht
|
||||||
View: View
|
View: Kuva
|
||||||
Permission:
|
Permission:
|
||||||
AdminGroup: Administrator
|
AdminGroup: Administraator
|
||||||
CMS_ACCESS_CATEGORY: CMS-juurdepääs
|
CMS_ACCESS_CATEGORY: 'Sisuhaldussüsteemi juurdepääs'
|
||||||
FULLADMINRIGHTS: 'Täis administraatori õigused'
|
FULLADMINRIGHTS: 'Täielikud administraatoriõigused'
|
||||||
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
|
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
|
||||||
PLURALNAME: Õigused
|
PLURALNAME: Õigused
|
||||||
SINGULARNAME: Õigus
|
SINGULARNAME: Õigus
|
||||||
PermissionCheckboxSetField:
|
PermissionCheckboxSetField:
|
||||||
AssignedTo: 'assigned to "{title}"'
|
AssignedTo: 'määratud grupile "{title}"'
|
||||||
FromGroup: 'inherited from group "{title}"'
|
FromGroup: 'päritud grupilt "{title}"'
|
||||||
FromRole: 'inherited from role "{title}"'
|
FromRole: 'päritud rollilt "{title}"'
|
||||||
FromRoleOnGroup: 'inherited from role "%s" on group "%s"'
|
FromRoleOnGroup: 'päritud rollist "%s" grupis "%s"'
|
||||||
PermissionRole:
|
PermissionRole:
|
||||||
OnlyAdminCanApply: 'Only admin can apply'
|
OnlyAdminCanApply: 'Ainult administraator saab rakendada'
|
||||||
PLURALNAME: Roles
|
PLURALNAME: Rollid
|
||||||
SINGULARNAME: Role
|
SINGULARNAME: Roll
|
||||||
Title: Title
|
Title: Pealkiri
|
||||||
PermissionRoleCode:
|
PermissionRoleCode:
|
||||||
PLURALNAME: 'Permission Role Cods'
|
PLURALNAME: 'Permission Role Cods'
|
||||||
SINGULARNAME: 'Permission Role Code'
|
SINGULARNAME: 'Permission Role Code'
|
||||||
Permissions:
|
Permissions:
|
||||||
PERMISSIONS_CATEGORY: 'Rollid ja juurdepääsuõigused'
|
PERMISSIONS_CATEGORY: 'Rollid ja juurdepääsuõigused'
|
||||||
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
UserPermissionsIntro: 'Sellele kasutajale gruppide määramine kohandab tema õiguseid. Vaadake gruppide jaotist, et näha üksikasju iga grupi õiguste kohta.'
|
||||||
PhoneNumberField:
|
PhoneNumberField:
|
||||||
VALIDATION: 'Palun sisesta kehtiv telefoninumber'
|
VALIDATION: 'Sisestage kehtiv telefoninumber'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
ADD: Lisa
|
ADD: Lisa
|
||||||
CSVEXPORT: 'Export to CSV'
|
CSVEXPORT: 'Ekspordi CSV-vormingusse'
|
||||||
NOTFOUND: 'No items found'
|
NOTFOUND: 'Üksusi ei leitud'
|
||||||
Security:
|
Security:
|
||||||
ALREADYLOGGEDIN: 'Sul puudub õigus sellele lehele pääsemiseks. Kui sul on teine konto, millega siia sisse logida, võid <a href="%s">uuesti sisse logida</a>.'
|
ALREADYLOGGEDIN: 'Sul puudub õigus sellele lehele pääsemiseks. Kui sul on teine konto, millega siia sisse logida, võid <a href="%s">uuesti sisse logida</a>.'
|
||||||
BUTTONSEND: 'Saada parooli tühistamise link'
|
BUTTONSEND: 'Saada parooli tühistamise link'
|
||||||
@ -489,33 +503,46 @@ et_EE:
|
|||||||
LOGGEDOUT: 'Olete välja loginud. Kui soovite uuesti siseneda, sisestage oma andmed allpool'
|
LOGGEDOUT: 'Olete välja loginud. Kui soovite uuesti siseneda, sisestage oma andmed allpool'
|
||||||
LOGIN: 'Logi sisse'
|
LOGIN: 'Logi sisse'
|
||||||
NOTEPAGESECURED: 'See leht on turvatud. Sisesta enda andmed allpool ja me saadame sind otse edasi'
|
NOTEPAGESECURED: 'See leht on turvatud. Sisesta enda andmed allpool ja me saadame sind otse edasi'
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
NOTERESETLINKINVALID: '<p>Parooli lähtestamise link on kehtetu või aegunud.</p><p>Saate taotleda uut linki <a href="{link1}">siin</a> või muuta parooli pärast <a href="{link2}">sisselogimist</a>.</p>'
|
||||||
NOTERESETPASSWORD: 'Sisesta oma email ja me saadame sulle lingi kus saad oma parooli tühistada.'
|
NOTERESETPASSWORD: 'Sisesta oma email ja me saadame sulle lingi kus saad oma parooli tühistada.'
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
PASSWORDSENTHEADER: 'Parooli lähtestamise link saadeti aadressile ''{email}'''
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
PASSWORDSENTTEXT: 'Aitäh! Lähtestamislink saadeti aadressile ''{email}'' eeldusel, et selle e-posti aadressiga seotud konto on olemas.'
|
||||||
SecurityAdmin:
|
SecurityAdmin:
|
||||||
ACCESS_HELP: 'Allow viewing, adding and editing users, as well as assigning permissions and roles to them.'
|
ACCESS_HELP: 'Luba kasutajate vaatamine, lisamine ja muutmine ning nedele lubade ja rollide määramine.'
|
||||||
APPLY_ROLES: 'Apply roles to groups'
|
APPLY_ROLES: 'Määra gruppidele rolle'
|
||||||
APPLY_ROLES_HELP: 'Ability to edit the roles assigned to a group. Requires the "Access to ''Users'' section" permission.'
|
APPLY_ROLES_HELP: 'Võime muuta grupile määratud rolle. Vajab Kasutajate sektsiooni juurdepääsu luba.'
|
||||||
EDITPERMISSIONS: 'Muuda õigusi ja IP aadresse igal grupil'
|
EDITPERMISSIONS: 'Muuda õigusi ja IP aadresse igal grupil'
|
||||||
EDITPERMISSIONS_HELP: 'Ability to edit Permissions and IP Addresses for a group. Requires the "Access to ''Security'' section" permission.'
|
EDITPERMISSIONS_HELP: 'Võime muuta grupi Lubasid ja IP aadresse. Vajab Turvalisusseadetele juurdepääsu luba.'
|
||||||
GROUPNAME: 'Rühma nimi'
|
GROUPNAME: 'Rühma nimi'
|
||||||
IMPORTGROUPS: 'Import groups'
|
IMPORTGROUPS: 'Impordi grupid'
|
||||||
IMPORTUSERS: 'Import users'
|
IMPORTUSERS: 'Impordi kasutajad'
|
||||||
MEMBERS: Kasutajad
|
MEMBERS: Kasutajad
|
||||||
MENUTITLE: Security
|
MENUTITLE: Turvalisus
|
||||||
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
|
MemberListCaution: 'Hoiatus. Sellest loendist liikmete eemdaldamisel eemaldatakse need kõikidest gruppidest ja andmebaasidest'
|
||||||
NEWGROUP: 'Uus rühm'
|
NEWGROUP: 'Uus rühm'
|
||||||
PERMISSIONS: Õigused
|
PERMISSIONS: Õigused
|
||||||
ROLES: Roles
|
ROLES: Rollid
|
||||||
ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required.'
|
ROLESDESCRIPTION: 'Rollid on eelmäratud õiguste kogumid, mida on võimalik määrara gruppidele.<br />Need päritakse vajaduse korral vanemgruppidest.'
|
||||||
TABROLES: Roles
|
TABROLES: Rollid
|
||||||
Users: Users
|
Users: Kasutajad
|
||||||
SecurityAdmin_MemberImportForm:
|
SecurityAdmin_MemberImportForm:
|
||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Impordi CSV-failist'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV-fail <small>(lubatud laiendid: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Muuda
|
Edit: Muuda
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Pilte pole üles laaditud'
|
NOUPLOAD: 'Pilte pole üles laaditud'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -524,53 +551,58 @@ et_EE:
|
|||||||
ISREQUIRED: 'In %s ''%s'' is required'
|
ISREQUIRED: 'In %s ''%s'' is required'
|
||||||
TableField.ss:
|
TableField.ss:
|
||||||
ADD: 'Lisa uus rida'
|
ADD: 'Lisa uus rida'
|
||||||
ADDITEM: 'Add %s'
|
ADDITEM: 'Lisa %s'
|
||||||
TableListField:
|
TableListField:
|
||||||
CSVEXPORT: 'Ekspordi CSV-sse'
|
CSVEXPORT: 'Ekspordi CSV-vormingusse'
|
||||||
PRINT: Prindi
|
PRINT: Prindi
|
||||||
Print: Print
|
Print: Prindi
|
||||||
SELECT: 'Vali:'
|
SELECT: 'Vali:'
|
||||||
TableListField.ss:
|
TableListField.ss:
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'Üksusi ei leitud'
|
||||||
SORTASC: 'Sordi kasvavas järjekorras'
|
SORTASC: 'Sordi kasvavas järjekorras'
|
||||||
SORTDESC: 'Sordi kahanevas järjekorras'
|
SORTDESC: 'Sordi kahanevas järjekorras'
|
||||||
TableListField_PageControls.ss:
|
TableListField_PageControls.ss:
|
||||||
DISPLAYING: Displaying
|
DISPLAYING: Kuvatakse
|
||||||
OF: of
|
OF: /
|
||||||
TO: to
|
TO: to
|
||||||
VIEWFIRST: 'Vaata esimest'
|
VIEWFIRST: 'Vaata esimest'
|
||||||
VIEWLAST: 'Vaata viimast'
|
VIEWLAST: 'Vaata viimast'
|
||||||
VIEWNEXT: 'Vaata järgmist'
|
VIEWNEXT: 'Vaata järgmist'
|
||||||
VIEWPREVIOUS: 'Vaata eelmist'
|
VIEWPREVIOUS: 'Vaata eelmist'
|
||||||
TimeField:
|
TimeField:
|
||||||
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
|
VALIDATEFORMAT: 'Sisestage sobivas vormingus kellaaeg ({format})'
|
||||||
ToggleField:
|
ToggleField:
|
||||||
LESS: Vähem
|
LESS: Vähem
|
||||||
MORE: Veel
|
MORE: Veel
|
||||||
UploadField:
|
UploadField:
|
||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Manusta fail'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Manusta failid'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Manusta fail(id)'
|
||||||
DELETE: 'Delete from files'
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DOEDIT: Save
|
DELETE: 'Kustuta failide hulgast'
|
||||||
DROPFILE: 'drop a file'
|
DELETEINFO: 'Kustuta see fail lõplikult failihoidlast'
|
||||||
DROPFILES: 'drop files'
|
DOEDIT: Salvesta
|
||||||
Dimensions: Dimensions
|
DROPFILE: 'pukseeri failid'
|
||||||
EDIT: Edit
|
DROPFILES: 'pukseeri failid'
|
||||||
EDITINFO: 'Edit this file'
|
Dimensions: Mõõtmed
|
||||||
FIELDNOTSET: 'File information not found'
|
EDIT: Muuda
|
||||||
FROMCOMPUTER: 'From your computer'
|
EDITINFO: 'Muuda seda faili'
|
||||||
FROMCOMPUTERINFO: 'Select from files'
|
FIELDNOTSET: 'Failiteavet ei leitud'
|
||||||
FROMFILES: 'From files'
|
FROMCOMPUTER: 'Teie arvutist'
|
||||||
|
FROMCOMPUTERINFO: 'Valige failide hulgast'
|
||||||
|
FROMFILES: Failidest
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Maksimaalne failide arv {count} on ületatud.'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
REMOVE: Remove
|
MAXNUMBEROFFILESSHORT: 'Üles saab laadida ainult {count} faili'
|
||||||
REMOVEERROR: 'Error removing file'
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVE: Eemalda
|
||||||
STARTALL: 'Start all'
|
REMOVEERROR: 'Viga faili eemaldamisel'
|
||||||
STARTALLINFO: 'Start all uploads'
|
REMOVEINFO: 'Eemalda see fail siit, kuid ära kustuta seda failihoidlast'
|
||||||
Saved: Saved
|
STARTALL: 'Alusta kõiki'
|
||||||
|
STARTALLINFO: 'Alusta kõiki üleslaadimisi'
|
||||||
|
Saved: Salvestatud
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versioon
|
has_many_Versions: Versioon
|
||||||
|
@ -2,6 +2,7 @@ fa_IR:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'پوشه جديد'
|
NEWFOLDER: 'پوشه جديد'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: ابعاد
|
DIM: ابعاد
|
||||||
@ -9,7 +10,7 @@ fa_IR:
|
|||||||
FOLDER: Folder
|
FOLDER: Folder
|
||||||
LASTEDIT: 'آخرین تغییرات'
|
LASTEDIT: 'آخرین تغییرات'
|
||||||
OWNER: دارنده
|
OWNER: دارنده
|
||||||
SIZE: حجم
|
SIZE: 'حجم'
|
||||||
TITLE: عنوان
|
TITLE: عنوان
|
||||||
TYPE: نوع
|
TYPE: نوع
|
||||||
URL: نشانی
|
URL: نشانی
|
||||||
@ -59,9 +60,9 @@ fa_IR:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: نه
|
|
||||||
ANY: هر
|
ANY: هر
|
||||||
1: آری
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,17 +71,19 @@ fa_IR:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: نگاهداری
|
SAVE: نگاهداری
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
CHANGEPASSWORDTEXT1: 'شما گذرواژه تان را دگرگون کردید برای'
|
CHANGEPASSWORDTEXT1: 'شما گذرواژه تان را دگرگون کردید برای'
|
||||||
CHANGEPASSWORDTEXT2: 'You can now use the following credentials to log in:'
|
CHANGEPASSWORDTEXT2: 'You can now use the following credentials to log in:'
|
||||||
EMAIL: ايميل
|
EMAIL: 'ايميل'
|
||||||
HELLO: درود
|
HELLO: درود
|
||||||
PASSWORD: 'كلمه عبور'
|
PASSWORD: 'كلمه عبور'
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- نه
|
NOANSWER: 'False'
|
||||||
- آری
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'بستن چنجره'
|
CLOSEPOPUP: 'بستن چنجره'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -100,32 +103,33 @@ fa_IR:
|
|||||||
SHOWONCLICKTITLE: 'تغيير كلمه عبور'
|
SHOWONCLICKTITLE: 'تغيير كلمه عبور'
|
||||||
CreditCardField:
|
CreditCardField:
|
||||||
FIRST: نخست
|
FIRST: نخست
|
||||||
FOURTH: چهارم
|
FOURTH: 'چهارم'
|
||||||
SECOND: دوم
|
SECOND: 'دوم'
|
||||||
THIRD: سوم
|
THIRD: 'سوم'
|
||||||
CurrencyField:
|
CurrencyField:
|
||||||
CURRENCYSYMBOL: $
|
CURRENCYSYMBOL: $
|
||||||
DataObject:
|
DataObject:
|
||||||
PLURALNAME: 'داده های اشیاء'
|
PLURALNAME: 'داده های اشیاء'
|
||||||
SINGULARNAME: 'داده اشیاء'
|
SINGULARNAME: 'داده اشیاء'
|
||||||
Date:
|
Date:
|
||||||
DAY: روز
|
DAY: day
|
||||||
DAYS: روز
|
DAYS: days
|
||||||
HOUR: ساعت
|
HOUR: hour
|
||||||
HOURS: ساعت
|
HOURS: hours
|
||||||
MIN: دقیقه
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: دقیقه
|
MIN: min
|
||||||
MONTH: ماه
|
MINS: mins
|
||||||
MONTHS: 'ماه ها'
|
MONTH: month
|
||||||
SEC: ثانیه
|
MONTHS: months
|
||||||
SECS: ثانیه
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: سال
|
YEAR: year
|
||||||
YEARS: سال
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: امروز
|
TODAY: 'امروز'
|
||||||
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
||||||
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
||||||
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
||||||
@ -144,7 +148,7 @@ fa_IR:
|
|||||||
ANY: Any
|
ANY: Any
|
||||||
File:
|
File:
|
||||||
AviType: 'AVI video file'
|
AviType: 'AVI video file'
|
||||||
Content: محتوا
|
Content: 'محتوا'
|
||||||
CssType: 'CSS file'
|
CssType: 'CSS file'
|
||||||
DmgType: 'Apple disk image'
|
DmgType: 'Apple disk image'
|
||||||
DocType: 'Word document'
|
DocType: 'Word document'
|
||||||
@ -162,7 +166,7 @@ fa_IR:
|
|||||||
MpgType: 'MPEG video file'
|
MpgType: 'MPEG video file'
|
||||||
NOFILESIZE: 'Filesize is zero bytes.'
|
NOFILESIZE: 'Filesize is zero bytes.'
|
||||||
NOVALIDUPLOAD: 'File is not a valid upload'
|
NOVALIDUPLOAD: 'File is not a valid upload'
|
||||||
Name: نام
|
Name: 'نام'
|
||||||
PLURALNAME: 'فايل ها'
|
PLURALNAME: 'فايل ها'
|
||||||
PdfType: 'Adobe Acrobat PDF file'
|
PdfType: 'Adobe Acrobat PDF file'
|
||||||
PngType: 'PNG image - good general-purpose format'
|
PngType: 'PNG image - good general-purpose format'
|
||||||
@ -198,7 +202,8 @@ fa_IR:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: برای
|
TEXT3: برای
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s نیاز است.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ fa_IR:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: 'هیچ کدام'
|
NONE: 'هیچ کدام'
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ fa_IR:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ fa_IR:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -253,7 +262,7 @@ fa_IR:
|
|||||||
RolesAddEditLink: 'اضافه/ویرایش وظیفه'
|
RolesAddEditLink: 'اضافه/ویرایش وظیفه'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Group
|
||||||
Sort: 'تربیت چیدن'
|
Sort: 'تربیت چیدن'
|
||||||
has_many_Permissions: مجوزها
|
has_many_Permissions: 'مجوزها'
|
||||||
many_many_Members: اعضاء
|
many_many_Members: اعضاء
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
@ -267,6 +276,7 @@ fa_IR:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'گذاشتن پیوند'
|
BUTTONINSERTLINK: 'گذاشتن پیوند'
|
||||||
BUTTONREMOVELINK: 'برداشتن پیوند'
|
BUTTONREMOVELINK: 'برداشتن پیوند'
|
||||||
@ -322,7 +332,7 @@ fa_IR:
|
|||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
||||||
DELETED: Deleted.
|
DELETED: Deleted.
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Actions
|
||||||
HELP: کمک
|
HELP: 'کمک'
|
||||||
PAGETYPE: 'نوع صفحه'
|
PAGETYPE: 'نوع صفحه'
|
||||||
PERMAGAIN: 'شما از سیستم مدیریت محتوا خارج شده اید.اگر میخواهید دوباره وارد شوید نام کاربری و رمز عبور خود را در قسمت زیر وارد کنید'
|
PERMAGAIN: 'شما از سیستم مدیریت محتوا خارج شده اید.اگر میخواهید دوباره وارد شوید نام کاربری و رمز عبور خود را در قسمت زیر وارد کنید'
|
||||||
PERMALREADY: 'من متاسفم، شما نمی توانید به آن قسمت از سیستم مدیریت محتوا دسترسی پیدا کنید. اگر میخواهید به عنوان شخص دیگری وارد شوید از قسمت زیر تلاش کنید'
|
PERMALREADY: 'من متاسفم، شما نمی توانید به آن قسمت از سیستم مدیریت محتوا دسترسی پیدا کنید. اگر میخواهید به عنوان شخص دیگری وارد شوید از قسمت زیر تلاش کنید'
|
||||||
@ -331,7 +341,10 @@ fa_IR:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -360,7 +373,7 @@ fa_IR:
|
|||||||
ERRORNEWPASSWORD: 'You have entered your new password differently, try again'
|
ERRORNEWPASSWORD: 'You have entered your new password differently, try again'
|
||||||
ERRORPASSWORDNOTMATCH: 'Your current password does not match, please try again'
|
ERRORPASSWORDNOTMATCH: 'Your current password does not match, please try again'
|
||||||
ERRORWRONGCRED: 'That doesn''t seem to be the right e-mail address or password. Please try again.'
|
ERRORWRONGCRED: 'That doesn''t seem to be the right e-mail address or password. Please try again.'
|
||||||
FIRSTNAME: نام
|
FIRSTNAME: 'نام'
|
||||||
INTERFACELANG: 'زبان برنامه'
|
INTERFACELANG: 'زبان برنامه'
|
||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'You''re logged in as {name}.'
|
||||||
@ -407,6 +420,7 @@ fa_IR:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ fa_IR:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: حذف
|
DELETE: حذف
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ fa_IR:
|
|||||||
BtnImport: 'وارد کردن'
|
BtnImport: 'وارد کردن'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ fa_IR:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ fa_IR:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: 'نسخه ها'
|
has_many_Versions: 'نسخه ها'
|
||||||
|
70
lang/fi.yml
70
lang/fi.yml
@ -2,6 +2,7 @@ fi:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Sallitut laajennukset'
|
ALLOWEDEXTS: 'Sallitut laajennukset'
|
||||||
NEWFOLDER: 'Uusi kansio'
|
NEWFOLDER: 'Uusi kansio'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Ensimmäisen kerran ladattu palvelimelle'
|
CREATED: 'Ensimmäisen kerran ladattu palvelimelle'
|
||||||
DIM: Mitat
|
DIM: Mitat
|
||||||
@ -59,9 +60,9 @@ fi:
|
|||||||
ERRORNOTADMIN: 'Tämä käyttäjä ei ole ylläpitäjä'
|
ERRORNOTADMIN: 'Tämä käyttäjä ei ole ylläpitäjä'
|
||||||
ERRORNOTREC: 'Tätä käyttäjänimeä/salasanaa ei tunnistettu.'
|
ERRORNOTREC: 'Tätä käyttäjänimeä/salasanaa ei tunnistettu.'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Ei
|
|
||||||
ANY: Yhtään
|
ANY: Yhtään
|
||||||
1: Kyllä
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Ladataan...
|
LOADING: Ladataan...
|
||||||
REQUIREJS: 'CMS-järjestelmä vaatii, että selaimessasi on JavaSkriptit päällä.'
|
REQUIREJS: 'CMS-järjestelmä vaatii, että selaimessasi on JavaSkriptit päällä.'
|
||||||
@ -70,6 +71,8 @@ fi:
|
|||||||
ACCESSALLINTERFACES: 'Pääsy kaikkiin CMS-osioihin'
|
ACCESSALLINTERFACES: 'Pääsy kaikkiin CMS-osioihin'
|
||||||
ACCESSALLINTERFACESHELP: 'Ohittaa tarkemmat käyttöoikeudet.'
|
ACCESSALLINTERFACESHELP: 'Ohittaa tarkemmat käyttöoikeudet.'
|
||||||
SAVE: Tallenna
|
SAVE: Tallenna
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: Profiilini
|
MENUTITLE: Profiilini
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ fi:
|
|||||||
HELLO: Hei
|
HELLO: Hei
|
||||||
PASSWORD: Salasana
|
PASSWORD: Salasana
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Ei
|
NOANSWER: 'False'
|
||||||
- Kyllä
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Sulje ponnahdusikkuna'
|
CLOSEPOPUP: 'Sulje ponnahdusikkuna'
|
||||||
SUCCESSADD2: 'Lisättiin {name}'
|
SUCCESSADD2: 'Lisättiin {name}'
|
||||||
@ -109,20 +112,21 @@ fi:
|
|||||||
PLURALNAME: Dataobjektit
|
PLURALNAME: Dataobjektit
|
||||||
SINGULARNAME: Dataobjekti
|
SINGULARNAME: Dataobjekti
|
||||||
Date:
|
Date:
|
||||||
DAY: päivä
|
DAY: day
|
||||||
DAYS: ' päivää '
|
DAYS: days
|
||||||
HOUR: ' tunti'
|
HOUR: hour
|
||||||
HOURS: ' tuntia'
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: min.
|
MINS: mins
|
||||||
MONTH: kuukausi
|
MONTH: month
|
||||||
MONTHS: kuukaudet
|
MONTHS: months
|
||||||
SEC: sek.
|
SEC: sec
|
||||||
SECS: sek.
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} sitten'
|
TIMEDIFFAGO: '{difference} sitten'
|
||||||
TIMEDIFFIN: '» {difference}'
|
TIMEDIFFIN: '» {difference}'
|
||||||
YEAR: vuosi
|
YEAR: year
|
||||||
YEARS: vuodet
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'ei asetettu'
|
NOTSET: 'ei asetettu'
|
||||||
TODAY: tänään
|
TODAY: tänään
|
||||||
@ -198,7 +202,8 @@ fi:
|
|||||||
TEXT2: 'salasanan tyhjäys -linkki'
|
TEXT2: 'salasanan tyhjäys -linkki'
|
||||||
TEXT3: henkilölle
|
TEXT3: henkilölle
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s on pakollinen.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Siirrä
|
SubmitBtnLabel: Siirrä
|
||||||
VALIDATIONCREDITNUMBER: 'Tarkista, ovatko antamasi luottokortin numerot ({number}) oikein'
|
VALIDATIONCREDITNUMBER: 'Tarkista, ovatko antamasi luottokortin numerot ({number}) oikein'
|
||||||
VALIDATIONNOTUNIQUE: 'Syötetty arvo ei ole yksilöllinen'
|
VALIDATIONNOTUNIQUE: 'Syötetty arvo ei ole yksilöllinen'
|
||||||
@ -208,6 +213,7 @@ fi:
|
|||||||
VALIDATOR: Tarkistin
|
VALIDATOR: Tarkistin
|
||||||
VALIDCURRENCY: 'Ole hyvä ja valitse voimassa oleva valuutta'
|
VALIDCURRENCY: 'Ole hyvä ja valitse voimassa oleva valuutta'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: 'Ei yhtään'
|
NONE: 'Ei yhtään'
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Poista
|
DELETE_DESCRIPTION: Poista
|
||||||
@ -230,6 +236,7 @@ fi:
|
|||||||
ResetFilter: Nollaa
|
ResetFilter: Nollaa
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Ei oikeuksia poistamiseen'
|
DeletePermissionsFailure: 'Ei oikeuksia poistamiseen'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Peruuta
|
CancelBtn: Peruuta
|
||||||
Create: Luo
|
Create: Luo
|
||||||
@ -237,7 +244,9 @@ fi:
|
|||||||
DeletePermissionsFailure: 'Ei oikeuksia poistamiseen'
|
DeletePermissionsFailure: 'Ei oikeuksia poistamiseen'
|
||||||
Deleted: 'Poistettiin %s %s'
|
Deleted: 'Poistettiin %s %s'
|
||||||
Save: Tallenna
|
Save: Tallenna
|
||||||
Saved: 'Tallennettu %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Lisää ryhmälle rooli'
|
AddRole: 'Lisää ryhmälle rooli'
|
||||||
@ -267,6 +276,7 @@ fi:
|
|||||||
ADDURL: 'Lisää URL-osoite'
|
ADDURL: 'Lisää URL-osoite'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Tarkat tiedot & mitat'
|
ADJUSTDETAILSDIMENSIONS: 'Tarkat tiedot & mitat'
|
||||||
ANCHORVALUE: Ankkuri
|
ANCHORVALUE: Ankkuri
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Liitä
|
BUTTONINSERT: Liitä
|
||||||
BUTTONINSERTLINK: 'Lisää linkki'
|
BUTTONINSERTLINK: 'Lisää linkki'
|
||||||
BUTTONREMOVELINK: 'Poista linkki'
|
BUTTONREMOVELINK: 'Poista linkki'
|
||||||
@ -323,7 +333,7 @@ fi:
|
|||||||
DELETED: Poistettu.
|
DELETED: Poistettu.
|
||||||
DropdownBatchActionsDefault: Toimenpiteet
|
DropdownBatchActionsDefault: Toimenpiteet
|
||||||
HELP: Ohje
|
HELP: Ohje
|
||||||
PAGETYPE: 'Sivun tyyppi:'
|
PAGETYPE: 'Sivutyyppi:'
|
||||||
PERMAGAIN: 'Olet kirjautunut ulos CMS:stä. Jos haluat kirjautua uudelleen sisään, syötä käyttäjätunnuksesi ja salasanasi alla.'
|
PERMAGAIN: 'Olet kirjautunut ulos CMS:stä. Jos haluat kirjautua uudelleen sisään, syötä käyttäjätunnuksesi ja salasanasi alla.'
|
||||||
PERMALREADY: 'Paihoittelut, mutta et pääse tähän osaan CMS:ää. Jos haluat kirjautua jonain muuna, voit tehdä sen alla.'
|
PERMALREADY: 'Paihoittelut, mutta et pääse tähän osaan CMS:ää. Jos haluat kirjautua jonain muuna, voit tehdä sen alla.'
|
||||||
PERMDEFAULT: 'Valitse tunnistustapa ja syötä tunnistetietosi CMS:ään.'
|
PERMDEFAULT: 'Valitse tunnistustapa ja syötä tunnistetietosi CMS:ään.'
|
||||||
@ -331,6 +341,9 @@ fi:
|
|||||||
PreviewButton: Esikatselu
|
PreviewButton: Esikatselu
|
||||||
REORGANISATIONSUCCESSFUL: 'Hakemistopuu järjestettiin uudelleen onnistuneesti.'
|
REORGANISATIONSUCCESSFUL: 'Hakemistopuu järjestettiin uudelleen onnistuneesti.'
|
||||||
SAVEDUP: Tallennettu.
|
SAVEDUP: Tallennettu.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: tuntematon
|
VersionUnknown: tuntematon
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hei
|
Hello: Hei
|
||||||
@ -407,6 +420,7 @@ fi:
|
|||||||
TWODIGITMONTH: 'Kaksinumeroinen kuukausi (01=tammikuu, jne.)'
|
TWODIGITMONTH: 'Kaksinumeroinen kuukausi (01=tammikuu, jne.)'
|
||||||
TWODIGITSECOND: 'Kaksinumeroinen sekunti (00–59)'
|
TWODIGITSECOND: 'Kaksinumeroinen sekunti (00–59)'
|
||||||
TWODIGITYEAR: 'Kaksinumeroinen vuosiluku'
|
TWODIGITYEAR: 'Kaksinumeroinen vuosiluku'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Tuo käyttäjät <em>CSV-muodossa</em> (arvot pilkulla erotettuina). <small><a href="#" class="toggle-advanced">Näytä edistyksellinen käyttö</a></small></p>'
|
Help1: '<p>Tuo käyttäjät <em>CSV-muodossa</em> (arvot pilkulla erotettuina). <small><a href="#" class="toggle-advanced">Näytä edistyksellinen käyttö</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Edistynyt käyttö</h4>\\n<ul>\\n<li>Sallitut palstat: <em>%s</em></li>\\n<li>Olemassa olevat käyttäjät kohdistetaan uniikilla <em>Code</em>-arvolla, ja päivitetään uudet arvot tuodusta tiedostosta.</li>\\n<li>Ryhmät voidaan kohdistaa <em>Ryhmät</em>-palstaan. Ryhmät tunnistetaan <em>Code</em>-arvosta, useat ryhmät voidaan erottaa pilkulla. Olemassa olevat ryhmäjäsenyydet säilytetään.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Edistynyt käyttö</h4>\\n<ul>\\n<li>Sallitut palstat: <em>%s</em></li>\\n<li>Olemassa olevat käyttäjät kohdistetaan uniikilla <em>Code</em>-arvolla, ja päivitetään uudet arvot tuodusta tiedostosta.</li>\\n<li>Ryhmät voidaan kohdistaa <em>Ryhmät</em>-palstaan. Ryhmät tunnistetaan <em>Code</em>-arvosta, useat ryhmät voidaan erottaa pilkulla. Olemassa olevat ryhmäjäsenyydet säilytetään.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ fi:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Poista
|
DELETE: Poista
|
||||||
DELETEDRECORDS: 'Poistettiin {count} tietuetta'
|
DELETEDRECORDS: 'Poistettiin {count} tietuetta'
|
||||||
EMPTYBEFOREIMPORT: 'Tyhjennä tietokanta ennen tuonti'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Tuo CSV:stä'
|
IMPORT: 'Tuo CSV:stä'
|
||||||
IMPORTEDRECORDS: 'Tuotiin {count} tietuetta'
|
IMPORTEDRECORDS: 'Tuotiin {count} tietuetta'
|
||||||
NOCSVFILE: 'Selaa ja tuo CSV-tiedosto'
|
NOCSVFILE: 'Selaa ja tuo CSV-tiedosto'
|
||||||
@ -515,7 +529,20 @@ fi:
|
|||||||
BtnImport: Tuonti
|
BtnImport: Tuonti
|
||||||
FileFieldLabel: 'CSV-tiedosto <small>(Sallitut päätteet: *.csv)</small>'
|
FileFieldLabel: 'CSV-tiedosto <small>(Sallitut päätteet: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Muokkaa
|
Edit: Muokkaa
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Kuvaa ei kopioitu palvelimelle'
|
NOUPLOAD: 'Kuvaa ei kopioitu palvelimelle'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ fi:
|
|||||||
ATTACHFILE: 'Liitä tiedosto'
|
ATTACHFILE: 'Liitä tiedosto'
|
||||||
ATTACHFILES: 'Liitä tiedostoja'
|
ATTACHFILES: 'Liitä tiedostoja'
|
||||||
AttachFile: 'Liitä tiedostoja'
|
AttachFile: 'Liitä tiedostoja'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Poista tiedostoista'
|
DELETE: 'Poista tiedostoista'
|
||||||
DELETEINFO: 'Poista tiedosto pysyvästi'
|
DELETEINFO: 'Poista tiedosto pysyvästi'
|
||||||
DOEDIT: Tallenna
|
DOEDIT: Tallenna
|
||||||
@ -565,12 +594,15 @@ fi:
|
|||||||
FROMFILES: Tiedostoista
|
FROMFILES: Tiedostoista
|
||||||
HOTLINKINFO: 'Info: Kuvalle tulee suora linkki. Varmista sivun omistajalta, että sinulla on oikeus suoraan linkitykseen.'
|
HOTLINKINFO: 'Info: Kuvalle tulee suora linkki. Varmista sivun omistajalta, että sinulla on oikeus suoraan linkitykseen.'
|
||||||
MAXNUMBEROFFILES: 'Suurin sallittu määrä ({count}) tiedostoja ylitetty.'
|
MAXNUMBEROFFILES: 'Suurin sallittu määrä ({count}) tiedostoja ylitetty.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Voidaan siirtää vain {count} tiedostoa'
|
MAXNUMBEROFFILESSHORT: 'Voidaan siirtää vain {count} tiedostoa'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Poista
|
REMOVE: Poista
|
||||||
REMOVEERROR: 'Virhe poistettaessa tiedostoa'
|
REMOVEERROR: 'Virhe poistettaessa tiedostoa'
|
||||||
REMOVEINFO: 'Poista tiedosto, mutta säilytä se tiedostovarastossa'
|
REMOVEINFO: 'Poista tiedosto, mutta säilytä se tiedostovarastossa'
|
||||||
STARTALL: 'Aloita kaikki'
|
STARTALL: 'Aloita kaikki'
|
||||||
STARTALLINFO: 'Aloita kaikkien siirto'
|
STARTALLINFO: 'Aloita kaikkien siirto'
|
||||||
Saved: Tallennettu
|
Saved: Tallennettu
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiot
|
has_many_Versions: Versiot
|
||||||
|
72
lang/fo.yml
72
lang/fo.yml
@ -2,6 +2,7 @@ fo:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nýggj skjátta'
|
NEWFOLDER: 'Nýggj skjátta'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ fo:
|
|||||||
ERRORNOTADMIN: 'Hasin brúkarin er ikki ein fyrisitari.'
|
ERRORNOTADMIN: 'Hasin brúkarin er ikki ein fyrisitari.'
|
||||||
ERRORNOTREC: 'Brúkaranavn / loyniorð er skeivt'
|
ERRORNOTREC: 'Brúkaranavn / loyniorð er skeivt'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ fo:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Goym
|
SAVE: Goym
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ fo:
|
|||||||
HELLO: Hey
|
HELLO: Hey
|
||||||
PASSWORD: Loyniorð
|
PASSWORD: Loyniorð
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Lat glugga aftur'
|
CLOSEPOPUP: 'Lat glugga aftur'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ fo:
|
|||||||
PLURALNAME: 'Dáta eindir'
|
PLURALNAME: 'Dáta eindir'
|
||||||
SINGULARNAME: 'Dáta eind'
|
SINGULARNAME: 'Dáta eind'
|
||||||
Date:
|
Date:
|
||||||
DAY: dagur
|
DAY: day
|
||||||
DAYS: dagar
|
DAYS: days
|
||||||
HOUR: tími
|
HOUR: hour
|
||||||
HOURS: tímar
|
HOURS: hours
|
||||||
MIN: minuttur
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minuttir
|
MIN: min
|
||||||
MONTH: máni
|
MINS: mins
|
||||||
MONTHS: mánaðar
|
MONTH: month
|
||||||
SEC: sekund
|
MONTHS: months
|
||||||
SECS: sekundir
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ár
|
YEAR: year
|
||||||
YEARS: ár
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'ikki ásett'
|
NOTSET: 'ikki ásett'
|
||||||
TODAY: 'í dag'
|
TODAY: 'í dag'
|
||||||
@ -198,7 +202,8 @@ fo:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s er kravt'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Virðið sum bleiv inntøppað er ikki eintýðugt'
|
VALIDATIONNOTUNIQUE: 'Virðið sum bleiv inntøppað er ikki eintýðugt'
|
||||||
@ -208,6 +213,7 @@ fo:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: einki
|
NONE: einki
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ fo:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ fo:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ fo:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Stovna leinku'
|
BUTTONINSERTLINK: 'Stovna leinku'
|
||||||
BUTTONREMOVELINK: 'Strika leinku'
|
BUTTONREMOVELINK: 'Strika leinku'
|
||||||
@ -331,7 +341,10 @@ fo:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ fo:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ fo:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Strika
|
DELETE: Strika
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Innles frá CSV'
|
IMPORT: 'Innles frá CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ fo:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ fo:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ fo:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Útgávur
|
has_many_Versions: Útgávur
|
||||||
|
72
lang/fr.yml
72
lang/fr.yml
@ -2,6 +2,7 @@ fr:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nouveau dossier'
|
NEWFOLDER: 'Nouveau dossier'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Premier chargement'
|
CREATED: 'Premier chargement'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ fr:
|
|||||||
ERRORNOTADMIN: 'Cet utilisateur n''est pas un administrateur.'
|
ERRORNOTADMIN: 'Cet utilisateur n''est pas un administrateur.'
|
||||||
ERRORNOTREC: 'Cet identifiant / mot de passe n''est pas reconnu'
|
ERRORNOTREC: 'Cet identifiant / mot de passe n''est pas reconnu'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Non
|
|
||||||
ANY: Tout
|
ANY: Tout
|
||||||
1: Oui
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Chargement...
|
LOADING: Chargement...
|
||||||
REQUIREJS: 'Vous devez activer JavaScript pour utiliser le CMS.'
|
REQUIREJS: 'Vous devez activer JavaScript pour utiliser le CMS.'
|
||||||
@ -70,6 +71,8 @@ fr:
|
|||||||
ACCESSALLINTERFACES: 'Accès à toutes les sections du CMS'
|
ACCESSALLINTERFACES: 'Accès à toutes les sections du CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Prioritaire sur les droits plus spécifiques d''accès.'
|
ACCESSALLINTERFACESHELP: 'Prioritaire sur les droits plus spécifiques d''accès.'
|
||||||
SAVE: Enregistrer
|
SAVE: Enregistrer
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Mon profil'
|
MENUTITLE: 'Mon profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ fr:
|
|||||||
HELLO: Salut
|
HELLO: Salut
|
||||||
PASSWORD: 'Mot de passe'
|
PASSWORD: 'Mot de passe'
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Non
|
NOANSWER: 'False'
|
||||||
- Oui
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Ferme Popup'
|
CLOSEPOPUP: 'Ferme Popup'
|
||||||
SUCCESSADD2: '{name} ajouté'
|
SUCCESSADD2: '{name} ajouté'
|
||||||
@ -109,20 +112,21 @@ fr:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: jour
|
DAY: day
|
||||||
DAYS: jours
|
DAYS: days
|
||||||
HOUR: heure
|
HOUR: hour
|
||||||
HOURS: heures
|
HOURS: hours
|
||||||
MIN: minutes
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minutes
|
MIN: min
|
||||||
MONTH: mois
|
MINS: mins
|
||||||
MONTHS: mois
|
MONTH: month
|
||||||
SEC: seconde
|
MONTHS: months
|
||||||
SECS: secondes
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: 'Il y a {difference}'
|
TIMEDIFFAGO: 'Il y a {difference}'
|
||||||
TIMEDIFFIN: 'Dans {difference}'
|
TIMEDIFFIN: 'Dans {difference}'
|
||||||
YEAR: année
|
YEAR: year
|
||||||
YEARS: années
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'pas d''ensemble'
|
NOTSET: 'pas d''ensemble'
|
||||||
TODAY: 'aujourd''hui'
|
TODAY: 'aujourd''hui'
|
||||||
@ -198,7 +202,8 @@ fr:
|
|||||||
TEXT2: 'lien de réinitialisation de mot de passe'
|
TEXT2: 'lien de réinitialisation de mot de passe'
|
||||||
TEXT3: pour
|
TEXT3: pour
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s est requis'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Envoyer
|
SubmitBtnLabel: Envoyer
|
||||||
VALIDATIONCREDITNUMBER: 'Vérifiez que vous avez bien saisi votre numéro de carte bleue {number}.'
|
VALIDATIONCREDITNUMBER: 'Vérifiez que vous avez bien saisi votre numéro de carte bleue {number}.'
|
||||||
VALIDATIONNOTUNIQUE: 'La valeur entrée n''est pas unique'
|
VALIDATIONNOTUNIQUE: 'La valeur entrée n''est pas unique'
|
||||||
@ -208,6 +213,7 @@ fr:
|
|||||||
VALIDATOR: Validateur
|
VALIDATOR: Validateur
|
||||||
VALIDCURRENCY: 'Saisissez une monnaie valide'
|
VALIDCURRENCY: 'Saisissez une monnaie valide'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: aucun
|
NONE: aucun
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Supprime
|
DELETE_DESCRIPTION: Supprime
|
||||||
@ -230,6 +236,7 @@ fr:
|
|||||||
ResetFilter: Réinitialiser
|
ResetFilter: Réinitialiser
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Vous n’avez pas les autorisations pour supprimer'
|
DeletePermissionsFailure: 'Vous n’avez pas les autorisations pour supprimer'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Annuler
|
CancelBtn: Annuler
|
||||||
Create: Créer
|
Create: Créer
|
||||||
@ -237,7 +244,9 @@ fr:
|
|||||||
DeletePermissionsFailure: 'Vous n’avez pas les autorisations pour supprimer'
|
DeletePermissionsFailure: 'Vous n’avez pas les autorisations pour supprimer'
|
||||||
Deleted: '%s %s supprimés'
|
Deleted: '%s %s supprimés'
|
||||||
Save: Enregistrer
|
Save: Enregistrer
|
||||||
Saved: '%s %s sauvegardés'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Ajouter un rôle à ce groupe '
|
AddRole: 'Ajouter un rôle à ce groupe '
|
||||||
@ -267,6 +276,7 @@ fr:
|
|||||||
ADDURL: 'Ajouter URL'
|
ADDURL: 'Ajouter URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Détails & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Détails & dimensions'
|
||||||
ANCHORVALUE: Ancre
|
ANCHORVALUE: Ancre
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insérer
|
BUTTONINSERT: Insérer
|
||||||
BUTTONINSERTLINK: 'Insérer un lien'
|
BUTTONINSERTLINK: 'Insérer un lien'
|
||||||
BUTTONREMOVELINK: 'Supprimer le lien'
|
BUTTONREMOVELINK: 'Supprimer le lien'
|
||||||
@ -331,6 +341,9 @@ fr:
|
|||||||
PreviewButton: Aperçu
|
PreviewButton: Aperçu
|
||||||
REORGANISATIONSUCCESSFUL: 'L’arbre du site a été bien réorganisé.'
|
REORGANISATIONSUCCESSFUL: 'L’arbre du site a été bien réorganisé.'
|
||||||
SAVEDUP: Enregistré.
|
SAVEDUP: Enregistré.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: inconnu
|
VersionUnknown: inconnu
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Bonjour
|
Hello: Bonjour
|
||||||
@ -407,6 +420,7 @@ fr:
|
|||||||
TWODIGITMONTH: 'Le mois sur deux chiffres (p. ex. 01=janvier)'
|
TWODIGITMONTH: 'Le mois sur deux chiffres (p. ex. 01=janvier)'
|
||||||
TWODIGITSECOND: 'La seconde sur deux chiffres (de 00 à 59)'
|
TWODIGITSECOND: 'La seconde sur deux chiffres (de 00 à 59)'
|
||||||
TWODIGITYEAR: 'L’année sur deux chiffres'
|
TWODIGITYEAR: 'L’année sur deux chiffres'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Importer les membres au format<em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Afficher l''usage avancé.</a></small></p>'
|
Help1: '<p>Importer les membres au format<em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Afficher l''usage avancé.</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Utilisation avancée</h4>\\n<ul>\\n<li>Colonnes autorisées : <em>%s</em></li>\\n<li>Les utilisateurs existants sont retrouvés avec leur <em>Code</em> unique et les registres sont mis à jour avec les nouvelles valeurs du fichier importé.</li>\\n<li>Des groupes peuvent être assignés à l’aide de la colonne <em>Groups</em>. Les groupes sont identifiés par leur <em>Code</em>, plusieurs groupes peuvent être indiqués en les séparant par des virgules. L’appartenance actuelle aux groupes n’est pas modifiée.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Utilisation avancée</h4>\\n<ul>\\n<li>Colonnes autorisées : <em>%s</em></li>\\n<li>Les utilisateurs existants sont retrouvés avec leur <em>Code</em> unique et les registres sont mis à jour avec les nouvelles valeurs du fichier importé.</li>\\n<li>Des groupes peuvent être assignés à l’aide de la colonne <em>Groups</em>. Les groupes sont identifiés par leur <em>Code</em>, plusieurs groupes peuvent être indiqués en les séparant par des virgules. L’appartenance actuelle aux groupes n’est pas modifiée.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ fr:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Supprime
|
DELETE: Supprime
|
||||||
DELETEDRECORDS: '{count} enregistrements supprimés.'
|
DELETEDRECORDS: '{count} enregistrements supprimés.'
|
||||||
EMPTYBEFOREIMPORT: 'Vider la base de données avant d’importer'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importer de CSV'
|
IMPORT: 'Importer de CSV'
|
||||||
IMPORTEDRECORDS: '{count} enregistrements importés.'
|
IMPORTEDRECORDS: '{count} enregistrements importés.'
|
||||||
NOCSVFILE: 'Veuillez choisir un fichier CSV à importer'
|
NOCSVFILE: 'Veuillez choisir un fichier CSV à importer'
|
||||||
@ -515,7 +529,20 @@ fr:
|
|||||||
BtnImport: Importer
|
BtnImport: Importer
|
||||||
FileFieldLabel: 'Fichier CSV <small>(extension autorisée : *.csv)</small>'
|
FileFieldLabel: 'Fichier CSV <small>(extension autorisée : *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: 'Tout modifier'
|
Edit: 'Tout modifier'
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Aucune image chargée'
|
NOUPLOAD: 'Aucune image chargée'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -537,7 +564,7 @@ fr:
|
|||||||
TableListField_PageControls.ss:
|
TableListField_PageControls.ss:
|
||||||
DISPLAYING: 'Affichage de'
|
DISPLAYING: 'Affichage de'
|
||||||
OF: de
|
OF: de
|
||||||
TO: à
|
TO: 'à'
|
||||||
VIEWFIRST: 'Voir premier'
|
VIEWFIRST: 'Voir premier'
|
||||||
VIEWLAST: 'Voir dernier'
|
VIEWLAST: 'Voir dernier'
|
||||||
VIEWNEXT: 'Voir suivant'
|
VIEWNEXT: 'Voir suivant'
|
||||||
@ -551,6 +578,8 @@ fr:
|
|||||||
ATTACHFILE: 'Joindre un fichier'
|
ATTACHFILE: 'Joindre un fichier'
|
||||||
ATTACHFILES: 'Joindre des fichiers'
|
ATTACHFILES: 'Joindre des fichiers'
|
||||||
AttachFile: 'Joindre un ou plusieurs fichiers'
|
AttachFile: 'Joindre un ou plusieurs fichiers'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Supprimer des fichiers'
|
DELETE: 'Supprimer des fichiers'
|
||||||
DELETEINFO: 'Effacer définitivement ce fichier des archives'
|
DELETEINFO: 'Effacer définitivement ce fichier des archives'
|
||||||
DOEDIT: Enregistrer
|
DOEDIT: Enregistrer
|
||||||
@ -565,12 +594,15 @@ fr:
|
|||||||
FROMFILES: 'Depuis les fichiers'
|
FROMFILES: 'Depuis les fichiers'
|
||||||
HOTLINKINFO: 'Note : Cette image sera liée par un « hotlink », assurez-vous d’avoir l’autorisation des ayant-droits du site web d’origine.'
|
HOTLINKINFO: 'Note : Cette image sera liée par un « hotlink », assurez-vous d’avoir l’autorisation des ayant-droits du site web d’origine.'
|
||||||
MAXNUMBEROFFILES: 'Le nombre maximal de {count} fichiers a été dépassé.'
|
MAXNUMBEROFFILES: 'Le nombre maximal de {count} fichiers a été dépassé.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'On ne peut pas télécharger plus de {count} fichiers'
|
MAXNUMBEROFFILESSHORT: 'On ne peut pas télécharger plus de {count} fichiers'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Supprimer
|
REMOVE: Supprimer
|
||||||
REMOVEERROR: 'Le fichier n’a pas pu être supprimé'
|
REMOVEERROR: 'Le fichier n’a pas pu être supprimé'
|
||||||
REMOVEINFO: 'Supprimer ce fichier ici sans l’effacer des archives'
|
REMOVEINFO: 'Supprimer ce fichier ici sans l’effacer des archives'
|
||||||
STARTALL: 'Démarrer tout'
|
STARTALL: 'Démarrer tout'
|
||||||
STARTALLINFO: 'Démarrer tous les téléchargements'
|
STARTALLINFO: 'Démarrer tous les téléchargements'
|
||||||
Saved: Enregistré
|
Saved: Enregistré
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
@ -2,6 +2,7 @@ gl_ES:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Primeiro subido'
|
CREATED: 'Primeiro subido'
|
||||||
DIM: Dimensións
|
DIM: Dimensións
|
||||||
@ -59,9 +60,9 @@ gl_ES:
|
|||||||
ERRORNOTADMIN: 'Ese usuario non é un administrador.'
|
ERRORNOTADMIN: 'Ese usuario non é un administrador.'
|
||||||
ERRORNOTREC: 'Ese nome de usuario/contrasinal non é recoñecido'
|
ERRORNOTREC: 'Ese nome de usuario/contrasinal non é recoñecido'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Falso
|
|
||||||
ANY: Ningún
|
ANY: Ningún
|
||||||
1: Verdadeiro
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ gl_ES:
|
|||||||
ACCESSALLINTERFACES: 'Acceder a todas as seccións do CMS'
|
ACCESSALLINTERFACES: 'Acceder a todas as seccións do CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Anular a configuración de acceso máis específica.'
|
ACCESSALLINTERFACESHELP: 'Anular a configuración de acceso máis específica.'
|
||||||
SAVE: Gardar
|
SAVE: Gardar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ gl_ES:
|
|||||||
HELLO: Ola
|
HELLO: Ola
|
||||||
PASSWORD: Contrasinal
|
PASSWORD: Contrasinal
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Falso
|
NOANSWER: 'False'
|
||||||
- Verdade
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Pechar Ventá Emerxente'
|
CLOSEPOPUP: 'Pechar Ventá Emerxente'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ gl_ES:
|
|||||||
PLURALNAME: 'Obxectos de Datos'
|
PLURALNAME: 'Obxectos de Datos'
|
||||||
SINGULARNAME: 'Obxecto de Dato'
|
SINGULARNAME: 'Obxecto de Dato'
|
||||||
Date:
|
Date:
|
||||||
DAY: día
|
DAY: day
|
||||||
DAYS: días
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: horas
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: mins
|
MINS: mins
|
||||||
MONTH: mes
|
MONTH: month
|
||||||
MONTHS: meses
|
MONTHS: months
|
||||||
SEC: seg
|
SEC: sec
|
||||||
SECS: segs
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ano
|
YEAR: year
|
||||||
YEARS: anos
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'sen establecer'
|
NOTSET: 'sen establecer'
|
||||||
TODAY: hoxe
|
TODAY: hoxe
|
||||||
@ -198,7 +202,8 @@ gl_ES:
|
|||||||
TEXT2: 'ligazón de reinicio do contrasinal'
|
TEXT2: 'ligazón de reinicio do contrasinal'
|
||||||
TEXT3: para
|
TEXT3: para
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s é requirido'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'O valor inserido non é único'
|
VALIDATIONNOTUNIQUE: 'O valor inserido non é único'
|
||||||
@ -208,6 +213,7 @@ gl_ES:
|
|||||||
VALIDATOR: Validador
|
VALIDATOR: Validador
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ningún
|
NONE: ningún
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ gl_ES:
|
|||||||
ResetFilter: Reiniciar
|
ResetFilter: Reiniciar
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Non eliminar permisos'
|
DeletePermissionsFailure: 'Non eliminar permisos'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ gl_ES:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Engadir un role para este grupo'
|
AddRole: 'Engadir un role para este grupo'
|
||||||
@ -267,6 +276,7 @@ gl_ES:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Áncora
|
ANCHORVALUE: Áncora
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Inserir
|
BUTTONINSERT: Inserir
|
||||||
BUTTONINSERTLINK: 'Inserir ligazón'
|
BUTTONINSERTLINK: 'Inserir ligazón'
|
||||||
BUTTONREMOVELINK: 'Eliminar ligazón'
|
BUTTONREMOVELINK: 'Eliminar ligazón'
|
||||||
@ -331,6 +341,9 @@ gl_ES:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: descoñecido
|
VersionUnknown: descoñecido
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
@ -407,6 +420,7 @@ gl_ES:
|
|||||||
TWODIGITMONTH: 'Dous díxitos para o mes (01=Xaneiro, etc.)'
|
TWODIGITMONTH: 'Dous díxitos para o mes (01=Xaneiro, etc.)'
|
||||||
TWODIGITSECOND: 'Dous díxitos de segundo (00 ata 59)'
|
TWODIGITSECOND: 'Dous díxitos de segundo (00 ata 59)'
|
||||||
TWODIGITYEAR: 'Dous díxitos ano'
|
TWODIGITYEAR: 'Dous díxitos ano'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Importar usuarios en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Amosar uso avanzado</a></small></p>'
|
Help1: '<p>Importar usuarios en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Amosar uso avanzado</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ gl_ES:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Eliminar
|
DELETE: Eliminar
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importar dende CSV'
|
IMPORT: 'Importar dende CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Por favor navega por un ficheiro CSV para importar'
|
NOCSVFILE: 'Por favor navega por un ficheiro CSV para importar'
|
||||||
@ -515,7 +529,20 @@ gl_ES:
|
|||||||
BtnImport: 'Importar dende CSV'
|
BtnImport: 'Importar dende CSV'
|
||||||
FileFieldLabel: 'Ficheiro CSV <small>(Extensións permitidas: *.csv)</small>'
|
FileFieldLabel: 'Ficheiro CSV <small>(Extensións permitidas: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Ningunha Imaxe Subida'
|
NOUPLOAD: 'Ningunha Imaxe Subida'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ gl_ES:
|
|||||||
ATTACHFILE: 'Anexar un ficheiro'
|
ATTACHFILE: 'Anexar un ficheiro'
|
||||||
ATTACHFILES: 'Anexar ficheiros'
|
ATTACHFILES: 'Anexar ficheiros'
|
||||||
AttachFile: 'Anexar ficheiro(s)'
|
AttachFile: 'Anexar ficheiro(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Eliminar permanentemente este ficheiro do almacén de ficheiros'
|
DELETEINFO: 'Eliminar permanentemente este ficheiro do almacén de ficheiros'
|
||||||
DOEDIT: Gardar
|
DOEDIT: Gardar
|
||||||
@ -565,12 +594,15 @@ gl_ES:
|
|||||||
FROMFILES: 'Dende ficheiros'
|
FROMFILES: 'Dende ficheiros'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Erro eliminando o ficheiro'
|
REMOVEERROR: 'Erro eliminando o ficheiro'
|
||||||
REMOVEINFO: 'Eliminar este ficheiro daquí, pero non eliminalo do almacén de ficheiros'
|
REMOVEINFO: 'Eliminar este ficheiro daquí, pero non eliminalo do almacén de ficheiros'
|
||||||
STARTALL: 'Comezar todo'
|
STARTALL: 'Comezar todo'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Gardado
|
Saved: Gardado
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versións
|
has_many_Versions: Versións
|
||||||
|
@ -2,6 +2,7 @@ he_IL:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: תיקיהחדשה
|
NEWFOLDER: תיקיהחדשה
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'הועלה לראשונה'
|
CREATED: 'הועלה לראשונה'
|
||||||
DIM: מידות
|
DIM: מידות
|
||||||
@ -59,9 +60,9 @@ he_IL:
|
|||||||
ERRORNOTADMIN: 'משתמש זה אינו מנהל'
|
ERRORNOTADMIN: 'משתמש זה אינו מנהל'
|
||||||
ERRORNOTREC: 'שם המשתמש / סיסמא לא מזוהה'
|
ERRORNOTREC: 'שם המשתמש / סיסמא לא מזוהה'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ he_IL:
|
|||||||
ACCESSALLINTERFACES: 'גישה לכל ממשקי המערכת'
|
ACCESSALLINTERFACES: 'גישה לכל ממשקי המערכת'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: שמור
|
SAVE: שמור
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ he_IL:
|
|||||||
HELLO: היי
|
HELLO: היי
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'סגור חלון'
|
CLOSEPOPUP: 'סגור חלון'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ he_IL:
|
|||||||
PLURALNAME: 'אובייקטי מידע'
|
PLURALNAME: 'אובייקטי מידע'
|
||||||
SINGULARNAME: 'אובייקט מידע'
|
SINGULARNAME: 'אובייקט מידע'
|
||||||
Date:
|
Date:
|
||||||
DAY: יום
|
DAY: day
|
||||||
DAYS: ימים
|
DAYS: days
|
||||||
HOUR: שעה
|
HOUR: hour
|
||||||
HOURS: שעות
|
HOURS: hours
|
||||||
MIN: דקה
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: דקות
|
MIN: min
|
||||||
MONTH: חודש
|
MINS: mins
|
||||||
MONTHS: חודשים
|
MONTH: month
|
||||||
SEC: שניה
|
MONTHS: months
|
||||||
SECS: שניות
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: שנה
|
YEAR: year
|
||||||
YEARS: שנים
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ he_IL:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'דרוש %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'הערך שהוקש אינו יחודי'
|
VALIDATIONNOTUNIQUE: 'הערך שהוקש אינו יחודי'
|
||||||
@ -208,6 +213,7 @@ he_IL:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ he_IL:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ he_IL:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,12 +276,13 @@ he_IL:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'הכנס קישור'
|
BUTTONINSERTLINK: 'הכנס קישור'
|
||||||
BUTTONREMOVELINK: 'הסר קישור'
|
BUTTONREMOVELINK: 'הסר קישור'
|
||||||
BUTTONUpdate: Update
|
BUTTONUpdate: Update
|
||||||
CAPTIONTEXT: 'Caption text'
|
CAPTIONTEXT: 'Caption text'
|
||||||
CSSCLASS: יישור/סגנון
|
CSSCLASS: 'יישור/סגנון'
|
||||||
CSSCLASSCENTER: 'ממורכז, ללא טקסט בצדדים.'
|
CSSCLASSCENTER: 'ממורכז, ללא טקסט בצדדים.'
|
||||||
CSSCLASSLEFT: 'לשמאל, עם טקסט מסודר מסביב.'
|
CSSCLASSLEFT: 'לשמאל, עם טקסט מסודר מסביב.'
|
||||||
CSSCLASSLEFTALONE: 'On the left, on its own.'
|
CSSCLASSLEFTALONE: 'On the left, on its own.'
|
||||||
@ -331,7 +341,10 @@ he_IL:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ he_IL:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ he_IL:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: מחק
|
DELETE: מחק
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'ייבא מקובץ CSV'
|
IMPORT: 'ייבא מקובץ CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'בחר קובץ CSV לייבוא'
|
NOCSVFILE: 'בחר קובץ CSV לייבוא'
|
||||||
@ -515,7 +529,20 @@ he_IL:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'לא הועלתה תמונה'
|
NOUPLOAD: 'לא הועלתה תמונה'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ he_IL:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ he_IL:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: גירסאות
|
has_many_Versions: גירסאות
|
||||||
|
74
lang/hi.yml
74
lang/hi.yml
@ -2,6 +2,7 @@ hi:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ hi:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ hi:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ hi:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ hi:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: ' mins'
|
MIN: min
|
||||||
MONTH: ' month'
|
MINS: mins
|
||||||
MONTHS: ' months'
|
MONTH: month
|
||||||
SEC: ' sec'
|
MONTHS: months
|
||||||
SECS: ' secs'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: आज
|
TODAY: आज
|
||||||
@ -198,7 +202,8 @@ hi:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ hi:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ hi:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ hi:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'इस समूह के लिए एक भूमिका जोड़ें'
|
AddRole: 'इस समूह के लिए एक भूमिका जोड़ें'
|
||||||
@ -253,7 +262,7 @@ hi:
|
|||||||
RolesAddEditLink: 'भूमिकाओं का प्रबंधन करे '
|
RolesAddEditLink: 'भूमिकाओं का प्रबंधन करे '
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Group
|
||||||
Sort: 'Sort Order'
|
Sort: 'Sort Order'
|
||||||
has_many_Permissions: अनुमतियाँ
|
has_many_Permissions: 'अनुमतियाँ'
|
||||||
many_many_Members: सदस्य
|
many_many_Members: सदस्य
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
@ -267,6 +276,7 @@ hi:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ hi:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ hi:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ hi:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ hi:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ hi:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ hi:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
74
lang/hr.yml
74
lang/hr.yml
@ -2,6 +2,7 @@ hr:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Novi direktorij'
|
NEWFOLDER: 'Novi direktorij'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: Uploadano
|
CREATED: Uploadano
|
||||||
DIM: Dimenzije
|
DIM: Dimenzije
|
||||||
@ -59,9 +60,9 @@ hr:
|
|||||||
ERRORNOTADMIN: 'Korisnik nije administrator'
|
ERRORNOTADMIN: 'Korisnik nije administrator'
|
||||||
ERRORNOTREC: 'Korisničko ime / lozinka nije prepoznata'
|
ERRORNOTREC: 'Korisničko ime / lozinka nije prepoznata'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ hr:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Snimi
|
SAVE: Snimi
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ hr:
|
|||||||
HELLO: Pozdrav
|
HELLO: Pozdrav
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ hr:
|
|||||||
PLURALNAME: 'Podatkovni Objekti'
|
PLURALNAME: 'Podatkovni Objekti'
|
||||||
SINGULARNAME: 'Podatkovni Objekt'
|
SINGULARNAME: 'Podatkovni Objekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: dan
|
DAY: day
|
||||||
DAYS: dani
|
DAYS: days
|
||||||
HOUR: sat
|
HOUR: hour
|
||||||
HOURS: sati
|
HOURS: hours
|
||||||
MIN: minute
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minute
|
MIN: min
|
||||||
MONTH: mjesec
|
MINS: mins
|
||||||
MONTHS: mjeseci
|
MONTH: month
|
||||||
SEC: sekunde
|
MONTHS: months
|
||||||
SECS: sekundi
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: godina
|
YEAR: year
|
||||||
YEARS: godine
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ hr:
|
|||||||
TEXT2: 'link za resetiranje zaporke'
|
TEXT2: 'link za resetiranje zaporke'
|
||||||
TEXT3: za
|
TEXT3: za
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s je obavezan'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Unesena vrijednost nije unikatna'
|
VALIDATIONNOTUNIQUE: 'Unesena vrijednost nije unikatna'
|
||||||
@ -208,6 +213,7 @@ hr:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ hr:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ hr:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ hr:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Ubaci vezu'
|
BUTTONINSERTLINK: 'Ubaci vezu'
|
||||||
BUTTONREMOVELINK: 'Obriši vezu'
|
BUTTONREMOVELINK: 'Obriši vezu'
|
||||||
@ -293,7 +303,7 @@ hr:
|
|||||||
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Title text (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'For additional information about the image'
|
||||||
IMAGEWIDTHPX: Širina
|
IMAGEWIDTHPX: 'Širina'
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Insert Media'
|
||||||
LINK: 'Ubaci/editiraj link za označeni tekst'
|
LINK: 'Ubaci/editiraj link za označeni tekst'
|
||||||
LINKANCHOR: 'Anchor on this page'
|
LINKANCHOR: 'Anchor on this page'
|
||||||
@ -331,7 +341,10 @@ hr:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ hr:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ hr:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ hr:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nema uploadanih slika'
|
NOUPLOAD: 'Nema uploadanih slika'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ hr:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ hr:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Verzije
|
has_many_Versions: Verzije
|
||||||
|
72
lang/hu.yml
72
lang/hu.yml
@ -2,6 +2,7 @@ hu:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Új mappa'
|
NEWFOLDER: 'Új mappa'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Először feltöltve'
|
CREATED: 'Először feltöltve'
|
||||||
DIM: Képméret
|
DIM: Képméret
|
||||||
@ -59,9 +60,9 @@ hu:
|
|||||||
ERRORNOTADMIN: 'Ez a felhasználó nem adminisztrátor. '
|
ERRORNOTADMIN: 'Ez a felhasználó nem adminisztrátor. '
|
||||||
ERRORNOTREC: 'Ez a felhasználónév / jelszó nem létezik'
|
ERRORNOTREC: 'Ez a felhasználónév / jelszó nem létezik'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ hu:
|
|||||||
ACCESSALLINTERFACES: 'Elérés minden CMS interfészhez'
|
ACCESSALLINTERFACES: 'Elérés minden CMS interfészhez'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Mentés
|
SAVE: Mentés
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ hu:
|
|||||||
HELLO: Szia!
|
HELLO: Szia!
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Ablak bezárása'
|
CLOSEPOPUP: 'Ablak bezárása'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ hu:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: nap
|
DAY: day
|
||||||
DAYS: nappal
|
DAYS: days
|
||||||
HOUR: órája
|
HOUR: hour
|
||||||
HOURS: órával
|
HOURS: hours
|
||||||
MIN: perce
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: perccel
|
MIN: min
|
||||||
MONTH: hónap
|
MINS: mins
|
||||||
MONTHS: hónappal
|
MONTH: month
|
||||||
SEC: másodperce
|
MONTHS: months
|
||||||
SECS: másodperccel
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: éve
|
YEAR: year
|
||||||
YEARS: évvel
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ hu:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'A %s szükséges'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'A beírt érték nem egyedi'
|
VALIDATIONNOTUNIQUE: 'A beírt érték nem egyedi'
|
||||||
@ -208,6 +213,7 @@ hu:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ hu:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ hu:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ hu:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Link beszúrása'
|
BUTTONINSERTLINK: 'Link beszúrása'
|
||||||
BUTTONREMOVELINK: 'Link eltávolítása'
|
BUTTONREMOVELINK: 'Link eltávolítása'
|
||||||
@ -331,7 +341,10 @@ hu:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ hu:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ hu:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Törlés
|
DELETE: Törlés
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Betöltés CSV-ből'
|
IMPORT: 'Betöltés CSV-ből'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Kérünk, válaszd ki a betöltendő CSV fájlt'
|
NOCSVFILE: 'Kérünk, válaszd ki a betöltendő CSV fájlt'
|
||||||
@ -515,7 +529,20 @@ hu:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nincs feltöltött kép'
|
NOUPLOAD: 'Nincs feltöltött kép'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ hu:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ hu:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Verziók
|
has_many_Versions: Verziók
|
||||||
|
@ -2,6 +2,7 @@ hy_AM:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ hy_AM:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ hy_AM:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ hy_AM:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ hy_AM:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: ' mins'
|
MIN: min
|
||||||
MONTH: ' month'
|
MINS: mins
|
||||||
MONTHS: ' months'
|
MONTH: month
|
||||||
SEC: ' sec'
|
MONTHS: months
|
||||||
SECS: ' secs'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ hy_AM:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ hy_AM:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ hy_AM:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ hy_AM:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ hy_AM:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ hy_AM:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ hy_AM:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ hy_AM:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ hy_AM:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ hy_AM:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ hy_AM:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
72
lang/id.yml
72
lang/id.yml
@ -2,6 +2,7 @@ id:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ id:
|
|||||||
ERRORNOTADMIN: 'User tersebut bukan administrator.'
|
ERRORNOTADMIN: 'User tersebut bukan administrator.'
|
||||||
ERRORNOTREC: 'Username/password tidak dikenali'
|
ERRORNOTREC: 'Username/password tidak dikenali'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ id:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Simpan
|
SAVE: Simpan
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ id:
|
|||||||
HELLO: Hai
|
HELLO: Hai
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Tutup popup'
|
CLOSEPOPUP: 'Tutup popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ id:
|
|||||||
PLURALNAME: 'Objek-objek Data'
|
PLURALNAME: 'Objek-objek Data'
|
||||||
SINGULARNAME: 'Objek Data'
|
SINGULARNAME: 'Objek Data'
|
||||||
Date:
|
Date:
|
||||||
DAY: hari
|
DAY: day
|
||||||
DAYS: hari
|
DAYS: days
|
||||||
HOUR: jam
|
HOUR: hour
|
||||||
HOURS: jam
|
HOURS: hours
|
||||||
MIN: menit
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: menit
|
MIN: min
|
||||||
MONTH: bulan
|
MINS: mins
|
||||||
MONTHS: bulan
|
MONTH: month
|
||||||
SEC: detik
|
MONTHS: months
|
||||||
SECS: detik
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: tahun
|
YEAR: year
|
||||||
YEARS: tahun
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'tidak diset'
|
NOTSET: 'tidak diset'
|
||||||
TODAY: 'hari ini'
|
TODAY: 'hari ini'
|
||||||
@ -198,7 +202,8 @@ id:
|
|||||||
TEXT2: 'link untuk mereset kata sandi'
|
TEXT2: 'link untuk mereset kata sandi'
|
||||||
TEXT3: untuk
|
TEXT3: untuk
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s dibutuhkan'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Harga yang dimasukkan tidak unik'
|
VALIDATIONNOTUNIQUE: 'Harga yang dimasukkan tidak unik'
|
||||||
@ -208,6 +213,7 @@ id:
|
|||||||
VALIDATOR: Pengesah
|
VALIDATOR: Pengesah
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: 'tidak ada'
|
NONE: 'tidak ada'
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ id:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ id:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ id:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Beri link'
|
BUTTONINSERTLINK: 'Beri link'
|
||||||
BUTTONREMOVELINK: 'Pindahkan link'
|
BUTTONREMOVELINK: 'Pindahkan link'
|
||||||
@ -331,7 +341,10 @@ id:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ id:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ id:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ id:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Tidak Ada Gambar yang Di-upload'
|
NOUPLOAD: 'Tidak Ada Gambar yang Di-upload'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ id:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ id:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versi-versi
|
has_many_Versions: Versi-versi
|
||||||
|
72
lang/is.yml
72
lang/is.yml
@ -2,6 +2,7 @@ is:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ is:
|
|||||||
ERRORNOTADMIN: 'Þessi notandi er ekki stjórnandi'
|
ERRORNOTADMIN: 'Þessi notandi er ekki stjórnandi'
|
||||||
ERRORNOTREC: 'Þetta notendanafn / lykilorð er ekki til'
|
ERRORNOTREC: 'Þetta notendanafn / lykilorð er ekki til'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Nei
|
|
||||||
ANY: Einhver
|
ANY: Einhver
|
||||||
1: Já
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ is:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Vista
|
SAVE: Vista
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ is:
|
|||||||
HELLO: Hæ
|
HELLO: Hæ
|
||||||
PASSWORD: Lykilorð
|
PASSWORD: Lykilorð
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Nei
|
NOANSWER: 'False'
|
||||||
- Já
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Loka glugga'
|
CLOSEPOPUP: 'Loka glugga'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ is:
|
|||||||
PLURALNAME: 'Gagna hlutir'
|
PLURALNAME: 'Gagna hlutir'
|
||||||
SINGULARNAME: 'Gagna hlutir'
|
SINGULARNAME: 'Gagna hlutir'
|
||||||
Date:
|
Date:
|
||||||
DAY: dagur
|
DAY: day
|
||||||
DAYS: dagar
|
DAYS: days
|
||||||
HOUR: klukkustund
|
HOUR: hour
|
||||||
HOURS: klukkustundir
|
HOURS: hours
|
||||||
MIN: mín
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: mín
|
MIN: min
|
||||||
MONTH: mánuð
|
MINS: mins
|
||||||
MONTHS: mánuði
|
MONTH: month
|
||||||
SEC: sek
|
MONTHS: months
|
||||||
SECS: sek
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ár
|
YEAR: year
|
||||||
YEARS: ár
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'ekki valið'
|
NOTSET: 'ekki valið'
|
||||||
TODAY: 'í dag'
|
TODAY: 'í dag'
|
||||||
@ -198,7 +202,8 @@ is:
|
|||||||
TEXT2: 'endursetja lykilorð'
|
TEXT2: 'endursetja lykilorð'
|
||||||
TEXT3: fyrir
|
TEXT3: fyrir
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s er krafist'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Gildið sem þú slóst inn er ekki einkvæmt'
|
VALIDATIONNOTUNIQUE: 'Gildið sem þú slóst inn er ekki einkvæmt'
|
||||||
@ -208,6 +213,7 @@ is:
|
|||||||
VALIDATOR: Staðfesta
|
VALIDATOR: Staðfesta
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ekkert
|
NONE: ekkert
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ is:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ is:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ is:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Markstikla
|
ANCHORVALUE: Markstikla
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Bæta við hlekk'
|
BUTTONINSERTLINK: 'Bæta við hlekk'
|
||||||
BUTTONREMOVELINK: 'Fjarlægja hlekk'
|
BUTTONREMOVELINK: 'Fjarlægja hlekk'
|
||||||
@ -331,7 +341,10 @@ is:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ is:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ is:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ is:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Engin mynd sótt'
|
NOUPLOAD: 'Engin mynd sótt'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ is:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ is:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: útgáfur
|
has_many_Versions: útgáfur
|
||||||
|
66
lang/it.yml
66
lang/it.yml
@ -2,6 +2,7 @@ it:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Estensioni consentite'
|
ALLOWEDEXTS: 'Estensioni consentite'
|
||||||
NEWFOLDER: NuovaCartella
|
NEWFOLDER: NuovaCartella
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Inizialmente caricato'
|
CREATED: 'Inizialmente caricato'
|
||||||
DIM: Dimensioni
|
DIM: Dimensioni
|
||||||
@ -59,9 +60,9 @@ it:
|
|||||||
ERRORNOTADMIN: 'Questo utente non è amministratore.'
|
ERRORNOTADMIN: 'Questo utente non è amministratore.'
|
||||||
ERRORNOTREC: 'Nome utente / password non riconosciuti'
|
ERRORNOTREC: 'Nome utente / password non riconosciuti'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: NO
|
|
||||||
ANY: Qualsiasi
|
ANY: Qualsiasi
|
||||||
1: SI
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Caricamento in corso...'
|
LOADING: 'Caricamento in corso...'
|
||||||
REQUIREJS: 'Il CMS richiede JavaScript abilitato.'
|
REQUIREJS: 'Il CMS richiede JavaScript abilitato.'
|
||||||
@ -70,6 +71,8 @@ it:
|
|||||||
ACCESSALLINTERFACES: 'Accesso a tutte le sezioni del CMS'
|
ACCESSALLINTERFACES: 'Accesso a tutte le sezioni del CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Annulla le impostazioni di accesso più specifiche.'
|
ACCESSALLINTERFACESHELP: 'Annulla le impostazioni di accesso più specifiche.'
|
||||||
SAVE: Salva
|
SAVE: Salva
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Il mio Profilo'
|
MENUTITLE: 'Il mio Profilo'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ it:
|
|||||||
HELLO: Ciao
|
HELLO: Ciao
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- No
|
NOANSWER: 'False'
|
||||||
- Si
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Chiudi Finestra'
|
CLOSEPOPUP: 'Chiudi Finestra'
|
||||||
SUCCESSADD2: 'Aggiunto {name}'
|
SUCCESSADD2: 'Aggiunto {name}'
|
||||||
@ -109,20 +112,21 @@ it:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: giorno
|
DAY: day
|
||||||
DAYS: giorni
|
DAYS: days
|
||||||
HOUR: ora
|
HOUR: hour
|
||||||
HOURS: ore
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: min
|
MINS: mins
|
||||||
MONTH: mese
|
MONTH: month
|
||||||
MONTHS: mesi
|
MONTHS: months
|
||||||
SEC: sec
|
SEC: sec
|
||||||
SECS: sec
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} fa'
|
TIMEDIFFAGO: '{difference} fa'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: anno
|
YEAR: year
|
||||||
YEARS: anni
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'non impostato'
|
NOTSET: 'non impostato'
|
||||||
TODAY: oggi
|
TODAY: oggi
|
||||||
@ -198,7 +202,8 @@ it:
|
|||||||
TEXT2: 'Link per l''azzeramento della password'
|
TEXT2: 'Link per l''azzeramento della password'
|
||||||
TEXT3: per
|
TEXT3: per
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s è richiesto'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Vai
|
SubmitBtnLabel: Vai
|
||||||
VALIDATIONCREDITNUMBER: 'Assicurati che il numero di carta di credito {number} sia inserito correttamente'
|
VALIDATIONCREDITNUMBER: 'Assicurati che il numero di carta di credito {number} sia inserito correttamente'
|
||||||
VALIDATIONNOTUNIQUE: 'Il valore inserito non è unico'
|
VALIDATIONNOTUNIQUE: 'Il valore inserito non è unico'
|
||||||
@ -208,6 +213,7 @@ it:
|
|||||||
VALIDATOR: Valiidatore
|
VALIDATOR: Valiidatore
|
||||||
VALIDCURRENCY: 'Inserisci una valuta valida'
|
VALIDCURRENCY: 'Inserisci una valuta valida'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: nessuno
|
NONE: nessuno
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Elimina
|
DELETE_DESCRIPTION: Elimina
|
||||||
@ -230,6 +236,7 @@ it:
|
|||||||
ResetFilter: Azzera
|
ResetFilter: Azzera
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Non hai i permessi per eliminare'
|
DeletePermissionsFailure: 'Non hai i permessi per eliminare'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Annulla
|
CancelBtn: Annulla
|
||||||
Create: Crea
|
Create: Crea
|
||||||
@ -237,7 +244,9 @@ it:
|
|||||||
DeletePermissionsFailure: 'Non hai i permessi per eliminare'
|
DeletePermissionsFailure: 'Non hai i permessi per eliminare'
|
||||||
Deleted: 'Eliminato %s %s'
|
Deleted: 'Eliminato %s %s'
|
||||||
Save: Salva
|
Save: Salva
|
||||||
Saved: 'Salvato %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Aggiungi un ruolo per questo gruppo'
|
AddRole: 'Aggiungi un ruolo per questo gruppo'
|
||||||
@ -267,6 +276,7 @@ it:
|
|||||||
ADDURL: 'Aggiungi URL'
|
ADDURL: 'Aggiungi URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Dettagli e dimensioni'
|
ADJUSTDETAILSDIMENSIONS: 'Dettagli e dimensioni'
|
||||||
ANCHORVALUE: Ancora
|
ANCHORVALUE: Ancora
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Inserisci
|
BUTTONINSERT: Inserisci
|
||||||
BUTTONINSERTLINK: 'Inserisci link'
|
BUTTONINSERTLINK: 'Inserisci link'
|
||||||
BUTTONREMOVELINK: 'Rimuovi link'
|
BUTTONREMOVELINK: 'Rimuovi link'
|
||||||
@ -331,6 +341,9 @@ it:
|
|||||||
PreviewButton: Anteprima
|
PreviewButton: Anteprima
|
||||||
REORGANISATIONSUCCESSFUL: 'Albero del sito riorganizzato con successo.'
|
REORGANISATIONSUCCESSFUL: 'Albero del sito riorganizzato con successo.'
|
||||||
SAVEDUP: Salvato.
|
SAVEDUP: Salvato.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: sconosciuto
|
VersionUnknown: sconosciuto
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Ciao
|
Hello: Ciao
|
||||||
@ -407,6 +420,7 @@ it:
|
|||||||
TWODIGITMONTH: 'Mese a due cifre (01=Gennaio, ecc.)'
|
TWODIGITMONTH: 'Mese a due cifre (01=Gennaio, ecc.)'
|
||||||
TWODIGITSECOND: 'Secondi a due cifre (00 a 59)'
|
TWODIGITSECOND: 'Secondi a due cifre (00 a 59)'
|
||||||
TWODIGITYEAR: 'Anno a due cifre'
|
TWODIGITYEAR: 'Anno a due cifre'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Importa utenti in <em>formato CSV</em> (valori separati da virgole). <small><a href="#" class="toggle-advanced">Mostra utilizzo avanzato</a></small></p>'
|
Help1: '<p>Importa utenti in <em>formato CSV</em> (valori separati da virgole). <small><a href="#" class="toggle-advanced">Mostra utilizzo avanzato</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Utilizzo avanzato</h4>\\n<ul>\\n<li>Colonne consentite: <em>%s</em></li>\\n<li>Utenti esistenti sono individuati attraverso la proprietà univoca <em>Code</em> e aggiornati con i nuovi valori \\ndal file importato.</li>\\n<li>I gruppi possono essere assegnati attraverso la colonna <em>Groups</em>. I gruppi sono identificati attraverso la loro colonna <em>Code</em>, \\npiù gruppi devono essere separati da virgola. L''appartenenza esistente a gruppi non viene cancellata.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Utilizzo avanzato</h4>\\n<ul>\\n<li>Colonne consentite: <em>%s</em></li>\\n<li>Utenti esistenti sono individuati attraverso la proprietà univoca <em>Code</em> e aggiornati con i nuovi valori \\ndal file importato.</li>\\n<li>I gruppi possono essere assegnati attraverso la colonna <em>Groups</em>. I gruppi sono identificati attraverso la loro colonna <em>Code</em>, \\npiù gruppi devono essere separati da virgola. L''appartenenza esistente a gruppi non viene cancellata.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ it:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Elimina
|
DELETE: Elimina
|
||||||
DELETEDRECORDS: 'Eliminati {count} record.'
|
DELETEDRECORDS: 'Eliminati {count} record.'
|
||||||
EMPTYBEFOREIMPORT: 'Cancella database prima dell''import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importa da CSV'
|
IMPORT: 'Importa da CSV'
|
||||||
IMPORTEDRECORDS: 'Importati {count} record.'
|
IMPORTEDRECORDS: 'Importati {count} record.'
|
||||||
NOCSVFILE: 'Scegli un file CSV da importare'
|
NOCSVFILE: 'Scegli un file CSV da importare'
|
||||||
@ -515,7 +529,20 @@ it:
|
|||||||
BtnImport: 'Importa da CSV'
|
BtnImport: 'Importa da CSV'
|
||||||
FileFieldLabel: 'File CSV <small>(Estensioni consentite: *.csv)</small>'
|
FileFieldLabel: 'File CSV <small>(Estensioni consentite: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Modifica
|
Edit: Modifica
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nessuna immagine caricata'
|
NOUPLOAD: 'Nessuna immagine caricata'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ it:
|
|||||||
ATTACHFILE: 'Allega un file'
|
ATTACHFILE: 'Allega un file'
|
||||||
ATTACHFILES: 'Allega file'
|
ATTACHFILES: 'Allega file'
|
||||||
AttachFile: 'Allega file'
|
AttachFile: 'Allega file'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: Elimina
|
DELETE: Elimina
|
||||||
DELETEINFO: 'Elimina permanentemente questo file dal CMS'
|
DELETEINFO: 'Elimina permanentemente questo file dal CMS'
|
||||||
DOEDIT: Salva
|
DOEDIT: Salva
|
||||||
@ -565,12 +594,15 @@ it:
|
|||||||
FROMFILES: 'Dal CMS'
|
FROMFILES: 'Dal CMS'
|
||||||
HOTLINKINFO: 'Info: Questa immagine sarà collegata. Assicurati di avere il permesso di farlo.'
|
HOTLINKINFO: 'Info: Questa immagine sarà collegata. Assicurati di avere il permesso di farlo.'
|
||||||
MAXNUMBEROFFILES: 'Numero massimo di {count} file ecceduto.'
|
MAXNUMBEROFFILES: 'Numero massimo di {count} file ecceduto.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Puoi caricare solo {count} file'
|
MAXNUMBEROFFILESSHORT: 'Puoi caricare solo {count} file'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Rimuovi
|
REMOVE: Rimuovi
|
||||||
REMOVEERROR: 'Errore eliminando il file'
|
REMOVEERROR: 'Errore eliminando il file'
|
||||||
REMOVEINFO: 'Rimuove il file da qui, ma non lo elimina dal CMS'
|
REMOVEINFO: 'Rimuove il file da qui, ma non lo elimina dal CMS'
|
||||||
STARTALL: 'Avvia tutti'
|
STARTALL: 'Avvia tutti'
|
||||||
STARTALLINFO: 'Avvia tutti i caricamenti'
|
STARTALLINFO: 'Avvia tutti i caricamenti'
|
||||||
Saved: Salvato
|
Saved: Salvato
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versioni
|
has_many_Versions: Versioni
|
||||||
|
198
lang/ja_JP.yml
198
lang/ja_JP.yml
@ -2,13 +2,14 @@ ja_JP:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 新しいフォルダ
|
NEWFOLDER: 新しいフォルダ
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 初回アップロード日時
|
CREATED: 初回アップロード日時
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
FILENAME: ファイル名
|
FILENAME: ファイル名
|
||||||
FOLDER: フォルダ
|
FOLDER: フォルダ
|
||||||
LASTEDIT: 最終更新日
|
LASTEDIT: 最終更新日
|
||||||
OWNER: 所有者
|
OWNER: '所有者'
|
||||||
SIZE: ファイルサイズ
|
SIZE: ファイルサイズ
|
||||||
TITLE: タイトル
|
TITLE: タイトル
|
||||||
TYPE: ファイルの種類
|
TYPE: ファイルの種類
|
||||||
@ -16,7 +17,7 @@ ja_JP:
|
|||||||
AssetUploadField:
|
AssetUploadField:
|
||||||
ChooseFiles: ファイルを選択
|
ChooseFiles: ファイルを選択
|
||||||
DRAGFILESHERE: ここにファイルをドラッグ
|
DRAGFILESHERE: ここにファイルをドラッグ
|
||||||
DROPAREA: ドロップ領域
|
DROPAREA: 'ドロップ領域'
|
||||||
EDITALL: すべて編集
|
EDITALL: すべて編集
|
||||||
EDITANDORGANIZE: 編集と管理
|
EDITANDORGANIZE: 編集と管理
|
||||||
EDITINFO: ファイルを編集
|
EDITINFO: ファイルを編集
|
||||||
@ -25,7 +26,7 @@ ja_JP:
|
|||||||
FROMCOMPUTERINFO: コンピュータからアップロード
|
FROMCOMPUTERINFO: コンピュータからアップロード
|
||||||
TOTAL: 合計
|
TOTAL: 合計
|
||||||
TOUPLOAD: 'Choose files to upload...'
|
TOUPLOAD: 'Choose files to upload...'
|
||||||
UPLOADINPROGRESS: しばらくお待ちください...アップロードは進行中です
|
UPLOADINPROGRESS: 'しばらくお待ちください...アップロードは進行中です'
|
||||||
UPLOADOR: もしくは
|
UPLOADOR: もしくは
|
||||||
BBCodeParser:
|
BBCodeParser:
|
||||||
ALIGNEMENT: 整列
|
ALIGNEMENT: 整列
|
||||||
@ -44,7 +45,7 @@ ja_JP:
|
|||||||
ITALIC: テキストを斜体にする
|
ITALIC: テキストを斜体にする
|
||||||
ITALICEXAMPLE: 斜体
|
ITALICEXAMPLE: 斜体
|
||||||
LINK: ウェブサイトのリンク
|
LINK: ウェブサイトのリンク
|
||||||
LINKDESCRIPTION: 別のウェブサイトかURLにリンクしてください
|
LINKDESCRIPTION: '別のウェブサイトかURLにリンクしてください'
|
||||||
STRUCK: テキストに取り消し線を引く
|
STRUCK: テキストに取り消し線を引く
|
||||||
STRUCKEXAMPLE: 取り消し線
|
STRUCKEXAMPLE: 取り消し線
|
||||||
UNDERLINE: テキストに下線を引く
|
UNDERLINE: テキストに下線を引く
|
||||||
@ -55,21 +56,23 @@ ja_JP:
|
|||||||
BackLink_Button.ss:
|
BackLink_Button.ss:
|
||||||
Back: 戻る
|
Back: 戻る
|
||||||
BasicAuth:
|
BasicAuth:
|
||||||
ENTERINFO: ユーザー名とパスワードを入力してください
|
ENTERINFO: 'ユーザー名とパスワードを入力してください'
|
||||||
ERRORNOTADMIN: このユーザーは管理者(アドミニストレーター)ではありません
|
ERRORNOTADMIN: 'このユーザーは管理者(アドミニストレーター)ではありません'
|
||||||
ERRORNOTREC: 'ユーザー名 / パスワードは認識されませんでした'
|
ERRORNOTREC: 'ユーザー名 / パスワードは認識されませんでした'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 偽
|
|
||||||
ANY: 何でも
|
ANY: 何でも
|
||||||
1: 真
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 読み込み中...
|
LOADING: 読み込み中...
|
||||||
REQUIREJS: CMSを利用するにはJavascriptが有効化されている必要があります。
|
REQUIREJS: 'CMSを利用するにはJavascriptが有効化されている必要があります。'
|
||||||
CMSMain:
|
CMSMain:
|
||||||
ACCESS: 'Access to ''{title}'' section'
|
ACCESS: 'Access to ''{title}'' section'
|
||||||
ACCESSALLINTERFACES: すべてのCMSのセクションへアクセス
|
ACCESSALLINTERFACES: すべてのCMSのセクションへアクセス
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: 保存
|
SAVE: 保存
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,17 +82,17 @@ ja_JP:
|
|||||||
HELLO: こんにちわ!
|
HELLO: こんにちわ!
|
||||||
PASSWORD: パスワード
|
PASSWORD: パスワード
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- いいえ
|
NOANSWER: 'False'
|
||||||
- はい
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: ポップアップを閉じる
|
CLOSEPOPUP: ポップアップを閉じる
|
||||||
SUCCESSADD2: '{name}を追加しました'
|
SUCCESSADD2: '{name}を追加しました'
|
||||||
SUCCESSEDIT: '更新日時 %s %s %s'
|
SUCCESSEDIT: '更新日時 %s %s %s'
|
||||||
ComplexTableField.ss:
|
ComplexTableField.ss:
|
||||||
ADDITEM: '%sを追加する'
|
ADDITEM: '%sを追加する'
|
||||||
NOITEMSFOUND: 項目が見つかりませんでした
|
NOITEMSFOUND: '項目が見つかりませんでした'
|
||||||
SORTASC: 昇順
|
SORTASC: '昇順'
|
||||||
SORTDESC: ソート(下順)
|
SORTDESC: 'ソート(下順)'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: 次へ
|
NEXT: 次へ
|
||||||
PREVIOUS: 前へ
|
PREVIOUS: 前へ
|
||||||
@ -109,20 +112,21 @@ ja_JP:
|
|||||||
PLURALNAME: データオブジェクト
|
PLURALNAME: データオブジェクト
|
||||||
SINGULARNAME: データオブジェクト
|
SINGULARNAME: データオブジェクト
|
||||||
Date:
|
Date:
|
||||||
DAY: ' 日'
|
DAY: day
|
||||||
DAYS: 日
|
DAYS: days
|
||||||
HOUR: 時
|
HOUR: hour
|
||||||
HOURS: 時
|
HOURS: hours
|
||||||
MIN: 分
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: 分
|
MIN: min
|
||||||
MONTH: ' 月'
|
MINS: mins
|
||||||
MONTHS: ' 月'
|
MONTH: month
|
||||||
SEC: 秒
|
MONTHS: months
|
||||||
SECS: 秒
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference}前'
|
TIMEDIFFAGO: '{difference}前'
|
||||||
TIMEDIFFIN: '{difference}以内'
|
TIMEDIFFIN: '{difference}以内'
|
||||||
YEAR: 年
|
YEAR: year
|
||||||
YEARS: 年
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: セットされていません
|
NOTSET: セットされていません
|
||||||
TODAY: 今日
|
TODAY: 今日
|
||||||
@ -136,7 +140,7 @@ ja_JP:
|
|||||||
DropdownField:
|
DropdownField:
|
||||||
CHOOSE: (選択)
|
CHOOSE: (選択)
|
||||||
EmailField:
|
EmailField:
|
||||||
VALIDATION: メールアドレスを入力してください
|
VALIDATION: 'メールアドレスを入力してください'
|
||||||
Email_BounceRecord:
|
Email_BounceRecord:
|
||||||
PLURALNAME: 'Eメール 反応記録'
|
PLURALNAME: 'Eメール 反応記録'
|
||||||
SINGULARNAME: 'Eメール 反応記録'
|
SINGULARNAME: 'Eメール 反応記録'
|
||||||
@ -144,7 +148,7 @@ ja_JP:
|
|||||||
ANY: 何でも
|
ANY: 何でも
|
||||||
File:
|
File:
|
||||||
AviType: 'AVI video file'
|
AviType: 'AVI video file'
|
||||||
Content: 内容
|
Content: '内容'
|
||||||
CssType: 'CSS file'
|
CssType: 'CSS file'
|
||||||
DmgType: 'Apple disk image'
|
DmgType: 'Apple disk image'
|
||||||
DocType: 'Word document'
|
DocType: 'Word document'
|
||||||
@ -198,16 +202,18 @@ ja_JP:
|
|||||||
TEXT2: パスワードリセットのリンク
|
TEXT2: パスワードリセットのリンク
|
||||||
TEXT3: は
|
TEXT3: は
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s が必要です'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 入力された値はユニークではありません
|
VALIDATIONNOTUNIQUE: '入力された値はユニークではありません'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: パスワードが一致しません
|
VALIDATIONPASSWORDSDONTMATCH: パスワードが一致しません
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: パスワードが空欄です
|
VALIDATIONPASSWORDSNOTEMPTY: パスワードが空欄です
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
||||||
VALIDATOR: 検証
|
VALIDATOR: 検証
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: 何もありません
|
NONE: 何もありません
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -221,7 +227,7 @@ ja_JP:
|
|||||||
LEVELUP: 'Level up'
|
LEVELUP: 'Level up'
|
||||||
LinkExisting: 'Link Existing'
|
LinkExisting: 'Link Existing'
|
||||||
NewRecord: 新しい%s
|
NewRecord: 新しい%s
|
||||||
NoItemsFound: 項目が見つかりませんでした
|
NoItemsFound: '項目が見つかりませんでした'
|
||||||
PRINTEDAT: 'Printed at'
|
PRINTEDAT: 'Printed at'
|
||||||
PRINTEDBY: 'Printed by'
|
PRINTEDBY: 'Printed by'
|
||||||
PlaceHolder: '{type}を探す'
|
PlaceHolder: '{type}を探す'
|
||||||
@ -230,6 +236,7 @@ ja_JP:
|
|||||||
ResetFilter: リセット
|
ResetFilter: リセット
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 削除権限がありません
|
DeletePermissionsFailure: 削除権限がありません
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: 作成
|
Create: 作成
|
||||||
@ -237,22 +244,24 @@ ja_JP:
|
|||||||
DeletePermissionsFailure: 削除権限がありません
|
DeletePermissionsFailure: 削除権限がありません
|
||||||
Deleted: '削除済み %s %s'
|
Deleted: '削除済み %s %s'
|
||||||
Save: 保存
|
Save: 保存
|
||||||
Saved: '保存済み %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: このグループに役割を追加する
|
AddRole: 'このグループに役割を追加する'
|
||||||
Code: グループコード
|
Code: グループコード
|
||||||
DefaultGroupTitleAdministrators: 管理者
|
DefaultGroupTitleAdministrators: '管理者'
|
||||||
DefaultGroupTitleContentAuthors: コンテンツの著者
|
DefaultGroupTitleContentAuthors: 'コンテンツの著者'
|
||||||
Description: 説明文
|
Description: 説明文
|
||||||
GroupReminder: 元グループを選択された場合、このグループはその役割をすべて受け継ぎます。
|
GroupReminder: '元グループを選択された場合、このグループはその役割をすべて受け継ぎます。'
|
||||||
Locked: ロックしますか?
|
Locked: ロックしますか?
|
||||||
NoRoles: 役割が見つかりませんでした
|
NoRoles: 役割が見つかりませんでした
|
||||||
PLURALNAME: Groups
|
PLURALNAME: Groups
|
||||||
Parent: 元グループ
|
Parent: '元グループ'
|
||||||
RolesAddEditLink: 役割の管理
|
RolesAddEditLink: 役割の管理
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Group
|
||||||
Sort: 並び順
|
Sort: '並び順'
|
||||||
has_many_Permissions: 承認
|
has_many_Permissions: 承認
|
||||||
many_many_Members: メンバー
|
many_many_Members: メンバー
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
@ -264,19 +273,20 @@ ja_JP:
|
|||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
||||||
HtmlEditorField:
|
HtmlEditorField:
|
||||||
ADDURL: URLを追加
|
ADDURL: 'URLを追加'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: アンカー
|
ANCHORVALUE: アンカー
|
||||||
BUTTONINSERT: 追加
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERTLINK: リンクを追加
|
BUTTONINSERT: '追加'
|
||||||
|
BUTTONINSERTLINK: 'リンクを追加'
|
||||||
BUTTONREMOVELINK: リンクを削除
|
BUTTONREMOVELINK: リンクを削除
|
||||||
BUTTONUpdate: 更新
|
BUTTONUpdate: 更新
|
||||||
CAPTIONTEXT: タイトル
|
CAPTIONTEXT: タイトル
|
||||||
CSSCLASS: '調整 / スタイル'
|
CSSCLASS: '調整 / スタイル'
|
||||||
CSSCLASSCENTER: 中央はテキストのみ
|
CSSCLASSCENTER: 中央はテキストのみ
|
||||||
CSSCLASSLEFT: 左側にテキストと一緒に処理してください
|
CSSCLASSLEFT: '左側にテキストと一緒に処理してください'
|
||||||
CSSCLASSLEFTALONE: 中央はテキストのみ
|
CSSCLASSLEFTALONE: 中央はテキストのみ
|
||||||
CSSCLASSRIGHT: 右側にテキストと一緒に処理してください
|
CSSCLASSRIGHT: '右側にテキストと一緒に処理してください'
|
||||||
DETAILS: 詳細
|
DETAILS: 詳細
|
||||||
EMAIL: メールアドレス
|
EMAIL: メールアドレス
|
||||||
FILE: ファイル
|
FILE: ファイル
|
||||||
@ -284,18 +294,18 @@ ja_JP:
|
|||||||
FROMCMS: CMSから
|
FROMCMS: CMSから
|
||||||
FROMCOMPUTER: コンピュータから
|
FROMCOMPUTER: コンピュータから
|
||||||
FROMWEB: Webから
|
FROMWEB: Webから
|
||||||
FindInFolder: フォルダ内を探す
|
FindInFolder: 'フォルダ内を探す'
|
||||||
IMAGEALT: 代替テキスト(Alt)
|
IMAGEALT: 代替テキスト(Alt)
|
||||||
IMAGEALTTEXT: '代替(Alt)テキスト - 画像が表示されなかった場合に表示されます'
|
IMAGEALTTEXT: '代替(Alt)テキスト - 画像が表示されなかった場合に表示されます'
|
||||||
IMAGEALTTEXTDESC: スクリーンリーダー利用者やイメージが表示されなかった場合に表示されます
|
IMAGEALTTEXTDESC: 'スクリーンリーダー利用者やイメージが表示されなかった場合に表示されます'
|
||||||
IMAGEDIMENSIONS: サイズ
|
IMAGEDIMENSIONS: サイズ
|
||||||
IMAGEHEIGHTPX: Height
|
IMAGEHEIGHTPX: Height
|
||||||
IMAGETITLE: 'タイトル(ツールチップ)テキスト - 画像に対する追加的情報'
|
IMAGETITLE: 'タイトル(ツールチップ)テキスト - 画像に対する追加的情報'
|
||||||
IMAGETITLETEXT: タイトルテキスト(ツールチップ)
|
IMAGETITLETEXT: タイトルテキスト(ツールチップ)
|
||||||
IMAGETITLETEXTDESC: 画像に関する追加情報
|
IMAGETITLETEXTDESC: '画像に関する追加情報'
|
||||||
IMAGEWIDTHPX: Width
|
IMAGEWIDTHPX: Width
|
||||||
INSERTMEDIA: メディアを追加
|
INSERTMEDIA: 'メディアを追加'
|
||||||
LINK: ハイライトテキストへのリンクの挿入/削除
|
LINK: 'ハイライトテキストへのリンクの挿入/削除'
|
||||||
LINKANCHOR: このページにアンカーを置く
|
LINKANCHOR: このページにアンカーを置く
|
||||||
LINKDESCR: リンクの説明
|
LINKDESCR: リンクの説明
|
||||||
LINKEMAIL: メールアドレス
|
LINKEMAIL: メールアドレス
|
||||||
@ -324,13 +334,16 @@ ja_JP:
|
|||||||
DropdownBatchActionsDefault: アクション
|
DropdownBatchActionsDefault: アクション
|
||||||
HELP: ヘルプ
|
HELP: ヘルプ
|
||||||
PAGETYPE: 'ページの種類:'
|
PAGETYPE: 'ページの種類:'
|
||||||
PERMAGAIN: ログアウトしました。再度ログインする場合は下にユーザー名とパスワードを入力してください。
|
PERMAGAIN: 'ログアウトしました。再度ログインする場合は下にユーザー名とパスワードを入力してください。'
|
||||||
PERMALREADY: 申し訳ございません。ご指定になられたCMSの箇所にはアクセスいただけません。別ユーザーとしてログインをされたい場合は、下記より行えます。
|
PERMALREADY: '申し訳ございません。ご指定になられたCMSの箇所にはアクセスいただけません。別ユーザーとしてログインをされたい場合は、下記より行えます。'
|
||||||
PERMDEFAULT: 認証方法を選択し、CMSにアクセスするために利用する認証情報を入力してください。
|
PERMDEFAULT: '認証方法を選択し、CMSにアクセスするために利用する認証情報を入力してください。'
|
||||||
PLEASESAVE: '保存してください: 保存してないため更新できません。'
|
PLEASESAVE: '保存してください: 保存してないため更新できません。'
|
||||||
PreviewButton: プレビュー
|
PreviewButton: プレビュー
|
||||||
REORGANISATIONSUCCESSFUL: サイトツリーの再編集に成功しました。
|
REORGANISATIONSUCCESSFUL: サイトツリーの再編集に成功しました。
|
||||||
SAVEDUP: 保存済み
|
SAVEDUP: 保存済み
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: 不明
|
VersionUnknown: 不明
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: こんにちは!
|
Hello: こんにちは!
|
||||||
@ -342,7 +355,7 @@ ja_JP:
|
|||||||
SINGULARNAME: 'Login Attempt'
|
SINGULARNAME: 'Login Attempt'
|
||||||
Status: ステータス
|
Status: ステータス
|
||||||
Member:
|
Member:
|
||||||
ADDGROUP: グループを追加
|
ADDGROUP: 'グループを追加'
|
||||||
BUTTONCHANGEPASSWORD: パスワードの変更
|
BUTTONCHANGEPASSWORD: パスワードの変更
|
||||||
BUTTONLOGIN: ログイン
|
BUTTONLOGIN: ログイン
|
||||||
BUTTONLOGINOTHER: 他の誰かとしてログイン
|
BUTTONLOGINOTHER: 他の誰かとしてログイン
|
||||||
@ -351,15 +364,15 @@ ja_JP:
|
|||||||
CONFIRMNEWPASSWORD: 新しいパスワードを確認します
|
CONFIRMNEWPASSWORD: 新しいパスワードを確認します
|
||||||
CONFIRMPASSWORD: パスワード(確認のためもう一度)
|
CONFIRMPASSWORD: パスワード(確認のためもう一度)
|
||||||
DATEFORMAT: 'Date format'
|
DATEFORMAT: 'Date format'
|
||||||
DefaultAdminFirstname: 初期管理者
|
DefaultAdminFirstname: '初期管理者'
|
||||||
DefaultDateTime: 初期設定
|
DefaultDateTime: 初期設定
|
||||||
EMAIL: メールアドレス
|
EMAIL: メールアドレス
|
||||||
EMPTYNEWPASSWORD: パスワードが空です。もう一度入力して下さい。
|
EMPTYNEWPASSWORD: 'パスワードが空です。もう一度入力して下さい。'
|
||||||
ENTEREMAIL: パスワードをリセットするためにメールアドレスを入力してください。
|
ENTEREMAIL: 'パスワードをリセットするためにメールアドレスを入力してください。'
|
||||||
ERRORLOCKEDOUT: あなたのアカウントは何度もログインに失敗したため一時的に利用できなくなっています。20分後に試してください。
|
ERRORLOCKEDOUT: 'あなたのアカウントは何度もログインに失敗したため一時的に利用できなくなっています。20分後に試してください。'
|
||||||
ERRORNEWPASSWORD: 入力されたパスワードが一致しません。再度お試しください
|
ERRORNEWPASSWORD: '入力されたパスワードが一致しません。再度お試しください'
|
||||||
ERRORPASSWORDNOTMATCH: 登録されているパスワードと一致しません、もう一度入力し直してください
|
ERRORPASSWORDNOTMATCH: '登録されているパスワードと一致しません、もう一度入力し直してください'
|
||||||
ERRORWRONGCRED: メールアドレスまたはパスワードが正しくありません、もう一度入力し直してください
|
ERRORWRONGCRED: 'メールアドレスまたはパスワードが正しくありません、もう一度入力し直してください'
|
||||||
FIRSTNAME: 名
|
FIRSTNAME: 名
|
||||||
INTERFACELANG: 画面言語
|
INTERFACELANG: 画面言語
|
||||||
INVALIDNEWPASSWORD: '次のパスワードは受け付けることができません: {password}'
|
INVALIDNEWPASSWORD: '次のパスワードは受け付けることができません: {password}'
|
||||||
@ -373,7 +386,7 @@ ja_JP:
|
|||||||
SUBJECTPASSWORDRESET: パスワード再発行
|
SUBJECTPASSWORDRESET: パスワード再発行
|
||||||
SURNAME: 姓
|
SURNAME: 姓
|
||||||
TIMEFORMAT: 'Time format'
|
TIMEFORMAT: 'Time format'
|
||||||
VALIDATIONMEMBEREXISTS: 入力したメールアドレス(%s)は、他のメンバーにすでに使用されています。
|
VALIDATIONMEMBEREXISTS: '入力したメールアドレス(%s)は、他のメンバーにすでに使用されています。'
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
||||||
WELCOMEBACK: '{firstname}さん、おかえりなさい'
|
WELCOMEBACK: '{firstname}さん、おかえりなさい'
|
||||||
YOUROLDPASSWORD: 古いパスワード
|
YOUROLDPASSWORD: 古いパスワード
|
||||||
@ -381,7 +394,7 @@ ja_JP:
|
|||||||
db_LastVisited: 最終訪問日
|
db_LastVisited: 最終訪問日
|
||||||
db_Locale: インターフェースの言語地域
|
db_Locale: インターフェースの言語地域
|
||||||
db_LockedOutUntil: DBロックがされています。
|
db_LockedOutUntil: DBロックがされています。
|
||||||
db_NumVisit: 訪問者数
|
db_NumVisit: '訪問者数'
|
||||||
db_Password: パスワード
|
db_Password: パスワード
|
||||||
db_PasswordExpiry: パスワードの有効期限
|
db_PasswordExpiry: パスワードの有効期限
|
||||||
MemberAuthenticator:
|
MemberAuthenticator:
|
||||||
@ -407,6 +420,7 @@ ja_JP:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p><em>CSVフォーマット</em>(コンマ区切り)でユーザーを取り込みます。 <small><a href="#" class="toggle-advanced">高度な利用方法を表示</a></small></p>'
|
Help1: '<p><em>CSVフォーマット</em>(コンマ区切り)でユーザーを取り込みます。 <small><a href="#" class="toggle-advanced">高度な利用方法を表示</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,16 +435,16 @@ ja_JP:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: 削除
|
DELETE: 削除
|
||||||
DELETEDRECORDS: '{count}レコードを削除しました。'
|
DELETEDRECORDS: '{count}レコードを削除しました。'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: CSVからインポート
|
IMPORT: CSVからインポート
|
||||||
IMPORTEDRECORDS: '{count}レコードを取り込みました。'
|
IMPORTEDRECORDS: '{count}レコードを取り込みました。'
|
||||||
NOCSVFILE: インポートするためのCSVファイルを参照してください
|
NOCSVFILE: 'インポートするためのCSVファイルを参照してください'
|
||||||
NOIMPORT: インポートするものがありません。
|
NOIMPORT: インポートするものがありません。
|
||||||
RESET: リセット
|
RESET: リセット
|
||||||
Title: 'Data Models'
|
Title: 'Data Models'
|
||||||
UPDATEDRECORDS: '{count}レコードを更新しました。'
|
UPDATEDRECORDS: '{count}レコードを更新しました。'
|
||||||
ModelAdmin_ImportSpec.ss:
|
ModelAdmin_ImportSpec.ss:
|
||||||
IMPORTSPECFIELDS: データベースカラム
|
IMPORTSPECFIELDS: 'データベースカラム'
|
||||||
IMPORTSPECLINK: 'Show Specification for %s'
|
IMPORTSPECLINK: 'Show Specification for %s'
|
||||||
IMPORTSPECRELATIONS: 関連
|
IMPORTSPECRELATIONS: 関連
|
||||||
IMPORTSPECTITLE: 'Specification for %s'
|
IMPORTSPECTITLE: 'Specification for %s'
|
||||||
@ -451,9 +465,9 @@ ja_JP:
|
|||||||
Page: Page
|
Page: Page
|
||||||
View: View
|
View: View
|
||||||
Permission:
|
Permission:
|
||||||
AdminGroup: 管理者
|
AdminGroup: '管理者'
|
||||||
CMS_ACCESS_CATEGORY: 'CMS Access'
|
CMS_ACCESS_CATEGORY: 'CMS Access'
|
||||||
FULLADMINRIGHTS: 完全な管理権
|
FULLADMINRIGHTS: '完全な管理権'
|
||||||
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
|
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
|
||||||
PLURALNAME: Permissions
|
PLURALNAME: Permissions
|
||||||
SINGULARNAME: Permission
|
SINGULARNAME: Permission
|
||||||
@ -474,27 +488,27 @@ ja_JP:
|
|||||||
PERMISSIONS_CATEGORY: 役割とアクセス権限
|
PERMISSIONS_CATEGORY: 役割とアクセス権限
|
||||||
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
||||||
PhoneNumberField:
|
PhoneNumberField:
|
||||||
VALIDATION: 電話番号を入力してください
|
VALIDATION: '電話番号を入力してください'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
ADD: 追加
|
ADD: '追加'
|
||||||
CSVEXPORT: CSVへ書き出し
|
CSVEXPORT: CSVへ書き出し
|
||||||
NOTFOUND: 項目が見つかりませんでした
|
NOTFOUND: '項目が見つかりませんでした'
|
||||||
Security:
|
Security:
|
||||||
ALREADYLOGGEDIN: 'あなたはこのページにアクセスできません。別のアカウントを持っていたら <a href="%s">再ログイン</a>を行ってください。'
|
ALREADYLOGGEDIN: 'あなたはこのページにアクセスできません。別のアカウントを持っていたら <a href="%s">再ログイン</a>を行ってください。'
|
||||||
BUTTONSEND: パスワードリセットのリンクを送信してください
|
BUTTONSEND: 'パスワードリセットのリンクを送信してください'
|
||||||
CHANGEPASSWORDBELOW: 以下のパスワードを変更できます
|
CHANGEPASSWORDBELOW: 以下のパスワードを変更できます
|
||||||
CHANGEPASSWORDHEADER: パスワードを変更しました
|
CHANGEPASSWORDHEADER: パスワードを変更しました
|
||||||
ENTERNEWPASSWORD: 新しいパスワードを入力してください
|
ENTERNEWPASSWORD: '新しいパスワードを入力してください'
|
||||||
ERRORPASSWORDPERMISSION: パスワードを変更する為に、ログインしなければなりません!
|
ERRORPASSWORDPERMISSION: パスワードを変更する為に、ログインしなければなりません!
|
||||||
LOGGEDOUT: ログアウトしました。再度ログインする場合は証明書キーを入力してください
|
LOGGEDOUT: 'ログアウトしました。再度ログインする場合は証明書キーを入力してください'
|
||||||
LOGIN: ログイン
|
LOGIN: ログイン
|
||||||
NOTEPAGESECURED: このページはセキュリティで保護されております証明書キーを下記に入力してください。こちらからすぐに送信します
|
NOTEPAGESECURED: 'このページはセキュリティで保護されております証明書キーを下記に入力してください。こちらからすぐに送信します'
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
||||||
NOTERESETPASSWORD: メールアドレスを入力してください、パスワードをリセットするURLを送信致します
|
NOTERESETPASSWORD: 'メールアドレスを入力してください、パスワードをリセットするURLを送信致します'
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
||||||
SecurityAdmin:
|
SecurityAdmin:
|
||||||
ACCESS_HELP: ユーザを閲覧、追加、編集すること、及び、そのユーザに対して権限や役割を割り当てることを許可
|
ACCESS_HELP: 'ユーザを閲覧、追加、編集すること、及び、そのユーザに対して権限や役割を割り当てることを許可'
|
||||||
APPLY_ROLES: 役割をグループへ適用
|
APPLY_ROLES: 役割をグループへ適用
|
||||||
APPLY_ROLES_HELP: 'Ability to edit the roles assigned to a group. Requires the "Access to ''Users'' section" permission.'
|
APPLY_ROLES_HELP: 'Ability to edit the roles assigned to a group. Requires the "Access to ''Users'' section" permission.'
|
||||||
EDITPERMISSIONS: グループの権限を編集
|
EDITPERMISSIONS: グループの権限を編集
|
||||||
@ -515,7 +529,20 @@ ja_JP:
|
|||||||
BtnImport: CSVから取り込み
|
BtnImport: CSVから取り込み
|
||||||
FileFieldLabel: 'CSVファイル <small>(利用可能な拡張子: *.csv)</small>'
|
FileFieldLabel: 'CSVファイル <small>(利用可能な拡張子: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: 編集
|
Edit: 編集
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 何も画像がアップロードされていません
|
NOUPLOAD: 何も画像がアップロードされていません
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -523,7 +550,7 @@ ja_JP:
|
|||||||
TableField:
|
TableField:
|
||||||
ISREQUIRED: 'In %s ''%s'' is required'
|
ISREQUIRED: 'In %s ''%s'' is required'
|
||||||
TableField.ss:
|
TableField.ss:
|
||||||
ADD: 新しい行を追加
|
ADD: '新しい行を追加'
|
||||||
ADDITEM: '%sを追加'
|
ADDITEM: '%sを追加'
|
||||||
TableListField:
|
TableListField:
|
||||||
CSVEXPORT: CSVにエクスポート
|
CSVEXPORT: CSVにエクスポート
|
||||||
@ -531,9 +558,9 @@ ja_JP:
|
|||||||
Print: Print
|
Print: Print
|
||||||
SELECT: 選択:
|
SELECT: 選択:
|
||||||
TableListField.ss:
|
TableListField.ss:
|
||||||
NOITEMSFOUND: 項目が見つかりませんでした
|
NOITEMSFOUND: '項目が見つかりませんでした'
|
||||||
SORTASC: 昇順で並べ替え
|
SORTASC: '昇順で並べ替え'
|
||||||
SORTDESC: 降順で並べ替え
|
SORTDESC: '降順で並べ替え'
|
||||||
TableListField_PageControls.ss:
|
TableListField_PageControls.ss:
|
||||||
DISPLAYING: Displaying
|
DISPLAYING: Displaying
|
||||||
OF: of
|
OF: of
|
||||||
@ -546,31 +573,36 @@ ja_JP:
|
|||||||
VALIDATEFORMAT: '正しい時間フォーマット{{format}}を入力してください'
|
VALIDATEFORMAT: '正しい時間フォーマット{{format}}を入力してください'
|
||||||
ToggleField:
|
ToggleField:
|
||||||
LESS: 減少
|
LESS: 減少
|
||||||
MORE: 増加
|
MORE: '増加'
|
||||||
UploadField:
|
UploadField:
|
||||||
ATTACHFILE: ファイルを添付
|
ATTACHFILE: ファイルを添付
|
||||||
ATTACHFILES: ファイルを添付
|
ATTACHFILES: ファイルを添付
|
||||||
AttachFile: ファイルを添付
|
AttachFile: ファイルを添付
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: ファイルストレージから永久にこのファイルは削除されました
|
DELETEINFO: 'ファイルストレージから永久にこのファイルは削除されました'
|
||||||
DOEDIT: 保存
|
DOEDIT: 保存
|
||||||
DROPFILE: ファイルをドロップ
|
DROPFILE: ファイルをドロップ
|
||||||
DROPFILES: ファイルをドロップ
|
DROPFILES: ファイルをドロップ
|
||||||
Dimensions: Dimensions
|
Dimensions: Dimensions
|
||||||
EDIT: 編集
|
EDIT: 編集
|
||||||
EDITINFO: このファイルを編集
|
EDITINFO: このファイルを編集
|
||||||
FIELDNOTSET: ファイル情報が見つかりませんでした
|
FIELDNOTSET: 'ファイル情報が見つかりませんでした'
|
||||||
FROMCOMPUTER: コンピュータから
|
FROMCOMPUTER: コンピュータから
|
||||||
FROMCOMPUTERINFO: ファイルから選択
|
FROMCOMPUTERINFO: ファイルから選択
|
||||||
FROMFILES: ファイルから
|
FROMFILES: ファイルから
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: '最大数の{count}ファイルを超えました。'
|
MAXNUMBEROFFILES: '最大数の{count}ファイルを超えました。'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: '{count}ファイルしかアップロードすることができません'
|
MAXNUMBEROFFILESSHORT: '{count}ファイルしかアップロードすることができません'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: 削除
|
REMOVE: 削除
|
||||||
REMOVEERROR: ファイルの削除におけるエラー
|
REMOVEERROR: ファイルの削除におけるエラー
|
||||||
REMOVEINFO: ここからこのファイルを削除。ただし、ファイルのストレージからこのファイルの削除はしない。
|
REMOVEINFO: 'ここからこのファイルを削除。ただし、ファイルのストレージからこのファイルの削除はしない。'
|
||||||
STARTALL: すべて開始
|
STARTALL: すべて開始
|
||||||
STARTALLINFO: すべてのアップロードを開始
|
STARTALLINFO: すべてのアップロードを開始
|
||||||
Saved: 保存しました
|
Saved: 保存しました
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: バージョン
|
has_many_Versions: バージョン
|
||||||
|
82
lang/km.yml
82
lang/km.yml
@ -2,6 +2,7 @@ km:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ km:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ km:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ km:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ km:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Objects'
|
SINGULARNAME: 'Data Objects'
|
||||||
Date:
|
Date:
|
||||||
DAY: ថ្ងៃ
|
DAY: day
|
||||||
DAYS: ថ្ងៃ
|
DAYS: days
|
||||||
HOUR: ម៉ោង
|
HOUR: hour
|
||||||
HOURS: ម៉ោង
|
HOURS: hours
|
||||||
MIN: នាទី
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: នាទី
|
MIN: min
|
||||||
MONTH: ខែ
|
MINS: mins
|
||||||
MONTHS: ខែ
|
MONTH: month
|
||||||
SEC: វិនាទី
|
MONTHS: months
|
||||||
SECS: វិនាទី
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ឆ្នាំ
|
YEAR: year
|
||||||
YEARS: ឆ្នាំ
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ km:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ km:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ km:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ km:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -246,10 +255,10 @@ km:
|
|||||||
DefaultGroupTitleContentAuthors: 'Content Authors'
|
DefaultGroupTitleContentAuthors: 'Content Authors'
|
||||||
Description: Description
|
Description: Description
|
||||||
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
|
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
|
||||||
Locked: មិនអាចប្រើ
|
Locked: 'មិនអាចប្រើ'
|
||||||
NoRoles: 'No roles found'
|
NoRoles: 'No roles found'
|
||||||
PLURALNAME: Groups
|
PLURALNAME: Groups
|
||||||
Parent: ចំណាត់ក្រុមដើម
|
Parent: 'ចំណាត់ក្រុមដើម'
|
||||||
RolesAddEditLink: 'Manage roles'
|
RolesAddEditLink: 'Manage roles'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Group
|
||||||
Sort: 'Sort Order'
|
Sort: 'Sort Order'
|
||||||
@ -267,6 +276,7 @@ km:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ km:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -377,13 +390,13 @@ km:
|
|||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
||||||
WELCOMEBACK: 'Welcome Back, {firstname}'
|
WELCOMEBACK: 'Welcome Back, {firstname}'
|
||||||
YOUROLDPASSWORD: 'Your old password'
|
YOUROLDPASSWORD: 'Your old password'
|
||||||
belongs_many_many_Groups: ចំណាត់ក្រុម
|
belongs_many_many_Groups: 'ចំណាត់ក្រុម'
|
||||||
db_LastVisited: 'Last Visited Date'
|
db_LastVisited: 'Last Visited Date'
|
||||||
db_Locale: 'Interface Locale'
|
db_Locale: 'Interface Locale'
|
||||||
db_LockedOutUntil: ដោះចេញរហូតដល់
|
db_LockedOutUntil: 'ដោះចេញរហូតដល់'
|
||||||
db_NumVisit: 'Number of Visits'
|
db_NumVisit: 'Number of Visits'
|
||||||
db_Password: Password
|
db_Password: Password
|
||||||
db_PasswordExpiry: កាលបរិច្ឆេទផុតកំណត់ពាក្យសំងាត់
|
db_PasswordExpiry: 'កាលបរិច្ឆេទផុតកំណត់ពាក្យសំងាត់'
|
||||||
MemberAuthenticator:
|
MemberAuthenticator:
|
||||||
TITLE: 'E-mail & Password'
|
TITLE: 'E-mail & Password'
|
||||||
MemberDatetimeOptionsetField:
|
MemberDatetimeOptionsetField:
|
||||||
@ -407,6 +420,7 @@ km:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ km:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ km:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ km:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ km:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: ជំនាន់
|
has_many_Versions: ជំនាន់
|
||||||
|
72
lang/lt.yml
72
lang/lt.yml
@ -2,6 +2,7 @@ lt:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ lt:
|
|||||||
ERRORNOTADMIN: 'Vartotojas nėra administratorius'
|
ERRORNOTADMIN: 'Vartotojas nėra administratorius'
|
||||||
ERRORNOTREC: 'Toks vartotojo vardas / slaptažodis neatpažintas'
|
ERRORNOTREC: 'Toks vartotojo vardas / slaptažodis neatpažintas'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Ne
|
|
||||||
ANY: 'Bet koks'
|
ANY: 'Bet koks'
|
||||||
1: Taip
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ lt:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Išsaugoti
|
SAVE: Išsaugoti
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ lt:
|
|||||||
HELLO: Sveiki
|
HELLO: Sveiki
|
||||||
PASSWORD: Slaptažodis
|
PASSWORD: Slaptažodis
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Ne
|
NOANSWER: 'False'
|
||||||
- Taip
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: Uždaryti
|
CLOSEPOPUP: Uždaryti
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ lt:
|
|||||||
PLURALNAME: 'Duomenų objektai'
|
PLURALNAME: 'Duomenų objektai'
|
||||||
SINGULARNAME: 'Duomenų objektas'
|
SINGULARNAME: 'Duomenų objektas'
|
||||||
Date:
|
Date:
|
||||||
DAY: diena
|
DAY: day
|
||||||
DAYS: dienas
|
DAYS: days
|
||||||
HOUR: valandą
|
HOUR: hour
|
||||||
HOURS: valandas
|
HOURS: hours
|
||||||
MIN: minutę
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minutes
|
MIN: min
|
||||||
MONTH: mėnuo
|
MINS: mins
|
||||||
MONTHS: mėnesiai
|
MONTH: month
|
||||||
SEC: sek.
|
MONTHS: months
|
||||||
SECS: sekundes
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: metai
|
YEAR: year
|
||||||
YEARS: metus
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: nenustatyta
|
NOTSET: nenustatyta
|
||||||
TODAY: šiandien
|
TODAY: šiandien
|
||||||
@ -198,7 +202,8 @@ lt:
|
|||||||
TEXT2: 'slaptažodžio atstatymo nuoroda'
|
TEXT2: 'slaptažodžio atstatymo nuoroda'
|
||||||
TEXT3: kam
|
TEXT3: kam
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s yra būtinas'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Įvesta reikšmė nėra unikali'
|
VALIDATIONNOTUNIQUE: 'Įvesta reikšmė nėra unikali'
|
||||||
@ -208,6 +213,7 @@ lt:
|
|||||||
VALIDATOR: Tikrintojas
|
VALIDATOR: Tikrintojas
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: niekas
|
NONE: niekas
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ lt:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ lt:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ lt:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Pagrindinis
|
ANCHORVALUE: Pagrindinis
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Įterpti nuorodą'
|
BUTTONINSERTLINK: 'Įterpti nuorodą'
|
||||||
BUTTONREMOVELINK: 'Pašalinti nuorodą'
|
BUTTONREMOVELINK: 'Pašalinti nuorodą'
|
||||||
@ -331,7 +341,10 @@ lt:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ lt:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ lt:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ lt:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Neįkrauta jokių paveikslėlių'
|
NOUPLOAD: 'Neįkrauta jokių paveikslėlių'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ lt:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ lt:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versijos
|
has_many_Versions: Versijos
|
||||||
|
72
lang/lv.yml
72
lang/lv.yml
@ -2,6 +2,7 @@ lv:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ lv:
|
|||||||
ERRORNOTADMIN: 'Šis lietotājs nav administrators.'
|
ERRORNOTADMIN: 'Šis lietotājs nav administrators.'
|
||||||
ERRORNOTREC: 'Šis lietotājvārds / parole nav atpazīts'
|
ERRORNOTREC: 'Šis lietotājvārds / parole nav atpazīts'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Nē
|
|
||||||
ANY: Jebkurš
|
ANY: Jebkurš
|
||||||
1: Jā
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ lv:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Saglabāt
|
SAVE: Saglabāt
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ lv:
|
|||||||
HELLO: Sveiki
|
HELLO: Sveiki
|
||||||
PASSWORD: Parole
|
PASSWORD: Parole
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Nē
|
NOANSWER: 'False'
|
||||||
- Jā
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Aizvērt izlēcošo logu'
|
CLOSEPOPUP: 'Aizvērt izlēcošo logu'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ lv:
|
|||||||
PLURALNAME: 'Datu Objekti'
|
PLURALNAME: 'Datu Objekti'
|
||||||
SINGULARNAME: 'Datu Objekts'
|
SINGULARNAME: 'Datu Objekts'
|
||||||
Date:
|
Date:
|
||||||
DAY: diena
|
DAY: day
|
||||||
DAYS: dienas
|
DAYS: days
|
||||||
HOUR: stunda
|
HOUR: hour
|
||||||
HOURS: stundas
|
HOURS: hours
|
||||||
MIN: minūte
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minūtes
|
MIN: min
|
||||||
MONTH: mēnesis
|
MINS: mins
|
||||||
MONTHS: mēneši
|
MONTH: month
|
||||||
SEC: sekunde
|
MONTHS: months
|
||||||
SECS: sekundes
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: gads
|
YEAR: year
|
||||||
YEARS: gadi
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'nav uzstādīts'
|
NOTSET: 'nav uzstādīts'
|
||||||
TODAY: šodien
|
TODAY: šodien
|
||||||
@ -198,7 +202,8 @@ lv:
|
|||||||
TEXT2: 'paroles atiestatīšanas saite'
|
TEXT2: 'paroles atiestatīšanas saite'
|
||||||
TEXT3: ' '
|
TEXT3: ' '
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s ir obligāti aizpildāms.'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Ievadītā vērtība nav unikāla'
|
VALIDATIONNOTUNIQUE: 'Ievadītā vērtība nav unikāla'
|
||||||
@ -208,6 +213,7 @@ lv:
|
|||||||
VALIDATOR: Validators
|
VALIDATOR: Validators
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: neviens
|
NONE: neviens
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ lv:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ lv:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ lv:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Enkurs
|
ANCHORVALUE: Enkurs
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Ievietot saiti'
|
BUTTONINSERTLINK: 'Ievietot saiti'
|
||||||
BUTTONREMOVELINK: 'Noņemt saiti'
|
BUTTONREMOVELINK: 'Noņemt saiti'
|
||||||
@ -331,7 +341,10 @@ lv:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ lv:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ lv:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ lv:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Netika augšupielādēts neviens attēls'
|
NOUPLOAD: 'Netika augšupielādēts neviens attēls'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ lv:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ lv:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versijas
|
has_many_Versions: Versijas
|
||||||
|
@ -2,6 +2,7 @@ mi_NZ:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Ngā toronga ka whakaaetia'
|
ALLOWEDEXTS: 'Ngā toronga ka whakaaetia'
|
||||||
NEWFOLDER: KōpakiHōu
|
NEWFOLDER: KōpakiHōu
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Tukuatu tuatahi'
|
CREATED: 'Tukuatu tuatahi'
|
||||||
DIM: 'Ngā Rahinga'
|
DIM: 'Ngā Rahinga'
|
||||||
@ -59,9 +60,9 @@ mi_NZ:
|
|||||||
ERRORNOTADMIN: 'Ehara tēnā kaiwhakamahi i te kaiwhakahaere'
|
ERRORNOTADMIN: 'Ehara tēnā kaiwhakamahi i te kaiwhakahaere'
|
||||||
ERRORNOTREC: 'Kāore i te mōhiotia tēnā ingoa kaiwhakamahi / kupuhipa'
|
ERRORNOTREC: 'Kāore i te mōhiotia tēnā ingoa kaiwhakamahi / kupuhipa'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Hē
|
|
||||||
ANY: 'Ko tētahi'
|
ANY: 'Ko tētahi'
|
||||||
1: Pono
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Uta ana...'
|
LOADING: 'Uta ana...'
|
||||||
REQUIREJS: 'Ka hiahia te CMS kia whakahohea te JavaScript'
|
REQUIREJS: 'Ka hiahia te CMS kia whakahohea te JavaScript'
|
||||||
@ -70,6 +71,8 @@ mi_NZ:
|
|||||||
ACCESSALLINTERFACES: 'Uru ki ngā wāhanga CMS katoa'
|
ACCESSALLINTERFACES: 'Uru ki ngā wāhanga CMS katoa'
|
||||||
ACCESSALLINTERFACESHELP: 'Ka takahi i ngā tautuhinga uru tauwhāiti ake'
|
ACCESSALLINTERFACESHELP: 'Ka takahi i ngā tautuhinga uru tauwhāiti ake'
|
||||||
SAVE: Tiaki
|
SAVE: Tiaki
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ mi_NZ:
|
|||||||
HELLO: 'Kia ora'
|
HELLO: 'Kia ora'
|
||||||
PASSWORD: Kupuhipa
|
PASSWORD: Kupuhipa
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Hē
|
NOANSWER: 'False'
|
||||||
- Pono
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Kati Pakū-Ake'
|
CLOSEPOPUP: 'Kati Pakū-Ake'
|
||||||
SUCCESSADD2: 'Kua tāpiritia a {name}'
|
SUCCESSADD2: 'Kua tāpiritia a {name}'
|
||||||
@ -109,20 +112,21 @@ mi_NZ:
|
|||||||
PLURALNAME: 'Ngā Ahanoa Raraunga'
|
PLURALNAME: 'Ngā Ahanoa Raraunga'
|
||||||
SINGULARNAME: 'Ahanoa Raraunga'
|
SINGULARNAME: 'Ahanoa Raraunga'
|
||||||
Date:
|
Date:
|
||||||
DAY: rā
|
DAY: day
|
||||||
DAYS: 'ngā rā'
|
DAYS: days
|
||||||
HOUR: haora
|
HOUR: hour
|
||||||
HOURS: 'ngā haora'
|
HOURS: hours
|
||||||
MIN: meneti
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: 'ngā meneti'
|
MIN: min
|
||||||
MONTH: marama
|
MINS: mins
|
||||||
MONTHS: 'ngā marama'
|
MONTH: month
|
||||||
SEC: hēkona
|
MONTHS: months
|
||||||
SECS: 'ngā hēkona'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} i mua'
|
TIMEDIFFAGO: '{difference} i mua'
|
||||||
TIMEDIFFIN: 'i roto i te {difference}'
|
TIMEDIFFIN: 'i roto i te {difference}'
|
||||||
YEAR: tau
|
YEAR: year
|
||||||
YEARS: 'ngā tau'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'kāore i tautuhia'
|
NOTSET: 'kāore i tautuhia'
|
||||||
TODAY: 'i tēnei rā'
|
TODAY: 'i tēnei rā'
|
||||||
@ -198,7 +202,8 @@ mi_NZ:
|
|||||||
TEXT2: 'hono tautuhi kupuhipa anō'
|
TEXT2: 'hono tautuhi kupuhipa anō'
|
||||||
TEXT3: mā
|
TEXT3: mā
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'Ka hiahiatia a %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Tirohia kua tika tō tāuru i te tau kāri nama {number}'
|
VALIDATIONCREDITNUMBER: 'Tirohia kua tika tō tāuru i te tau kāri nama {number}'
|
||||||
VALIDATIONNOTUNIQUE: 'Ehara te uara i tāurua i te ahurei'
|
VALIDATIONNOTUNIQUE: 'Ehara te uara i tāurua i te ahurei'
|
||||||
@ -208,6 +213,7 @@ mi_NZ:
|
|||||||
VALIDATOR: Pūwhakamana
|
VALIDATOR: Pūwhakamana
|
||||||
VALIDCURRENCY: 'Tāurua he moni tika'
|
VALIDCURRENCY: 'Tāurua he moni tika'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: Kore
|
NONE: Kore
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Muku
|
DELETE_DESCRIPTION: Muku
|
||||||
@ -230,6 +236,7 @@ mi_NZ:
|
|||||||
ResetFilter: 'Tautuhi anō'
|
ResetFilter: 'Tautuhi anō'
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Kāore he muku whakaaetanga'
|
DeletePermissionsFailure: 'Kāore he muku whakaaetanga'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Whakakore
|
CancelBtn: Whakakore
|
||||||
Create: Hanga
|
Create: Hanga
|
||||||
@ -237,7 +244,9 @@ mi_NZ:
|
|||||||
DeletePermissionsFailure: 'Kāore he whakaaetanga muku'
|
DeletePermissionsFailure: 'Kāore he whakaaetanga muku'
|
||||||
Deleted: 'Kua mukua %s %s'
|
Deleted: 'Kua mukua %s %s'
|
||||||
Save: Tiaki
|
Save: Tiaki
|
||||||
Saved: 'I tiakina a %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Tāpiritia he tūnga mō tēnei rōpū'
|
AddRole: 'Tāpiritia he tūnga mō tēnei rōpū'
|
||||||
@ -267,6 +276,7 @@ mi_NZ:
|
|||||||
ADDURL: 'Tāpiri PRO'
|
ADDURL: 'Tāpiri PRO'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Ngā taipitopito & ngā rahinga'
|
ADJUSTDETAILSDIMENSIONS: 'Ngā taipitopito & ngā rahinga'
|
||||||
ANCHORVALUE: Punga
|
ANCHORVALUE: Punga
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Kōkohu
|
BUTTONINSERT: Kōkohu
|
||||||
BUTTONINSERTLINK: 'Kōkuhu hono'
|
BUTTONINSERTLINK: 'Kōkuhu hono'
|
||||||
BUTTONREMOVELINK: 'Tango hono'
|
BUTTONREMOVELINK: 'Tango hono'
|
||||||
@ -331,6 +341,9 @@ mi_NZ:
|
|||||||
PreviewButton: Arokite
|
PreviewButton: Arokite
|
||||||
REORGANISATIONSUCCESSFUL: 'Kua momoho te whakaraupapa anō i te rākau pae'
|
REORGANISATIONSUCCESSFUL: 'Kua momoho te whakaraupapa anō i te rākau pae'
|
||||||
SAVEDUP: 'Kua Tiakina'
|
SAVEDUP: 'Kua Tiakina'
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: 'tē mōhiotia'
|
VersionUnknown: 'tē mōhiotia'
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: 'Kia ora'
|
Hello: 'Kia ora'
|
||||||
@ -407,6 +420,7 @@ mi_NZ:
|
|||||||
TWODIGITMONTH: 'Marama matirua (01=Kohitātea)'
|
TWODIGITMONTH: 'Marama matirua (01=Kohitātea)'
|
||||||
TWODIGITSECOND: 'Ngā mati hēkona e rua (00 ki te 59)'
|
TWODIGITSECOND: 'Ngā mati hēkona e rua (00 ki te 59)'
|
||||||
TWODIGITYEAR: 'Tau matirua'
|
TWODIGITYEAR: 'Tau matirua'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Kawea mai ngā kaiwhakamahi i te <em>hōputu CSV </em> (ngā uara ka wehea ki te piko). <small><a href="#" class="toggle-advanced">Whakaatu whakamahinga ara atu anō</a></small></p>'
|
Help1: '<p>Kawea mai ngā kaiwhakamahi i te <em>hōputu CSV </em> (ngā uara ka wehea ki te piko). <small><a href="#" class="toggle-advanced">Whakaatu whakamahinga ara atu anō</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ mi_NZ:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Muku
|
DELETE: Muku
|
||||||
DELETEDRECORDS: 'I mukua e {count} ngā pūkete.'
|
DELETEDRECORDS: 'I mukua e {count} ngā pūkete.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Kawemai i CSV'
|
IMPORT: 'Kawemai i CSV'
|
||||||
IMPORTEDRECORDS: 'I kawea mai e {count} ngā pūkete.'
|
IMPORTEDRECORDS: 'I kawea mai e {count} ngā pūkete.'
|
||||||
NOCSVFILE: 'Pūtirotiro kia kitea he kōnae CSV hei kawemai'
|
NOCSVFILE: 'Pūtirotiro kia kitea he kōnae CSV hei kawemai'
|
||||||
@ -515,7 +529,20 @@ mi_NZ:
|
|||||||
BtnImport: 'Kawemai i CSV'
|
BtnImport: 'Kawemai i CSV'
|
||||||
FileFieldLabel: 'Kōnae CSV <small>(Ngā toronga ka whakaaetia: *.csv)</small>'
|
FileFieldLabel: 'Kōnae CSV <small>(Ngā toronga ka whakaaetia: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Whakatika
|
Edit: Whakatika
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Kāore He Atahanga Tukuatu'
|
NOUPLOAD: 'Kāore He Atahanga Tukuatu'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ mi_NZ:
|
|||||||
ATTACHFILE: 'Tāpiritia tētahi kōnae'
|
ATTACHFILE: 'Tāpiritia tētahi kōnae'
|
||||||
ATTACHFILES: 'Tāpiri kōnae'
|
ATTACHFILES: 'Tāpiri kōnae'
|
||||||
AttachFile: 'Tāpiritia t/ētahi kōnae'
|
AttachFile: 'Tāpiritia t/ētahi kōnae'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Muku i ngā kōnae'
|
DELETE: 'Muku i ngā kōnae'
|
||||||
DELETEINFO: 'Muku pūmautia tēnei kōnae i te pātaka kōnae'
|
DELETEINFO: 'Muku pūmautia tēnei kōnae i te pātaka kōnae'
|
||||||
DOEDIT: Tiaki
|
DOEDIT: Tiaki
|
||||||
@ -565,12 +594,15 @@ mi_NZ:
|
|||||||
FROMFILES: 'I ngā kōnae'
|
FROMFILES: 'I ngā kōnae'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Kua hipa te mōrahi o ngā kōnae {count}.'
|
MAXNUMBEROFFILES: 'Kua hipa te mōrahi o ngā kōnae {count}.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Ka taea te tukuatu i ngā kōnae {count} anake '
|
MAXNUMBEROFFILESSHORT: 'Ka taea te tukuatu i ngā kōnae {count} anake '
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Tango
|
REMOVE: Tango
|
||||||
REMOVEERROR: 'Kua rarua te tango kōnae'
|
REMOVEERROR: 'Kua rarua te tango kōnae'
|
||||||
REMOVEINFO: 'Tangohia tēnei kōane i konei, engari kaua e muku i te pātaka kōnae'
|
REMOVEINFO: 'Tangohia tēnei kōane i konei, engari kaua e muku i te pātaka kōnae'
|
||||||
STARTALL: 'Tīmata katoa'
|
STARTALL: 'Tīmata katoa'
|
||||||
STARTALLINFO: 'Tīmataria ngā tukuatu katoa'
|
STARTALLINFO: 'Tīmataria ngā tukuatu katoa'
|
||||||
Saved: 'Kua Tiakina'
|
Saved: 'Kua Tiakina'
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: 'Ngā Putanga'
|
has_many_Versions: 'Ngā Putanga'
|
||||||
|
72
lang/ms.yml
72
lang/ms.yml
@ -2,6 +2,7 @@ ms:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ ms:
|
|||||||
ERRORNOTADMIN: 'Pengguna ini bukan pentadbir.'
|
ERRORNOTADMIN: 'Pengguna ini bukan pentadbir.'
|
||||||
ERRORNOTREC: 'ID pengguna dan katalaluan tidak dikenali'
|
ERRORNOTREC: 'ID pengguna dan katalaluan tidak dikenali'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ ms:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ms:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: 'Kata Laluan'
|
PASSWORD: 'Kata Laluan'
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ ms:
|
|||||||
PLURALNAME: 'Objek-objek Data'
|
PLURALNAME: 'Objek-objek Data'
|
||||||
SINGULARNAME: 'Objek Data'
|
SINGULARNAME: 'Objek Data'
|
||||||
Date:
|
Date:
|
||||||
DAY: hari
|
DAY: day
|
||||||
DAYS: hari-hari
|
DAYS: days
|
||||||
HOUR: jam
|
HOUR: hour
|
||||||
HOURS: jam-jam
|
HOURS: hours
|
||||||
MIN: minit
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minit-minit
|
MIN: min
|
||||||
MONTH: bulan
|
MINS: mins
|
||||||
MONTHS: bulan-bulan
|
MONTH: month
|
||||||
SEC: saat
|
MONTHS: months
|
||||||
SECS: saat-saat
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: tahun
|
YEAR: year
|
||||||
YEARS: tahun-tahun
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ ms:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s dipelukan'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Nilai yang dimasukkan tidak unik'
|
VALIDATIONNOTUNIQUE: 'Nilai yang dimasukkan tidak unik'
|
||||||
@ -208,6 +213,7 @@ ms:
|
|||||||
VALIDATOR: Pengesah
|
VALIDATOR: Pengesah
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ ms:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ ms:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ ms:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Masukkan pautan'
|
BUTTONINSERTLINK: 'Masukkan pautan'
|
||||||
BUTTONREMOVELINK: 'Hapuskan pautan'
|
BUTTONREMOVELINK: 'Hapuskan pautan'
|
||||||
@ -331,7 +341,10 @@ ms:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ ms:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ ms:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ ms:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Tiada imej dimuat naikkan'
|
NOUPLOAD: 'Tiada imej dimuat naikkan'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ ms:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ ms:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versi-versi
|
has_many_Versions: Versi-versi
|
||||||
|
70
lang/nb.yml
70
lang/nb.yml
@ -2,6 +2,7 @@ nb:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Ny Mappe'
|
NEWFOLDER: 'Ny Mappe'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Først opplastet'
|
CREATED: 'Først opplastet'
|
||||||
DIM: Dimensjoner
|
DIM: Dimensjoner
|
||||||
@ -59,9 +60,9 @@ nb:
|
|||||||
ERRORNOTADMIN: 'Denne brukeren er ikke administrator.'
|
ERRORNOTADMIN: 'Denne brukeren er ikke administrator.'
|
||||||
ERRORNOTREC: 'Det brukernavnet / Passord er ikke gjenkjent'
|
ERRORNOTREC: 'Det brukernavnet / Passord er ikke gjenkjent'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Usant
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: Sant
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Laster ...'
|
LOADING: 'Laster ...'
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ nb:
|
|||||||
ACCESSALLINTERFACES: 'Adgang til alle CMS-seksjoner'
|
ACCESSALLINTERFACES: 'Adgang til alle CMS-seksjoner'
|
||||||
ACCESSALLINTERFACESHELP: 'Overstyrer mer spesifikke adgangsinnstillinger'
|
ACCESSALLINTERFACESHELP: 'Overstyrer mer spesifikke adgangsinnstillinger'
|
||||||
SAVE: Lagre
|
SAVE: Lagre
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ nb:
|
|||||||
HELLO: Hei
|
HELLO: Hei
|
||||||
PASSWORD: Passord
|
PASSWORD: Passord
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Usant
|
NOANSWER: 'False'
|
||||||
- Sant
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Lukk Popup'
|
CLOSEPOPUP: 'Lukk Popup'
|
||||||
SUCCESSADD2: 'Lagt til {name}'
|
SUCCESSADD2: 'Lagt til {name}'
|
||||||
@ -109,20 +112,21 @@ nb:
|
|||||||
PLURALNAME: 'Data Objekter'
|
PLURALNAME: 'Data Objekter'
|
||||||
SINGULARNAME: 'Data Objekt'
|
SINGULARNAME: 'Data Objekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: dag
|
DAY: day
|
||||||
DAYS: dager
|
DAYS: days
|
||||||
HOUR: time
|
HOUR: hour
|
||||||
HOURS: timer
|
HOURS: hours
|
||||||
MIN: minutter
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minutter
|
MIN: min
|
||||||
MONTH: måned
|
MINS: mins
|
||||||
MONTHS: måneder
|
MONTH: month
|
||||||
SEC: sekund
|
MONTHS: months
|
||||||
SECS: sekunder
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} siden'
|
TIMEDIFFAGO: '{difference} siden'
|
||||||
TIMEDIFFIN: 'i {difference}'
|
TIMEDIFFIN: 'i {difference}'
|
||||||
YEAR: år
|
YEAR: year
|
||||||
YEARS: år
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: mangler
|
NOTSET: mangler
|
||||||
TODAY: 'i dag'
|
TODAY: 'i dag'
|
||||||
@ -198,7 +202,8 @@ nb:
|
|||||||
TEXT2: 'passord resett link'
|
TEXT2: 'passord resett link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'mangler %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Utfør
|
SubmitBtnLabel: Utfør
|
||||||
VALIDATIONCREDITNUMBER: 'Vennligst sjekk at du har skrevet inn {number} korrekt kortnummer'
|
VALIDATIONCREDITNUMBER: 'Vennligst sjekk at du har skrevet inn {number} korrekt kortnummer'
|
||||||
VALIDATIONNOTUNIQUE: 'Den spesifiserte verdien er ikke unik'
|
VALIDATIONNOTUNIQUE: 'Den spesifiserte verdien er ikke unik'
|
||||||
@ -208,6 +213,7 @@ nb:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Vennligst skriv inn gyldig valuta'
|
VALIDCURRENCY: 'Vennligst skriv inn gyldig valuta'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ingen
|
NONE: ingen
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Slett
|
DELETE_DESCRIPTION: Slett
|
||||||
@ -230,6 +236,7 @@ nb:
|
|||||||
ResetFilter: Tilbakestille
|
ResetFilter: Tilbakestille
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Ikke tillatt å slette'
|
DeletePermissionsFailure: 'Ikke tillatt å slette'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Avbryt
|
CancelBtn: Avbryt
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ nb:
|
|||||||
DeletePermissionsFailure: 'Ikke tillatt å slette'
|
DeletePermissionsFailure: 'Ikke tillatt å slette'
|
||||||
Deleted: 'Slettet %s %s'
|
Deleted: 'Slettet %s %s'
|
||||||
Save: Lagre
|
Save: Lagre
|
||||||
Saved: 'Lagret %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Legg en rolle til denne gruppen'
|
AddRole: 'Legg en rolle til denne gruppen'
|
||||||
@ -267,6 +276,7 @@ nb:
|
|||||||
ADDURL: 'Legg til URL'
|
ADDURL: 'Legg til URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Lenke
|
ANCHORVALUE: Lenke
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: 'Sett inn'
|
BUTTONINSERT: 'Sett inn'
|
||||||
BUTTONINSERTLINK: 'Sett inn lenke'
|
BUTTONINSERTLINK: 'Sett inn lenke'
|
||||||
BUTTONREMOVELINK: 'Fjern lenke'
|
BUTTONREMOVELINK: 'Fjern lenke'
|
||||||
@ -331,6 +341,9 @@ nb:
|
|||||||
PreviewButton: Forhåndsvisning
|
PreviewButton: Forhåndsvisning
|
||||||
REORGANISATIONSUCCESSFUL: 'Omorganisering av sidetreet vellykket'
|
REORGANISATIONSUCCESSFUL: 'Omorganisering av sidetreet vellykket'
|
||||||
SAVEDUP: Lagret.
|
SAVEDUP: Lagret.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: Ukjent
|
VersionUnknown: Ukjent
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hei
|
Hello: Hei
|
||||||
@ -407,6 +420,7 @@ nb:
|
|||||||
TWODIGITMONTH: 'Tosifret måned (01=Januar, etc.)'
|
TWODIGITMONTH: 'Tosifret måned (01=Januar, etc.)'
|
||||||
TWODIGITSECOND: 'Tosifret sekundtall (00 til 59)'
|
TWODIGITSECOND: 'Tosifret sekundtall (00 til 59)'
|
||||||
TWODIGITYEAR: 'Tosifret årstall'
|
TWODIGITYEAR: 'Tosifret årstall'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ nb:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Slett
|
DELETE: Slett
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importer fra CSV'
|
IMPORT: 'Importer fra CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ nb:
|
|||||||
BtnImport: 'Importer fra CSV'
|
BtnImport: 'Importer fra CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Rediger
|
Edit: Rediger
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Ingen Bilder Lastet Opp'
|
NOUPLOAD: 'Ingen Bilder Lastet Opp'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ nb:
|
|||||||
ATTACHFILE: 'Legg ved fil'
|
ATTACHFILE: 'Legg ved fil'
|
||||||
ATTACHFILES: 'Legg ved filer'
|
ATTACHFILES: 'Legg ved filer'
|
||||||
AttachFile: 'Legg ved fil(er)'
|
AttachFile: 'Legg ved fil(er)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Slett fra filer'
|
DELETE: 'Slett fra filer'
|
||||||
DELETEINFO: 'Slett filen permament fra filarkivet'
|
DELETEINFO: 'Slett filen permament fra filarkivet'
|
||||||
DOEDIT: Lagre
|
DOEDIT: Lagre
|
||||||
@ -565,12 +594,15 @@ nb:
|
|||||||
FROMFILES: 'Fra filer'
|
FROMFILES: 'Fra filer'
|
||||||
HOTLINKINFO: 'Info: Dette bildet vil bli lenket direkte til opprinnelig kilde. Vennligst forsikre deg om at du har tillatelse fra den opprinnelige rettighetshaveren til å gjøre dette.'
|
HOTLINKINFO: 'Info: Dette bildet vil bli lenket direkte til opprinnelig kilde. Vennligst forsikre deg om at du har tillatelse fra den opprinnelige rettighetshaveren til å gjøre dette.'
|
||||||
MAXNUMBEROFFILES: 'Maks antall {count} fil(er) overskredet'
|
MAXNUMBEROFFILES: 'Maks antall {count} fil(er) overskredet'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Kan kun laste opp {count} filer'
|
MAXNUMBEROFFILESSHORT: 'Kan kun laste opp {count} filer'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Fjern
|
REMOVE: Fjern
|
||||||
REMOVEERROR: 'Feil ved fjerning av fil'
|
REMOVEERROR: 'Feil ved fjerning av fil'
|
||||||
REMOVEINFO: 'Fjern filen herfra, men ikke slett den fra filarkivet'
|
REMOVEINFO: 'Fjern filen herfra, men ikke slett den fra filarkivet'
|
||||||
STARTALL: 'Start alle'
|
STARTALL: 'Start alle'
|
||||||
STARTALLINFO: 'Start alle opplastinger'
|
STARTALLINFO: 'Start alle opplastinger'
|
||||||
Saved: Lagret
|
Saved: Lagret
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versjoner
|
has_many_Versions: Versjoner
|
||||||
|
72
lang/ne.yml
72
lang/ne.yml
@ -2,6 +2,7 @@ ne:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ ne:
|
|||||||
ERRORNOTADMIN: 'यो प्रयोगकता मुख्य प्रयोगकता होइन'
|
ERRORNOTADMIN: 'यो प्रयोगकता मुख्य प्रयोगकता होइन'
|
||||||
ERRORNOTREC: 'त्यो प्रयोगकता / पासओड बुझन् सकिएन'
|
ERRORNOTREC: 'त्यो प्रयोगकता / पासओड बुझन् सकिएन'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ ne:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ne:
|
|||||||
HELLO: हाई
|
HELLO: हाई
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ ne:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: दिन
|
DAY: day
|
||||||
DAYS: दिनहरु
|
DAYS: days
|
||||||
HOUR: घण्टा
|
HOUR: hour
|
||||||
HOURS: घण्टाहरु
|
HOURS: hours
|
||||||
MIN: मिनेट
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: मिनेटहरु
|
MIN: min
|
||||||
MONTH: महिना
|
MINS: mins
|
||||||
MONTHS: महिनाहरु
|
MONTH: month
|
||||||
SEC: सेकेन्ड
|
MONTHS: months
|
||||||
SECS: सेकेन्डहरु
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: बर्ष
|
YEAR: year
|
||||||
YEARS: बर्षाहरु
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ ne:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s चाहिन्छ'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'लेखिएको मान भिन्न छैन '
|
VALIDATIONNOTUNIQUE: 'लेखिएको मान भिन्न छैन '
|
||||||
@ -208,6 +213,7 @@ ne:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ ne:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ ne:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ ne:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'लिन्क राखनुहोस्'
|
BUTTONINSERTLINK: 'लिन्क राखनुहोस्'
|
||||||
BUTTONREMOVELINK: 'लिन्क हटाउनुहोस्'
|
BUTTONREMOVELINK: 'लिन्क हटाउनुहोस्'
|
||||||
@ -331,7 +341,10 @@ ne:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ ne:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ ne:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ ne:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'कुनै पनि तस्बिर उप्लोओद गरिएको छैन '
|
NOUPLOAD: 'कुनै पनि तस्बिर उप्लोओद गरिएको छैन '
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ ne:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ ne:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
64
lang/nl.yml
64
lang/nl.yml
@ -2,6 +2,7 @@ nl:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Toegestane extensies'
|
ALLOWEDEXTS: 'Toegestane extensies'
|
||||||
NEWFOLDER: 'Nieuwe Map'
|
NEWFOLDER: 'Nieuwe Map'
|
||||||
|
SHOWALLOWEDEXTS: 'Toon toegestane extensies'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Eerste upload'
|
CREATED: 'Eerste upload'
|
||||||
DIM: Dimensies
|
DIM: Dimensies
|
||||||
@ -59,9 +60,9 @@ nl:
|
|||||||
ERRORNOTADMIN: 'Die gebruiker is geen beheerder.'
|
ERRORNOTADMIN: 'Die gebruiker is geen beheerder.'
|
||||||
ERRORNOTREC: 'De gebruikersnaam en/of wachtwoord wordt niet herkend'
|
ERRORNOTREC: 'De gebruikersnaam en/of wachtwoord wordt niet herkend'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Nee
|
|
||||||
ANY: Elke
|
ANY: Elke
|
||||||
1: Ja
|
NOANSWER: Nee
|
||||||
|
YESANSWER: Ja
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Bezig met laden...'
|
LOADING: 'Bezig met laden...'
|
||||||
REQUIREJS: 'Het CMS heeft JavaScript nodig om te werken.'
|
REQUIREJS: 'Het CMS heeft JavaScript nodig om te werken.'
|
||||||
@ -70,6 +71,8 @@ nl:
|
|||||||
ACCESSALLINTERFACES: 'Toegang tot alle CMS onderdelen'
|
ACCESSALLINTERFACES: 'Toegang tot alle CMS onderdelen'
|
||||||
ACCESSALLINTERFACESHELP: 'Overstemt meer specifieke toegangsinstellingen'
|
ACCESSALLINTERFACESHELP: 'Overstemt meer specifieke toegangsinstellingen'
|
||||||
SAVE: Bewaar
|
SAVE: Bewaar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website voorbeeld'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Mijn Profiel'
|
MENUTITLE: 'Mijn Profiel'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ nl:
|
|||||||
HELLO: Hallo
|
HELLO: Hallo
|
||||||
PASSWORD: Wachtwoord
|
PASSWORD: Wachtwoord
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Nee
|
NOANSWER: Nee
|
||||||
- Ja
|
YESANSWER: Ja
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Sluit Popup'
|
CLOSEPOPUP: 'Sluit Popup'
|
||||||
SUCCESSADD2: 'Toegevoegd {name}'
|
SUCCESSADD2: 'Toegevoegd {name}'
|
||||||
@ -113,11 +116,12 @@ nl:
|
|||||||
DAYS: dagen
|
DAYS: dagen
|
||||||
HOUR: uur
|
HOUR: uur
|
||||||
HOURS: uren
|
HOURS: uren
|
||||||
|
LessThanMinuteAgo: 'minder dan één minuut'
|
||||||
MIN: minuut
|
MIN: minuut
|
||||||
MINS: minuten
|
MINS: minuten
|
||||||
MONTH: maand
|
MONTH: maand
|
||||||
MONTHS: maanden
|
MONTHS: maanden
|
||||||
SEC: seconde
|
SEC: second
|
||||||
SECS: seconden
|
SECS: seconden
|
||||||
TIMEDIFFAGO: '{difference} geleden'
|
TIMEDIFFAGO: '{difference} geleden'
|
||||||
TIMEDIFFIN: '{difference} geleden'
|
TIMEDIFFIN: '{difference} geleden'
|
||||||
@ -198,7 +202,8 @@ nl:
|
|||||||
TEXT2: 'wachtwoord reset link'
|
TEXT2: 'wachtwoord reset link'
|
||||||
TEXT3: voor
|
TEXT3: voor
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is verplicht'
|
CSRF_FAILED_MESSAGE: 'Er lijkt een technisch probleem te zijn. Klikt u op de knop terug, vernieuw uw browser, en probeer het opnieuw.'
|
||||||
|
FIELDISREQUIRED: '{name} is verplicht'
|
||||||
SubmitBtnLabel: Gaan
|
SubmitBtnLabel: Gaan
|
||||||
VALIDATIONCREDITNUMBER: 'Gelieve uw credit card number {number} juist in te vullen'
|
VALIDATIONCREDITNUMBER: 'Gelieve uw credit card number {number} juist in te vullen'
|
||||||
VALIDATIONNOTUNIQUE: 'De ingevoerde waarde is niet uniek'
|
VALIDATIONNOTUNIQUE: 'De ingevoerde waarde is niet uniek'
|
||||||
@ -208,6 +213,7 @@ nl:
|
|||||||
VALIDATOR: Controleur
|
VALIDATOR: Controleur
|
||||||
VALIDCURRENCY: 'Vul een geldige valuta in'
|
VALIDCURRENCY: 'Vul een geldige valuta in'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: geen
|
NONE: geen
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Verwijderen
|
DELETE_DESCRIPTION: Verwijderen
|
||||||
@ -230,6 +236,7 @@ nl:
|
|||||||
ResetFilter: Herstellen
|
ResetFilter: Herstellen
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen'
|
DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Annuleren
|
CancelBtn: Annuleren
|
||||||
Create: Creëren
|
Create: Creëren
|
||||||
@ -237,7 +244,9 @@ nl:
|
|||||||
DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen'
|
DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen'
|
||||||
Deleted: '%s %s verwijderd'
|
Deleted: '%s %s verwijderd'
|
||||||
Save: Opslaan
|
Save: Opslaan
|
||||||
Saved: '%s %s opgeslagen'
|
Saved: '{name} {link} opgeslagen'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Bewerken
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Voeg een rol toe aan deze groep'
|
AddRole: 'Voeg een rol toe aan deze groep'
|
||||||
@ -257,7 +266,7 @@ nl:
|
|||||||
many_many_Members: Leden
|
many_many_Members: Leden
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Importeer en of meerdere groepen in <em>CSV</em> formaat (Kommagescheiden bestandsformaat). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
|
Help1: '<p>Importeer en of meerdere groepen in <em>CSV</em> formaat (Kommagescheiden bestandsformaat). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
Help2: "<div class=\"advanced\">\\n<h4>Geavanceerd gebruik</h4>\\n<ul>\\n<li>Toegestane kolommen: <em>%s</em></li>\\n<li>Bestaande leden worden geïdentificeerd door middel van hun unieke <em>Code</em> waarde en aangepast met de nieuwe waarden van het geïmporteerde bestand</li>\\n<li>Groepen kunnen toegewezen worden met de <em>Groups</em> kolom. Groepen worden geïdentificeerd met hun <em>Code</em> waarde en meerdere groepen kunnen worden gescheiden met een komma. Bestaande groep lidmaatschappen worden niet gewist.</li>\\n</ul>\\n</div>\\n</ul>\\n</div>\\n"
|
||||||
ResultCreated: '{count} groepen aangemaakt'
|
ResultCreated: '{count} groepen aangemaakt'
|
||||||
ResultDeleted: '%d groepen verwijderd'
|
ResultDeleted: '%d groepen verwijderd'
|
||||||
ResultUpdated: '%d groepen aangepast'
|
ResultUpdated: '%d groepen aangepast'
|
||||||
@ -267,6 +276,7 @@ nl:
|
|||||||
ADDURL: 'Voeg URL toe'
|
ADDURL: 'Voeg URL toe'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details $amp; afmeting'
|
ADJUSTDETAILSDIMENSIONS: 'Details $amp; afmeting'
|
||||||
ANCHORVALUE: Anker
|
ANCHORVALUE: Anker
|
||||||
|
BUTTONADDURL: 'Voeg URL toe'
|
||||||
BUTTONINSERT: Invoegen
|
BUTTONINSERT: Invoegen
|
||||||
BUTTONINSERTLINK: 'Link invoegen'
|
BUTTONINSERTLINK: 'Link invoegen'
|
||||||
BUTTONREMOVELINK: 'Link verwijderen'
|
BUTTONREMOVELINK: 'Link verwijderen'
|
||||||
@ -287,7 +297,7 @@ nl:
|
|||||||
FindInFolder: 'Zoek in map'
|
FindInFolder: 'Zoek in map'
|
||||||
IMAGEALT: 'Alternatieve tekst (alt tekst) - wordt getoond als de afbeelding niet kan worden geladen'
|
IMAGEALT: 'Alternatieve tekst (alt tekst) - wordt getoond als de afbeelding niet kan worden geladen'
|
||||||
IMAGEALTTEXT: 'Alternatieve tekst (alt tekst) - wordt getoond als de afbeelding niet kan worden geladen'
|
IMAGEALTTEXT: 'Alternatieve tekst (alt tekst) - wordt getoond als de afbeelding niet kan worden geladen'
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
IMAGEALTTEXTDESC: 'Getoond voor schermlezers of als afbeelding niet kan worden weergegeven'
|
||||||
IMAGEDIMENSIONS: Dimensies
|
IMAGEDIMENSIONS: Dimensies
|
||||||
IMAGEHEIGHTPX: Hoogte
|
IMAGEHEIGHTPX: Hoogte
|
||||||
IMAGETITLE: 'Titel tekst (tooltip) - Toon extra informatie over de afbeelding'
|
IMAGETITLE: 'Titel tekst (tooltip) - Toon extra informatie over de afbeelding'
|
||||||
@ -331,6 +341,9 @@ nl:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Menu-indeling is aangepast'
|
REORGANISATIONSUCCESSFUL: 'Menu-indeling is aangepast'
|
||||||
SAVEDUP: 'Succesvol opgeslagen'
|
SAVEDUP: 'Succesvol opgeslagen'
|
||||||
|
ShowAsList: 'Laat als lijst zien'
|
||||||
|
TooManyPages: 'Te veel pagina''s'
|
||||||
|
ValidationError: Validatiefout
|
||||||
VersionUnknown: onbekend
|
VersionUnknown: onbekend
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hallo
|
Hello: Hallo
|
||||||
@ -374,7 +387,7 @@ nl:
|
|||||||
SURNAME: Achternaam
|
SURNAME: Achternaam
|
||||||
TIMEFORMAT: 'Tijd formaat'
|
TIMEFORMAT: 'Tijd formaat'
|
||||||
VALIDATIONMEMBEREXISTS: 'Er bestaat al een lid met dit emailadres, %s'
|
VALIDATIONMEMBEREXISTS: 'Er bestaat al een lid met dit emailadres, %s'
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Een bestaande gebruiker #{id} kan niet dezelfde unieke velden hebben ({name} = {value}))'
|
||||||
WELCOMEBACK: 'Welkom terug {firstname}'
|
WELCOMEBACK: 'Welkom terug {firstname}'
|
||||||
YOUROLDPASSWORD: 'Uw oude wachtwoord'
|
YOUROLDPASSWORD: 'Uw oude wachtwoord'
|
||||||
belongs_many_many_Groups: Groepen
|
belongs_many_many_Groups: Groepen
|
||||||
@ -392,7 +405,7 @@ nl:
|
|||||||
Custom: Aangepast
|
Custom: Aangepast
|
||||||
DATEFORMATBAD: 'Datum is niet correct opgegeven'
|
DATEFORMATBAD: 'Datum is niet correct opgegeven'
|
||||||
DAYNOLEADING: 'Dag van de maand zonder voorloop-nul'
|
DAYNOLEADING: 'Dag van de maand zonder voorloop-nul'
|
||||||
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
DIGITSDECFRACTIONSECOND: 'Een of meer cijfers die een decimale fractie van een seconde'
|
||||||
FOURDIGITYEAR: 'jaar (yyyy)'
|
FOURDIGITYEAR: 'jaar (yyyy)'
|
||||||
FULLNAMEMONTH: 'Volledige naam van de maand (Bijv. Juni)'
|
FULLNAMEMONTH: 'Volledige naam van de maand (Bijv. Juni)'
|
||||||
HOURNOLEADING: 'Uur zonder voorloopnul'
|
HOURNOLEADING: 'Uur zonder voorloopnul'
|
||||||
@ -407,9 +420,10 @@ nl:
|
|||||||
TWODIGITMONTH: 'Maand in twee cijfers (01 = januari, enz.)'
|
TWODIGITMONTH: 'Maand in twee cijfers (01 = januari, enz.)'
|
||||||
TWODIGITSECOND: 'Twee cijfer van het uur (00 tot 23)'
|
TWODIGITSECOND: 'Twee cijfer van het uur (00 tot 23)'
|
||||||
TWODIGITYEAR: 'Twee-cijferig jaar'
|
TWODIGITYEAR: 'Twee-cijferig jaar'
|
||||||
|
Toggle: 'Toon opmaak hulp'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Importeer leden in <em>CSV</em> formaat (Kommagescheiden bestandsformaat). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
|
Help1: '<p>Importeer leden in <em>CSV</em> formaat (Kommagescheiden bestandsformaat). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: "<div class=\"advanced\">\\n<h4>Geavanceerd gebruik</h4>\\n<ul>\\n<li>Toegestane kolommen: <em>%s</em></li>\\n<li>Bestaande leden worden geïdentificeerd door middel van hun unieke <em>Code</em> waarde en aangepast met de nieuwe waarden van het geïmporteerde bestand</li>\\n<li>Groepen kunnen toegewezen worden met de <em>Groups</em> kolom. Groepen worden geïdentificeerd met hun <em>Code</em> waarde en meerdere groepen kunnen worden gescheiden met een komma. Bestaande groep lidmaatschappen worden niet gewist.</li>\\n</ul>\\n</div>\\n</ul>\\n</div>\\n"
|
||||||
ResultCreated: '{count} leden aangemaakt'
|
ResultCreated: '{count} leden aangemaakt'
|
||||||
ResultDeleted: '%d leden verwijderd'
|
ResultDeleted: '%d leden verwijderd'
|
||||||
ResultNone: 'Geen wijzingen'
|
ResultNone: 'Geen wijzingen'
|
||||||
@ -421,7 +435,7 @@ nl:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Verwijderen
|
DELETE: Verwijderen
|
||||||
DELETEDRECORDS: '{count} records verwijderd'
|
DELETEDRECORDS: '{count} records verwijderd'
|
||||||
EMPTYBEFOREIMPORT: 'Database legen voor importeren'
|
EMPTYBEFOREIMPORT: 'Vervang gegevens'
|
||||||
IMPORT: 'Importeren vanuit CSV'
|
IMPORT: 'Importeren vanuit CSV'
|
||||||
IMPORTEDRECORDS: '{count} records geïmporteerd'
|
IMPORTEDRECORDS: '{count} records geïmporteerd'
|
||||||
NOCSVFILE: 'Selecteer een CSV bestand op uw computer om te importeren'
|
NOCSVFILE: 'Selecteer een CSV bestand op uw computer om te importeren'
|
||||||
@ -459,8 +473,8 @@ nl:
|
|||||||
SINGULARNAME: Machtiging
|
SINGULARNAME: Machtiging
|
||||||
PermissionCheckboxSetField:
|
PermissionCheckboxSetField:
|
||||||
AssignedTo: 'toegewezen aan "{title}"'
|
AssignedTo: 'toegewezen aan "{title}"'
|
||||||
FromGroup: 'inherited from group "{title}"'
|
FromGroup: 'geërfd van de groep "{title}"'
|
||||||
FromRole: 'inherited from role "{title}"'
|
FromRole: 'geërfd van de rol "{title}"'
|
||||||
FromRoleOnGroup: 'geërfd van rol "%s" in groep "%s"'
|
FromRoleOnGroup: 'geërfd van rol "%s" in groep "%s"'
|
||||||
PermissionRole:
|
PermissionRole:
|
||||||
OnlyAdminCanApply: 'Alleen admin kan doorvoeren'
|
OnlyAdminCanApply: 'Alleen admin kan doorvoeren'
|
||||||
@ -472,7 +486,7 @@ nl:
|
|||||||
SINGULARNAME: 'Machtigingen rol code'
|
SINGULARNAME: 'Machtigingen rol code'
|
||||||
Permissions:
|
Permissions:
|
||||||
PERMISSIONS_CATEGORY: 'Rollen en toegangsrechten'
|
PERMISSIONS_CATEGORY: 'Rollen en toegangsrechten'
|
||||||
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
UserPermissionsIntro: 'Groepen aan deze gebruiker toewijzen zullen de permissies aanpassen. Zie de sectie groepen voor meer informatie over machtigingen voor afzonderlijke groepen.'
|
||||||
PhoneNumberField:
|
PhoneNumberField:
|
||||||
VALIDATION: 'Voer een geldig telefoonnummer in'
|
VALIDATION: 'Voer een geldig telefoonnummer in'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
@ -515,7 +529,20 @@ nl:
|
|||||||
BtnImport: Importeer
|
BtnImport: Importeer
|
||||||
FileFieldLabel: 'CSV Bestand <small>(Toegestane extensies: *.csv)</small>'
|
FileFieldLabel: 'CSV Bestand <small>(Toegestane extensies: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Automatisch
|
||||||
|
ChangeViewMode: 'Wijzig weergavemodus'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: Dubbelvenster
|
||||||
Edit: Bewerken
|
Edit: Bewerken
|
||||||
|
EditView: Bewerkmodus
|
||||||
|
Mobile: Mobiel
|
||||||
|
PreviewState: Voorbeeldstatus
|
||||||
|
PreviewView: Voorbeeldmodus
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: Split-modus
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Selecteer een voorbeeldbreedte'
|
||||||
|
Width: breedte
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Geen afbeeldingen ontvangen'
|
NOUPLOAD: 'Geen afbeeldingen ontvangen'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ nl:
|
|||||||
ATTACHFILE: 'Voeg een bestand toe'
|
ATTACHFILE: 'Voeg een bestand toe'
|
||||||
ATTACHFILES: 'Voeg bestanden toe'
|
ATTACHFILES: 'Voeg bestanden toe'
|
||||||
AttachFile: 'Voeg bestand(en) toe'
|
AttachFile: 'Voeg bestand(en) toe'
|
||||||
|
CHOOSEANOTHERFILE: 'Kies een ander bestand'
|
||||||
|
CHOOSEANOTHERINFO: 'Vervang dit bestand met een ander uit de bestandsopslag'
|
||||||
DELETE: 'Volledig verwijderen'
|
DELETE: 'Volledig verwijderen'
|
||||||
DELETEINFO: 'Verwijder dit bestand uit bestandsopslag van de website.'
|
DELETEINFO: 'Verwijder dit bestand uit bestandsopslag van de website.'
|
||||||
DOEDIT: Opslaan
|
DOEDIT: Opslaan
|
||||||
@ -565,12 +594,15 @@ nl:
|
|||||||
FROMFILES: 'Bestaande bestanden'
|
FROMFILES: 'Bestaande bestanden'
|
||||||
HOTLINKINFO: 'Info: Deze afbeelding wordt hotlinked. Zorg ervoor dat u de machtigingen van de oorspronkelijke site maker om dit te doen.'
|
HOTLINKINFO: 'Info: Deze afbeelding wordt hotlinked. Zorg ervoor dat u de machtigingen van de oorspronkelijke site maker om dit te doen.'
|
||||||
MAXNUMBEROFFILES: 'Maximale aantal van {count} bestand(en) overschreden.'
|
MAXNUMBEROFFILES: 'Maximale aantal van {count} bestand(en) overschreden.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Kan slechts één bestand uploaden'
|
||||||
MAXNUMBEROFFILESSHORT: 'Kan alleen {count} bestanden uploaden'
|
MAXNUMBEROFFILESSHORT: 'Kan alleen {count} bestanden uploaden'
|
||||||
|
OVERWRITEWARNING: 'Bestand met dezelfde naam bestaat al'
|
||||||
REMOVE: Verwijder
|
REMOVE: Verwijder
|
||||||
REMOVEERROR: 'Fout bij verwijderen'
|
REMOVEERROR: 'Fout bij verwijderen'
|
||||||
REMOVEINFO: 'Verwijder (ontkoppel) dit bestand, maar behoud het in bestandsopslag van de website.'
|
REMOVEINFO: 'Verwijder (ontkoppel) dit bestand, maar behoud het in bestandsopslag van de website.'
|
||||||
STARTALL: 'Start alle'
|
STARTALL: 'Start alle'
|
||||||
STARTALLINFO: 'Start alle'
|
STARTALLINFO: 'Start alle'
|
||||||
Saved: Opgeslagen
|
Saved: Opgeslagen
|
||||||
|
UPLOADSINTO: 'Word opgeslagen in /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versies
|
has_many_Versions: Versies
|
||||||
|
74
lang/pa.yml
74
lang/pa.yml
@ -2,6 +2,7 @@ pa:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ pa:
|
|||||||
ERRORNOTADMIN: 'ਇਹ user ਪ੍ਰਬੰਧਕ ਨਹੀ ਹੈ।'
|
ERRORNOTADMIN: 'ਇਹ user ਪ੍ਰਬੰਧਕ ਨਹੀ ਹੈ।'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ pa:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ pa:
|
|||||||
HELLO: ਹਾਏ
|
HELLO: ਹਾਏ
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -91,7 +94,7 @@ pa:
|
|||||||
SORTASC: 'Sort ascending'
|
SORTASC: 'Sort ascending'
|
||||||
SORTDESC: 'Sort descending'
|
SORTDESC: 'Sort descending'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: ਅਗਲਾ
|
NEXT: 'ਅਗਲਾ'
|
||||||
PREVIOUS: ਪਿਛਲਾ
|
PREVIOUS: ਪਿਛਲਾ
|
||||||
ConfirmedPasswordField:
|
ConfirmedPasswordField:
|
||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
ATLEAST: 'Passwords must be at least {min} characters long.'
|
||||||
@ -109,20 +112,21 @@ pa:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: 'ਿਦਨ '
|
DAY: day
|
||||||
DAYS: ਿਦਨ
|
DAYS: days
|
||||||
HOUR: 'ਘੰਟਾ '
|
HOUR: hour
|
||||||
HOURS: 'ਘੰਟੇ '
|
HOURS: hours
|
||||||
MIN: 'ਿਮੰਟ '
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: 'ਿਮੰਟ '
|
MIN: min
|
||||||
MONTH: ਮਹੀਨਾ
|
MINS: mins
|
||||||
MONTHS: 'ਮਹੀਨੇੇੇੇੇ '
|
MONTH: month
|
||||||
SEC: 'ਸਿਕ ੰਟ'
|
MONTHS: months
|
||||||
SECS: 'ਸਿਕ ੰਟ'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ਸਾਲ
|
YEAR: year
|
||||||
YEARS: ਸਾਲ
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ pa:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s ਚਾਹੀਦਾ ਹੈ'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ pa:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ pa:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ pa:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ pa:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'ਿਲੰਕ ਪਾਉ'
|
BUTTONINSERTLINK: 'ਿਲੰਕ ਪਾਉ'
|
||||||
BUTTONREMOVELINK: 'ਿਲੰਕ ਕੱਟੋਂ'
|
BUTTONREMOVELINK: 'ਿਲੰਕ ਕੱਟੋਂ'
|
||||||
@ -331,7 +341,10 @@ pa:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ pa:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ pa:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ pa:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'ਕੋਈ ਫੋਟੋ ਅੱਪਲੋਡ ਨਹੀ ਹੋਈ'
|
NOUPLOAD: 'ਕੋਈ ਫੋਟੋ ਅੱਪਲੋਡ ਨਹੀ ਹੋਈ'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ pa:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ pa:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
72
lang/pl.yml
72
lang/pl.yml
@ -2,6 +2,7 @@ pl:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Dopuszczalne rozszerzenia'
|
ALLOWEDEXTS: 'Dopuszczalne rozszerzenia'
|
||||||
NEWFOLDER: NowyFolder
|
NEWFOLDER: NowyFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Po raz pierwszy wgrany'
|
CREATED: 'Po raz pierwszy wgrany'
|
||||||
DIM: Rozmiar
|
DIM: Rozmiar
|
||||||
@ -59,9 +60,9 @@ pl:
|
|||||||
ERRORNOTADMIN: 'Ten użytkownik nie jest administratorem'
|
ERRORNOTADMIN: 'Ten użytkownik nie jest administratorem'
|
||||||
ERRORNOTREC: 'Nie istnieje taki username/hasło'
|
ERRORNOTREC: 'Nie istnieje taki username/hasło'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Nie
|
|
||||||
ANY: Jakikolwiek
|
ANY: Jakikolwiek
|
||||||
1: Tak
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Wczytywanie...
|
LOADING: Wczytywanie...
|
||||||
REQUIREJS: 'CMS wymaga włączonej obsługi JavaScript.'
|
REQUIREJS: 'CMS wymaga włączonej obsługi JavaScript.'
|
||||||
@ -70,6 +71,8 @@ pl:
|
|||||||
ACCESSALLINTERFACES: 'Dostęp do wszystkich sekcji CMSa'
|
ACCESSALLINTERFACES: 'Dostęp do wszystkich sekcji CMSa'
|
||||||
ACCESSALLINTERFACESHELP: 'Nadpisuje bardziej specyficzne ustawienia dostępu.'
|
ACCESSALLINTERFACESHELP: 'Nadpisuje bardziej specyficzne ustawienia dostępu.'
|
||||||
SAVE: Zapisz
|
SAVE: Zapisz
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Mój profil'
|
MENUTITLE: 'Mój profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ pl:
|
|||||||
HELLO: Cześć
|
HELLO: Cześć
|
||||||
PASSWORD: Hasło
|
PASSWORD: Hasło
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Nie
|
NOANSWER: 'False'
|
||||||
- Tak
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Zamknij Okienko'
|
CLOSEPOPUP: 'Zamknij Okienko'
|
||||||
SUCCESSADD2: 'Dodano {name}'
|
SUCCESSADD2: 'Dodano {name}'
|
||||||
@ -109,20 +112,21 @@ pl:
|
|||||||
PLURALNAME: 'Obiekty danych'
|
PLURALNAME: 'Obiekty danych'
|
||||||
SINGULARNAME: 'Obiekt danych'
|
SINGULARNAME: 'Obiekt danych'
|
||||||
Date:
|
Date:
|
||||||
DAY: dzień
|
DAY: day
|
||||||
DAYS: dni
|
DAYS: days
|
||||||
HOUR: godzina
|
HOUR: hour
|
||||||
HOURS: godziny
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: minuty
|
MINS: mins
|
||||||
MONTH: miesiąc
|
MONTH: month
|
||||||
MONTHS: miesiące
|
MONTHS: months
|
||||||
SEC: sekunda
|
SEC: sec
|
||||||
SECS: sekundy
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} temu'
|
TIMEDIFFAGO: '{difference} temu'
|
||||||
TIMEDIFFIN: 'w {difference}'
|
TIMEDIFFIN: 'w {difference}'
|
||||||
YEAR: rok
|
YEAR: year
|
||||||
YEARS: lata
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'nie ustawiono'
|
NOTSET: 'nie ustawiono'
|
||||||
TODAY: dzisiaj
|
TODAY: dzisiaj
|
||||||
@ -198,7 +202,8 @@ pl:
|
|||||||
TEXT2: 'link zmiany hasła'
|
TEXT2: 'link zmiany hasła'
|
||||||
TEXT3: dla
|
TEXT3: dla
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s jest wymagane'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Przejdź
|
SubmitBtnLabel: Przejdź
|
||||||
VALIDATIONCREDITNUMBER: 'Proszę upewnij się, że wprowadzony numer karty kredytowej {number} jest prawidłowy'
|
VALIDATIONCREDITNUMBER: 'Proszę upewnij się, że wprowadzony numer karty kredytowej {number} jest prawidłowy'
|
||||||
VALIDATIONNOTUNIQUE: 'Wprowadzona wartość nie jest unikalna'
|
VALIDATIONNOTUNIQUE: 'Wprowadzona wartość nie jest unikalna'
|
||||||
@ -208,6 +213,7 @@ pl:
|
|||||||
VALIDATOR: Walidator
|
VALIDATOR: Walidator
|
||||||
VALIDCURRENCY: 'Proszę podaj prawidłową walutę'
|
VALIDCURRENCY: 'Proszę podaj prawidłową walutę'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: brak
|
NONE: brak
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Usuń
|
DELETE_DESCRIPTION: Usuń
|
||||||
@ -230,6 +236,7 @@ pl:
|
|||||||
ResetFilter: Resetuj
|
ResetFilter: Resetuj
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Brak uprawnień do usuwania'
|
DeletePermissionsFailure: 'Brak uprawnień do usuwania'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Anuluj
|
CancelBtn: Anuluj
|
||||||
Create: Stwórz
|
Create: Stwórz
|
||||||
@ -237,7 +244,9 @@ pl:
|
|||||||
DeletePermissionsFailure: 'Brak uprawnień do usuwania'
|
DeletePermissionsFailure: 'Brak uprawnień do usuwania'
|
||||||
Deleted: 'Usunięto %s %s'
|
Deleted: 'Usunięto %s %s'
|
||||||
Save: Zapisz
|
Save: Zapisz
|
||||||
Saved: 'Zapisano %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Dodaj rolę dla tej grupy'
|
AddRole: 'Dodaj rolę dla tej grupy'
|
||||||
@ -267,6 +276,7 @@ pl:
|
|||||||
ADDURL: 'Dodaj adres URL'
|
ADDURL: 'Dodaj adres URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Szczegóły i rozmiar'
|
ADJUSTDETAILSDIMENSIONS: 'Szczegóły i rozmiar'
|
||||||
ANCHORVALUE: Odnośnik
|
ANCHORVALUE: Odnośnik
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Wstaw
|
BUTTONINSERT: Wstaw
|
||||||
BUTTONINSERTLINK: 'Wstaw link'
|
BUTTONINSERTLINK: 'Wstaw link'
|
||||||
BUTTONREMOVELINK: 'Zmień link'
|
BUTTONREMOVELINK: 'Zmień link'
|
||||||
@ -328,9 +338,12 @@ pl:
|
|||||||
PERMALREADY: 'Niestety nie masz dostępu do tej części CMS. Jeśli chcesz zalogować się jako ktoś inny, zrób to poniżej'
|
PERMALREADY: 'Niestety nie masz dostępu do tej części CMS. Jeśli chcesz zalogować się jako ktoś inny, zrób to poniżej'
|
||||||
PERMDEFAULT: 'Proszę wybrać metodę identyfikacji i wpisać swoje dane, aby uruchomić CMSa.'
|
PERMDEFAULT: 'Proszę wybrać metodę identyfikacji i wpisać swoje dane, aby uruchomić CMSa.'
|
||||||
PLEASESAVE: 'Proszę zapisać stronę. Ta strona nie mogła zostać uaktualniona, ponieważ nie została jeszcze zapisana.'
|
PLEASESAVE: 'Proszę zapisać stronę. Ta strona nie mogła zostać uaktualniona, ponieważ nie została jeszcze zapisana.'
|
||||||
PreviewButton: Podgląd
|
PreviewButton: 'Podgląd'
|
||||||
REORGANISATIONSUCCESSFUL: 'Pomyślnie zreorganizowano drzewo serwisu.'
|
REORGANISATIONSUCCESSFUL: 'Pomyślnie zreorganizowano drzewo serwisu.'
|
||||||
SAVEDUP: Zapisano.
|
SAVEDUP: Zapisano.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: nieznany
|
VersionUnknown: nieznany
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Witaj
|
Hello: Witaj
|
||||||
@ -398,7 +411,7 @@ pl:
|
|||||||
HOURNOLEADING: 'Godzina bez wiodącego zera'
|
HOURNOLEADING: 'Godzina bez wiodącego zera'
|
||||||
MINUTENOLEADING: 'Minuta bez wiodącego zera'
|
MINUTENOLEADING: 'Minuta bez wiodącego zera'
|
||||||
MONTHNOLEADING: 'Miesiąc bez wiodącego zera'
|
MONTHNOLEADING: 'Miesiąc bez wiodącego zera'
|
||||||
Preview: Podgląd
|
Preview: 'Podgląd'
|
||||||
SHORTMONTH: 'Skrócona nazwa miesiąca (np. Cze)'
|
SHORTMONTH: 'Skrócona nazwa miesiąca (np. Cze)'
|
||||||
TOGGLEHELP: 'Przełącz pomoc formatowania'
|
TOGGLEHELP: 'Przełącz pomoc formatowania'
|
||||||
TWODIGITDAY: 'Dwucyfrowy dzień miesiąca'
|
TWODIGITDAY: 'Dwucyfrowy dzień miesiąca'
|
||||||
@ -407,6 +420,7 @@ pl:
|
|||||||
TWODIGITMONTH: 'Dwucyfrowy miesiąc (01=Styczeń, itd.)'
|
TWODIGITMONTH: 'Dwucyfrowy miesiąc (01=Styczeń, itd.)'
|
||||||
TWODIGITSECOND: 'Dwucyfrowa sekunda (od 00 do 59)'
|
TWODIGITSECOND: 'Dwucyfrowa sekunda (od 00 do 59)'
|
||||||
TWODIGITYEAR: 'Dwucyfrowy rok'
|
TWODIGITYEAR: 'Dwucyfrowy rok'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Zaimportuj użytkowników w <em>formacie CSV</em> (tekst rozdzielany przecinkami). <small><a href="#" class="toggle-advanced">Zaawansowane</a></small></p>'
|
Help1: '<p>Zaimportuj użytkowników w <em>formacie CSV</em> (tekst rozdzielany przecinkami). <small><a href="#" class="toggle-advanced">Zaawansowane</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ pl:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Usuń
|
DELETE: Usuń
|
||||||
DELETEDRECORDS: 'Usunięto rekordów: {count}'
|
DELETEDRECORDS: 'Usunięto rekordów: {count}'
|
||||||
EMPTYBEFOREIMPORT: 'Wyczyść bazę danych przed importowaniem'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import z CSV'
|
IMPORT: 'Import z CSV'
|
||||||
IMPORTEDRECORDS: 'Zaimportowano rekordów: {count}'
|
IMPORTEDRECORDS: 'Zaimportowano rekordów: {count}'
|
||||||
NOCSVFILE: 'Wybierz plik CSV do zaimportowania'
|
NOCSVFILE: 'Wybierz plik CSV do zaimportowania'
|
||||||
@ -515,7 +529,20 @@ pl:
|
|||||||
BtnImport: 'Import z CSV'
|
BtnImport: 'Import z CSV'
|
||||||
FileFieldLabel: 'Plik CSV <small>(Dozwolone rozszerzenia: *.csv)</small>'
|
FileFieldLabel: 'Plik CSV <small>(Dozwolone rozszerzenia: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edycja
|
Edit: Edycja
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nie wgrano zdjęć'
|
NOUPLOAD: 'Nie wgrano zdjęć'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ pl:
|
|||||||
ATTACHFILE: 'Załącz plik'
|
ATTACHFILE: 'Załącz plik'
|
||||||
ATTACHFILES: 'Załącz pliki'
|
ATTACHFILES: 'Załącz pliki'
|
||||||
AttachFile: 'Załącz plik(i)'
|
AttachFile: 'Załącz plik(i)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Usuń z plików'
|
DELETE: 'Usuń z plików'
|
||||||
DELETEINFO: 'Usuń ten plik z magazynu'
|
DELETEINFO: 'Usuń ten plik z magazynu'
|
||||||
DOEDIT: Zapisz
|
DOEDIT: Zapisz
|
||||||
@ -565,12 +594,15 @@ pl:
|
|||||||
FROMFILES: 'Z plików'
|
FROMFILES: 'Z plików'
|
||||||
HOTLINKINFO: 'Informacja: Ten obrazek pochodzi z zewnętrznego serwisu. Upewnij się, że jego twórca pozwala korzystać z niego.'
|
HOTLINKINFO: 'Informacja: Ten obrazek pochodzi z zewnętrznego serwisu. Upewnij się, że jego twórca pozwala korzystać z niego.'
|
||||||
MAXNUMBEROFFILES: 'Osiągnięto maksymalną liczbę {count} plików.'
|
MAXNUMBEROFFILES: 'Osiągnięto maksymalną liczbę {count} plików.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Można wgrać tylko {count} plik(ów/i)'
|
MAXNUMBEROFFILESSHORT: 'Można wgrać tylko {count} plik(ów/i)'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Usuń
|
REMOVE: Usuń
|
||||||
REMOVEERROR: 'Błąd podczas usuwania pliku'
|
REMOVEERROR: 'Błąd podczas usuwania pliku'
|
||||||
REMOVEINFO: 'Usuń pliki z tego miejsca, ale nie usuwaj ich z magazynu'
|
REMOVEINFO: 'Usuń pliki z tego miejsca, ale nie usuwaj ich z magazynu'
|
||||||
STARTALL: 'Rozpocznij wszystko'
|
STARTALL: 'Rozpocznij wszystko'
|
||||||
STARTALLINFO: 'Rozpocznij ładowanie wszystkich'
|
STARTALLINFO: 'Rozpocznij ładowanie wszystkich'
|
||||||
Saved: Zapisano
|
Saved: Zapisano
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Wersje
|
has_many_Versions: Wersje
|
||||||
|
68
lang/pt.yml
68
lang/pt.yml
@ -2,6 +2,7 @@ pt:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nova pasta'
|
NEWFOLDER: 'Nova pasta'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ pt:
|
|||||||
ERRORNOTADMIN: 'Esse utilizador não é um administrador.'
|
ERRORNOTADMIN: 'Esse utilizador não é um administrador.'
|
||||||
ERRORNOTREC: 'Esse nome de utilizador / password não é válido'
|
ERRORNOTREC: 'Esse nome de utilizador / password não é válido'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Não
|
|
||||||
ANY: Qualquer
|
ANY: Qualquer
|
||||||
1: Sim
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ pt:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Guardar
|
SAVE: Guardar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ pt:
|
|||||||
HELLO: Olá
|
HELLO: Olá
|
||||||
PASSWORD: Palavra-chave
|
PASSWORD: Palavra-chave
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Não
|
NOANSWER: 'False'
|
||||||
- Sim
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Fechar Janela'
|
CLOSEPOPUP: 'Fechar Janela'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ pt:
|
|||||||
PLURALNAME: 'Objectos de Dados'
|
PLURALNAME: 'Objectos de Dados'
|
||||||
SINGULARNAME: 'Objecto de Dados'
|
SINGULARNAME: 'Objecto de Dados'
|
||||||
Date:
|
Date:
|
||||||
DAY: dia
|
DAY: day
|
||||||
DAYS: dias
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: horas
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: mins
|
MINS: mins
|
||||||
MONTH: mês
|
MONTH: month
|
||||||
MONTHS: meses
|
MONTHS: months
|
||||||
SEC: seg
|
SEC: sec
|
||||||
SECS: segs
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ano
|
YEAR: year
|
||||||
YEARS: anos
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'Não inserido'
|
NOTSET: 'Não inserido'
|
||||||
TODAY: Hoje
|
TODAY: Hoje
|
||||||
@ -198,7 +202,8 @@ pt:
|
|||||||
TEXT2: 'link para alterar password'
|
TEXT2: 'link para alterar password'
|
||||||
TEXT3: para
|
TEXT3: para
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s é de preenchimento obrigatório'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'O valor inserido não é único'
|
VALIDATIONNOTUNIQUE: 'O valor inserido não é único'
|
||||||
@ -208,6 +213,7 @@ pt:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: nenhum
|
NONE: nenhum
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ pt:
|
|||||||
ResetFilter: Redefinir
|
ResetFilter: Redefinir
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Não tem permissões para apagar'
|
DeletePermissionsFailure: 'Não tem permissões para apagar'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancelar
|
CancelBtn: Cancelar
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ pt:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Adicionar regra a este grupo'
|
AddRole: 'Adicionar regra a este grupo'
|
||||||
@ -267,6 +276,7 @@ pt:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Âncora
|
ANCHORVALUE: Âncora
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Inserir
|
BUTTONINSERT: Inserir
|
||||||
BUTTONINSERTLINK: 'Inserir link'
|
BUTTONINSERTLINK: 'Inserir link'
|
||||||
BUTTONREMOVELINK: 'Remover link'
|
BUTTONREMOVELINK: 'Remover link'
|
||||||
@ -331,7 +341,10 @@ pt:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: desconhecido
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ pt:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ pt:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ pt:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nenhuma imagem enviada'
|
NOUPLOAD: 'Nenhuma imagem enviada'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ pt:
|
|||||||
ATTACHFILE: 'Adicionar um ficheiro'
|
ATTACHFILE: 'Adicionar um ficheiro'
|
||||||
ATTACHFILES: 'Adicionar ficheiros'
|
ATTACHFILES: 'Adicionar ficheiros'
|
||||||
AttachFile: 'Adicionar ficheiro(s)'
|
AttachFile: 'Adicionar ficheiro(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Remover permanentemente este ficheiro do sistema'
|
DELETEINFO: 'Remover permanentemente este ficheiro do sistema'
|
||||||
DOEDIT: Guardar
|
DOEDIT: Guardar
|
||||||
@ -565,12 +594,15 @@ pt:
|
|||||||
FROMFILES: 'De ficheiros'
|
FROMFILES: 'De ficheiros'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Erro ao mover o ficheiro'
|
REMOVEERROR: 'Erro ao mover o ficheiro'
|
||||||
REMOVEINFO: 'Remover este ficheiro daqui, mas não apaga do sistema'
|
REMOVEINFO: 'Remover este ficheiro daqui, mas não apaga do sistema'
|
||||||
STARTALL: 'Iniciar todos'
|
STARTALL: 'Iniciar todos'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Guardado
|
Saved: Guardado
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versões
|
has_many_Versions: Versões
|
||||||
|
@ -2,6 +2,7 @@ pt_BR:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Nova Pasta'
|
NEWFOLDER: 'Nova Pasta'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Primeiro upload'
|
CREATED: 'Primeiro upload'
|
||||||
DIM: Dimensões
|
DIM: Dimensões
|
||||||
@ -59,9 +60,9 @@ pt_BR:
|
|||||||
ERRORNOTADMIN: 'Este usuário não é um administrador'
|
ERRORNOTADMIN: 'Este usuário não é um administrador'
|
||||||
ERRORNOTREC: 'Este nome de usuário / senha não é reconhecido'
|
ERRORNOTREC: 'Este nome de usuário / senha não é reconhecido'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ pt_BR:
|
|||||||
ACCESSALLINTERFACES: 'Acessar todas as interfaces do CMS'
|
ACCESSALLINTERFACES: 'Acessar todas as interfaces do CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Salvar
|
SAVE: Salvar
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ pt_BR:
|
|||||||
HELLO: Olá
|
HELLO: Olá
|
||||||
PASSWORD: Senha
|
PASSWORD: Senha
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Fechar janela'
|
CLOSEPOPUP: 'Fechar janela'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ pt_BR:
|
|||||||
PLURALNAME: 'Dados dos objetos'
|
PLURALNAME: 'Dados dos objetos'
|
||||||
SINGULARNAME: 'Dado do objeto'
|
SINGULARNAME: 'Dado do objeto'
|
||||||
Date:
|
Date:
|
||||||
DAY: dia
|
DAY: day
|
||||||
DAYS: dias
|
DAYS: days
|
||||||
HOUR: hora
|
HOUR: hour
|
||||||
HOURS: horas
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: mins
|
MINS: mins
|
||||||
MONTH: mês
|
MONTH: month
|
||||||
MONTHS: meses
|
MONTHS: months
|
||||||
SEC: sec
|
SEC: sec
|
||||||
SECS: secs
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ano
|
YEAR: year
|
||||||
YEARS: anos
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'não informado'
|
NOTSET: 'não informado'
|
||||||
TODAY: hoje
|
TODAY: hoje
|
||||||
@ -198,7 +202,8 @@ pt_BR:
|
|||||||
TEXT2: 'link para reiniciar sua senha'
|
TEXT2: 'link para reiniciar sua senha'
|
||||||
TEXT3: para
|
TEXT3: para
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s é requerido'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'O valor inserido não é exclusivo'
|
VALIDATIONNOTUNIQUE: 'O valor inserido não é exclusivo'
|
||||||
@ -208,6 +213,7 @@ pt_BR:
|
|||||||
VALIDATOR: Verificador
|
VALIDATOR: Verificador
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: nenhum
|
NONE: nenhum
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ pt_BR:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ pt_BR:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ pt_BR:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Âncora
|
ANCHORVALUE: Âncora
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Inserir link'
|
BUTTONINSERTLINK: 'Inserir link'
|
||||||
BUTTONREMOVELINK: 'Remover link'
|
BUTTONREMOVELINK: 'Remover link'
|
||||||
@ -331,7 +341,10 @@ pt_BR:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ pt_BR:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ pt_BR:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Excluir
|
DELETE: Excluir
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'importar do CSV'
|
IMPORT: 'importar do CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Por favor, localize um arquivo CSV para importar'
|
NOCSVFILE: 'Por favor, localize um arquivo CSV para importar'
|
||||||
@ -515,7 +529,20 @@ pt_BR:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Não foi feito o upload de nenhuma imagem'
|
NOUPLOAD: 'Não foi feito o upload de nenhuma imagem'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ pt_BR:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ pt_BR:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versões
|
has_many_Versions: Versões
|
||||||
|
72
lang/ro.yml
72
lang/ro.yml
@ -2,6 +2,7 @@ ro:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ ro:
|
|||||||
ERRORNOTADMIN: 'Acest utilizator nu este un administrator.'
|
ERRORNOTADMIN: 'Acest utilizator nu este un administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ ro:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Save
|
SAVE: Save
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ro:
|
|||||||
HELLO: Salut
|
HELLO: Salut
|
||||||
PASSWORD: Parola
|
PASSWORD: Parola
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ ro:
|
|||||||
PLURALNAME: 'Obiecte Data'
|
PLURALNAME: 'Obiecte Data'
|
||||||
SINGULARNAME: 'Obiect Data'
|
SINGULARNAME: 'Obiect Data'
|
||||||
Date:
|
Date:
|
||||||
DAY: zi
|
DAY: day
|
||||||
DAYS: zile
|
DAYS: days
|
||||||
HOUR: oră
|
HOUR: hour
|
||||||
HOURS: ore
|
HOURS: hours
|
||||||
MIN: minut
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minute
|
MIN: min
|
||||||
MONTH: lună
|
MINS: mins
|
||||||
MONTHS: luni
|
MONTH: month
|
||||||
SEC: secundă
|
MONTHS: months
|
||||||
SECS: secunde
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: an
|
YEAR: year
|
||||||
YEARS: ani
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: astazi
|
TODAY: astazi
|
||||||
@ -198,7 +202,8 @@ ro:
|
|||||||
TEXT2: 'link de resetare a parolei'
|
TEXT2: 'link de resetare a parolei'
|
||||||
TEXT3: pentru
|
TEXT3: pentru
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Valoarea introdusă nu este unică'
|
VALIDATIONNOTUNIQUE: 'Valoarea introdusă nu este unică'
|
||||||
@ -208,6 +213,7 @@ ro:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ ro:
|
|||||||
ResetFilter: Reseteaza
|
ResetFilter: Reseteaza
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ ro:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ ro:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insereaza link'
|
BUTTONINSERTLINK: 'Insereaza link'
|
||||||
BUTTONREMOVELINK: 'Indeparteaza link'
|
BUTTONREMOVELINK: 'Indeparteaza link'
|
||||||
@ -331,7 +341,10 @@ ro:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ ro:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ ro:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ ro:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nici o imagine incarcata'
|
NOUPLOAD: 'Nici o imagine incarcata'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ ro:
|
|||||||
ATTACHFILE: 'Atasati un fisier'
|
ATTACHFILE: 'Atasati un fisier'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Salveaza
|
DOEDIT: Salveaza
|
||||||
@ -565,12 +594,15 @@ ro:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Salvat
|
Saved: Salvat
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiune
|
has_many_Versions: Versiune
|
||||||
|
106
lang/ru.yml
106
lang/ru.yml
@ -2,14 +2,15 @@ ru:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Новая папка'
|
NEWFOLDER: 'Новая папка'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Первая загрузка'
|
CREATED: 'Первая загрузка'
|
||||||
DIM: Размеры
|
DIM: 'Размеры'
|
||||||
FILENAME: 'Имя файла'
|
FILENAME: 'Имя файла'
|
||||||
FOLDER: Папка
|
FOLDER: Папка
|
||||||
LASTEDIT: 'Последнее изменение'
|
LASTEDIT: 'Последнее изменение'
|
||||||
OWNER: Владелец
|
OWNER: Владелец
|
||||||
SIZE: Размер
|
SIZE: 'Размер'
|
||||||
TITLE: Название
|
TITLE: Название
|
||||||
TYPE: Тип
|
TYPE: Тип
|
||||||
URL: URL
|
URL: URL
|
||||||
@ -59,9 +60,9 @@ ru:
|
|||||||
ERRORNOTADMIN: 'Такой пользователь не является администратором.'
|
ERRORNOTADMIN: 'Такой пользователь не является администратором.'
|
||||||
ERRORNOTREC: 'Такое имя пользователя или пароль не существует'
|
ERRORNOTREC: 'Такое имя пользователя или пароль не существует'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Все
|
ANY: Все
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Идет загрузка...'
|
LOADING: 'Идет загрузка...'
|
||||||
REQUIREJS: 'Для работы с CMS у вас должен быть включен JavaScript.'
|
REQUIREJS: 'Для работы с CMS у вас должен быть включен JavaScript.'
|
||||||
@ -69,7 +70,9 @@ ru:
|
|||||||
ACCESS: 'Доступ к разделу ''{title}'''
|
ACCESS: 'Доступ к разделу ''{title}'''
|
||||||
ACCESSALLINTERFACES: 'Доступ ко всему интерфейсу CMS'
|
ACCESSALLINTERFACES: 'Доступ ко всему интерфейсу CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Отменяет индивидуальные настройки прав доступа.'
|
ACCESSALLINTERFACESHELP: 'Отменяет индивидуальные настройки прав доступа.'
|
||||||
SAVE: Сохранить
|
SAVE: 'Сохранить'
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Предварительный просмотр сайта'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Мой профиль'
|
MENUTITLE: 'Мой профиль'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ ru:
|
|||||||
HELLO: Здравствуйте
|
HELLO: Здравствуйте
|
||||||
PASSWORD: Пароль
|
PASSWORD: Пароль
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Закрыть всплывающее окно'
|
CLOSEPOPUP: 'Закрыть всплывающее окно'
|
||||||
SUCCESSADD2: '{name} добавлено'
|
SUCCESSADD2: '{name} добавлено'
|
||||||
@ -109,20 +112,21 @@ ru:
|
|||||||
PLURALNAME: Объекты
|
PLURALNAME: Объекты
|
||||||
SINGULARNAME: Объект
|
SINGULARNAME: Объект
|
||||||
Date:
|
Date:
|
||||||
DAY: день
|
DAY: day
|
||||||
DAYS: дней
|
DAYS: days
|
||||||
HOUR: час
|
HOUR: hour
|
||||||
HOURS: час.
|
HOURS: hours
|
||||||
MIN: мин.
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: мин.
|
MIN: min
|
||||||
MONTH: месяц
|
MINS: mins
|
||||||
MONTHS: месяца(ев)
|
MONTH: month
|
||||||
SEC: сек.
|
MONTHS: months
|
||||||
SECS: сек.
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} назад'
|
TIMEDIFFAGO: '{difference} назад'
|
||||||
TIMEDIFFIN: 'через {difference}'
|
TIMEDIFFIN: 'через {difference}'
|
||||||
YEAR: год
|
YEAR: year
|
||||||
YEARS: лет
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'не установлено'
|
NOTSET: 'не установлено'
|
||||||
TODAY: сегодня
|
TODAY: сегодня
|
||||||
@ -198,7 +202,8 @@ ru:
|
|||||||
TEXT2: 'ссылка переустановки пароля'
|
TEXT2: 'ссылка переустановки пароля'
|
||||||
TEXT3: для
|
TEXT3: для
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'Поле %s является обязательным'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Выбрать
|
SubmitBtnLabel: Выбрать
|
||||||
VALIDATIONCREDITNUMBER: 'Пожалуйста, убедитесь, что номер кредитной карты {number} задан правильно'
|
VALIDATIONCREDITNUMBER: 'Пожалуйста, убедитесь, что номер кредитной карты {number} задан правильно'
|
||||||
VALIDATIONNOTUNIQUE: 'Введенное значение не уникально'
|
VALIDATIONNOTUNIQUE: 'Введенное значение не уникально'
|
||||||
@ -208,6 +213,7 @@ ru:
|
|||||||
VALIDATOR: Валидатор
|
VALIDATOR: Валидатор
|
||||||
VALIDCURRENCY: 'Пожалуйста, укажите валюту правильно'
|
VALIDCURRENCY: 'Пожалуйста, укажите валюту правильно'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: 'не выбрано'
|
NONE: 'не выбрано'
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Удалить
|
DELETE_DESCRIPTION: Удалить
|
||||||
@ -230,14 +236,17 @@ ru:
|
|||||||
ResetFilter: Сброс
|
ResetFilter: Сброс
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Нет прав на удаление'
|
DeletePermissionsFailure: 'Нет прав на удаление'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Отмена
|
CancelBtn: Отмена
|
||||||
Create: Создать
|
Create: Создать
|
||||||
Delete: Удалить
|
Delete: Удалить
|
||||||
DeletePermissionsFailure: 'Нет прав на удаление'
|
DeletePermissionsFailure: 'Нет прав на удаление'
|
||||||
Deleted: 'Удалено %s %s'
|
Deleted: 'Удалено %s %s'
|
||||||
Save: Сохранить
|
Save: 'Сохранить'
|
||||||
Saved: 'Сохранено %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: 'Редактировать'
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Добавить роль для этой группы'
|
AddRole: 'Добавить роль для этой группы'
|
||||||
@ -267,6 +276,7 @@ ru:
|
|||||||
ADDURL: 'Добавить URL'
|
ADDURL: 'Добавить URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Дополнительные сведения и размеры'
|
ADJUSTDETAILSDIMENSIONS: 'Дополнительные сведения и размеры'
|
||||||
ANCHORVALUE: Якорь
|
ANCHORVALUE: Якорь
|
||||||
|
BUTTONADDURL: 'Добавить URL'
|
||||||
BUTTONINSERT: Вставить
|
BUTTONINSERT: Вставить
|
||||||
BUTTONINSERTLINK: 'Вставить ссылку'
|
BUTTONINSERTLINK: 'Вставить ссылку'
|
||||||
BUTTONREMOVELINK: 'Удалить ссылку'
|
BUTTONREMOVELINK: 'Удалить ссылку'
|
||||||
@ -288,7 +298,7 @@ ru:
|
|||||||
IMAGEALT: 'Альтернативный текст (alt)'
|
IMAGEALT: 'Альтернативный текст (alt)'
|
||||||
IMAGEALTTEXT: 'Альтернативный текст (alt) - показывается, если изображение недоступно'
|
IMAGEALTTEXT: 'Альтернативный текст (alt) - показывается, если изображение недоступно'
|
||||||
IMAGEALTTEXTDESC: 'Передается программе чтения экрана или отображается, если изображение недоступно'
|
IMAGEALTTEXTDESC: 'Передается программе чтения экрана или отображается, если изображение недоступно'
|
||||||
IMAGEDIMENSIONS: Размеры
|
IMAGEDIMENSIONS: 'Размеры'
|
||||||
IMAGEHEIGHTPX: Высота
|
IMAGEHEIGHTPX: Высота
|
||||||
IMAGETITLE: 'Текст (всплывающая подсказка) - для дополнительной информации об изображении'
|
IMAGETITLE: 'Текст (всплывающая подсказка) - для дополнительной информации об изображении'
|
||||||
IMAGETITLETEXT: 'Текст (всплывающая подсказка)'
|
IMAGETITLETEXT: 'Текст (всплывающая подсказка)'
|
||||||
@ -330,11 +340,14 @@ ru:
|
|||||||
PLEASESAVE: 'Пожалуйста, сохраните страницу: ее нельзя обновить, т.к. она еще не была сохранена.'
|
PLEASESAVE: 'Пожалуйста, сохраните страницу: ее нельзя обновить, т.к. она еще не была сохранена.'
|
||||||
PreviewButton: Просмотр
|
PreviewButton: Просмотр
|
||||||
REORGANISATIONSUCCESSFUL: 'Древесная структура сайта успешно реорганизована.'
|
REORGANISATIONSUCCESSFUL: 'Древесная структура сайта успешно реорганизована.'
|
||||||
SAVEDUP: Сохранено.
|
SAVEDUP: 'Сохранено.'
|
||||||
VersionUnknown: неизвестно
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Здравствуйте
|
Hello: Здравствуйте
|
||||||
LOGOUT: Выход
|
LOGOUT: 'Выход'
|
||||||
LoginAttempt:
|
LoginAttempt:
|
||||||
Email: Email
|
Email: Email
|
||||||
IP: IP-адрес
|
IP: IP-адрес
|
||||||
@ -407,6 +420,7 @@ ru:
|
|||||||
TWODIGITMONTH: 'Месяц двумя цифрами (01=январь и т.д.)'
|
TWODIGITMONTH: 'Месяц двумя цифрами (01=январь и т.д.)'
|
||||||
TWODIGITSECOND: 'Секунды: двумя цифрами (00 - 59)'
|
TWODIGITSECOND: 'Секунды: двумя цифрами (00 - 59)'
|
||||||
TWODIGITYEAR: 'Год: двумя цифрами'
|
TWODIGITYEAR: 'Год: двумя цифрами'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Импорт пользователей в формате <em>CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Показать подробности</a></small></p>'
|
Help1: '<p>Импорт пользователей в формате <em>CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Показать подробности</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Расширенное использование</h4>\\n<ul>\\n<li>Разрешенные столбцы: <em>%s</em></li>\\n<li>Существующие пользователи сверяются c уникальным атрибутом <em>Code</em> и новые значения из \\nимпортированного файла вносятся в записи о пользователях.</li>\\n<li>Назначение групп производится с помощью столбца <em>Groups</em>. Группы идентифицируются по атрибуту <em>Code</em>, \\nотдельные группы разделяются запятой. Если участник входит в какую-либо группу, это свойство не обнуляется.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Расширенное использование</h4>\\n<ul>\\n<li>Разрешенные столбцы: <em>%s</em></li>\\n<li>Существующие пользователи сверяются c уникальным атрибутом <em>Code</em> и новые значения из \\nимпортированного файла вносятся в записи о пользователях.</li>\\n<li>Назначение групп производится с помощью столбца <em>Groups</em>. Группы идентифицируются по атрибуту <em>Code</em>, \\nотдельные группы разделяются запятой. Если участник входит в какую-либо группу, это свойство не обнуляется.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ ru:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Удалить
|
DELETE: Удалить
|
||||||
DELETEDRECORDS: 'Удалено {count} записей.'
|
DELETEDRECORDS: 'Удалено {count} записей.'
|
||||||
EMPTYBEFOREIMPORT: 'Очистить базу данных перед импортированием'
|
EMPTYBEFOREIMPORT: 'Заменить данные'
|
||||||
IMPORT: 'Импорт из CSV'
|
IMPORT: 'Импорт из CSV'
|
||||||
IMPORTEDRECORDS: 'Импортировано {count} записей.'
|
IMPORTEDRECORDS: 'Импортировано {count} записей.'
|
||||||
NOCSVFILE: 'Выберите CSV-файл для импорта'
|
NOCSVFILE: 'Выберите CSV-файл для импорта'
|
||||||
@ -464,8 +478,8 @@ ru:
|
|||||||
FromRoleOnGroup: 'перенято из роли "%s" для группы "%s"'
|
FromRoleOnGroup: 'перенято из роли "%s" для группы "%s"'
|
||||||
PermissionRole:
|
PermissionRole:
|
||||||
OnlyAdminCanApply: 'Может применяться только администратором'
|
OnlyAdminCanApply: 'Может применяться только администратором'
|
||||||
PLURALNAME: Роли
|
PLURALNAME: 'Роли'
|
||||||
SINGULARNAME: Роль
|
SINGULARNAME: 'Роль'
|
||||||
Title: Название
|
Title: Название
|
||||||
PermissionRoleCode:
|
PermissionRoleCode:
|
||||||
PLURALNAME: 'Коды ролей доступа'
|
PLURALNAME: 'Коды ролей доступа'
|
||||||
@ -487,7 +501,7 @@ ru:
|
|||||||
ENTERNEWPASSWORD: 'Пожалуйста, введите новый пароль.'
|
ENTERNEWPASSWORD: 'Пожалуйста, введите новый пароль.'
|
||||||
ERRORPASSWORDPERMISSION: 'Вы должны войти в систему, чтобы изменить Ваш пароль!'
|
ERRORPASSWORDPERMISSION: 'Вы должны войти в систему, чтобы изменить Ваш пароль!'
|
||||||
LOGGEDOUT: 'Вы вышли. Если Вы хотите войти снова, введите ваши учетные данные ниже.'
|
LOGGEDOUT: 'Вы вышли. Если Вы хотите войти снова, введите ваши учетные данные ниже.'
|
||||||
LOGIN: Вход
|
LOGIN: 'Вход'
|
||||||
NOTEPAGESECURED: 'Эта страница защищена. Пожалуйста, введите свои учетные данные для входа.'
|
NOTEPAGESECURED: 'Эта страница защищена. Пожалуйста, введите свои учетные данные для входа.'
|
||||||
NOTERESETLINKINVALID: '<p>Неверная ссылка переустановки пароля или время действия ссылки истекло.</p><p>Вы можете повторно запросить ссылку, щелкнув <a href="{link1}">здесь</a>, или поменять пароль, <a href="{link2}">войдя в систему</a>.</p> '
|
NOTERESETLINKINVALID: '<p>Неверная ссылка переустановки пароля или время действия ссылки истекло.</p><p>Вы можете повторно запросить ссылку, щелкнув <a href="{link1}">здесь</a>, или поменять пароль, <a href="{link2}">войдя в систему</a>.</p> '
|
||||||
NOTERESETPASSWORD: 'Введите Ваш адрес email, и Вам будет отправлена ссылка, по которой Вы сможете переустановить свой пароль'
|
NOTERESETPASSWORD: 'Введите Ваш адрес email, и Вам будет отправлена ссылка, по которой Вы сможете переустановить свой пароль'
|
||||||
@ -507,15 +521,28 @@ ru:
|
|||||||
MemberListCaution: 'Внимание: при удалении участников из этого списка они будут удалены из всех групп и из базы данных '
|
MemberListCaution: 'Внимание: при удалении участников из этого списка они будут удалены из всех групп и из базы данных '
|
||||||
NEWGROUP: 'Новая группа'
|
NEWGROUP: 'Новая группа'
|
||||||
PERMISSIONS: 'Права доступа'
|
PERMISSIONS: 'Права доступа'
|
||||||
ROLES: Роли
|
ROLES: 'Роли'
|
||||||
ROLESDESCRIPTION: 'Роли представляют собой сочетания различных прав доступа, которые могут быть присвоены группам.<br />При необходимости они наследуются от групп более высокого уровня.'
|
ROLESDESCRIPTION: 'Роли представляют собой сочетания различных прав доступа, которые могут быть присвоены группам.<br />При необходимости они наследуются от групп более высокого уровня.'
|
||||||
TABROLES: Роли
|
TABROLES: 'Роли'
|
||||||
Users: Пользователи
|
Users: Пользователи
|
||||||
SecurityAdmin_MemberImportForm:
|
SecurityAdmin_MemberImportForm:
|
||||||
BtnImport: 'Импорт из CSV'
|
BtnImport: 'Импорт из CSV'
|
||||||
FileFieldLabel: 'Файл CSV <small>(Допустимые расширения: *.csv)</small>'
|
FileFieldLabel: 'Файл CSV <small>(Допустимые расширения: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
Edit: Редактировать
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Сменить режим просмотра'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
|
Edit: 'Редактировать'
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Планшет
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Не загружено ни одного изображения'
|
NOUPLOAD: 'Не загружено ни одного изображения'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,13 +578,15 @@ ru:
|
|||||||
ATTACHFILE: 'Прикрепить файл'
|
ATTACHFILE: 'Прикрепить файл'
|
||||||
ATTACHFILES: 'Прикрепить файлы'
|
ATTACHFILES: 'Прикрепить файлы'
|
||||||
AttachFile: 'Прикрепить файл(ы)'
|
AttachFile: 'Прикрепить файл(ы)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Удалить из файлов'
|
DELETE: 'Удалить из файлов'
|
||||||
DELETEINFO: 'Окончательно удалить этот файл с сервера'
|
DELETEINFO: 'Окончательно удалить этот файл с сервера'
|
||||||
DOEDIT: Сохранить
|
DOEDIT: 'Сохранить'
|
||||||
DROPFILE: 'перетащите файл сюда'
|
DROPFILE: 'перетащите файл сюда'
|
||||||
DROPFILES: 'перетащить файлы'
|
DROPFILES: 'перетащить файлы'
|
||||||
Dimensions: Размеры
|
Dimensions: 'Размеры'
|
||||||
EDIT: Редактировать
|
EDIT: 'Редактировать'
|
||||||
EDITINFO: 'Редактировать этот файл'
|
EDITINFO: 'Редактировать этот файл'
|
||||||
FIELDNOTSET: 'Информация о файле не найдена'
|
FIELDNOTSET: 'Информация о файле не найдена'
|
||||||
FROMCOMPUTER: 'С диска'
|
FROMCOMPUTER: 'С диска'
|
||||||
@ -565,12 +594,15 @@ ru:
|
|||||||
FROMFILES: 'Из файлов'
|
FROMFILES: 'Из файлов'
|
||||||
HOTLINKINFO: 'Внимание: это изображение будет вставлено через хотлинк. Пожалуйста, не забывайте, что на это у вас должно быть разрешение владельца исходного ресурса.'
|
HOTLINKINFO: 'Внимание: это изображение будет вставлено через хотлинк. Пожалуйста, не забывайте, что на это у вас должно быть разрешение владельца исходного ресурса.'
|
||||||
MAXNUMBEROFFILES: 'Превышено максимальное количество файлов ({count}).'
|
MAXNUMBEROFFILES: 'Превышено максимальное количество файлов ({count}).'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Можно загрузить не более {count} файлов'
|
MAXNUMBEROFFILESSHORT: 'Можно загрузить не более {count} файлов'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Удалить
|
REMOVE: Удалить
|
||||||
REMOVEERROR: 'Ошибка при удалении файла'
|
REMOVEERROR: 'Ошибка при удалении файла'
|
||||||
REMOVEINFO: 'Удалить файл отсюда, но не удалять с сервера'
|
REMOVEINFO: 'Удалить файл отсюда, но не удалять с сервера'
|
||||||
STARTALL: 'Стартовать все'
|
STARTALL: 'Стартовать все'
|
||||||
STARTALLINFO: 'Стартовать все загрузки'
|
STARTALLINFO: 'Стартовать все загрузки'
|
||||||
Saved: Сохранено
|
Saved: 'Сохранено'
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Версии
|
has_many_Versions: Версии
|
||||||
|
78
lang/si.yml
78
lang/si.yml
@ -2,6 +2,7 @@ si:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'අලත් ගොනුවක්'
|
NEWFOLDER: 'අලත් ගොනුවක්'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'පලමු ලිපිය අප්ලෝඩ් කරන ලදී'
|
CREATED: 'පලමු ලිපිය අප්ලෝඩ් කරන ලදී'
|
||||||
DIM: මාන
|
DIM: මාන
|
||||||
@ -59,9 +60,9 @@ si:
|
|||||||
ERRORNOTADMIN: 'ඵම පරිශීලකයා නියමුවෙකු නොවේ'
|
ERRORNOTADMIN: 'ඵම පරිශීලකයා නියමුවෙකු නොවේ'
|
||||||
ERRORNOTREC: 'ඵම නම/මුරපදය හදුනාගත නොහැක'
|
ERRORNOTREC: 'ඵම නම/මුරපදය හදුනාගත නොහැක'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ si:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: 'සේවි කරන්න'
|
SAVE: 'සේවි කරන්න'
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ si:
|
|||||||
HELLO: කොහොමද
|
HELLO: කොහොමද
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -99,7 +102,7 @@ si:
|
|||||||
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
||||||
SHOWONCLICKTITLE: 'මුර පදය වෙනස් කිරීම'
|
SHOWONCLICKTITLE: 'මුර පදය වෙනස් කිරීම'
|
||||||
CreditCardField:
|
CreditCardField:
|
||||||
FIRST: පළමු
|
FIRST: 'පළමු'
|
||||||
FOURTH: fourth
|
FOURTH: fourth
|
||||||
SECOND: දෙවන
|
SECOND: දෙවන
|
||||||
THIRD: third
|
THIRD: third
|
||||||
@ -109,20 +112,21 @@ si:
|
|||||||
PLURALNAME: 'දත්ත වස්තු'
|
PLURALNAME: 'දත්ත වස්තු'
|
||||||
SINGULARNAME: 'දත්ත වස්තුව'
|
SINGULARNAME: 'දත්ත වස්තුව'
|
||||||
Date:
|
Date:
|
||||||
DAY: ඳිනය
|
DAY: day
|
||||||
DAYS: ඳින
|
DAYS: days
|
||||||
HOUR: පැය
|
HOUR: hour
|
||||||
HOURS: පැය
|
HOURS: hours
|
||||||
MIN: විනාඩිය
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: විනාඩි
|
MIN: min
|
||||||
MONTH: මාසය
|
MINS: mins
|
||||||
MONTHS: මාස
|
MONTH: month
|
||||||
SEC: තත්පරය
|
MONTHS: months
|
||||||
SECS: 'තත්පර '
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: අවුරුද්ද
|
YEAR: year
|
||||||
YEARS: අවුරුදු
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ si:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: සඳහා
|
TEXT3: සඳහා
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s අවශ්යයි'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'අගය අද්විතීය නොවේ'
|
VALIDATIONNOTUNIQUE: 'අගය අද්විතීය නොවේ'
|
||||||
@ -208,6 +213,7 @@ si:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ si:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ si:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -253,7 +262,7 @@ si:
|
|||||||
RolesAddEditLink: 'Manage roles'
|
RolesAddEditLink: 'Manage roles'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Group
|
||||||
Sort: 'Sort Order'
|
Sort: 'Sort Order'
|
||||||
has_many_Permissions: අවසර
|
has_many_Permissions: 'අවසර'
|
||||||
many_many_Members: සාමාජිකයින්
|
many_many_Members: සාමාජිකයින්
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
@ -267,6 +276,7 @@ si:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'බැදීමක් යොදන්න'
|
BUTTONINSERTLINK: 'බැදීමක් යොදන්න'
|
||||||
BUTTONREMOVELINK: 'බැදීම ගලවන්න'
|
BUTTONREMOVELINK: 'බැදීම ගලවන්න'
|
||||||
@ -331,7 +341,10 @@ si:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ si:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ si:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ si:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'පි0තුර අප්ලෝඩ් කර නැත'
|
NOUPLOAD: 'පි0තුර අප්ලෝඩ් කර නැත'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -545,12 +572,14 @@ si:
|
|||||||
TimeField:
|
TimeField:
|
||||||
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
|
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
|
||||||
ToggleField:
|
ToggleField:
|
||||||
LESS: අඩු
|
LESS: 'අඩු'
|
||||||
MORE: වැඩි
|
MORE: වැඩි
|
||||||
UploadField:
|
UploadField:
|
||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ si:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: වෙලුම
|
has_many_Versions: වෙලුම
|
||||||
|
72
lang/sk.yml
72
lang/sk.yml
@ -2,6 +2,7 @@ sk:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Povolené extenzie'
|
ALLOWEDEXTS: 'Povolené extenzie'
|
||||||
NEWFOLDER: 'Nový priečinok'
|
NEWFOLDER: 'Nový priečinok'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Prvýkrát nahrané'
|
CREATED: 'Prvýkrát nahrané'
|
||||||
DIM: Rozmery
|
DIM: Rozmery
|
||||||
@ -59,9 +60,9 @@ sk:
|
|||||||
ERRORNOTADMIN: 'Tento používateľ nie je administrátor.'
|
ERRORNOTADMIN: 'Tento používateľ nie je administrátor.'
|
||||||
ERRORNOTREC: 'Toto používateľské meno / heslo nebolo rozpoznané'
|
ERRORNOTREC: 'Toto používateľské meno / heslo nebolo rozpoznané'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Nie
|
|
||||||
ANY: Ktorýkoľvek
|
ANY: Ktorýkoľvek
|
||||||
1: Áno
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: 'Načíta sa ...'
|
LOADING: 'Načíta sa ...'
|
||||||
REQUIREJS: 'CMS vyžaduje, aby ste mali JavaScript zapnutý.'
|
REQUIREJS: 'CMS vyžaduje, aby ste mali JavaScript zapnutý.'
|
||||||
@ -70,6 +71,8 @@ sk:
|
|||||||
ACCESSALLINTERFACES: 'Pristup do všetkých častí CMS.'
|
ACCESSALLINTERFACES: 'Pristup do všetkých častí CMS.'
|
||||||
ACCESSALLINTERFACESHELP: 'Prepisuje viac špecifických nastavení prístupu.'
|
ACCESSALLINTERFACESHELP: 'Prepisuje viac špecifických nastavení prístupu.'
|
||||||
SAVE: Uložiť
|
SAVE: Uložiť
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Môj profil'
|
MENUTITLE: 'Môj profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ sk:
|
|||||||
HELLO: 'Dobrý deň'
|
HELLO: 'Dobrý deň'
|
||||||
PASSWORD: Heslo
|
PASSWORD: Heslo
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Nie
|
NOANSWER: 'False'
|
||||||
- Áno
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Zatvoriť okno'
|
CLOSEPOPUP: 'Zatvoriť okno'
|
||||||
SUCCESSADD2: 'Pridané {name}'
|
SUCCESSADD2: 'Pridané {name}'
|
||||||
@ -109,20 +112,21 @@ sk:
|
|||||||
PLURALNAME: 'Datové objekty'
|
PLURALNAME: 'Datové objekty'
|
||||||
SINGULARNAME: 'Dátový objekt'
|
SINGULARNAME: 'Dátový objekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: deň
|
DAY: day
|
||||||
DAYS: dni
|
DAYS: days
|
||||||
HOUR: hodina
|
HOUR: hour
|
||||||
HOURS: hodiny
|
HOURS: hours
|
||||||
MIN: minúta
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: minúty
|
MIN: min
|
||||||
MONTH: mesiac
|
MINS: mins
|
||||||
MONTHS: mesiace
|
MONTH: month
|
||||||
SEC: sekunda
|
MONTHS: months
|
||||||
SECS: sekundy
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} pred'
|
TIMEDIFFAGO: '{difference} pred'
|
||||||
TIMEDIFFIN: 'v {difference}'
|
TIMEDIFFIN: 'v {difference}'
|
||||||
YEAR: rok
|
YEAR: year
|
||||||
YEARS: roky
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: nezadané
|
NOTSET: nezadané
|
||||||
TODAY: dnes
|
TODAY: dnes
|
||||||
@ -198,7 +202,8 @@ sk:
|
|||||||
TEXT2: 'odkaz na resetovanie hesla'
|
TEXT2: 'odkaz na resetovanie hesla'
|
||||||
TEXT3: pre
|
TEXT3: pre
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s je požadované'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Choď
|
SubmitBtnLabel: Choď
|
||||||
VALIDATIONCREDITNUMBER: 'Uistite sa, že ste zadali číslo {number} kreditnej karty správne'
|
VALIDATIONCREDITNUMBER: 'Uistite sa, že ste zadali číslo {number} kreditnej karty správne'
|
||||||
VALIDATIONNOTUNIQUE: 'Zadaná hodnota nie je unikátna'
|
VALIDATIONNOTUNIQUE: 'Zadaná hodnota nie je unikátna'
|
||||||
@ -208,6 +213,7 @@ sk:
|
|||||||
VALIDATOR: Validácia
|
VALIDATOR: Validácia
|
||||||
VALIDCURRENCY: 'Prosím zadajte platnú menu'
|
VALIDCURRENCY: 'Prosím zadajte platnú menu'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: žiadne
|
NONE: žiadne
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Zmazať
|
DELETE_DESCRIPTION: Zmazať
|
||||||
@ -230,6 +236,7 @@ sk:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Žiadne oprávnenia zmazať'
|
DeletePermissionsFailure: 'Žiadne oprávnenia zmazať'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Zrušiť
|
CancelBtn: Zrušiť
|
||||||
Create: Vytvoriť
|
Create: Vytvoriť
|
||||||
@ -237,7 +244,9 @@ sk:
|
|||||||
DeletePermissionsFailure: 'Žiadne oprávnenia zmazať'
|
DeletePermissionsFailure: 'Žiadne oprávnenia zmazať'
|
||||||
Deleted: 'Zmazané %s %s'
|
Deleted: 'Zmazané %s %s'
|
||||||
Save: Uložiť
|
Save: Uložiť
|
||||||
Saved: 'Uložené %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Pridať úlohu pre túto skupinu'
|
AddRole: 'Pridať úlohu pre túto skupinu'
|
||||||
@ -267,6 +276,7 @@ sk:
|
|||||||
ADDURL: 'Pridať URL'
|
ADDURL: 'Pridať URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozmery'
|
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozmery'
|
||||||
ANCHORVALUE: Odkaz
|
ANCHORVALUE: Odkaz
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Vložiť
|
BUTTONINSERT: Vložiť
|
||||||
BUTTONINSERTLINK: 'Vložiť odkaz'
|
BUTTONINSERTLINK: 'Vložiť odkaz'
|
||||||
BUTTONREMOVELINK: 'Odstrániť odkaz'
|
BUTTONREMOVELINK: 'Odstrániť odkaz'
|
||||||
@ -293,7 +303,7 @@ sk:
|
|||||||
IMAGETITLE: 'Text titulky (tooltip) - pre doplňujúce informácie o obrázku'
|
IMAGETITLE: 'Text titulky (tooltip) - pre doplňujúce informácie o obrázku'
|
||||||
IMAGETITLETEXT: 'Text titulky (tooltip)'
|
IMAGETITLETEXT: 'Text titulky (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'Pre doplňujúce informácie o obrázku'
|
IMAGETITLETEXTDESC: 'Pre doplňujúce informácie o obrázku'
|
||||||
IMAGEWIDTHPX: Šírka
|
IMAGEWIDTHPX: 'Šírka'
|
||||||
INSERTMEDIA: 'Vložiť média'
|
INSERTMEDIA: 'Vložiť média'
|
||||||
LINK: 'Vložiť/upraviť odkaz na zvýraznený text'
|
LINK: 'Vložiť/upraviť odkaz na zvýraznený text'
|
||||||
LINKANCHOR: 'Odkaz na tejto stranke'
|
LINKANCHOR: 'Odkaz na tejto stranke'
|
||||||
@ -331,6 +341,9 @@ sk:
|
|||||||
PreviewButton: Náhľad
|
PreviewButton: Náhľad
|
||||||
REORGANISATIONSUCCESSFUL: 'Strom webu bol reorganizovaný úspešne.'
|
REORGANISATIONSUCCESSFUL: 'Strom webu bol reorganizovaný úspešne.'
|
||||||
SAVEDUP: Uložené.
|
SAVEDUP: Uložené.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: neznáme
|
VersionUnknown: neznáme
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Ahoj
|
Hello: Ahoj
|
||||||
@ -407,6 +420,7 @@ sk:
|
|||||||
TWODIGITMONTH: 'Dvojčíslie mesiaca (01=január, atď.)'
|
TWODIGITMONTH: 'Dvojčíslie mesiaca (01=január, atď.)'
|
||||||
TWODIGITSECOND: 'Dvojčíslie sekundy (00 až 59)'
|
TWODIGITSECOND: 'Dvojčíslie sekundy (00 až 59)'
|
||||||
TWODIGITYEAR: 'Dvojčíslie roka'
|
TWODIGITYEAR: 'Dvojčíslie roka'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: 'Importovať členov v <em>CSV formáte</em> (čiarkov oddelené hodnoty). Zobraziť pokročile použitie'
|
Help1: 'Importovať členov v <em>CSV formáte</em> (čiarkov oddelené hodnoty). Zobraziť pokročile použitie'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Pokročilé použitie</h4>\\n<ul>\\n<li>Povolené stĺpce: <em>%s</em></li>\\n<li>Existujúci užívatelia sú porovnávaní ich unikátnou vlastnosťou <em>Code</em>, a aktualizovaní s novými hodnotami z\\nimportovaného súboru.</li>\\n<li>Skupiny môžu byťt priradené stĺpcom <em>Groups</em>. Skupiny sú identifikované ich vlastnosťou <em>Code</em>,\\nviacero skupín môže byť oddelené čiarkou. Existujúce členstvá skupiny nie sú smazané.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Pokročilé použitie</h4>\\n<ul>\\n<li>Povolené stĺpce: <em>%s</em></li>\\n<li>Existujúci užívatelia sú porovnávaní ich unikátnou vlastnosťou <em>Code</em>, a aktualizovaní s novými hodnotami z\\nimportovaného súboru.</li>\\n<li>Skupiny môžu byťt priradené stĺpcom <em>Groups</em>. Skupiny sú identifikované ich vlastnosťou <em>Code</em>,\\nviacero skupín môže byť oddelené čiarkou. Existujúce členstvá skupiny nie sú smazané.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ sk:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Zmazať
|
DELETE: Zmazať
|
||||||
DELETEDRECORDS: 'Zmazaných {count} záznamov.'
|
DELETEDRECORDS: 'Zmazaných {count} záznamov.'
|
||||||
EMPTYBEFOREIMPORT: 'Vyčistiť databázu pred importovaním'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importovať z CSV'
|
IMPORT: 'Importovať z CSV'
|
||||||
IMPORTEDRECORDS: 'Importovaných {count} záznamov.'
|
IMPORTEDRECORDS: 'Importovaných {count} záznamov.'
|
||||||
NOCSVFILE: 'Prosím vyhľadajte CSV súbor pre importovanie'
|
NOCSVFILE: 'Prosím vyhľadajte CSV súbor pre importovanie'
|
||||||
@ -515,7 +529,20 @@ sk:
|
|||||||
BtnImport: Importovať
|
BtnImport: Importovať
|
||||||
FileFieldLabel: 'CSV súbor <small>(Povoléné koncovki súborov: *.csv)</small>'
|
FileFieldLabel: 'CSV súbor <small>(Povoléné koncovki súborov: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Editovať
|
Edit: Editovať
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Nebol nahraný žiaden obrázok'
|
NOUPLOAD: 'Nebol nahraný žiaden obrázok'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ sk:
|
|||||||
ATTACHFILE: 'Priložiť súbor'
|
ATTACHFILE: 'Priložiť súbor'
|
||||||
ATTACHFILES: 'Priložiť súbory'
|
ATTACHFILES: 'Priložiť súbory'
|
||||||
AttachFile: 'Priložiť súbor(y)'
|
AttachFile: 'Priložiť súbor(y)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Zmazať zo súborov'
|
DELETE: 'Zmazať zo súborov'
|
||||||
DELETEINFO: 'Trvalo zmazať tento súbor z úložiska súborov'
|
DELETEINFO: 'Trvalo zmazať tento súbor z úložiska súborov'
|
||||||
DOEDIT: Uložiť
|
DOEDIT: Uložiť
|
||||||
@ -565,12 +594,15 @@ sk:
|
|||||||
FROMFILES: 'Zo súborov'
|
FROMFILES: 'Zo súborov'
|
||||||
HOTLINKINFO: 'Info: Tento obrázok bude "hotlinkovaný". Uistete sa prosím, že máte oprávnenie od pôvodneho tvorcu webu, aby sa tak stalo.'
|
HOTLINKINFO: 'Info: Tento obrázok bude "hotlinkovaný". Uistete sa prosím, že máte oprávnenie od pôvodneho tvorcu webu, aby sa tak stalo.'
|
||||||
MAXNUMBEROFFILES: 'Maximálny počet {count} súbor(ov) prekročený.'
|
MAXNUMBEROFFILES: 'Maximálny počet {count} súbor(ov) prekročený.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Môžte nahrať iba {count} súborov'
|
MAXNUMBEROFFILESSHORT: 'Môžte nahrať iba {count} súborov'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Odstrániť
|
REMOVE: Odstrániť
|
||||||
REMOVEERROR: 'Chyba odstránenia súboru'
|
REMOVEERROR: 'Chyba odstránenia súboru'
|
||||||
REMOVEINFO: 'Odstrániť tento súbor odtiaľ, ale nezmazať z úložiska súborov'
|
REMOVEINFO: 'Odstrániť tento súbor odtiaľ, ale nezmazať z úložiska súborov'
|
||||||
STARTALL: 'Začni všetko'
|
STARTALL: 'Začni všetko'
|
||||||
STARTALLINFO: 'Začni všetko nahrávať'
|
STARTALLINFO: 'Začni všetko nahrávať'
|
||||||
Saved: Uložené
|
Saved: Uložené
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: verzie
|
has_many_Versions: verzie
|
||||||
|
438
lang/sl.yml
438
lang/sl.yml
@ -1,12 +1,13 @@
|
|||||||
sl:
|
sl:
|
||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Podaljševanje je dovoljeno.'
|
||||||
NEWFOLDER: 'Nova mapa'
|
NEWFOLDER: 'Nova mapa'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Naloženo na začetku'
|
CREATED: 'Naloženo na začetku'
|
||||||
DIM: Dimenzije
|
DIM: Dimenzije
|
||||||
FILENAME: 'Ime datoteke'
|
FILENAME: 'Ime datoteke'
|
||||||
FOLDER: Folder
|
FOLDER: Mapa
|
||||||
LASTEDIT: 'Zadnje naloženo'
|
LASTEDIT: 'Zadnje naloženo'
|
||||||
OWNER: Lastnik
|
OWNER: Lastnik
|
||||||
SIZE: Velikost
|
SIZE: Velikost
|
||||||
@ -14,19 +15,19 @@ sl:
|
|||||||
TYPE: Tip
|
TYPE: Tip
|
||||||
URL: URL
|
URL: URL
|
||||||
AssetUploadField:
|
AssetUploadField:
|
||||||
ChooseFiles: 'Choose files'
|
ChooseFiles: 'Izberite datoteke'
|
||||||
DRAGFILESHERE: 'Drag files here'
|
DRAGFILESHERE: 'Potegnite datoteke na to mesto '
|
||||||
DROPAREA: 'Drop Area'
|
DROPAREA: 'Drop Area'
|
||||||
EDITALL: 'Edit all'
|
EDITALL: 'Uredi vse'
|
||||||
EDITANDORGANIZE: 'Edit & organize'
|
EDITANDORGANIZE: 'Uredite in razvrščajte'
|
||||||
EDITINFO: 'Edit files'
|
EDITINFO: 'Uredi datoteke'
|
||||||
FILES: Files
|
FILES: Datoteke
|
||||||
FROMCOMPUTER: 'Choose files from your computer'
|
FROMCOMPUTER: 'Izberite datoteke z vašega računalnika'
|
||||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
FROMCOMPUTERINFO: 'Prenesite z vašega računalnika'
|
||||||
TOTAL: Total
|
TOTAL: Vse
|
||||||
TOUPLOAD: 'Choose files to upload...'
|
TOUPLOAD: 'Izberite datoteke za prenos'
|
||||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
UPLOADINPROGRESS: 'Prosimo, počakajte ... prenos poteka.'
|
||||||
UPLOADOR: OR
|
UPLOADOR: ALI
|
||||||
BBCodeParser:
|
BBCodeParser:
|
||||||
ALIGNEMENT: Poravnava
|
ALIGNEMENT: Poravnava
|
||||||
ALIGNEMENTEXAMPLE: 'desno poravnano'
|
ALIGNEMENTEXAMPLE: 'desno poravnano'
|
||||||
@ -53,25 +54,27 @@ sl:
|
|||||||
UNORDEREDDESCRIPTION: 'Neurejen seznam'
|
UNORDEREDDESCRIPTION: 'Neurejen seznam'
|
||||||
UNORDEREDEXAMPLE1: 'alineja na neurejenem seznamu'
|
UNORDEREDEXAMPLE1: 'alineja na neurejenem seznamu'
|
||||||
BackLink_Button.ss:
|
BackLink_Button.ss:
|
||||||
Back: Back
|
Back: Nazaj
|
||||||
BasicAuth:
|
BasicAuth:
|
||||||
ENTERINFO: 'Vpišite uporabniško ime in geslo.'
|
ENTERINFO: 'Vpišite uporabniško ime in geslo.'
|
||||||
ERRORNOTADMIN: 'Uporabnik ni administrator tega spletnega mesta.'
|
ERRORNOTADMIN: 'Uporabnik ni administrator tega spletnega mesta.'
|
||||||
ERRORNOTREC: 'Ne prepoznam uporabniškega imena ali gesla'
|
ERRORNOTREC: 'Ne prepoznam uporabniškega imena ali gesla'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Ne
|
|
||||||
ANY: Katerikoli
|
ANY: Katerikoli
|
||||||
1: Da
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: 'Nalaganje ...'
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'CMS zahteva, da imate omogočen JavaScript.'
|
||||||
CMSMain:
|
CMSMain:
|
||||||
ACCESS: 'Access to ''{title}'' section'
|
ACCESS: 'Dostop do razdelka ''{title}'''
|
||||||
ACCESSALLINTERFACES: 'Dostop do vseh sklopov CMS'
|
ACCESSALLINTERFACES: 'Dostop do vseh sklopov CMS'
|
||||||
ACCESSALLINTERFACESHELP: 'Omogoča bolj specifične nastavitve za možnosti dostop.'
|
ACCESSALLINTERFACESHELP: 'Omogoča bolj specifične nastavitve za možnosti dostop.'
|
||||||
SAVE: Shrani
|
SAVE: Shrani
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'Moj profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
CHANGEPASSWORDTEXT1: 'Geslo ste spremenili v'
|
CHANGEPASSWORDTEXT1: 'Geslo ste spremenili v'
|
||||||
CHANGEPASSWORDTEXT2: 'Za prijavo lahko odslej uporabite naslednje podatke:'
|
CHANGEPASSWORDTEXT2: 'Za prijavo lahko odslej uporabite naslednje podatke:'
|
||||||
@ -79,24 +82,24 @@ sl:
|
|||||||
HELLO: 'Pozdravljeni,'
|
HELLO: 'Pozdravljeni,'
|
||||||
PASSWORD: Geslo
|
PASSWORD: Geslo
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Ne
|
NOANSWER: 'False'
|
||||||
- Da
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Zapri okno'
|
CLOSEPOPUP: 'Zapri okno'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Dodano {name}'
|
||||||
SUCCESSEDIT: 'Shranjeno: %s %s %s'
|
SUCCESSEDIT: 'Shranjeno: %s %s %s'
|
||||||
ComplexTableField.ss:
|
ComplexTableField.ss:
|
||||||
ADDITEM: 'Dodaj %s'
|
ADDITEM: 'Dodaj %s'
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'Ni najdenih predmetov.'
|
||||||
SORTASC: 'Razvrsti naraščajoče'
|
SORTASC: 'Razvrsti naraščajoče'
|
||||||
SORTDESC: 'Razvrsti padajoče'
|
SORTDESC: 'Razvrsti padajoče'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: Naprej
|
NEXT: Naprej
|
||||||
PREVIOUS: Nazaj
|
PREVIOUS: Nazaj
|
||||||
ConfirmedPasswordField:
|
ConfirmedPasswordField:
|
||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
ATLEAST: 'Geslo mora vsebovati vsaj {min} znakov.'
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
BETWEEN: 'Geslo mora biti dolgo od {min} do {max} znakov.'
|
||||||
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
MAXIMUM: 'Geslo je lahko dolgo največ {max} znakov.'
|
||||||
SHOWONCLICKTITLE: 'Spremeni geslo'
|
SHOWONCLICKTITLE: 'Spremeni geslo'
|
||||||
CreditCardField:
|
CreditCardField:
|
||||||
FIRST: prvič
|
FIRST: prvič
|
||||||
@ -109,191 +112,198 @@ sl:
|
|||||||
PLURALNAME: 'Podatkovni objekti'
|
PLURALNAME: 'Podatkovni objekti'
|
||||||
SINGULARNAME: 'Podatkovni objekt'
|
SINGULARNAME: 'Podatkovni objekt'
|
||||||
Date:
|
Date:
|
||||||
DAY: dan
|
DAY: day
|
||||||
DAYS: dni
|
DAYS: days
|
||||||
HOUR: ura
|
HOUR: hour
|
||||||
HOURS: ure
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: minute
|
MINS: mins
|
||||||
MONTH: mesec
|
MONTH: month
|
||||||
MONTHS: meseci
|
MONTHS: months
|
||||||
SEC: s
|
SEC: sec
|
||||||
SECS: s
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: leto
|
YEAR: year
|
||||||
YEARS: let
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'ni nastavljeno'
|
NOTSET: 'ni nastavljeno'
|
||||||
TODAY: danes
|
TODAY: danes
|
||||||
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
VALIDDATEFORMAT2: 'Prosim, vnesite ustrezno obliko datuma ({format})'
|
||||||
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
||||||
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
||||||
DatetimeField:
|
DatetimeField:
|
||||||
NOTSET: 'Not set'
|
NOTSET: 'Ni nastavljeno'
|
||||||
Director:
|
Director:
|
||||||
INVALID_REQUEST: 'Invalid request'
|
INVALID_REQUEST: 'Napačna zahteva'
|
||||||
DropdownField:
|
DropdownField:
|
||||||
CHOOSE: (Izberi)
|
CHOOSE: (Izberi)
|
||||||
EmailField:
|
EmailField:
|
||||||
VALIDATION: 'Please enter an email address'
|
VALIDATION: 'Prosim, vpišite e-naslov.'
|
||||||
Email_BounceRecord:
|
Email_BounceRecord:
|
||||||
PLURALNAME: 'Seznam zavrnjenih e-sporočil'
|
PLURALNAME: 'Seznam zavrnjenih e-sporočil'
|
||||||
SINGULARNAME: 'Zavrnjeno e-sporočilo'
|
SINGULARNAME: 'Zavrnjeno e-sporočilo'
|
||||||
Enum:
|
Enum:
|
||||||
ANY: Katerikoli
|
ANY: Katerikoli
|
||||||
File:
|
File:
|
||||||
AviType: 'AVI video file'
|
AviType: 'AVI video datoteka'
|
||||||
Content: Vsebina
|
Content: Vsebina
|
||||||
CssType: 'CSS file'
|
CssType: 'CSS datoteka'
|
||||||
DmgType: 'Apple disk image'
|
DmgType: 'Apple disk image'
|
||||||
DocType: 'Word document'
|
DocType: 'Word datoteka'
|
||||||
Filename: 'Ime datoteke'
|
Filename: 'Ime datoteke'
|
||||||
GifType: 'GIF image - good for diagrams'
|
GifType: 'GIF slika - primerna za diagrame'
|
||||||
GzType: 'GZIP compressed file'
|
GzType: 'GZIP compressed file'
|
||||||
HtlType: 'HTML file'
|
HtlType: 'HTML datoteka'
|
||||||
HtmlType: 'HTML file'
|
HtmlType: 'HTML datoteka'
|
||||||
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
|
INVALIDEXTENSION: 'Podaljševanje ni dovoljeno (dovoljeno: {extensions})'
|
||||||
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
|
INVALIDEXTENSIONSHORT: 'Podaljševanje ni dovoljeno.'
|
||||||
IcoType: 'Icon image'
|
IcoType: Ikona
|
||||||
JpgType: 'JPEG image - good for photos'
|
JpgType: 'JPEG slika - primerno za fotografije'
|
||||||
JsType: 'Javascript file'
|
JsType: 'Javascript datoteka'
|
||||||
Mp3Type: 'MP3 audio file'
|
Mp3Type: 'MP3 avdio datoteka'
|
||||||
MpgType: 'MPEG video file'
|
MpgType: 'MPEG video datoteka'
|
||||||
NOFILESIZE: 'Velikost datoteke je 0 bajtov.'
|
NOFILESIZE: 'Velikost datoteke je 0 bajtov.'
|
||||||
NOVALIDUPLOAD: 'Datoteke ni možno naložiti.'
|
NOVALIDUPLOAD: 'Datoteke ni možno naložiti.'
|
||||||
Name: Ime
|
Name: Ime
|
||||||
PLURALNAME: Datoteke
|
PLURALNAME: Datoteke
|
||||||
PdfType: 'Adobe Acrobat PDF file'
|
PdfType: 'Adobe Acrobat PDF datoteka'
|
||||||
PngType: 'PNG image - good general-purpose format'
|
PngType: 'PNG slika - večstransko uporabna oblika'
|
||||||
SINGULARNAME: Datoteka
|
SINGULARNAME: Datoteka
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
TOOLARGE: 'Datoteka je prevelika. Največja dovoljena velikost je {size} '
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
TOOLARGESHORT: 'Velikost datoteke presega {size}'
|
||||||
TiffType: 'Tagged image format'
|
TiffType: 'Tagged image format'
|
||||||
Title: Naslov
|
Title: Naslov
|
||||||
WavType: 'WAV audo file'
|
WavType: 'WAV avdio datoteka'
|
||||||
XlsType: 'Excel spreadsheet'
|
XlsType: 'Excel preglednica'
|
||||||
ZipType: 'ZIP compressed file'
|
ZipType: 'ZIP stisnjena datoteka'
|
||||||
FileIFrameField:
|
FileIFrameField:
|
||||||
ATTACH: 'Attach {type}'
|
ATTACH: 'Pripni {type}'
|
||||||
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
||||||
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
||||||
DELETE: 'Delete {type}'
|
DELETE: 'Izbriši {type}'
|
||||||
DISALLOWEDFILETYPE: 'This filetype is not allowed to be uploaded'
|
DISALLOWEDFILETYPE: 'Datoteke v tem formatu ni mogoče naložiti'
|
||||||
FILE: Datoteka
|
FILE: Datoteka
|
||||||
FROMCOMPUTER: 'Z vašega računalnika'
|
FROMCOMPUTER: 'Z vašega računalnika'
|
||||||
FROMFILESTORE: 'Iz knjižnice datotek'
|
FROMFILESTORE: 'Iz knjižnice datotek'
|
||||||
NOSOURCE: 'Izberite datoteko, ki jo boste pripeli.'
|
NOSOURCE: 'Izberite datoteko, ki jo boste pripeli.'
|
||||||
REPLACE: 'Replace {type}'
|
REPLACE: 'Nadomesti {type}'
|
||||||
FileIFrameField_iframe.ss:
|
FileIFrameField_iframe.ss:
|
||||||
TITLE: 'Image Uploading Iframe'
|
TITLE: 'Image Uploading Iframe'
|
||||||
Filesystem:
|
Filesystem:
|
||||||
SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted'
|
SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted'
|
||||||
Folder:
|
Folder:
|
||||||
PLURALNAME: Folders
|
PLURALNAME: Mape
|
||||||
SINGULARNAME: Folder
|
SINGULARNAME: Mapa
|
||||||
ForgotPasswordEmail.ss:
|
ForgotPasswordEmail.ss:
|
||||||
HELLO: 'Pozdravljeni,'
|
HELLO: 'Pozdravljeni,'
|
||||||
TEXT1: 'Tukaj je vaša'
|
TEXT1: 'Tukaj je vaša'
|
||||||
TEXT2: 'povezava za ponastavitev gesla'
|
TEXT2: 'povezava za ponastavitev gesla'
|
||||||
TEXT3: za
|
TEXT3: za
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: 'Vpišite %s (obvezen podatek).'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
SubmitBtnLabel: Go
|
FIELDISREQUIRED: '{name} is required'
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
SubmitBtnLabel: Naprej
|
||||||
|
VALIDATIONCREDITNUMBER: 'Prosim, preverite, da ste vnesli številko kreditne kartice {number} pravilno.'
|
||||||
VALIDATIONNOTUNIQUE: 'Vpisana vrednost ni unikatna'
|
VALIDATIONNOTUNIQUE: 'Vpisana vrednost ni unikatna'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Vpisani gesli se ne ujemata'
|
VALIDATIONPASSWORDSDONTMATCH: 'Vpisani gesli se ne ujemata'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Vpišite geslo (dvakrat) v za to predvideni polji'
|
VALIDATIONPASSWORDSNOTEMPTY: 'Vpišite geslo (dvakrat) v za to predvideni polji'
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Geslo naj vsebuje vsaj eno črko in vsaj eno številko.'
|
||||||
VALIDATOR: Preverjanje
|
VALIDATOR: Preverjanje
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Prosim, vnesite pravo valuto.'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: brez
|
NONE: brez
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Izbriši
|
||||||
Delete: Delete
|
Delete: Izbriši
|
||||||
UnlinkRelation: Unlink
|
UnlinkRelation: 'Odstrani povezavo'
|
||||||
GridField:
|
GridField:
|
||||||
Add: 'Add {name}'
|
Add: 'Dodaj {name}'
|
||||||
Filter: Filter
|
Filter: Filter
|
||||||
FilterBy: 'Filter by '
|
FilterBy: 'Filter by '
|
||||||
Find: Find
|
Find: Poišči
|
||||||
LEVELUP: 'Level up'
|
LEVELUP: 'Level up'
|
||||||
LinkExisting: 'Link Existing'
|
LinkExisting: 'Poveži na'
|
||||||
NewRecord: 'New %s'
|
NewRecord: 'New %s'
|
||||||
NoItemsFound: 'No items found'
|
NoItemsFound: 'No items found'
|
||||||
PRINTEDAT: 'Printed at'
|
PRINTEDAT: 'Printed at'
|
||||||
PRINTEDBY: 'Printed by'
|
PRINTEDBY: 'Printed by'
|
||||||
PlaceHolder: 'Find {type}'
|
PlaceHolder: 'Poišči {type} '
|
||||||
PlaceHolderWithLabels: 'Find {type} by {name}'
|
PlaceHolderWithLabels: 'Poišči {type} glede na {name}'
|
||||||
RelationSearch: 'Relation search'
|
RelationSearch: 'Relation search'
|
||||||
ResetFilter: Reset
|
ResetFilter: Ponastavi
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'Ni dovoljenja za brisanje'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Prekliči
|
||||||
Create: Create
|
Create: Ustvari
|
||||||
Delete: Delete
|
Delete: Izbriši
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'Ni dovoljenja za brisanje'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Shrani
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Dodaj vlogo za to skupino.'
|
||||||
Code: 'Koda skupine'
|
Code: 'Koda skupine'
|
||||||
DefaultGroupTitleAdministrators: Administratorji
|
DefaultGroupTitleAdministrators: Administratorji
|
||||||
DefaultGroupTitleContentAuthors: 'Avtorji vsebine'
|
DefaultGroupTitleContentAuthors: 'Avtorji vsebine'
|
||||||
Description: Opis
|
Description: Opis
|
||||||
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
|
GroupReminder: 'Če izberete nadrejeno skupino, bo ta skupina prevzela vse vloge nadrejene skupine.'
|
||||||
Locked: 'Zaklenjeno za urejanje?'
|
Locked: 'Zaklenjeno za urejanje?'
|
||||||
NoRoles: 'No roles found'
|
NoRoles: Vloge
|
||||||
PLURALNAME: Groups
|
PLURALNAME: Skupine
|
||||||
Parent: 'Nadrejena skupina'
|
Parent: 'Nadrejena skupina'
|
||||||
RolesAddEditLink: 'Dodaj in uredi vloge'
|
RolesAddEditLink: 'Dodaj in uredi vloge'
|
||||||
SINGULARNAME: Group
|
SINGULARNAME: Skupina
|
||||||
Sort: 'Način razvrščanja'
|
Sort: 'Način razvrščanja'
|
||||||
has_many_Permissions: Dovoljenja
|
has_many_Permissions: Dovoljenja
|
||||||
many_many_Members: Uporabniki
|
many_many_Members: Uporabniki
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
Help1: '<p>Uvozi eno ali več skupin v formatu <em>CSV</ em> (comma-separated values). <small> <a href="#" class="toggle-advanced">Prikaži možnosti za napredno urejanje</ a> </ small> </ p>'
|
Help1: '<p>Uvozi eno ali več skupin v formatu <em>CSV</ em> (comma-separated values). <small> <a href="#" class="toggle-advanced">Prikaži možnosti za napredno urejanje</ a> </ small> </ p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
||||||
ResultCreated: 'Created {count} groups'
|
ResultCreated: 'Ustvarjenih je {count} skupin'
|
||||||
ResultDeleted: 'Število izbrisanih skupin %d'
|
ResultDeleted: 'Število izbrisanih skupin %d'
|
||||||
ResultUpdated: 'Število ponastavljenih skupin %d'
|
ResultUpdated: 'Število ponastavljenih skupin %d'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
||||||
HtmlEditorField:
|
HtmlEditorField:
|
||||||
ADDURL: 'Add URL'
|
ADDURL: 'Dodaj URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Sidro
|
ANCHORVALUE: Sidro
|
||||||
BUTTONINSERT: Insert
|
BUTTONADDURL: 'Add url'
|
||||||
|
BUTTONINSERT: Vstavi
|
||||||
BUTTONINSERTLINK: 'Vstavi povezavo'
|
BUTTONINSERTLINK: 'Vstavi povezavo'
|
||||||
BUTTONREMOVELINK: 'Odstrani povezavo'
|
BUTTONREMOVELINK: 'Odstrani povezavo'
|
||||||
BUTTONUpdate: Update
|
BUTTONUpdate: Osveži
|
||||||
CAPTIONTEXT: Pripis
|
CAPTIONTEXT: Pripis
|
||||||
CSSCLASS: 'Poravnava in slog'
|
CSSCLASS: 'Poravnava in slog'
|
||||||
CSSCLASSCENTER: 'Na sredini, samostojno'
|
CSSCLASSCENTER: 'Na sredini, samostojno'
|
||||||
CSSCLASSLEFT: 'Levo, z oblivajočim besedilom'
|
CSSCLASSLEFT: 'Levo, z oblivajočim besedilom'
|
||||||
CSSCLASSLEFTALONE: 'Na levi, samostojno.'
|
CSSCLASSLEFTALONE: 'Na levi, samostojno.'
|
||||||
CSSCLASSRIGHT: 'Desno, z oblivajočim besedilom'
|
CSSCLASSRIGHT: 'Desno, z oblivajočim besedilom'
|
||||||
DETAILS: Details
|
DETAILS: Podrobno
|
||||||
EMAIL: E-naslov
|
EMAIL: E-naslov
|
||||||
FILE: Datoteka
|
FILE: Datoteka
|
||||||
FOLDER: Mapa
|
FOLDER: Mapa
|
||||||
FROMCMS: 'From the CMS'
|
FROMCMS: 'From the CMS'
|
||||||
FROMCOMPUTER: 'From your computer'
|
FROMCOMPUTER: 'Z vašega računalnika'
|
||||||
FROMWEB: 'From the web'
|
FROMWEB: 'S spleta'
|
||||||
FindInFolder: 'Find in Folder'
|
FindInFolder: 'Poišči v mapi'
|
||||||
IMAGEALT: 'Alternative text (alt)'
|
IMAGEALT: 'Nadomestno besedilo (alt)'
|
||||||
IMAGEALTTEXT: 'Nadomestno besedilo (alt) bo izpisano, kadar slike ne bo možno prikazati'
|
IMAGEALTTEXT: 'Nadomestno besedilo (alt) bo izpisano, kadar slike ne bo možno prikazati'
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
IMAGEALTTEXTDESC: 'Prikaz na bralnikih ali če se slika ne more prikazati'
|
||||||
IMAGEDIMENSIONS: Velikosti
|
IMAGEDIMENSIONS: Velikosti
|
||||||
IMAGEHEIGHTPX: Višina
|
IMAGEHEIGHTPX: Višina
|
||||||
IMAGETITLE: 'Naslov (tooltip) bo izpisan kot dopolnitev k vsebini slike'
|
IMAGETITLE: 'Naslov (tooltip) bo izpisan kot dopolnitev k vsebini slike'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Naslov (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'Za dodatne informacije o sliki'
|
||||||
IMAGEWIDTHPX: Širina
|
IMAGEWIDTHPX: 'Širina'
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Insert Media'
|
||||||
LINK: Povezava
|
LINK: Povezava
|
||||||
LINKANCHOR: 'Sidro na tej strani'
|
LINKANCHOR: 'Sidro na tej strani'
|
||||||
@ -309,50 +319,53 @@ sl:
|
|||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
||||||
UpdateMEDIA: 'Update Media'
|
UpdateMEDIA: 'Update Media'
|
||||||
Image:
|
Image:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Datoteke
|
||||||
SINGULARNAME: File
|
SINGULARNAME: Datoteka
|
||||||
ImageField:
|
ImageField:
|
||||||
IMAGE: Slika
|
IMAGE: Slika
|
||||||
Image_Cached:
|
Image_Cached:
|
||||||
PLURALNAME: Files
|
PLURALNAME: Datoteke
|
||||||
SINGULARNAME: File
|
SINGULARNAME: Datoteka
|
||||||
Image_iframe.ss:
|
Image_iframe.ss:
|
||||||
TITLE: 'Slika "uploading iframe"'
|
TITLE: 'Slika "uploading iframe"'
|
||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
CANT_REORGANISE: 'Nimate dovoljenja za menjavo strani v zgornjem nivoju. Sprememba ni shranjena.'
|
||||||
DELETED: Deleted.
|
DELETED: Izbrisano.
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Dejanja
|
||||||
HELP: Pomoč
|
HELP: Pomoč
|
||||||
PAGETYPE: 'Tip strani:'
|
PAGETYPE: 'Tip strani:'
|
||||||
PERMAGAIN: 'Odjavili ste se iz CMS-vmesnika. Če se želite ponovno prijaviti, vpišite uporabniško ime in geslo.'
|
PERMAGAIN: 'Odjavili ste se iz CMS-vmesnika. Če se želite ponovno prijaviti, vpišite uporabniško ime in geslo.'
|
||||||
PERMALREADY: 'Do tega dela CMS-vmesnika nimate dostopa. Če se želite vpisati z drugim uporabniškim imenom, lahko to storite spodaj'
|
PERMALREADY: 'Do tega dela CMS-vmesnika nimate dostopa. Če se želite vpisati z drugim uporabniškim imenom, lahko to storite spodaj'
|
||||||
PERMDEFAULT: 'Izberite način avtentikacije in vpišite svoje podatke za dostop do CMS-vmesnika.'
|
PERMDEFAULT: 'Izberite način avtentikacije in vpišite svoje podatke za dostop do CMS-vmesnika.'
|
||||||
PLEASESAVE: 'Shranite stran: te strani ne morete posodobiti, ker še ni bila shranjena.'
|
PLEASESAVE: 'Shranite stran: te strani ne morete posodobiti, ker še ni bila shranjena.'
|
||||||
PreviewButton: Preview
|
PreviewButton: Predogled
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Struktura spletnega mesta je bila uspešno spremenjena.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Shranjeno.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: 'Pozdravljeni,'
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: Odjava
|
||||||
LoginAttempt:
|
LoginAttempt:
|
||||||
Email: E-naslov
|
Email: E-naslov
|
||||||
IP: IP-naslov
|
IP: IP-naslov
|
||||||
PLURALNAME: 'Login Attempts'
|
PLURALNAME: 'Poskusi prijave'
|
||||||
SINGULARNAME: 'Login Attempt'
|
SINGULARNAME: 'Poskus prijave'
|
||||||
Status: Stanje
|
Status: Stanje
|
||||||
Member:
|
Member:
|
||||||
ADDGROUP: 'Add group'
|
ADDGROUP: 'Dodaj skupino'
|
||||||
BUTTONCHANGEPASSWORD: 'Spremeni geslo'
|
BUTTONCHANGEPASSWORD: 'Spremeni geslo'
|
||||||
BUTTONLOGIN: Prijava
|
BUTTONLOGIN: Prijava
|
||||||
BUTTONLOGINOTHER: 'Prijavite se z drugim uporabniškim imenom'
|
BUTTONLOGINOTHER: 'Prijavite se z drugim uporabniškim imenom'
|
||||||
BUTTONLOSTPASSWORD: 'Pozabil-a sem geslo'
|
BUTTONLOSTPASSWORD: 'Pozabil-a sem geslo'
|
||||||
CANTEDIT: 'You don''t have permission to do that'
|
CANTEDIT: 'Nimate dovoljenja za to dejanje'
|
||||||
CONFIRMNEWPASSWORD: 'Potrdi novo geslo'
|
CONFIRMNEWPASSWORD: 'Potrdi novo geslo'
|
||||||
CONFIRMPASSWORD: 'Potrdi geslo'
|
CONFIRMPASSWORD: 'Potrdi geslo'
|
||||||
DATEFORMAT: 'Date format'
|
DATEFORMAT: 'Date format'
|
||||||
DefaultAdminFirstname: 'Privzeti administrator'
|
DefaultAdminFirstname: 'Privzeti administrator'
|
||||||
DefaultDateTime: default
|
DefaultDateTime: privzeto
|
||||||
EMAIL: E-naslov
|
EMAIL: E-naslov
|
||||||
EMPTYNEWPASSWORD: 'Polje za vpis novega gesla ne sme ostati prazno. Poskusite ponovno.'
|
EMPTYNEWPASSWORD: 'Polje za vpis novega gesla ne sme ostati prazno. Poskusite ponovno.'
|
||||||
ENTEREMAIL: 'Vpišite e-naslov, na katerega vam bomo nato poslali povezavo za ponastavitev gesla.'
|
ENTEREMAIL: 'Vpišite e-naslov, na katerega vam bomo nato poslali povezavo za ponastavitev gesla.'
|
||||||
@ -362,8 +375,8 @@ sl:
|
|||||||
ERRORWRONGCRED: 'Izgleda, kakor da se uporabniško ime in geslo ne ujemata. Poskusite se ponovno prijaviti.'
|
ERRORWRONGCRED: 'Izgleda, kakor da se uporabniško ime in geslo ne ujemata. Poskusite se ponovno prijaviti.'
|
||||||
FIRSTNAME: Ime
|
FIRSTNAME: Ime
|
||||||
INTERFACELANG: Jezik
|
INTERFACELANG: Jezik
|
||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'Tega gesla ne moremo sprejeti: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'Vpisan(a) si kot: {name}.'
|
||||||
NEWPASSWORD: 'Novo geslo'
|
NEWPASSWORD: 'Novo geslo'
|
||||||
PASSWORD: Geslo
|
PASSWORD: Geslo
|
||||||
PLURALNAME: Uporabniki
|
PLURALNAME: Uporabniki
|
||||||
@ -375,7 +388,7 @@ sl:
|
|||||||
TIMEFORMAT: 'Time format'
|
TIMEFORMAT: 'Time format'
|
||||||
VALIDATIONMEMBEREXISTS: 'Uporabnik s tem %s že obstaja'
|
VALIDATIONMEMBEREXISTS: 'Uporabnik s tem %s že obstaja'
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
||||||
WELCOMEBACK: 'Welcome Back, {firstname}'
|
WELCOMEBACK: 'Ponovno pozdravljeni, {firstname}'
|
||||||
YOUROLDPASSWORD: 'Staro geslo'
|
YOUROLDPASSWORD: 'Staro geslo'
|
||||||
belongs_many_many_Groups: Skupine
|
belongs_many_many_Groups: Skupine
|
||||||
db_LastVisited: 'Datum zadnjega obiska'
|
db_LastVisited: 'Datum zadnjega obiska'
|
||||||
@ -387,46 +400,47 @@ sl:
|
|||||||
MemberAuthenticator:
|
MemberAuthenticator:
|
||||||
TITLE: 'Uporabniški račun'
|
TITLE: 'Uporabniški račun'
|
||||||
MemberDatetimeOptionsetField:
|
MemberDatetimeOptionsetField:
|
||||||
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
AMORPM: 'AM (zjutraj in dopoldan) ali PM (popoldan in zvečer)'
|
||||||
'APPLY FILTER': 'Apply Filter'
|
'APPLY FILTER': 'Apply Filter'
|
||||||
Custom: Custom
|
Custom: Prilagojeno
|
||||||
DATEFORMATBAD: 'Date format is invalid'
|
DATEFORMATBAD: 'Zapis datuma je napačen'
|
||||||
DAYNOLEADING: 'Day of month without leading zero'
|
DAYNOLEADING: 'Dan v mesecu brez zapisa sprednje ničle'
|
||||||
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
DIGITSDECFRACTIONSECOND: 'Ena ali več decimalk, ki predstavljajo sekunde'
|
||||||
FOURDIGITYEAR: 'Four-digit year'
|
FOURDIGITYEAR: 'Štirimesten zapis letnice'
|
||||||
FULLNAMEMONTH: 'Full name of month (e.g. June)'
|
FULLNAMEMONTH: 'Celoten zapis meseca (npr: junij)'
|
||||||
HOURNOLEADING: 'Hour without leading zero'
|
HOURNOLEADING: 'Ura brez zapisa sprednje ničle'
|
||||||
MINUTENOLEADING: 'Minute without leading zero'
|
MINUTENOLEADING: 'Minute brez zapisa sprednje ničle'
|
||||||
MONTHNOLEADING: 'Month digit without leading zero'
|
MONTHNOLEADING: 'Mesec brez zapisa sprednje ničle'
|
||||||
Preview: Preview
|
Preview: Predogled
|
||||||
SHORTMONTH: 'Short name of month (e.g. Jun)'
|
SHORTMONTH: 'Kratek zapis meseca (npr. Jun)'
|
||||||
TOGGLEHELP: 'Toggle formatting help'
|
TOGGLEHELP: 'Toggle formatting help'
|
||||||
TWODIGITDAY: 'Two-digit day of month'
|
TWODIGITDAY: 'Dvomestno število za mesec'
|
||||||
TWODIGITHOUR: 'Two digits of hour (00 through 23)'
|
TWODIGITHOUR: 'Dvomestno število za uro (od 00 do 23)'
|
||||||
TWODIGITMINUTE: 'Two digits of minute (00 through 59)'
|
TWODIGITMINUTE: 'Dvomestno število za minute (od 00 do 59)'
|
||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Dvomesten zapis meseca (01 = Januar)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Dvomesten zapis sekund (od 00 do 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Dvomestno število za letnico'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Uvoz uporabnikov v <em>formatu CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Prikaži možnosti za napredno urejanje.</a></small></p>'
|
Help1: '<p>Uvoz uporabnikov v <em>formatu CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Prikaži možnosti za napredno urejanje.</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
ResultCreated: 'Created {count} members'
|
ResultCreated: 'Ustvarjenih {count} članov'
|
||||||
ResultDeleted: 'Število izbrisanih uporabnikov: %d'
|
ResultDeleted: 'Število izbrisanih uporabnikov: %d'
|
||||||
ResultNone: 'Ni sprememb'
|
ResultNone: 'Ni sprememb'
|
||||||
ResultUpdated: 'Updated {count} members'
|
ResultUpdated: 'Posodobljenih {count} članov'
|
||||||
MemberPassword:
|
MemberPassword:
|
||||||
PLURALNAME: 'Member Passwords'
|
PLURALNAME: 'Gesla uporabnika'
|
||||||
SINGULARNAME: 'Member Password'
|
SINGULARNAME: 'Geslo uporabnika'
|
||||||
MemberTableField: null
|
MemberTableField: null
|
||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Izbriši
|
DELETE: Izbriši
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Uvozi CSV-datoteko'
|
IMPORT: 'Uvozi CSV-datoteko'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Poiščite CSV-datoteko za uvoz'
|
NOCSVFILE: 'Poiščite CSV-datoteko za uvoz'
|
||||||
NOIMPORT: 'Ne najdem ničesar za uvoz'
|
NOIMPORT: 'Ne najdem ničesar za uvoz'
|
||||||
RESET: Reset
|
RESET: Ponastavi
|
||||||
Title: 'Data Models'
|
Title: 'Data Models'
|
||||||
UPDATEDRECORDS: 'Updated {count} records.'
|
UPDATEDRECORDS: 'Updated {count} records.'
|
||||||
ModelAdmin_ImportSpec.ss:
|
ModelAdmin_ImportSpec.ss:
|
||||||
@ -436,37 +450,37 @@ sl:
|
|||||||
IMPORTSPECTITLE: 'Specification for %s'
|
IMPORTSPECTITLE: 'Specification for %s'
|
||||||
ModelAdmin_Tools.ss:
|
ModelAdmin_Tools.ss:
|
||||||
FILTER: Filter
|
FILTER: Filter
|
||||||
IMPORT: Import
|
IMPORT: Uvozi
|
||||||
ModelSidebar.ss:
|
ModelSidebar.ss:
|
||||||
IMPORT_TAB_HEADER: Import
|
IMPORT_TAB_HEADER: Uvozi
|
||||||
SEARCHLISTINGS: Search
|
SEARCHLISTINGS: Išči
|
||||||
MoneyField:
|
MoneyField:
|
||||||
FIELDLABELAMOUNT: Znesek
|
FIELDLABELAMOUNT: Znesek
|
||||||
FIELDLABELCURRENCY: Valuta
|
FIELDLABELCURRENCY: Valuta
|
||||||
NullableField:
|
NullableField:
|
||||||
IsNullLabel: 'Prazno polje'
|
IsNullLabel: 'Prazno polje'
|
||||||
NumericField:
|
NumericField:
|
||||||
VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field'
|
VALIDATION: '''{value}'' ni številka. V to polje lahko vnesete samo številke.'
|
||||||
Pagination:
|
Pagination:
|
||||||
Page: Page
|
Page: Stran
|
||||||
View: View
|
View: Poglej
|
||||||
Permission:
|
Permission:
|
||||||
AdminGroup: Administrator
|
AdminGroup: Administrator
|
||||||
CMS_ACCESS_CATEGORY: 'Dostop do CMS-vmesnika'
|
CMS_ACCESS_CATEGORY: 'Dostop do CMS-vmesnika'
|
||||||
FULLADMINRIGHTS: 'Popolne administratorske pravice'
|
FULLADMINRIGHTS: 'Popolne administratorske pravice'
|
||||||
FULLADMINRIGHTS_HELP: 'Lahko izniči oziroma upravlja z vsemi drugimi dovoljenji.'
|
FULLADMINRIGHTS_HELP: 'Lahko izniči oziroma upravlja z vsemi drugimi dovoljenji.'
|
||||||
PLURALNAME: Permissions
|
PLURALNAME: Dovoljenja
|
||||||
SINGULARNAME: Permission
|
SINGULARNAME: Dovoljenje
|
||||||
PermissionCheckboxSetField:
|
PermissionCheckboxSetField:
|
||||||
AssignedTo: 'assigned to "{title}"'
|
AssignedTo: 'assigned to "{title}"'
|
||||||
FromGroup: 'inherited from group "{title}"'
|
FromGroup: 'Privzeto iz skupine "{title}"'
|
||||||
FromRole: 'inherited from role "{title}"'
|
FromRole: 'inherited from role "{title}"'
|
||||||
FromRoleOnGroup: 'podedovano iz vloge "%s" na skupino "%s"'
|
FromRoleOnGroup: 'podedovano iz vloge "%s" na skupino "%s"'
|
||||||
PermissionRole:
|
PermissionRole:
|
||||||
OnlyAdminCanApply: 'Only admin can apply'
|
OnlyAdminCanApply: 'Only admin can apply'
|
||||||
PLURALNAME: Roles
|
PLURALNAME: Vloge
|
||||||
SINGULARNAME: Role
|
SINGULARNAME: Vloga
|
||||||
Title: Title
|
Title: Naslov
|
||||||
PermissionRoleCode:
|
PermissionRoleCode:
|
||||||
PLURALNAME: 'Permission Role Cods'
|
PLURALNAME: 'Permission Role Cods'
|
||||||
SINGULARNAME: 'Permission Role Code'
|
SINGULARNAME: 'Permission Role Code'
|
||||||
@ -477,8 +491,8 @@ sl:
|
|||||||
VALIDATION: 'Vpišite veljavno telefonsko številko'
|
VALIDATION: 'Vpišite veljavno telefonsko številko'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
ADD: Dodaj
|
ADD: Dodaj
|
||||||
CSVEXPORT: 'Export to CSV'
|
CSVEXPORT: 'Izvozi kot CSV-datoteko'
|
||||||
NOTFOUND: 'No items found'
|
NOTFOUND: 'Ni najdenih predmetov.'
|
||||||
Security:
|
Security:
|
||||||
ALREADYLOGGEDIN: 'Nimate dovoljenja za dostop do te strani. Če imate uporabniško ime z večimi pravicami, se lahko <a href="%s">ponovno prijavite</a>.'
|
ALREADYLOGGEDIN: 'Nimate dovoljenja za dostop do te strani. Če imate uporabniško ime z večimi pravicami, se lahko <a href="%s">ponovno prijavite</a>.'
|
||||||
BUTTONSEND: 'Pošlji povezavo za ponastavitev gesla'
|
BUTTONSEND: 'Pošlji povezavo za ponastavitev gesla'
|
||||||
@ -489,10 +503,10 @@ sl:
|
|||||||
LOGGEDOUT: 'Vaša prijava je bila prekinjena. Če se želite ponovno prijaviti, vpišite svoje podatke.'
|
LOGGEDOUT: 'Vaša prijava je bila prekinjena. Če se želite ponovno prijaviti, vpišite svoje podatke.'
|
||||||
LOGIN: Prijava
|
LOGIN: Prijava
|
||||||
NOTEPAGESECURED: 'Stran je zaščitena. Da bi lahko nadaljevali, vpišite svoje podatke.'
|
NOTEPAGESECURED: 'Stran je zaščitena. Da bi lahko nadaljevali, vpišite svoje podatke.'
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
NOTERESETLINKINVALID: '<p>Povezava za ponastavitev gesla je napačna ali pa je njena veljavnost potekla.</p><p><a href="{link1}">Tukaj</a> lahko zaprosite za novo povezavo or pa zamenjate geslo, ko <a href="{link2}">se prijavite v sistem</a>.</p>'
|
||||||
NOTERESETPASSWORD: 'Vpišite e-naslov, na katerega vam bomo poslali povezavo za ponastavitev gesla'
|
NOTERESETPASSWORD: 'Vpišite e-naslov, na katerega vam bomo poslali povezavo za ponastavitev gesla'
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
PASSWORDSENTHEADER: 'Povezava za ponastavitev gesla je bila poslana na e-naslov ''{email}''.'
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
PASSWORDSENTTEXT: 'Hvala! Povezava za ponastavitev gesla je bila poslana na e-naslov ''{email}'', ki je naveden kot e-naslov vašega računa. '
|
||||||
SecurityAdmin:
|
SecurityAdmin:
|
||||||
ACCESS_HELP: 'Dovoli ogled, dodajanje in urejanje uporabnikov ter dodeljevanje dovoljenj in vlog zanje.'
|
ACCESS_HELP: 'Dovoli ogled, dodajanje in urejanje uporabnikov ter dodeljevanje dovoljenj in vlog zanje.'
|
||||||
APPLY_ROLES: 'Skupinam pripiši vloge'
|
APPLY_ROLES: 'Skupinam pripiši vloge'
|
||||||
@ -500,22 +514,35 @@ sl:
|
|||||||
EDITPERMISSIONS: 'Upravljanje dovoljenj za skupine'
|
EDITPERMISSIONS: 'Upravljanje dovoljenj za skupine'
|
||||||
EDITPERMISSIONS_HELP: 'Možnost upravljanja z dovoljenji in IP-naslovi skupin. Potrebujete dovoljenje za dostop do sklopa "Varnost".'
|
EDITPERMISSIONS_HELP: 'Možnost upravljanja z dovoljenji in IP-naslovi skupin. Potrebujete dovoljenje za dostop do sklopa "Varnost".'
|
||||||
GROUPNAME: 'Ime skupine'
|
GROUPNAME: 'Ime skupine'
|
||||||
IMPORTGROUPS: 'Import groups'
|
IMPORTGROUPS: 'Uvozi skupine'
|
||||||
IMPORTUSERS: 'Import users'
|
IMPORTUSERS: 'Uvozi uporabnike'
|
||||||
MEMBERS: Člani
|
MEMBERS: Člani
|
||||||
MENUTITLE: Security
|
MENUTITLE: Varnost
|
||||||
MemberListCaution: 'Pozor! Če boste odstranili uporabnike s tega seznama, jih boste hkrati odstranili iz vseh drugih skupin in izbrisali iz podatkovne zbirke.'
|
MemberListCaution: 'Pozor! Če boste odstranili uporabnike s tega seznama, jih boste hkrati odstranili iz vseh drugih skupin in izbrisali iz podatkovne zbirke.'
|
||||||
NEWGROUP: 'Nova Skupina'
|
NEWGROUP: 'Nova Skupina'
|
||||||
PERMISSIONS: Dovoljenja
|
PERMISSIONS: Dovoljenja
|
||||||
ROLES: Vloge
|
ROLES: Vloge
|
||||||
ROLESDESCRIPTION: 'Tukaj lahko skupini dodajate vloge. Vloge so logični sklopi dovoljenj, ki jih urejate v zavihku "Vloge".'
|
ROLESDESCRIPTION: 'Tukaj lahko skupini dodajate vloge. Vloge so logični sklopi dovoljenj, ki jih urejate v zavihku "Vloge".'
|
||||||
TABROLES: Vloge
|
TABROLES: Vloge
|
||||||
Users: Users
|
Users: Uporabniki
|
||||||
SecurityAdmin_MemberImportForm:
|
SecurityAdmin_MemberImportForm:
|
||||||
BtnImport: Uvozi
|
BtnImport: Uvozi
|
||||||
FileFieldLabel: 'CSV-datoteka <small>(Samo končnica: *.csv)</small>'
|
FileFieldLabel: 'CSV-datoteka <small>(Samo končnica: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
Edit: Edit
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
|
Edit: Uredi
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Slika ni naložena'
|
NOUPLOAD: 'Slika ni naložena'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -528,49 +555,54 @@ sl:
|
|||||||
TableListField:
|
TableListField:
|
||||||
CSVEXPORT: 'Izvozi kot CSV-datoteko'
|
CSVEXPORT: 'Izvozi kot CSV-datoteko'
|
||||||
PRINT: Natisni
|
PRINT: Natisni
|
||||||
Print: Print
|
Print: Natisni
|
||||||
SELECT: 'Izberi:'
|
SELECT: 'Izberi:'
|
||||||
TableListField.ss:
|
TableListField.ss:
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'Ni najdenih predmetov.'
|
||||||
SORTASC: 'Razvrsti naraščajoče'
|
SORTASC: 'Razvrsti naraščajoče'
|
||||||
SORTDESC: 'Razvrsti padajoče'
|
SORTDESC: 'Razvrsti padajoče'
|
||||||
TableListField_PageControls.ss:
|
TableListField_PageControls.ss:
|
||||||
DISPLAYING: Displaying
|
DISPLAYING: Prikaz
|
||||||
OF: of
|
OF: od
|
||||||
TO: to
|
TO: za
|
||||||
VIEWFIRST: 'Na začetek'
|
VIEWFIRST: 'Na začetek'
|
||||||
VIEWLAST: 'Na konec'
|
VIEWLAST: 'Na konec'
|
||||||
VIEWNEXT: Naslednja
|
VIEWNEXT: Naslednja
|
||||||
VIEWPREVIOUS: Prejšnja
|
VIEWPREVIOUS: Prejšnja
|
||||||
TimeField:
|
TimeField:
|
||||||
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
|
VALIDATEFORMAT: 'Prosim, vnesite čas v ustrezni obliki ({format})'
|
||||||
ToggleField:
|
ToggleField:
|
||||||
LESS: manj
|
LESS: manj
|
||||||
MORE: več
|
MORE: več
|
||||||
UploadField:
|
UploadField:
|
||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Pripni datoteko'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Pripni datoteke'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Pripni datoteke'
|
||||||
DELETE: 'Delete from files'
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DOEDIT: Save
|
DELETE: 'Izbriši iz zbirke naloženih datotek'
|
||||||
DROPFILE: 'drop a file'
|
DELETEINFO: 'Dokončno izbriši datoteko iz knjižnjice datotek'
|
||||||
DROPFILES: 'drop files'
|
DOEDIT: Shrani
|
||||||
Dimensions: Dimensions
|
DROPFILE: 'Spusti datoteko'
|
||||||
EDIT: Edit
|
DROPFILES: 'Spusti datoteko'
|
||||||
EDITINFO: 'Edit this file'
|
Dimensions: Dimenzije
|
||||||
FIELDNOTSET: 'File information not found'
|
EDIT: Uredi
|
||||||
FROMCOMPUTER: 'From your computer'
|
EDITINFO: 'Uredi datoteko'
|
||||||
FROMCOMPUTERINFO: 'Select from files'
|
FIELDNOTSET: 'Pred uvozom počisti bazo podatkov'
|
||||||
FROMFILES: 'From files'
|
FROMCOMPUTER: 'Z vašega računalnika'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
FROMCOMPUTERINFO: 'Izberite iz zbirke naloženih datotek'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
FROMFILES: 'Iz zbirke naloženih datotek'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
HOTLINKINFO: 'Info: Ta slika bo dostopna prek povezave. Prosim, preverite, da imate dovoljenje avtorja za tako uporabo.'
|
||||||
REMOVE: Remove
|
MAXNUMBEROFFILES: 'Doseženo je največje možno število datotek: {count}'
|
||||||
REMOVEERROR: 'Error removing file'
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
MAXNUMBEROFFILESSHORT: 'Naložite lahko največ {count} datotek'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
|
REMOVE: Odstrani
|
||||||
|
REMOVEERROR: 'Napaka pri brisanju datoteke'
|
||||||
|
REMOVEINFO: 'Odstrani datoteko, vendar je ne izbriši iz knjižnjice datotek'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Shranjeno
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Verzije
|
has_many_Versions: Verzije
|
||||||
|
74
lang/sr.yml
74
lang/sr.yml
@ -2,6 +2,7 @@ sr:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Нова фасцикла'
|
NEWFOLDER: 'Нова фасцикла'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Прво достављено'
|
CREATED: 'Прво достављено'
|
||||||
DIM: Димензије
|
DIM: Димензије
|
||||||
@ -59,9 +60,9 @@ sr:
|
|||||||
ERRORNOTADMIN: 'Овај корисник није администратор.'
|
ERRORNOTADMIN: 'Овај корисник није администратор.'
|
||||||
ERRORNOTREC: 'То корисничко име / лозинка није препознато'
|
ERRORNOTREC: 'То корисничко име / лозинка није препознато'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ sr:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Сачувај
|
SAVE: Сачувај
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ sr:
|
|||||||
HELLO: Здраво
|
HELLO: Здраво
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -92,7 +95,7 @@ sr:
|
|||||||
SORTDESC: 'Сортирају у опадајућем поретку'
|
SORTDESC: 'Сортирају у опадајућем поретку'
|
||||||
ComplexTableField_popup.ss:
|
ComplexTableField_popup.ss:
|
||||||
NEXT: Следеће
|
NEXT: Следеће
|
||||||
PREVIOUS: Претходно
|
PREVIOUS: 'Претходно'
|
||||||
ConfirmedPasswordField:
|
ConfirmedPasswordField:
|
||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
ATLEAST: 'Passwords must be at least {min} characters long.'
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
||||||
@ -109,20 +112,21 @@ sr:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: дан
|
DAY: day
|
||||||
DAYS: дана
|
DAYS: days
|
||||||
HOUR: сат
|
HOUR: hour
|
||||||
HOURS: сати
|
HOURS: hours
|
||||||
MIN: минут
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: минута
|
MIN: min
|
||||||
MONTH: месец
|
MINS: mins
|
||||||
MONTHS: месеци
|
MONTH: month
|
||||||
SEC: секунда
|
MONTHS: months
|
||||||
SECS: секунди
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: година
|
YEAR: year
|
||||||
YEARS: година
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: данас
|
TODAY: данас
|
||||||
@ -198,7 +202,8 @@ sr:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s је захтевано'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Унета вредност није јединствена'
|
VALIDATIONNOTUNIQUE: 'Унета вредност није јединствена'
|
||||||
@ -208,6 +213,7 @@ sr:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: без
|
NONE: без
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ sr:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ sr:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ sr:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Уметни линк'
|
BUTTONINSERTLINK: 'Уметни линк'
|
||||||
BUTTONREMOVELINK: 'Уклони линк'
|
BUTTONREMOVELINK: 'Уклони линк'
|
||||||
@ -331,7 +341,10 @@ sr:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ sr:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ sr:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ sr:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Ниједна слика није достављена'
|
NOUPLOAD: 'Ниједна слика није достављена'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ sr:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ sr:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
70
lang/sv.yml
70
lang/sv.yml
@ -2,6 +2,7 @@ sv:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Ny mapp'
|
NEWFOLDER: 'Ny mapp'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Först uppladdad'
|
CREATED: 'Först uppladdad'
|
||||||
DIM: Dimensioner
|
DIM: Dimensioner
|
||||||
@ -59,9 +60,9 @@ sv:
|
|||||||
ERRORNOTADMIN: 'Den användaren är inte administratör'
|
ERRORNOTADMIN: 'Den användaren är inte administratör'
|
||||||
ERRORNOTREC: 'Användarnamnet / lösenordet hittas inte'
|
ERRORNOTREC: 'Användarnamnet / lösenordet hittas inte'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Falskt
|
|
||||||
ANY: 'Vilken som helst'
|
ANY: 'Vilken som helst'
|
||||||
1: Sant
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Laddar...
|
LOADING: Laddar...
|
||||||
REQUIREJS: 'CMS:et kräver att du har javascript aktiverat.'
|
REQUIREJS: 'CMS:et kräver att du har javascript aktiverat.'
|
||||||
@ -70,6 +71,8 @@ sv:
|
|||||||
ACCESSALLINTERFACES: 'Tillgång till alla CMS-sektioner'
|
ACCESSALLINTERFACES: 'Tillgång till alla CMS-sektioner'
|
||||||
ACCESSALLINTERFACESHELP: 'Ersätter mer specifika behörighetsinställningar.'
|
ACCESSALLINTERFACESHELP: 'Ersätter mer specifika behörighetsinställningar.'
|
||||||
SAVE: Spara
|
SAVE: Spara
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'Min Profil'
|
MENUTITLE: 'Min Profil'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ sv:
|
|||||||
HELLO: Hej
|
HELLO: Hej
|
||||||
PASSWORD: Lösenord
|
PASSWORD: Lösenord
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Falskt
|
NOANSWER: 'False'
|
||||||
- Sant
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Stäng popup'
|
CLOSEPOPUP: 'Stäng popup'
|
||||||
SUCCESSADD2: 'Lade till {name}'
|
SUCCESSADD2: 'Lade till {name}'
|
||||||
@ -109,20 +112,21 @@ sv:
|
|||||||
PLURALNAME: Dataobjekt
|
PLURALNAME: Dataobjekt
|
||||||
SINGULARNAME: Dataobjekt
|
SINGULARNAME: Dataobjekt
|
||||||
Date:
|
Date:
|
||||||
DAY: dag
|
DAY: day
|
||||||
DAYS: dagar
|
DAYS: days
|
||||||
HOUR: timme
|
HOUR: hour
|
||||||
HOURS: timmar
|
HOURS: hours
|
||||||
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MIN: min
|
MIN: min
|
||||||
MINS: min
|
MINS: mins
|
||||||
MONTH: 'månad '
|
MONTH: month
|
||||||
MONTHS: 'månader '
|
MONTHS: months
|
||||||
SEC: sek
|
SEC: sec
|
||||||
SECS: sekunder
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} sen'
|
TIMEDIFFAGO: '{difference} sen'
|
||||||
TIMEDIFFIN: 'om {difference}'
|
TIMEDIFFIN: 'om {difference}'
|
||||||
YEAR: år
|
YEAR: year
|
||||||
YEARS: år
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'inte angivet'
|
NOTSET: 'inte angivet'
|
||||||
TODAY: 'i dag'
|
TODAY: 'i dag'
|
||||||
@ -198,7 +202,8 @@ sv:
|
|||||||
TEXT2: 'Återställningslänk för lösenord'
|
TEXT2: 'Återställningslänk för lösenord'
|
||||||
TEXT3: för
|
TEXT3: för
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s är obligatorisk'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Kör
|
SubmitBtnLabel: Kör
|
||||||
VALIDATIONCREDITNUMBER: 'Kontrollera att du angav kortnummret {number} rätt'
|
VALIDATIONCREDITNUMBER: 'Kontrollera att du angav kortnummret {number} rätt'
|
||||||
VALIDATIONNOTUNIQUE: 'Det angivna värdet är inte unikt'
|
VALIDATIONNOTUNIQUE: 'Det angivna värdet är inte unikt'
|
||||||
@ -208,6 +213,7 @@ sv:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Var vänlig ange en korrekt valuta'
|
VALIDCURRENCY: 'Var vänlig ange en korrekt valuta'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ingen
|
NONE: ingen
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Radera
|
DELETE_DESCRIPTION: Radera
|
||||||
@ -230,6 +236,7 @@ sv:
|
|||||||
ResetFilter: Rensa
|
ResetFilter: Rensa
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'Rättighet för att radera saknas'
|
DeletePermissionsFailure: 'Rättighet för att radera saknas'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Avbryt
|
CancelBtn: Avbryt
|
||||||
Create: Skapa
|
Create: Skapa
|
||||||
@ -237,7 +244,9 @@ sv:
|
|||||||
DeletePermissionsFailure: 'Rättighet för att radera saknas'
|
DeletePermissionsFailure: 'Rättighet för att radera saknas'
|
||||||
Deleted: 'Raderade %s %s'
|
Deleted: 'Raderade %s %s'
|
||||||
Save: Spara
|
Save: Spara
|
||||||
Saved: 'Sparade %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Lägg till roll för den här gruppen'
|
AddRole: 'Lägg till roll för den här gruppen'
|
||||||
@ -267,6 +276,7 @@ sv:
|
|||||||
ADDURL: 'Lägg till URL'
|
ADDURL: 'Lägg till URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaljer & dimensioner'
|
ADJUSTDETAILSDIMENSIONS: 'Detaljer & dimensioner'
|
||||||
ANCHORVALUE: Ankare
|
ANCHORVALUE: Ankare
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Infoga
|
BUTTONINSERT: Infoga
|
||||||
BUTTONINSERTLINK: 'Infoga länk'
|
BUTTONINSERTLINK: 'Infoga länk'
|
||||||
BUTTONREMOVELINK: 'Ta bort länk'
|
BUTTONREMOVELINK: 'Ta bort länk'
|
||||||
@ -321,7 +331,7 @@ sv:
|
|||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
CANT_REORGANISE: 'Du har inte tillstånd att ändra sidor på toppnivå. Dina ändringar har inte sparats.'
|
CANT_REORGANISE: 'Du har inte tillstånd att ändra sidor på toppnivå. Dina ändringar har inte sparats.'
|
||||||
DELETED: Raderad
|
DELETED: Raderad
|
||||||
DropdownBatchActionsDefault: Åtgärder
|
DropdownBatchActionsDefault: 'Åtgärder'
|
||||||
HELP: Hjälp
|
HELP: Hjälp
|
||||||
PAGETYPE: Sidtyp
|
PAGETYPE: Sidtyp
|
||||||
PERMAGAIN: 'Du har blivit utloggad. Om du vill logga in igen anger du dina uppgifter nedan.'
|
PERMAGAIN: 'Du har blivit utloggad. Om du vill logga in igen anger du dina uppgifter nedan.'
|
||||||
@ -331,6 +341,9 @@ sv:
|
|||||||
PreviewButton: Förhandsgranska
|
PreviewButton: Förhandsgranska
|
||||||
REORGANISATIONSUCCESSFUL: 'Omorganisationen av sidträdet luyckades.'
|
REORGANISATIONSUCCESSFUL: 'Omorganisationen av sidträdet luyckades.'
|
||||||
SAVEDUP: Sparad.
|
SAVEDUP: Sparad.
|
||||||
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
VersionUnknown: okänd
|
VersionUnknown: okänd
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hej
|
Hello: Hej
|
||||||
@ -407,6 +420,7 @@ sv:
|
|||||||
TWODIGITMONTH: 'Tvåsiffrig månad (01 = januari osv)'
|
TWODIGITMONTH: 'Tvåsiffrig månad (01 = januari osv)'
|
||||||
TWODIGITSECOND: 'Två siffror för sekund (00 till 59)'
|
TWODIGITSECOND: 'Två siffror för sekund (00 till 59)'
|
||||||
TWODIGITYEAR: 'Två siffror för år'
|
TWODIGITYEAR: 'Två siffror för år'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Importera användare i <em>CSV-format</em> (kommaseparerade värden). <small><a href="#" class="toggle-advanced">Visa avancerat</a></small></p>'
|
Help1: '<p>Importera användare i <em>CSV-format</em> (kommaseparerade värden). <small><a href="#" class="toggle-advanced">Visa avancerat</a></small></p>'
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Avancerat </h4>\\n<ul>\\n<li>Tillåtna kolumner: <em>%s</em></li>\\n<li>Existerade användare matchas av deras unika <em>kod</em>-attribut och uppdateras med alla nya värden från den importerade filen</li>\\n<li>Grupper kan anges i <em>Grupp</em>-kolumnen. Grupper identiferas av deras <em>Code</em>-attribut. Anges flera grupper separeras dessa med kommatecken. Existerande användarrättigheter till grupperna tas inte bort.</li>\\n</ul>\\n</div>"
|
Help2: "<div class=\"advanced\">\\n<h4>Avancerat </h4>\\n<ul>\\n<li>Tillåtna kolumner: <em>%s</em></li>\\n<li>Existerade användare matchas av deras unika <em>kod</em>-attribut och uppdateras med alla nya värden från den importerade filen</li>\\n<li>Grupper kan anges i <em>Grupp</em>-kolumnen. Grupper identiferas av deras <em>Code</em>-attribut. Anges flera grupper separeras dessa med kommatecken. Existerande användarrättigheter till grupperna tas inte bort.</li>\\n</ul>\\n</div>"
|
||||||
@ -421,7 +435,7 @@ sv:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Radera
|
DELETE: Radera
|
||||||
DELETEDRECORDS: 'Raderade {count} poster.'
|
DELETEDRECORDS: 'Raderade {count} poster.'
|
||||||
EMPTYBEFOREIMPORT: 'Töm databasen före import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Importera från CSV'
|
IMPORT: 'Importera från CSV'
|
||||||
IMPORTEDRECORDS: 'Importerade {count} poster.'
|
IMPORTEDRECORDS: 'Importerade {count} poster.'
|
||||||
NOCSVFILE: 'Var god och bläddra efter en CSV-fil för import'
|
NOCSVFILE: 'Var god och bläddra efter en CSV-fil för import'
|
||||||
@ -515,7 +529,20 @@ sv:
|
|||||||
BtnImport: 'Importera från CSV'
|
BtnImport: 'Importera från CSV'
|
||||||
FileFieldLabel: 'CSV-fil <small>(Tillåtna filtyper: *.csv)</small>'
|
FileFieldLabel: 'CSV-fil <small>(Tillåtna filtyper: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Ändra
|
Edit: Ändra
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Ingen bild uppladdad'
|
NOUPLOAD: 'Ingen bild uppladdad'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ sv:
|
|||||||
ATTACHFILE: 'Bifoga en fil'
|
ATTACHFILE: 'Bifoga en fil'
|
||||||
ATTACHFILES: 'Bifoga fil(er)'
|
ATTACHFILES: 'Bifoga fil(er)'
|
||||||
AttachFile: 'Bifoga fil(er)'
|
AttachFile: 'Bifoga fil(er)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Radera från filer'
|
DELETE: 'Radera från filer'
|
||||||
DELETEINFO: 'Ta bort filen permanent från filarkivet'
|
DELETEINFO: 'Ta bort filen permanent från filarkivet'
|
||||||
DOEDIT: Spara
|
DOEDIT: Spara
|
||||||
@ -565,12 +594,15 @@ sv:
|
|||||||
FROMFILES: 'Från filer'
|
FROMFILES: 'Från filer'
|
||||||
HOTLINKINFO: 'Information: Denna bild kommer att bli länkad till. Var god kontrollera med ägaren till sajten att du har tillåtelse att länka till bilden.'
|
HOTLINKINFO: 'Information: Denna bild kommer att bli länkad till. Var god kontrollera med ägaren till sajten att du har tillåtelse att länka till bilden.'
|
||||||
MAXNUMBEROFFILES: 'Max antal ({count}) filer överstiget.'
|
MAXNUMBEROFFILES: 'Max antal ({count}) filer överstiget.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Kan bara ladda upp {count} files'
|
MAXNUMBEROFFILESSHORT: 'Kan bara ladda upp {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: 'Ta bort'
|
REMOVE: 'Ta bort'
|
||||||
REMOVEERROR: 'Fel när filen skulle tas bort'
|
REMOVEERROR: 'Fel när filen skulle tas bort'
|
||||||
REMOVEINFO: 'Ta bort filen härifrån, men radera den inte från filarkivet'
|
REMOVEINFO: 'Ta bort filen härifrån, men radera den inte från filarkivet'
|
||||||
STARTALL: 'Starta alla'
|
STARTALL: 'Starta alla'
|
||||||
STARTALLINFO: 'Starta all uppladdningar'
|
STARTALLINFO: 'Starta all uppladdningar'
|
||||||
Saved: Sparad
|
Saved: Sparad
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versioner
|
has_many_Versions: Versioner
|
||||||
|
88
lang/th.yml
88
lang/th.yml
@ -2,6 +2,7 @@ th:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: สร้างโฟลเดอร์ใหม่
|
NEWFOLDER: สร้างโฟลเดอร์ใหม่
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: อัพโหลดครั้งแรก
|
CREATED: อัพโหลดครั้งแรก
|
||||||
DIM: สัดส่วนกว้างยาว
|
DIM: สัดส่วนกว้างยาว
|
||||||
@ -39,8 +40,8 @@ th:
|
|||||||
COLOREDEXAMPLE: 'blue text'
|
COLOREDEXAMPLE: 'blue text'
|
||||||
EMAILLINK: ลิงก์อีเมล
|
EMAILLINK: ลิงก์อีเมล
|
||||||
EMAILLINKDESCRIPTION: สร้างลิงค์ให้กับที่อยู่อีเมล์
|
EMAILLINKDESCRIPTION: สร้างลิงค์ให้กับที่อยู่อีเมล์
|
||||||
IMAGE: รูปภาพ
|
IMAGE: 'รูปภาพ'
|
||||||
IMAGEDESCRIPTION: แสดงรูปภาพในหน้าบทความของคุณ
|
IMAGEDESCRIPTION: 'แสดงรูปภาพในหน้าบทความของคุณ'
|
||||||
ITALIC: ข้อความตัวเอียง
|
ITALIC: ข้อความตัวเอียง
|
||||||
ITALICEXAMPLE: ตัวเอียง
|
ITALICEXAMPLE: ตัวเอียง
|
||||||
LINK: ลิงก์เว็บไซต์
|
LINK: ลิงก์เว็บไซต์
|
||||||
@ -59,9 +60,9 @@ th:
|
|||||||
ERRORNOTADMIN: ผู้ใช้งานรายดังกล่าวไม่ใช่ผู้ดูแลระบบ
|
ERRORNOTADMIN: ผู้ใช้งานรายดังกล่าวไม่ใช่ผู้ดูแลระบบ
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: ไม่ตกลง
|
|
||||||
ANY: ใดๆ
|
ANY: ใดๆ
|
||||||
1: ตกลง
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: กำลังโหลด...
|
LOADING: กำลังโหลด...
|
||||||
REQUIREJS: 'CMS ตัวนี้จำเป็นต้องมีการเปิดใช้งานจาวาสคริปต์'
|
REQUIREJS: 'CMS ตัวนี้จำเป็นต้องมีการเปิดใช้งานจาวาสคริปต์'
|
||||||
@ -70,6 +71,8 @@ th:
|
|||||||
ACCESSALLINTERFACES: 'เข้าถึงพื้นที่ในส่วนของ CMS ทั้งหมด'
|
ACCESSALLINTERFACES: 'เข้าถึงพื้นที่ในส่วนของ CMS ทั้งหมด'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: บันทึก
|
SAVE: บันทึก
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ th:
|
|||||||
HELLO: สวัสดี
|
HELLO: สวัสดี
|
||||||
PASSWORD: รหัสผ่าน
|
PASSWORD: รหัสผ่าน
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- ไม่ตกลง
|
NOANSWER: 'False'
|
||||||
- ตกลง
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: ปิดหน้าต่างป๊อปอัพ
|
CLOSEPOPUP: ปิดหน้าต่างป๊อปอัพ
|
||||||
SUCCESSADD2: 'เพิ่มแล้ว {name}'
|
SUCCESSADD2: 'เพิ่มแล้ว {name}'
|
||||||
@ -109,20 +112,21 @@ th:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: วัน
|
DAY: day
|
||||||
DAYS: วัน
|
DAYS: days
|
||||||
HOUR: ชั่วโมง
|
HOUR: hour
|
||||||
HOURS: ชั่วโมง
|
HOURS: hours
|
||||||
MIN: นาที
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: นาที
|
MIN: min
|
||||||
MONTH: เดือน
|
MINS: mins
|
||||||
MONTHS: เดือน
|
MONTH: month
|
||||||
SEC: วินาที
|
MONTHS: months
|
||||||
SECS: วินาที
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ปี
|
YEAR: year
|
||||||
YEARS: ปี
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: ไม่ต้องตั้งค่า
|
NOTSET: ไม่ต้องตั้งค่า
|
||||||
TODAY: วันนี้
|
TODAY: วันนี้
|
||||||
@ -198,7 +202,8 @@ th:
|
|||||||
TEXT2: ลิงค์รีเซ็ตรหัสผ่าน
|
TEXT2: ลิงค์รีเซ็ตรหัสผ่าน
|
||||||
TEXT3: สำหรับ
|
TEXT3: สำหรับ
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s เป็นข้อมูลที่จำเป็น'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: ไป
|
SubmitBtnLabel: ไป
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ th:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: กรุณากรอกสกุลเงินที่ถูกต้อง
|
VALIDCURRENCY: กรุณากรอกสกุลเงินที่ถูกต้อง
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: ไม่มี
|
NONE: ไม่มี
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: ลบ
|
DELETE_DESCRIPTION: ลบ
|
||||||
@ -230,6 +236,7 @@ th:
|
|||||||
ResetFilter: รีเซ็ต
|
ResetFilter: รีเซ็ต
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: ไม่ได้รับสิทธิ์ให้ลบได้
|
DeletePermissionsFailure: ไม่ได้รับสิทธิ์ให้ลบได้
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: ยกเลิก
|
CancelBtn: ยกเลิก
|
||||||
Create: สร้าง
|
Create: สร้าง
|
||||||
@ -237,7 +244,9 @@ th:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'ลบ %s %s แล้ว'
|
Deleted: 'ลบ %s %s แล้ว'
|
||||||
Save: บันทึก
|
Save: บันทึก
|
||||||
Saved: 'บันทึกแล้ว %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: เพิ่มบทบาทให้กับกลุ่มนี้
|
AddRole: เพิ่มบทบาทให้กับกลุ่มนี้
|
||||||
@ -267,11 +276,12 @@ th:
|
|||||||
ADDURL: 'เพิ่ม URL'
|
ADDURL: 'เพิ่ม URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'รายละเอียด & ขนาดสัดส่วน'
|
ADJUSTDETAILSDIMENSIONS: 'รายละเอียด & ขนาดสัดส่วน'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: แทรก
|
BUTTONINSERT: แทรก
|
||||||
BUTTONINSERTLINK: แทรกลิงค์
|
BUTTONINSERTLINK: แทรกลิงค์
|
||||||
BUTTONREMOVELINK: ลบลิงค์
|
BUTTONREMOVELINK: ลบลิงค์
|
||||||
BUTTONUpdate: อัพเดท
|
BUTTONUpdate: อัพเดท
|
||||||
CAPTIONTEXT: ข้อความคำอธิบายใต้ภาพ
|
CAPTIONTEXT: 'ข้อความคำอธิบายใต้ภาพ'
|
||||||
CSSCLASS: 'การจัดวาง / รูปแบบ'
|
CSSCLASS: 'การจัดวาง / รูปแบบ'
|
||||||
CSSCLASSCENTER: 'Centered, on its own.'
|
CSSCLASSCENTER: 'Centered, on its own.'
|
||||||
CSSCLASSLEFT: 'On the left, with text wrapping around.'
|
CSSCLASSLEFT: 'On the left, with text wrapping around.'
|
||||||
@ -312,7 +322,7 @@ th:
|
|||||||
PLURALNAME: ไฟล์
|
PLURALNAME: ไฟล์
|
||||||
SINGULARNAME: ไฟล์
|
SINGULARNAME: ไฟล์
|
||||||
ImageField:
|
ImageField:
|
||||||
IMAGE: รูปภาพ
|
IMAGE: 'รูปภาพ'
|
||||||
Image_Cached:
|
Image_Cached:
|
||||||
PLURALNAME: ไฟล์
|
PLURALNAME: ไฟล์
|
||||||
SINGULARNAME: ไฟล์
|
SINGULARNAME: ไฟล์
|
||||||
@ -331,7 +341,10 @@ th:
|
|||||||
PreviewButton: ดูตัวอย่าง
|
PreviewButton: ดูตัวอย่าง
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: บันทึกแล้ว
|
SAVEDUP: บันทึกแล้ว
|
||||||
VersionUnknown: ไม่ทราบ
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: สวัสดีค่ะ
|
Hello: สวัสดีค่ะ
|
||||||
LOGOUT: ออกจากระบบ
|
LOGOUT: ออกจากระบบ
|
||||||
@ -361,7 +374,7 @@ th:
|
|||||||
ERRORPASSWORDNOTMATCH: 'รหัสผ่านไม่ตรงกัน กรุณาลองใหม่อีกครั้ง'
|
ERRORPASSWORDNOTMATCH: 'รหัสผ่านไม่ตรงกัน กรุณาลองใหม่อีกครั้ง'
|
||||||
ERRORWRONGCRED: 'That doesn''t seem to be the right e-mail address or password. Please try again.'
|
ERRORWRONGCRED: 'That doesn''t seem to be the right e-mail address or password. Please try again.'
|
||||||
FIRSTNAME: ชื่อจริง
|
FIRSTNAME: ชื่อจริง
|
||||||
INTERFACELANG: ภาษาสำหรับหน้าจอติดต่อผู้ใช้
|
INTERFACELANG: 'ภาษาสำหรับหน้าจอติดต่อผู้ใช้'
|
||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'You''re logged in as {name}.'
|
||||||
NEWPASSWORD: รหัสผ่านใหม่
|
NEWPASSWORD: รหัสผ่านใหม่
|
||||||
@ -379,7 +392,7 @@ th:
|
|||||||
YOUROLDPASSWORD: รหัสผ่านเก่าของคุณ
|
YOUROLDPASSWORD: รหัสผ่านเก่าของคุณ
|
||||||
belongs_many_many_Groups: กลุ่ม
|
belongs_many_many_Groups: กลุ่ม
|
||||||
db_LastVisited: วันที่เยี่ยมชมล่าสุด
|
db_LastVisited: วันที่เยี่ยมชมล่าสุด
|
||||||
db_Locale: ภาษาสำหรับส่วนอินเทอร์เฟซ
|
db_Locale: 'ภาษาสำหรับส่วนอินเทอร์เฟซ'
|
||||||
db_LockedOutUntil: ออกจากระบบจนกว่า
|
db_LockedOutUntil: ออกจากระบบจนกว่า
|
||||||
db_NumVisit: จำนวนการเข้าชม
|
db_NumVisit: จำนวนการเข้าชม
|
||||||
db_Password: รหัสผ่าน
|
db_Password: รหัสผ่าน
|
||||||
@ -407,6 +420,7 @@ th:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ th:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: ลบ
|
DELETE: ลบ
|
||||||
DELETEDRECORDS: 'ลบแล้ว {count} รายการ'
|
DELETEDRECORDS: 'ลบแล้ว {count} รายการ'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'นำเข้าจากไฟล์ CSV'
|
IMPORT: 'นำเข้าจากไฟล์ CSV'
|
||||||
IMPORTEDRECORDS: 'นำเข้าแล้ว {count} รายการ'
|
IMPORTEDRECORDS: 'นำเข้าแล้ว {count} รายการ'
|
||||||
NOCSVFILE: 'กรุณาเปิดดูเพื่อเลือกไฟล์ CSV สำหรับนำเข้าข้อมูล'
|
NOCSVFILE: 'กรุณาเปิดดูเพื่อเลือกไฟล์ CSV สำหรับนำเข้าข้อมูล'
|
||||||
@ -503,7 +517,7 @@ th:
|
|||||||
IMPORTGROUPS: นำเข้ากลุ่ม
|
IMPORTGROUPS: นำเข้ากลุ่ม
|
||||||
IMPORTUSERS: นำเข้าผู้ใช้งาน
|
IMPORTUSERS: นำเข้าผู้ใช้งาน
|
||||||
MEMBERS: สมาชิก
|
MEMBERS: สมาชิก
|
||||||
MENUTITLE: ความปลอดภัย
|
MENUTITLE: 'ความปลอดภัย'
|
||||||
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
|
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
|
||||||
NEWGROUP: สร้างกลุ่มใหม่
|
NEWGROUP: สร้างกลุ่มใหม่
|
||||||
PERMISSIONS: สิทธิ์อนุญาต
|
PERMISSIONS: สิทธิ์อนุญาต
|
||||||
@ -515,9 +529,22 @@ th:
|
|||||||
BtnImport: นำเข้า
|
BtnImport: นำเข้า
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: แก้ไข
|
Edit: แก้ไข
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: ยังไม่มีรูปภาพที่ถูกอัพโหลด
|
NOUPLOAD: 'ยังไม่มีรูปภาพที่ถูกอัพโหลด'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
TABMAIN: หลัก
|
TABMAIN: หลัก
|
||||||
TableField:
|
TableField:
|
||||||
@ -551,6 +578,8 @@ th:
|
|||||||
ATTACHFILE: แนบไฟล์
|
ATTACHFILE: แนบไฟล์
|
||||||
ATTACHFILES: แนบไฟล์
|
ATTACHFILES: แนบไฟล์
|
||||||
AttachFile: แนบไฟล์
|
AttachFile: แนบไฟล์
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: ลบจากไฟล์
|
DELETE: ลบจากไฟล์
|
||||||
DELETEINFO: ลบไฟล์นี้ออกจากพื้นที่จัดเก็บไฟล์อย่างถาวร
|
DELETEINFO: ลบไฟล์นี้ออกจากพื้นที่จัดเก็บไฟล์อย่างถาวร
|
||||||
DOEDIT: บันทึก
|
DOEDIT: บันทึก
|
||||||
@ -565,12 +594,15 @@ th:
|
|||||||
FROMFILES: จากไฟล์
|
FROMFILES: จากไฟล์
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: ลบออก
|
REMOVE: ลบออก
|
||||||
REMOVEERROR: พบข้อผิดพลาดในระหว่างการลบไฟล์
|
REMOVEERROR: พบข้อผิดพลาดในระหว่างการลบไฟล์
|
||||||
REMOVEINFO: 'ลบไฟล์นี้จากที่นี่ แต่ไม่ต้องลบไฟล์ดังกล่าวจากพื้นที่จัดเก็บไฟล์'
|
REMOVEINFO: 'ลบไฟล์นี้จากที่นี่ แต่ไม่ต้องลบไฟล์ดังกล่าวจากพื้นที่จัดเก็บไฟล์'
|
||||||
STARTALL: เริ่มทั้งหมด
|
STARTALL: เริ่มทั้งหมด
|
||||||
STARTALLINFO: เริ่มการอัพโหลดทั้งหมด
|
STARTALLINFO: เริ่มการอัพโหลดทั้งหมด
|
||||||
Saved: บันทึกแล้ว
|
Saved: บันทึกแล้ว
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: เวอร์ชั่น
|
has_many_Versions: เวอร์ชั่น
|
||||||
|
72
lang/tr.yml
72
lang/tr.yml
@ -2,6 +2,7 @@ tr:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: YeniKlasör
|
NEWFOLDER: YeniKlasör
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Yüklenme tarihi'
|
CREATED: 'Yüklenme tarihi'
|
||||||
DIM: Boyutları
|
DIM: Boyutları
|
||||||
@ -59,9 +60,9 @@ tr:
|
|||||||
ERRORNOTADMIN: 'O kullanıcı, yönetici değildir'
|
ERRORNOTADMIN: 'O kullanıcı, yönetici değildir'
|
||||||
ERRORNOTREC: 'Kullanıcı adı / şifre hatalı'
|
ERRORNOTREC: 'Kullanıcı adı / şifre hatalı'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: Yanlış
|
|
||||||
ANY: Herhangi
|
ANY: Herhangi
|
||||||
1: Doğru
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ tr:
|
|||||||
ACCESSALLINTERFACES: 'Tüm İYS arayüzlerine erişim'
|
ACCESSALLINTERFACES: 'Tüm İYS arayüzlerine erişim'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Kaydet
|
SAVE: Kaydet
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ tr:
|
|||||||
HELLO: Merhaba
|
HELLO: Merhaba
|
||||||
PASSWORD: Parola
|
PASSWORD: Parola
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- Yanlış
|
NOANSWER: 'False'
|
||||||
- Doğru
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Açılır Pancereyi Kapat'
|
CLOSEPOPUP: 'Açılır Pancereyi Kapat'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ tr:
|
|||||||
PLURALNAME: 'Data Nesneleri'
|
PLURALNAME: 'Data Nesneleri'
|
||||||
SINGULARNAME: 'Data Nesnesi'
|
SINGULARNAME: 'Data Nesnesi'
|
||||||
Date:
|
Date:
|
||||||
DAY: gün
|
DAY: day
|
||||||
DAYS: gün
|
DAYS: days
|
||||||
HOUR: saat
|
HOUR: hour
|
||||||
HOURS: saat
|
HOURS: hours
|
||||||
MIN: dakika
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: dakika
|
MIN: min
|
||||||
MONTH: ay
|
MINS: mins
|
||||||
MONTHS: ay
|
MONTH: month
|
||||||
SEC: saniye
|
MONTHS: months
|
||||||
SECS: saniye
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: yıl
|
YEAR: year
|
||||||
YEARS: yıl
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: ayarlanmamış
|
NOTSET: ayarlanmamış
|
||||||
TODAY: bugün
|
TODAY: bugün
|
||||||
@ -198,7 +202,8 @@ tr:
|
|||||||
TEXT2: 'şifre sıfırlama linki'
|
TEXT2: 'şifre sıfırlama linki'
|
||||||
TEXT3: için
|
TEXT3: için
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s alanının girilmesi zorunludur'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Girilen değer benzersiz olmalıdır'
|
VALIDATIONNOTUNIQUE: 'Girilen değer benzersiz olmalıdır'
|
||||||
@ -208,6 +213,7 @@ tr:
|
|||||||
VALIDATOR: 'Geçerlilik tespiti'
|
VALIDATOR: 'Geçerlilik tespiti'
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: hiç
|
NONE: hiç
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ tr:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ tr:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Bu gruba rol ekleyin'
|
AddRole: 'Bu gruba rol ekleyin'
|
||||||
@ -267,6 +276,7 @@ tr:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor(çapa)
|
ANCHORVALUE: Anchor(çapa)
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Bağlantı ekle'
|
BUTTONINSERTLINK: 'Bağlantı ekle'
|
||||||
BUTTONREMOVELINK: 'Bağlantıyı sil'
|
BUTTONREMOVELINK: 'Bağlantıyı sil'
|
||||||
@ -331,7 +341,10 @@ tr:
|
|||||||
PreviewButton: Önizleme
|
PreviewButton: Önizleme
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Kaydedilmiş.
|
SAVEDUP: Kaydedilmiş.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ tr:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ tr:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Sil
|
DELETE: Sil
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'CSV''den içer aktar'
|
IMPORT: 'CSV''den içer aktar'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'CSV dosyası ekleme'
|
NOCSVFILE: 'CSV dosyası ekleme'
|
||||||
@ -515,7 +529,20 @@ tr:
|
|||||||
BtnImport: Aktar
|
BtnImport: Aktar
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Henüz Resim Yüklenmemiş'
|
NOUPLOAD: 'Henüz Resim Yüklenmemiş'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ tr:
|
|||||||
ATTACHFILE: 'Dosya ekle'
|
ATTACHFILE: 'Dosya ekle'
|
||||||
ATTACHFILES: 'Dosya ekle'
|
ATTACHFILES: 'Dosya ekle'
|
||||||
AttachFile: 'Dosyalar ekle'
|
AttachFile: 'Dosyalar ekle'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Kaydet
|
DOEDIT: Kaydet
|
||||||
@ -565,12 +594,15 @@ tr:
|
|||||||
FROMFILES: 'Kimden dosyaları'
|
FROMFILES: 'Kimden dosyaları'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Tümünü başlat'
|
STARTALL: 'Tümünü başlat'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Kaydedilmiş
|
Saved: Kaydedilmiş
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versiyonlar
|
has_many_Versions: Versiyonlar
|
||||||
|
80
lang/uk.yml
80
lang/uk.yml
@ -2,6 +2,7 @@ uk:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 'Нова Тека'
|
NEWFOLDER: 'Нова Тека'
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'Вперше завантажено'
|
CREATED: 'Вперше завантажено'
|
||||||
DIM: Виміри
|
DIM: Виміри
|
||||||
@ -9,7 +10,7 @@ uk:
|
|||||||
FOLDER: Folder
|
FOLDER: Folder
|
||||||
LASTEDIT: 'Востаннє змінено'
|
LASTEDIT: 'Востаннє змінено'
|
||||||
OWNER: Власник
|
OWNER: Власник
|
||||||
SIZE: Розмір
|
SIZE: 'Розмір'
|
||||||
TITLE: Назва
|
TITLE: Назва
|
||||||
TYPE: Тип
|
TYPE: Тип
|
||||||
URL: URL
|
URL: URL
|
||||||
@ -59,9 +60,9 @@ uk:
|
|||||||
ERRORNOTADMIN: 'Цей користувач не є адміністратором.'
|
ERRORNOTADMIN: 'Цей користувач не є адміністратором.'
|
||||||
ERRORNOTREC: 'Таке ім''я користувача / пароль не існує'
|
ERRORNOTREC: 'Таке ім''я користувача / пароль не існує'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ uk:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Зберегти
|
SAVE: Зберегти
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ uk:
|
|||||||
HELLO: Привіт
|
HELLO: Привіт
|
||||||
PASSWORD: Пароль
|
PASSWORD: Пароль
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Закрити Popup'
|
CLOSEPOPUP: 'Закрити Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ uk:
|
|||||||
PLURALNAME: 'Об’єкти даних'
|
PLURALNAME: 'Об’єкти даних'
|
||||||
SINGULARNAME: 'Об’єкт даних'
|
SINGULARNAME: 'Об’єкт даних'
|
||||||
Date:
|
Date:
|
||||||
DAY: день
|
DAY: day
|
||||||
DAYS: дні
|
DAYS: days
|
||||||
HOUR: година
|
HOUR: hour
|
||||||
HOURS: годин
|
HOURS: hours
|
||||||
MIN: хв
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: хв
|
MIN: min
|
||||||
MONTH: місяць
|
MINS: mins
|
||||||
MONTHS: місяці
|
MONTH: month
|
||||||
SEC: сек
|
MONTHS: months
|
||||||
SECS: сек
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: рік
|
YEAR: year
|
||||||
YEARS: роки
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'не встановлено'
|
NOTSET: 'не встановлено'
|
||||||
TODAY: сьогодні
|
TODAY: сьогодні
|
||||||
@ -198,7 +202,8 @@ uk:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s є необхідним'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'Введене значання не унікальне'
|
VALIDATIONNOTUNIQUE: 'Введене значання не унікальне'
|
||||||
@ -208,6 +213,7 @@ uk:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ uk:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ uk:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Додати роль до цієї групи'
|
AddRole: 'Додати роль до цієї групи'
|
||||||
@ -267,6 +276,7 @@ uk:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Якір
|
ANCHORVALUE: Якір
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Вставити посилання'
|
BUTTONINSERTLINK: 'Вставити посилання'
|
||||||
BUTTONREMOVELINK: 'Вмдалити посилання'
|
BUTTONREMOVELINK: 'Вмдалити посилання'
|
||||||
@ -288,7 +298,7 @@ uk:
|
|||||||
IMAGEALT: 'Alternative text (alt)'
|
IMAGEALT: 'Alternative text (alt)'
|
||||||
IMAGEALTTEXT: 'Альтернативний текст (alt) - відображається якщо зображення не відображається'
|
IMAGEALTTEXT: 'Альтернативний текст (alt) - відображається якщо зображення не відображається'
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
||||||
IMAGEDIMENSIONS: Розміри
|
IMAGEDIMENSIONS: 'Розміри'
|
||||||
IMAGEHEIGHTPX: Висота
|
IMAGEHEIGHTPX: Висота
|
||||||
IMAGETITLE: 'Текст заголовку (tooltip) - для додаткової інформації про зображення'
|
IMAGETITLE: 'Текст заголовку (tooltip) - для додаткової інформації про зображення'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Title text (tooltip)'
|
||||||
@ -331,7 +341,10 @@ uk:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ uk:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ uk:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Імпортувати з CSV'
|
IMPORT: 'Імпортувати з CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -507,15 +521,28 @@ uk:
|
|||||||
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
|
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
|
||||||
NEWGROUP: 'Нова Група'
|
NEWGROUP: 'Нова Група'
|
||||||
PERMISSIONS: Дозволи
|
PERMISSIONS: Дозволи
|
||||||
ROLES: Ролі
|
ROLES: 'Ролі'
|
||||||
ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required.'
|
ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required.'
|
||||||
TABROLES: Ролі
|
TABROLES: 'Ролі'
|
||||||
Users: Користувачі
|
Users: Користувачі
|
||||||
SecurityAdmin_MemberImportForm:
|
SecurityAdmin_MemberImportForm:
|
||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'Не завантажено жодного зображення'
|
NOUPLOAD: 'Не завантажено жодного зображення'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ uk:
|
|||||||
ATTACHFILE: 'Прикріпити файл'
|
ATTACHFILE: 'Прикріпити файл'
|
||||||
ATTACHFILES: 'Прикріпити файли'
|
ATTACHFILES: 'Прикріпити файли'
|
||||||
AttachFile: 'Прикріпити файл(и)'
|
AttachFile: 'Прикріпити файл(и)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Зберегти
|
DOEDIT: Зберегти
|
||||||
@ -565,12 +594,15 @@ uk:
|
|||||||
FROMFILES: 'З файлів'
|
FROMFILES: 'З файлів'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Помилка видалення файла'
|
REMOVEERROR: 'Помилка видалення файла'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Версіїї
|
has_many_Versions: Версіїї
|
||||||
|
72
lang/uz.yml
72
lang/uz.yml
@ -2,6 +2,7 @@ uz:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ uz:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ uz:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Saqlash
|
SAVE: Saqlash
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ uz:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ uz:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ' day'
|
DAY: day
|
||||||
DAYS: ' days'
|
DAYS: days
|
||||||
HOUR: ' hour'
|
HOUR: hour
|
||||||
HOURS: ' hours'
|
HOURS: hours
|
||||||
MIN: ' min'
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: ' mins'
|
MIN: min
|
||||||
MONTH: ' month'
|
MINS: mins
|
||||||
MONTHS: ' months'
|
MONTH: month
|
||||||
SEC: ' sec'
|
MONTHS: months
|
||||||
SECS: ' secs'
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: ' year'
|
YEAR: year
|
||||||
YEARS: ' years'
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,7 +202,8 @@ uz:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ uz:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ uz:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ uz:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ uz:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ uz:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ uz:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ uz:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ uz:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ uz:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ uz:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
@ -2,6 +2,7 @@ vi_VN:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: NewFolder
|
NEWFOLDER: NewFolder
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 'First uploaded'
|
CREATED: 'First uploaded'
|
||||||
DIM: Dimensions
|
DIM: Dimensions
|
||||||
@ -59,9 +60,9 @@ vi_VN:
|
|||||||
ERRORNOTADMIN: 'That user is not an administrator.'
|
ERRORNOTADMIN: 'That user is not an administrator.'
|
||||||
ERRORNOTREC: 'That username / password isn''t recognised'
|
ERRORNOTREC: 'That username / password isn''t recognised'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,6 +71,8 @@ vi_VN:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: Lưu
|
SAVE: Lưu
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
@ -79,8 +82,8 @@ vi_VN:
|
|||||||
HELLO: Hi
|
HELLO: Hi
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ vi_VN:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: ngày
|
DAY: day
|
||||||
DAYS: ngày
|
DAYS: days
|
||||||
HOUR: giờ
|
HOUR: hour
|
||||||
HOURS: giờ
|
HOURS: hours
|
||||||
MIN: phút
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: phút
|
MIN: min
|
||||||
MONTH: tháng
|
MINS: mins
|
||||||
MONTHS: tháng
|
MONTH: month
|
||||||
SEC: giây
|
MONTHS: months
|
||||||
SECS: giây
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: năm
|
YEAR: year
|
||||||
YEARS: năm
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: 'hôm nay'
|
TODAY: 'hôm nay'
|
||||||
@ -198,7 +202,8 @@ vi_VN:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s is required'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
|
||||||
@ -208,6 +213,7 @@ vi_VN:
|
|||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ vi_VN:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ vi_VN:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,6 +276,7 @@ vi_VN:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 'Insert link'
|
BUTTONINSERTLINK: 'Insert link'
|
||||||
BUTTONREMOVELINK: 'Remove link'
|
BUTTONREMOVELINK: 'Remove link'
|
||||||
@ -331,7 +341,10 @@ vi_VN:
|
|||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -407,6 +420,7 @@ vi_VN:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ vi_VN:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -515,7 +529,20 @@ vi_VN:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 'No Image Uploaded'
|
NOUPLOAD: 'No Image Uploaded'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ vi_VN:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ vi_VN:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
174
lang/zh_CN.yml
174
lang/zh_CN.yml
@ -2,13 +2,14 @@ zh_CN:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 新建文件夹
|
NEWFOLDER: 新建文件夹
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 第一次被上传
|
CREATED: '第一次被上传'
|
||||||
DIM: 尺寸
|
DIM: 尺寸
|
||||||
FILENAME: 文件名
|
FILENAME: 文件名
|
||||||
FOLDER: Folder
|
FOLDER: Folder
|
||||||
LASTEDIT: 上一次被更改
|
LASTEDIT: 上一次被更改
|
||||||
OWNER: 拥有者
|
OWNER: '拥有者'
|
||||||
SIZE: 大小
|
SIZE: 大小
|
||||||
TITLE: 文件名称
|
TITLE: 文件名称
|
||||||
TYPE: 类型
|
TYPE: 类型
|
||||||
@ -55,13 +56,13 @@ zh_CN:
|
|||||||
BackLink_Button.ss:
|
BackLink_Button.ss:
|
||||||
Back: Back
|
Back: Back
|
||||||
BasicAuth:
|
BasicAuth:
|
||||||
ENTERINFO: 请输入用户名和密码
|
ENTERINFO: '请输入用户名和密码'
|
||||||
ERRORNOTADMIN: 此用户没有管理员权限。
|
ERRORNOTADMIN: 此用户没有管理员权限。
|
||||||
ERRORNOTREC: 没有找到此用户名/密码
|
ERRORNOTREC: '没有找到此用户名/密码'
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,23 +71,25 @@ zh_CN:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: 保存
|
SAVE: 保存
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
CHANGEPASSWORDTEXT1: 您已更改了登陆%s的密码
|
CHANGEPASSWORDTEXT1: '您已更改了登陆%s的密码'
|
||||||
CHANGEPASSWORDTEXT2: 您现在可以用下列权限信息进行登路:
|
CHANGEPASSWORDTEXT2: 您现在可以用下列权限信息进行登路:
|
||||||
EMAIL: Email
|
EMAIL: Email
|
||||||
HELLO: 嗨
|
HELLO: 嗨
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
SUCCESSEDIT: 'Saved %s %s %s'
|
SUCCESSEDIT: 'Saved %s %s %s'
|
||||||
ComplexTableField.ss:
|
ComplexTableField.ss:
|
||||||
ADDITEM: 新加
|
ADDITEM: '新加'
|
||||||
NOITEMSFOUND: 'No items found'
|
NOITEMSFOUND: 'No items found'
|
||||||
SORTASC: 正序排列
|
SORTASC: 正序排列
|
||||||
SORTDESC: 倒序排列
|
SORTDESC: 倒序排列
|
||||||
@ -97,7 +100,7 @@ zh_CN:
|
|||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
ATLEAST: 'Passwords must be at least {min} characters long.'
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
||||||
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
||||||
SHOWONCLICKTITLE: 更改密码
|
SHOWONCLICKTITLE: '更改密码'
|
||||||
CreditCardField:
|
CreditCardField:
|
||||||
FIRST: first
|
FIRST: first
|
||||||
FOURTH: fourth
|
FOURTH: fourth
|
||||||
@ -109,20 +112,21 @@ zh_CN:
|
|||||||
PLURALNAME: 数据对象
|
PLURALNAME: 数据对象
|
||||||
SINGULARNAME: 数据对象
|
SINGULARNAME: 数据对象
|
||||||
Date:
|
Date:
|
||||||
DAY: 天
|
DAY: day
|
||||||
DAYS: 天
|
DAYS: days
|
||||||
HOUR: 个小时
|
HOUR: hour
|
||||||
HOURS: 个小时
|
HOURS: hours
|
||||||
MIN: 分钟
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: 分钟
|
MIN: min
|
||||||
MONTH: 个月
|
MINS: mins
|
||||||
MONTHS: 个月
|
MONTH: month
|
||||||
SEC: 秒
|
MONTHS: months
|
||||||
SECS: 秒
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: 年
|
YEAR: year
|
||||||
YEARS: 年
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,16 +202,18 @@ zh_CN:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '%s是必需填写的'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 输入值已被他人占用
|
VALIDATIONNOTUNIQUE: '输入值已被他人占用'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: (密码相互不匹配)
|
VALIDATIONPASSWORDSDONTMATCH: '(密码相互不匹配)'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 密码不能空白
|
VALIDATIONPASSWORDSNOTEMPTY: '密码不能空白'
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ zh_CN:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,11 +244,13 @@ zh_CN:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
Code: 团队代码
|
Code: '团队代码'
|
||||||
DefaultGroupTitleAdministrators: Administrators
|
DefaultGroupTitleAdministrators: Administrators
|
||||||
DefaultGroupTitleContentAuthors: 'Content Authors'
|
DefaultGroupTitleContentAuthors: 'Content Authors'
|
||||||
Description: Description
|
Description: Description
|
||||||
@ -267,13 +276,14 @@ zh_CN:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 插入链接
|
BUTTONINSERTLINK: '插入链接'
|
||||||
BUTTONREMOVELINK: 删除链接
|
BUTTONREMOVELINK: '删除链接'
|
||||||
BUTTONUpdate: Update
|
BUTTONUpdate: Update
|
||||||
CAPTIONTEXT: 'Caption text'
|
CAPTIONTEXT: 'Caption text'
|
||||||
CSSCLASS: 对齐/样式
|
CSSCLASS: '对齐/样式'
|
||||||
CSSCLASSCENTER: 自居中
|
CSSCLASSCENTER: '自居中'
|
||||||
CSSCLASSLEFT: 左端自动换行
|
CSSCLASSLEFT: 左端自动换行
|
||||||
CSSCLASSLEFTALONE: 'On the left, on its own.'
|
CSSCLASSLEFTALONE: 'On the left, on its own.'
|
||||||
CSSCLASSRIGHT: 右端自动换行
|
CSSCLASSRIGHT: 右端自动换行
|
||||||
@ -289,17 +299,17 @@ zh_CN:
|
|||||||
IMAGEALTTEXT: 'Alternative text (alt) - shown if image cannot be displayed'
|
IMAGEALTTEXT: 'Alternative text (alt) - shown if image cannot be displayed'
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
||||||
IMAGEDIMENSIONS: 尺寸
|
IMAGEDIMENSIONS: 尺寸
|
||||||
IMAGEHEIGHTPX: 高(像素)
|
IMAGEHEIGHTPX: '高(像素)'
|
||||||
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
IMAGETITLETEXT: 'Title text (tooltip)'
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'For additional information about the image'
|
||||||
IMAGEWIDTHPX: 宽(像素)
|
IMAGEWIDTHPX: '宽(像素)'
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Insert Media'
|
||||||
LINK: 对所选文字插入/编辑链接
|
LINK: '对所选文字插入/编辑链接'
|
||||||
LINKANCHOR: 'Anchor on this page'
|
LINKANCHOR: 'Anchor on this page'
|
||||||
LINKDESCR: 链接描述
|
LINKDESCR: 链接描述
|
||||||
LINKEMAIL: 电子邮件地址
|
LINKEMAIL: 电子邮件地址
|
||||||
LINKEXTERNAL: 其它网站
|
LINKEXTERNAL: '其它网站'
|
||||||
LINKFILE: 下载文件
|
LINKFILE: 下载文件
|
||||||
LINKINTERNAL: 本站网页
|
LINKINTERNAL: 本站网页
|
||||||
LINKOPENNEWWIN: 在新窗口打开链接?
|
LINKOPENNEWWIN: 在新窗口打开链接?
|
||||||
@ -317,21 +327,24 @@ zh_CN:
|
|||||||
PLURALNAME: Files
|
PLURALNAME: Files
|
||||||
SINGULARNAME: File
|
SINGULARNAME: File
|
||||||
Image_iframe.ss:
|
Image_iframe.ss:
|
||||||
TITLE: 图象上传内嵌框架(Iframe)
|
TITLE: '图象上传内嵌框架(Iframe)'
|
||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
||||||
DELETED: Deleted.
|
DELETED: Deleted.
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Actions
|
||||||
HELP: 帮助
|
HELP: 帮助
|
||||||
PAGETYPE: 网页类型
|
PAGETYPE: 网页类型
|
||||||
PERMAGAIN: 您于CMS的登录已被注销,请在下面输入用户名和密码重新登录。
|
PERMAGAIN: '您于CMS的登录已被注销,请在下面输入用户名和密码重新登录。'
|
||||||
PERMALREADY: 对不起,您无权登录CMS的这一部分。如果您要用另外的帐号,请在下面登录。
|
PERMALREADY: '对不起,您无权登录CMS的这一部分。如果您要用另外的帐号,请在下面登录。'
|
||||||
PERMDEFAULT: 请先选择一种验证方法并输入您的权限信息,以登录CMS。
|
PERMDEFAULT: '请先选择一种验证方法并输入您的权限信息,以登录CMS。'
|
||||||
PLEASESAVE: 请先保存:因为该网页还未保存,所以该页无法更新。
|
PLEASESAVE: '请先保存:因为该网页还未保存,所以该页无法更新。'
|
||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -343,13 +356,13 @@ zh_CN:
|
|||||||
Status: Status
|
Status: Status
|
||||||
Member:
|
Member:
|
||||||
ADDGROUP: 'Add group'
|
ADDGROUP: 'Add group'
|
||||||
BUTTONCHANGEPASSWORD: 更改密码
|
BUTTONCHANGEPASSWORD: '更改密码'
|
||||||
BUTTONLOGIN: 登录
|
BUTTONLOGIN: 登录
|
||||||
BUTTONLOGINOTHER: 使用其他帐户登录
|
BUTTONLOGINOTHER: '使用其他帐户登录'
|
||||||
BUTTONLOSTPASSWORD: 忘记密码
|
BUTTONLOSTPASSWORD: '忘记密码'
|
||||||
CANTEDIT: 'You don''t have permission to do that'
|
CANTEDIT: 'You don''t have permission to do that'
|
||||||
CONFIRMNEWPASSWORD: 确认新密码
|
CONFIRMNEWPASSWORD: '确认新密码'
|
||||||
CONFIRMPASSWORD: 确认密码
|
CONFIRMPASSWORD: '确认密码'
|
||||||
DATEFORMAT: 'Date format'
|
DATEFORMAT: 'Date format'
|
||||||
DefaultAdminFirstname: 'Default Admin'
|
DefaultAdminFirstname: 'Default Admin'
|
||||||
DefaultDateTime: default
|
DefaultDateTime: default
|
||||||
@ -357,35 +370,35 @@ zh_CN:
|
|||||||
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
|
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
|
||||||
ENTEREMAIL: 'Please enter an email address to get a password reset link.'
|
ENTEREMAIL: 'Please enter an email address to get a password reset link.'
|
||||||
ERRORLOCKEDOUT: 'Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in 20 minutes.'
|
ERRORLOCKEDOUT: 'Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in 20 minutes.'
|
||||||
ERRORNEWPASSWORD: 您输入了一个不同的新密码,请重新输入
|
ERRORNEWPASSWORD: '您输入了一个不同的新密码,请重新输入'
|
||||||
ERRORPASSWORDNOTMATCH: 您当前的密码不正确,请再次输入
|
ERRORPASSWORDNOTMATCH: '您当前的密码不正确,请再次输入'
|
||||||
ERRORWRONGCRED: 电邮地址或密码似乎不对。请重新输入。
|
ERRORWRONGCRED: '电邮地址或密码似乎不对。请重新输入。'
|
||||||
FIRSTNAME: 名
|
FIRSTNAME: 名
|
||||||
INTERFACELANG: 界面语言
|
INTERFACELANG: 界面语言
|
||||||
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
|
||||||
LOGGEDINAS: 'You''re logged in as {name}.'
|
LOGGEDINAS: 'You''re logged in as {name}.'
|
||||||
NEWPASSWORD: 新密码
|
NEWPASSWORD: '新密码'
|
||||||
PASSWORD: 密码
|
PASSWORD: '密码'
|
||||||
PLURALNAME: 成员
|
PLURALNAME: 成员
|
||||||
REMEMBERME: 记住我的信息?
|
REMEMBERME: 记住我的信息?
|
||||||
SINGULARNAME: 成员
|
SINGULARNAME: 成员
|
||||||
SUBJECTPASSWORDCHANGED: 您的密码已更改
|
SUBJECTPASSWORDCHANGED: '您的密码已更改'
|
||||||
SUBJECTPASSWORDRESET: 重设您的密码链接
|
SUBJECTPASSWORDRESET: '重设您的密码链接'
|
||||||
SURNAME: 姓
|
SURNAME: 姓
|
||||||
TIMEFORMAT: 'Time format'
|
TIMEFORMAT: 'Time format'
|
||||||
VALIDATIONMEMBEREXISTS: 已经存在用这个电子邮件的会员
|
VALIDATIONMEMBEREXISTS: 已经存在用这个电子邮件的会员
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
||||||
WELCOMEBACK: 'Welcome Back, {firstname}'
|
WELCOMEBACK: 'Welcome Back, {firstname}'
|
||||||
YOUROLDPASSWORD: 您的旧密码
|
YOUROLDPASSWORD: '您的旧密码'
|
||||||
belongs_many_many_Groups: 团队
|
belongs_many_many_Groups: 团队
|
||||||
db_LastVisited: 'Last Visited Date'
|
db_LastVisited: 'Last Visited Date'
|
||||||
db_Locale: 'Interface Locale'
|
db_Locale: 'Interface Locale'
|
||||||
db_LockedOutUntil: 禁止直至
|
db_LockedOutUntil: 禁止直至
|
||||||
db_NumVisit: 'Number of Visits'
|
db_NumVisit: 'Number of Visits'
|
||||||
db_Password: Password
|
db_Password: Password
|
||||||
db_PasswordExpiry: 密码过期日期
|
db_PasswordExpiry: '密码过期日期'
|
||||||
MemberAuthenticator:
|
MemberAuthenticator:
|
||||||
TITLE: 电邮地址和密码
|
TITLE: '电邮地址和密码'
|
||||||
MemberDatetimeOptionsetField:
|
MemberDatetimeOptionsetField:
|
||||||
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
||||||
'APPLY FILTER': 'Apply Filter'
|
'APPLY FILTER': 'Apply Filter'
|
||||||
@ -407,6 +420,7 @@ zh_CN:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -419,9 +433,9 @@ zh_CN:
|
|||||||
SINGULARNAME: 'Member Password'
|
SINGULARNAME: 'Member Password'
|
||||||
MemberTableField: null
|
MemberTableField: null
|
||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: 删除
|
DELETE: '删除'
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -474,23 +488,23 @@ zh_CN:
|
|||||||
PERMISSIONS_CATEGORY: 'Roles and access permissions'
|
PERMISSIONS_CATEGORY: 'Roles and access permissions'
|
||||||
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
||||||
PhoneNumberField:
|
PhoneNumberField:
|
||||||
VALIDATION: 请输入有效电话号码
|
VALIDATION: '请输入有效电话号码'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
ADD: Add
|
ADD: Add
|
||||||
CSVEXPORT: 'Export to CSV'
|
CSVEXPORT: 'Export to CSV'
|
||||||
NOTFOUND: 'No items found'
|
NOTFOUND: 'No items found'
|
||||||
Security:
|
Security:
|
||||||
ALREADYLOGGEDIN: 您无访问此页的权限。如果您拥有另一个可访问次页的帐户,请在下面登录。
|
ALREADYLOGGEDIN: '您无访问此页的权限。如果您拥有另一个可访问次页的帐户,请在下面登录。'
|
||||||
BUTTONSEND: 给我发送密码重设链接
|
BUTTONSEND: '给我发送密码重设链接'
|
||||||
CHANGEPASSWORDBELOW: 您可在下面更改您的密码
|
CHANGEPASSWORDBELOW: '您可在下面更改您的密码'
|
||||||
CHANGEPASSWORDHEADER: 更改您的密码
|
CHANGEPASSWORDHEADER: '更改您的密码'
|
||||||
ENTERNEWPASSWORD: 请输入新密码
|
ENTERNEWPASSWORD: '请输入新密码'
|
||||||
ERRORPASSWORDPERMISSION: 您必需登录以更改您的密码
|
ERRORPASSWORDPERMISSION: '您必需登录以更改您的密码'
|
||||||
LOGGEDOUT: 您已被撤消登录。如果您想再次登录,在下面输入您的登录信息。
|
LOGGEDOUT: '您已被撤消登录。如果您想再次登录,在下面输入您的登录信息。'
|
||||||
LOGIN: 登录
|
LOGIN: 登录
|
||||||
NOTEPAGESECURED: 此页是受安全保护的。输入您的登录信息,我们会将您送达。
|
NOTEPAGESECURED: '此页是受安全保护的。输入您的登录信息,我们会将您送达。'
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
||||||
NOTERESETPASSWORD: 输入您的电邮地址,我们会给您发送一个您可重设密码的链接
|
NOTERESETPASSWORD: '输入您的电邮地址,我们会给您发送一个您可重设密码的链接'
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
||||||
SecurityAdmin:
|
SecurityAdmin:
|
||||||
@ -515,9 +529,22 @@ zh_CN:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 没有上传的图像
|
NOUPLOAD: '没有上传的图像'
|
||||||
SiteTree:
|
SiteTree:
|
||||||
TABMAIN: 主要部分
|
TABMAIN: 主要部分
|
||||||
TableField:
|
TableField:
|
||||||
@ -551,6 +578,8 @@ zh_CN:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ zh_CN:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
124
lang/zh_TW.yml
124
lang/zh_TW.yml
@ -2,13 +2,14 @@ zh_TW:
|
|||||||
AssetAdmin:
|
AssetAdmin:
|
||||||
ALLOWEDEXTS: 'Allowed extensions'
|
ALLOWEDEXTS: 'Allowed extensions'
|
||||||
NEWFOLDER: 新資料夾
|
NEWFOLDER: 新資料夾
|
||||||
|
SHOWALLOWEDEXTS: 'Show allowed extensions'
|
||||||
AssetTableField:
|
AssetTableField:
|
||||||
CREATED: 第一次上傳
|
CREATED: 第一次上傳
|
||||||
DIM: 尺寸
|
DIM: 尺寸
|
||||||
FILENAME: 檔案名稱
|
FILENAME: 檔案名稱
|
||||||
FOLDER: Folder
|
FOLDER: Folder
|
||||||
LASTEDIT: 最後一次更新
|
LASTEDIT: 最後一次更新
|
||||||
OWNER: 擁有者
|
OWNER: '擁有者'
|
||||||
SIZE: 大小
|
SIZE: 大小
|
||||||
TITLE: 標題
|
TITLE: 標題
|
||||||
TYPE: 類型
|
TYPE: 類型
|
||||||
@ -55,13 +56,13 @@ zh_TW:
|
|||||||
BackLink_Button.ss:
|
BackLink_Button.ss:
|
||||||
Back: Back
|
Back: Back
|
||||||
BasicAuth:
|
BasicAuth:
|
||||||
ENTERINFO: 請輸入帳號密碼。
|
ENTERINFO: '請輸入帳號密碼。'
|
||||||
ERRORNOTADMIN: 那個使用者不是管理員。
|
ERRORNOTADMIN: '那個使用者不是管理員。'
|
||||||
ERRORNOTREC: 那組帳號密碼不對。
|
ERRORNOTREC: 那組帳號密碼不對。
|
||||||
Boolean:
|
Boolean:
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
ANY: Any
|
||||||
1: 'True'
|
NOANSWER: 'False'
|
||||||
|
YESANSWER: 'True'
|
||||||
CMSLoadingScreen.ss:
|
CMSLoadingScreen.ss:
|
||||||
LOADING: Loading...
|
LOADING: Loading...
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
||||||
@ -70,17 +71,19 @@ zh_TW:
|
|||||||
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
ACCESSALLINTERFACES: 'Access to all CMS sections'
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
||||||
SAVE: 儲存
|
SAVE: 儲存
|
||||||
|
CMSPageHistoryController_versions.ss:
|
||||||
|
PREVIEW: 'Website preview'
|
||||||
CMSProfileController:
|
CMSProfileController:
|
||||||
MENUTITLE: 'My Profile'
|
MENUTITLE: 'My Profile'
|
||||||
ChangePasswordEmail.ss:
|
ChangePasswordEmail.ss:
|
||||||
CHANGEPASSWORDTEXT1: 您為這個帳戶改密碼:
|
CHANGEPASSWORDTEXT1: 您為這個帳戶改密碼:
|
||||||
CHANGEPASSWORDTEXT2: 您可以用下列的帳號密碼登入:
|
CHANGEPASSWORDTEXT2: '您可以用下列的帳號密碼登入:'
|
||||||
EMAIL: Email
|
EMAIL: Email
|
||||||
HELLO: 您好
|
HELLO: 您好
|
||||||
PASSWORD: Password
|
PASSWORD: Password
|
||||||
CheckboxField:
|
CheckboxField:
|
||||||
- 'False'
|
NOANSWER: 'False'
|
||||||
- 'True'
|
YESANSWER: 'True'
|
||||||
ComplexTableField:
|
ComplexTableField:
|
||||||
CLOSEPOPUP: 'Close Popup'
|
CLOSEPOPUP: 'Close Popup'
|
||||||
SUCCESSADD2: 'Added {name}'
|
SUCCESSADD2: 'Added {name}'
|
||||||
@ -109,20 +112,21 @@ zh_TW:
|
|||||||
PLURALNAME: 'Data Objects'
|
PLURALNAME: 'Data Objects'
|
||||||
SINGULARNAME: 'Data Object'
|
SINGULARNAME: 'Data Object'
|
||||||
Date:
|
Date:
|
||||||
DAY: 日
|
DAY: day
|
||||||
DAYS: 日
|
DAYS: days
|
||||||
HOUR: 小時
|
HOUR: hour
|
||||||
HOURS: 小時
|
HOURS: hours
|
||||||
MIN: 分鐘
|
LessThanMinuteAgo: 'less than a minute'
|
||||||
MINS: 分鐘
|
MIN: min
|
||||||
MONTH: 月
|
MINS: mins
|
||||||
MONTHS: 月
|
MONTH: month
|
||||||
SEC: 秒
|
MONTHS: months
|
||||||
SECS: 秒
|
SEC: sec
|
||||||
|
SECS: secs
|
||||||
TIMEDIFFAGO: '{difference} ago'
|
TIMEDIFFAGO: '{difference} ago'
|
||||||
TIMEDIFFIN: 'in {difference}'
|
TIMEDIFFIN: 'in {difference}'
|
||||||
YEAR: 年
|
YEAR: year
|
||||||
YEARS: 年
|
YEARS: years
|
||||||
DateField:
|
DateField:
|
||||||
NOTSET: 'not set'
|
NOTSET: 'not set'
|
||||||
TODAY: today
|
TODAY: today
|
||||||
@ -198,16 +202,18 @@ zh_TW:
|
|||||||
TEXT2: 'password reset link'
|
TEXT2: 'password reset link'
|
||||||
TEXT3: for
|
TEXT3: for
|
||||||
Form:
|
Form:
|
||||||
FIELDISREQUIRED: '必須要填 %s'
|
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
|
||||||
|
FIELDISREQUIRED: '{name} is required'
|
||||||
SubmitBtnLabel: Go
|
SubmitBtnLabel: Go
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
||||||
VALIDATIONNOTUNIQUE: 您輸入的數值並不是獨特的。
|
VALIDATIONNOTUNIQUE: '您輸入的數值並不是獨特的。'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 密碼不相配
|
VALIDATIONPASSWORDSDONTMATCH: '密碼不相配'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 密碼不能是空的
|
VALIDATIONPASSWORDSNOTEMPTY: 密碼不能是空的
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
||||||
VALIDATOR: Validator
|
VALIDATOR: Validator
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
VALIDCURRENCY: 'Please enter a valid currency'
|
||||||
FormField:
|
FormField:
|
||||||
|
Example: 'e.g. %s'
|
||||||
NONE: none
|
NONE: none
|
||||||
GridAction:
|
GridAction:
|
||||||
DELETE_DESCRIPTION: Delete
|
DELETE_DESCRIPTION: Delete
|
||||||
@ -230,6 +236,7 @@ zh_TW:
|
|||||||
ResetFilter: Reset
|
ResetFilter: Reset
|
||||||
GridFieldAction_Delete:
|
GridFieldAction_Delete:
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
|
EditPermissionsFailure: 'No permission to unlink record'
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
CancelBtn: Cancel
|
CancelBtn: Cancel
|
||||||
Create: Create
|
Create: Create
|
||||||
@ -237,7 +244,9 @@ zh_TW:
|
|||||||
DeletePermissionsFailure: 'No delete permissions'
|
DeletePermissionsFailure: 'No delete permissions'
|
||||||
Deleted: 'Deleted %s %s'
|
Deleted: 'Deleted %s %s'
|
||||||
Save: Save
|
Save: Save
|
||||||
Saved: 'Saved %s %s'
|
Saved: 'Saved {name} {link}'
|
||||||
|
GridFieldEditButton.ss:
|
||||||
|
EDIT: Edit
|
||||||
GridFieldItemEditView.ss: null
|
GridFieldItemEditView.ss: null
|
||||||
Group:
|
Group:
|
||||||
AddRole: 'Add a role for this group'
|
AddRole: 'Add a role for this group'
|
||||||
@ -267,16 +276,17 @@ zh_TW:
|
|||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORVALUE: Anchor
|
ANCHORVALUE: Anchor
|
||||||
|
BUTTONADDURL: 'Add url'
|
||||||
BUTTONINSERT: Insert
|
BUTTONINSERT: Insert
|
||||||
BUTTONINSERTLINK: 插入連結
|
BUTTONINSERTLINK: '插入連結'
|
||||||
BUTTONREMOVELINK: 移除連結
|
BUTTONREMOVELINK: 移除連結
|
||||||
BUTTONUpdate: Update
|
BUTTONUpdate: Update
|
||||||
CAPTIONTEXT: 'Caption text'
|
CAPTIONTEXT: 'Caption text'
|
||||||
CSSCLASS: 對齊/樣式
|
CSSCLASS: 對齊/樣式
|
||||||
CSSCLASSCENTER: 獨立置中
|
CSSCLASSCENTER: 獨立置中
|
||||||
CSSCLASSLEFT: 靠左被字包圍。
|
CSSCLASSLEFT: '靠左被字包圍。'
|
||||||
CSSCLASSLEFTALONE: 'On the left, on its own.'
|
CSSCLASSLEFTALONE: 'On the left, on its own.'
|
||||||
CSSCLASSRIGHT: 靠右被字包圍。
|
CSSCLASSRIGHT: '靠右被字包圍。'
|
||||||
DETAILS: Details
|
DETAILS: Details
|
||||||
EMAIL: 電子郵件地址
|
EMAIL: 電子郵件地址
|
||||||
FILE: 檔案
|
FILE: 檔案
|
||||||
@ -295,7 +305,7 @@ zh_TW:
|
|||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
IMAGETITLETEXTDESC: 'For additional information about the image'
|
||||||
IMAGEWIDTHPX: 寬
|
IMAGEWIDTHPX: 寬
|
||||||
INSERTMEDIA: 'Insert Media'
|
INSERTMEDIA: 'Insert Media'
|
||||||
LINK: 插入或編輯選取的連結
|
LINK: '插入或編輯選取的連結'
|
||||||
LINKANCHOR: 'Anchor on this page'
|
LINKANCHOR: 'Anchor on this page'
|
||||||
LINKDESCR: 連結敘述
|
LINKDESCR: 連結敘述
|
||||||
LINKEMAIL: 電子郵件地址
|
LINKEMAIL: 電子郵件地址
|
||||||
@ -304,7 +314,7 @@ zh_TW:
|
|||||||
LINKINTERNAL: 此網站
|
LINKINTERNAL: 此網站
|
||||||
LINKOPENNEWWIN: 在新視窗打開連結
|
LINKOPENNEWWIN: 在新視窗打開連結
|
||||||
LINKTO: 連結至
|
LINKTO: 連結至
|
||||||
PAGE: 網頁
|
PAGE: '網頁'
|
||||||
URL: 網址
|
URL: 網址
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
||||||
UpdateMEDIA: 'Update Media'
|
UpdateMEDIA: 'Update Media'
|
||||||
@ -323,15 +333,18 @@ zh_TW:
|
|||||||
DELETED: Deleted.
|
DELETED: Deleted.
|
||||||
DropdownBatchActionsDefault: Actions
|
DropdownBatchActionsDefault: Actions
|
||||||
HELP: 說明
|
HELP: 說明
|
||||||
PAGETYPE: 網頁類型:
|
PAGETYPE: '網頁類型:'
|
||||||
PERMAGAIN: 您已被登出,請在下面重新登入。
|
PERMAGAIN: '您已被登出,請在下面重新登入。'
|
||||||
PERMALREADY: 抱歉,您沒有權力使用這個部分。您可以用別的帳號登入。
|
PERMALREADY: '抱歉,您沒有權力使用這個部分。您可以用別的帳號登入。'
|
||||||
PERMDEFAULT: 請選擇一個認證方法並登入。
|
PERMDEFAULT: '請選擇一個認證方法並登入。'
|
||||||
PLEASESAVE: 請儲存:這個網頁沒有被更新因為尚未被儲存。
|
PLEASESAVE: '請儲存:這個網頁沒有被更新因為尚未被儲存。'
|
||||||
PreviewButton: Preview
|
PreviewButton: Preview
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
||||||
SAVEDUP: Saved.
|
SAVEDUP: Saved.
|
||||||
VersionUnknown: unknown
|
ShowAsList: 'show as list'
|
||||||
|
TooManyPages: 'Too many pages'
|
||||||
|
ValidationError: 'Validation error'
|
||||||
|
VersionUnknown: Unknown
|
||||||
LeftAndMain_Menu.ss:
|
LeftAndMain_Menu.ss:
|
||||||
Hello: Hi
|
Hello: Hi
|
||||||
LOGOUT: 'Log out'
|
LOGOUT: 'Log out'
|
||||||
@ -344,8 +357,8 @@ zh_TW:
|
|||||||
Member:
|
Member:
|
||||||
ADDGROUP: 'Add group'
|
ADDGROUP: 'Add group'
|
||||||
BUTTONCHANGEPASSWORD: 更改密碼
|
BUTTONCHANGEPASSWORD: 更改密碼
|
||||||
BUTTONLOGIN: 登入
|
BUTTONLOGIN: '登入'
|
||||||
BUTTONLOGINOTHER: 用別的帳戶登入
|
BUTTONLOGINOTHER: '用別的帳戶登入'
|
||||||
BUTTONLOSTPASSWORD: 忘記密碼
|
BUTTONLOSTPASSWORD: 忘記密碼
|
||||||
CANTEDIT: 'You don''t have permission to do that'
|
CANTEDIT: 'You don''t have permission to do that'
|
||||||
CONFIRMNEWPASSWORD: 確認新密碼
|
CONFIRMNEWPASSWORD: 確認新密碼
|
||||||
@ -357,7 +370,7 @@ zh_TW:
|
|||||||
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
|
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
|
||||||
ENTEREMAIL: 'Please enter an email address to get a password reset link.'
|
ENTEREMAIL: 'Please enter an email address to get a password reset link.'
|
||||||
ERRORLOCKEDOUT: 'Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in 20 minutes.'
|
ERRORLOCKEDOUT: 'Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in 20 minutes.'
|
||||||
ERRORNEWPASSWORD: 新密碼不相配,請再試一次。
|
ERRORNEWPASSWORD: '新密碼不相配,請再試一次。'
|
||||||
ERRORPASSWORDNOTMATCH: 舊密碼不對,請再試一次。
|
ERRORPASSWORDNOTMATCH: 舊密碼不對,請再試一次。
|
||||||
ERRORWRONGCRED: 密碼或電子郵件地址錯誤。請再是一次。
|
ERRORWRONGCRED: 密碼或電子郵件地址錯誤。請再是一次。
|
||||||
FIRSTNAME: 名
|
FIRSTNAME: 名
|
||||||
@ -407,6 +420,7 @@ zh_TW:
|
|||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
TWODIGITYEAR: 'Two-digit year'
|
||||||
|
Toggle: 'Show formatting help'
|
||||||
MemberImportForm:
|
MemberImportForm:
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
||||||
@ -421,7 +435,7 @@ zh_TW:
|
|||||||
ModelAdmin:
|
ModelAdmin:
|
||||||
DELETE: Delete
|
DELETE: Delete
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
DELETEDRECORDS: 'Deleted {count} records.'
|
||||||
EMPTYBEFOREIMPORT: 'Clear Database before import'
|
EMPTYBEFOREIMPORT: 'Replace data'
|
||||||
IMPORT: 'Import from CSV'
|
IMPORT: 'Import from CSV'
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
IMPORTEDRECORDS: 'Imported {count} records.'
|
||||||
NOCSVFILE: 'Please browse for a CSV file to import'
|
NOCSVFILE: 'Please browse for a CSV file to import'
|
||||||
@ -474,23 +488,23 @@ zh_TW:
|
|||||||
PERMISSIONS_CATEGORY: 'Roles and access permissions'
|
PERMISSIONS_CATEGORY: 'Roles and access permissions'
|
||||||
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
|
||||||
PhoneNumberField:
|
PhoneNumberField:
|
||||||
VALIDATION: 請輸入有效的電話號碼
|
VALIDATION: '請輸入有效的電話號碼'
|
||||||
RelationComplexTableField.ss:
|
RelationComplexTableField.ss:
|
||||||
ADD: Add
|
ADD: Add
|
||||||
CSVEXPORT: 'Export to CSV'
|
CSVEXPORT: 'Export to CSV'
|
||||||
NOTFOUND: 'No items found'
|
NOTFOUND: 'No items found'
|
||||||
Security:
|
Security:
|
||||||
ALREADYLOGGEDIN: 你不能瀏覽此頁。請用別的帳戶登入。
|
ALREADYLOGGEDIN: '你不能瀏覽此頁。請用別的帳戶登入。'
|
||||||
BUTTONSEND: 寄給我密碼重設網址。
|
BUTTONSEND: 寄給我密碼重設網址。
|
||||||
CHANGEPASSWORDBELOW: 請在下面更改密碼。
|
CHANGEPASSWORDBELOW: 請在下面更改密碼。
|
||||||
CHANGEPASSWORDHEADER: 更改密碼
|
CHANGEPASSWORDHEADER: 更改密碼
|
||||||
ENTERNEWPASSWORD: 請輸入新的密碼。
|
ENTERNEWPASSWORD: '請輸入新的密碼。'
|
||||||
ERRORPASSWORDPERMISSION: 你必須先登入才能改密碼!
|
ERRORPASSWORDPERMISSION: '你必須先登入才能改密碼!'
|
||||||
LOGGEDOUT: 你已登出。您在下面再登入一次。
|
LOGGEDOUT: '你已登出。您在下面再登入一次。'
|
||||||
LOGIN: 'Log in'
|
LOGIN: 'Log in'
|
||||||
NOTEPAGESECURED: 那的網頁是被保護的。請先登入。
|
NOTEPAGESECURED: '那的網頁是被保護的。請先登入。'
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
||||||
NOTERESETPASSWORD: 請輸入您的電子郵件。我們將寄給你重設密媽的網址。
|
NOTERESETPASSWORD: '請輸入您的電子郵件。我們將寄給你重設密媽的網址。'
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
||||||
SecurityAdmin:
|
SecurityAdmin:
|
||||||
@ -515,7 +529,20 @@ zh_TW:
|
|||||||
BtnImport: 'Import from CSV'
|
BtnImport: 'Import from CSV'
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
||||||
SilverStripeNavigator:
|
SilverStripeNavigator:
|
||||||
|
Auto: Auto
|
||||||
|
ChangeViewMode: 'Change view mode'
|
||||||
|
Desktop: Desktop
|
||||||
|
DualWindowView: 'Dual Window'
|
||||||
Edit: Edit
|
Edit: Edit
|
||||||
|
EditView: 'Edit mode'
|
||||||
|
Mobile: Mobile
|
||||||
|
PreviewState: 'Preview State'
|
||||||
|
PreviewView: 'Preview mode'
|
||||||
|
Responsive: Responsive
|
||||||
|
SplitView: 'Split mode'
|
||||||
|
Tablet: Tablet
|
||||||
|
ViewDeviceWidth: 'Select a preview width'
|
||||||
|
Width: width
|
||||||
SimpleImageField:
|
SimpleImageField:
|
||||||
NOUPLOAD: 沒有上傳圖片
|
NOUPLOAD: 沒有上傳圖片
|
||||||
SiteTree:
|
SiteTree:
|
||||||
@ -551,6 +578,8 @@ zh_TW:
|
|||||||
ATTACHFILE: 'Attach a file'
|
ATTACHFILE: 'Attach a file'
|
||||||
ATTACHFILES: 'Attach files'
|
ATTACHFILES: 'Attach files'
|
||||||
AttachFile: 'Attach file(s)'
|
AttachFile: 'Attach file(s)'
|
||||||
|
CHOOSEANOTHERFILE: 'Choose another file'
|
||||||
|
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
|
||||||
DELETE: 'Delete from files'
|
DELETE: 'Delete from files'
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
DELETEINFO: 'Permanently delete this file from the file store'
|
||||||
DOEDIT: Save
|
DOEDIT: Save
|
||||||
@ -565,12 +594,15 @@ zh_TW:
|
|||||||
FROMFILES: 'From files'
|
FROMFILES: 'From files'
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
||||||
|
MAXNUMBEROFFILESONE: 'Can only upload one file'
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
||||||
|
OVERWRITEWARNING: 'File with the same name already exists'
|
||||||
REMOVE: Remove
|
REMOVE: Remove
|
||||||
REMOVEERROR: 'Error removing file'
|
REMOVEERROR: 'Error removing file'
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
||||||
STARTALL: 'Start all'
|
STARTALL: 'Start all'
|
||||||
STARTALLINFO: 'Start all uploads'
|
STARTALLINFO: 'Start all uploads'
|
||||||
Saved: Saved
|
Saved: Saved
|
||||||
|
UPLOADSINTO: 'saves into /{path}'
|
||||||
Versioned:
|
Versioned:
|
||||||
has_many_Versions: Versions
|
has_many_Versions: Versions
|
||||||
|
@ -426,10 +426,13 @@ class DataList extends ViewableData implements SS_List, SS_Filterable, SS_Sortab
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Translates a Object relation name to a Database name and apply the relation join to
|
* Translates a {@link Object} relation name to a Database name and apply
|
||||||
* the query. Throws an InvalidArgumentException if the $field doesn't correspond to a relation
|
* the relation join to the query. Throws an InvalidArgumentException if
|
||||||
|
* the $field doesn't correspond to a relation.
|
||||||
*
|
*
|
||||||
|
* @throws InvalidArgumentException
|
||||||
* @param string $field
|
* @param string $field
|
||||||
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getRelationName($field) {
|
public function getRelationName($field) {
|
||||||
@ -445,9 +448,11 @@ class DataList extends ViewableData implements SS_List, SS_Filterable, SS_Sortab
|
|||||||
if(strpos($field,'.') === false) {
|
if(strpos($field,'.') === false) {
|
||||||
return '"'.$field.'"';
|
return '"'.$field.'"';
|
||||||
}
|
}
|
||||||
|
|
||||||
$relations = explode('.', $field);
|
$relations = explode('.', $field);
|
||||||
$fieldName = array_pop($relations);
|
$fieldName = array_pop($relations);
|
||||||
$relationModelName = $this->dataQuery->applyRelation($field);
|
$relationModelName = $this->dataQuery->applyRelation($field);
|
||||||
|
|
||||||
return '"'.$relationModelName.'"."'.$fieldName.'"';
|
return '"'.$relationModelName.'"."'.$fieldName.'"';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -466,10 +471,13 @@ class DataList extends ViewableData implements SS_List, SS_Filterable, SS_Sortab
|
|||||||
} else {
|
} else {
|
||||||
$className = 'ExactMatchFilter';
|
$className = 'ExactMatchFilter';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!class_exists($className)) {
|
if(!class_exists($className)) {
|
||||||
$className = 'ExactMatchFilter';
|
$className = 'ExactMatchFilter';
|
||||||
|
|
||||||
array_unshift($modifiers, $filter);
|
array_unshift($modifiers, $filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
$t = new $className($field, $value, $modifiers);
|
$t = new $className($field, $value, $modifiers);
|
||||||
|
|
||||||
return $this->alterDataQuery(array($t, 'apply'));
|
return $this->alterDataQuery(array($t, 'apply'));
|
||||||
|
@ -499,7 +499,7 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { //one-to-one relation
|
} else { //one-to-one relation
|
||||||
$destinationObject->$name = $relations;
|
$destinationObject->{"{$name}ID"} = $relations->ID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2568,7 +2568,7 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
|
|||||||
$results = $this->extend($methodName, $member);
|
$results = $this->extend($methodName, $member);
|
||||||
if($results && is_array($results)) {
|
if($results && is_array($results)) {
|
||||||
// Remove NULLs
|
// Remove NULLs
|
||||||
$results = array_filter($results, array($this,'isNotNull'));
|
$results = array_filter($results, function($v) {return !is_null($v);});
|
||||||
// If there are any non-NULL responses, then return the lowest one of them.
|
// If there are any non-NULL responses, then return the lowest one of them.
|
||||||
// If any explicitly deny the permission, then we don't get access
|
// If any explicitly deny the permission, then we don't get access
|
||||||
if($results) return min($results);
|
if($results) return min($results);
|
||||||
@ -2576,16 +2576,6 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper functon for extendedCan
|
|
||||||
*
|
|
||||||
* @param Mixed $value
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
private function isNotNull($value) {
|
|
||||||
return !is_null($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Member $member
|
* @param Member $member
|
||||||
* @return boolean
|
* @return boolean
|
||||||
@ -2743,12 +2733,20 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
|
|||||||
$relations = explode('.', $fieldName);
|
$relations = explode('.', $fieldName);
|
||||||
$fieldName = array_pop($relations);
|
$fieldName = array_pop($relations);
|
||||||
foreach($relations as $relation) {
|
foreach($relations as $relation) {
|
||||||
// Bail if any of the below sets a $component to a null object
|
// Inspect $component for element $relation
|
||||||
if($component instanceof SS_List && !method_exists($component, $relation)) {
|
if($component->hasMethod($relation)) {
|
||||||
$component = $component->relation($relation);
|
// Check nested method
|
||||||
// Just call the method and hope for the best
|
|
||||||
} else {
|
|
||||||
$component = $component->$relation();
|
$component = $component->$relation();
|
||||||
|
} elseif($component instanceof SS_List) {
|
||||||
|
// Select adjacent relation from DataList
|
||||||
|
$component = $component->relation($relation);
|
||||||
|
} elseif($component instanceof DataObject
|
||||||
|
&& ($dbObject = $component->dbObject($relation))
|
||||||
|
) {
|
||||||
|
// Select db object
|
||||||
|
$component = $dbObject;
|
||||||
|
} else {
|
||||||
|
user_error("$relation is not a relation/field on ".get_class($component), E_USER_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -350,7 +350,7 @@ class Image extends File {
|
|||||||
* @param integer $height The height to size to
|
* @param integer $height The height to size to
|
||||||
* @return Image
|
* @return Image
|
||||||
*/
|
*/
|
||||||
public function PaddedImage($width, $height, $backgroundColor=null) {
|
public function PaddedImage($width, $height, $backgroundColor='FFFFFF') {
|
||||||
return $this->isSize($width, $height)
|
return $this->isSize($width, $height)
|
||||||
? $this
|
? $this
|
||||||
: $this->getFormattedImage('PaddedImage', $width, $height, $backgroundColor);
|
: $this->getFormattedImage('PaddedImage', $width, $height, $backgroundColor);
|
||||||
@ -364,7 +364,7 @@ class Image extends File {
|
|||||||
* @param integer $height The height to size to
|
* @param integer $height The height to size to
|
||||||
* @return Image_Backend
|
* @return Image_Backend
|
||||||
*/
|
*/
|
||||||
public function generatePaddedImage(Image_Backend $backend, $width, $height, $backgroundColor=null) {
|
public function generatePaddedImage(Image_Backend $backend, $width, $height, $backgroundColor='FFFFFF') {
|
||||||
return $backend->paddedResize($width, $height, $backgroundColor);
|
return $backend->paddedResize($width, $height, $backgroundColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,19 +12,19 @@ class MySQLDatabase extends SS_Database {
|
|||||||
* Connection to the DBMS.
|
* Connection to the DBMS.
|
||||||
* @var resource
|
* @var resource
|
||||||
*/
|
*/
|
||||||
private $dbConn;
|
protected $dbConn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* True if we are connected to a database.
|
* True if we are connected to a database.
|
||||||
* @var boolean
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
private $active;
|
protected $active;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the database.
|
* The name of the database.
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $database;
|
protected $database;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @config
|
* @config
|
||||||
@ -32,7 +32,7 @@ class MySQLDatabase extends SS_Database {
|
|||||||
*/
|
*/
|
||||||
private static $connection_charset = null;
|
private static $connection_charset = null;
|
||||||
|
|
||||||
private $supportsTransactions = true;
|
protected $supportsTransactions = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the character set for the MySQL database connection.
|
* Sets the character set for the MySQL database connection.
|
||||||
@ -931,7 +931,7 @@ class MySQLDatabase extends SS_Database {
|
|||||||
|
|
||||||
$list = new PaginatedList(new ArrayList($objects));
|
$list = new PaginatedList(new ArrayList($objects));
|
||||||
$list->setPageStart($start);
|
$list->setPageStart($start);
|
||||||
$list->setPageLEngth($pageLength);
|
$list->setPageLength($pageLength);
|
||||||
$list->setTotalItems($totalCount);
|
$list->setTotalItems($totalCount);
|
||||||
|
|
||||||
// The list has already been limited by the query above
|
// The list has already been limited by the query above
|
||||||
@ -1221,13 +1221,13 @@ class MySQLQuery extends SS_Query {
|
|||||||
* The MySQLDatabase object that created this result set.
|
* The MySQLDatabase object that created this result set.
|
||||||
* @var MySQLDatabase
|
* @var MySQLDatabase
|
||||||
*/
|
*/
|
||||||
private $database;
|
protected $database;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The internal MySQL handle that points to the result set.
|
* The internal MySQL handle that points to the result set.
|
||||||
* @var resource
|
* @var resource
|
||||||
*/
|
*/
|
||||||
private $handle;
|
protected $handle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hook the result-set given into a Query class, suitable for use by SilverStripe.
|
* Hook the result-set given into a Query class, suitable for use by SilverStripe.
|
||||||
|
@ -450,6 +450,7 @@ class SQLQuery {
|
|||||||
* Internally, limit will always be stored as a map containing the keys 'start' and 'limit'
|
* Internally, limit will always be stored as a map containing the keys 'start' and 'limit'
|
||||||
*
|
*
|
||||||
* @param int|string|array $limit If passed as a string or array, assumes SQL escaped data.
|
* @param int|string|array $limit If passed as a string or array, assumes SQL escaped data.
|
||||||
|
* Only applies for positive values, or if an $offset is set as well.
|
||||||
* @param int $offset
|
* @param int $offset
|
||||||
*
|
*
|
||||||
* @throws InvalidArgumentException
|
* @throws InvalidArgumentException
|
||||||
@ -461,7 +462,7 @@ class SQLQuery {
|
|||||||
throw new InvalidArgumentException("SQLQuery::setLimit() only takes positive values");
|
throw new InvalidArgumentException("SQLQuery::setLimit() only takes positive values");
|
||||||
}
|
}
|
||||||
|
|
||||||
if($limit && is_numeric($limit)) {
|
if(is_numeric($limit) && ($limit || $offset)) {
|
||||||
$this->limit = array(
|
$this->limit = array(
|
||||||
'start' => $offset,
|
'start' => $offset,
|
||||||
'limit' => $limit,
|
'limit' => $limit,
|
||||||
|
@ -79,6 +79,14 @@ class Versioned extends DataExtension {
|
|||||||
'Version' => 'Int'
|
'Version' => 'Int'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to enable or disable the prepopulation of the version number cache.
|
||||||
|
* Defaults to true.
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
private static $prepopulate_versionnumber_cache = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Keep track of the archive tables that have been created.
|
* Keep track of the archive tables that have been created.
|
||||||
*
|
*
|
||||||
@ -1095,6 +1103,9 @@ class Versioned extends DataExtension {
|
|||||||
* @param array $idList
|
* @param array $idList
|
||||||
*/
|
*/
|
||||||
public static function prepopulate_versionnumber_cache($class, $stage, $idList = null) {
|
public static function prepopulate_versionnumber_cache($class, $stage, $idList = null) {
|
||||||
|
if (!Config::inst()->get('Versioned', 'prepopulate_versionnumber_cache')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
$filter = "";
|
$filter = "";
|
||||||
|
|
||||||
if($idList) {
|
if($idList) {
|
||||||
|
@ -134,7 +134,6 @@ body.cms.ss-uploadfield-edit-iframe, .composite.ss-assetuploadfield .details fie
|
|||||||
.ss-uploadfield-item-info {
|
.ss-uploadfield-item-info {
|
||||||
position: relative;
|
position: relative;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
font-size: 14px;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: #5db4df;
|
background-color: #5db4df;
|
||||||
@include background-image(linear-gradient(top, #5db4df 0%,#5db1dd 8%,#439bcb 50%,#3f99cd 54%,#207db6 96%,#1e7cba 100%));
|
@include background-image(linear-gradient(top, #5db4df 0%,#5db1dd 8%,#439bcb 50%,#3f99cd 54%,#207db6 96%,#1e7cba 100%));
|
||||||
|
@ -1,55 +1,52 @@
|
|||||||
/**
|
form {
|
||||||
* Fields
|
|
||||||
*/
|
* {
|
||||||
form * {
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
form fieldset {
|
|
||||||
|
fieldset {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border-style: none;
|
border-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .field {
|
.field {
|
||||||
clear: both;
|
clear: both;
|
||||||
padding: 0.2em;
|
padding: 0.2em;
|
||||||
margin: 0 0 0 10em;
|
margin: 0 0 0 10em;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
form p.checkbox {
|
p.checkbox {
|
||||||
margin: 0 0 0 8.5em;
|
margin: 0 0 0 8.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .field.nolabel {
|
.field.nolabel {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
form label.left {
|
label.left {
|
||||||
float: left;
|
float: left;
|
||||||
width: 10em;
|
width: 10em;
|
||||||
margin-left: -10em;
|
margin-left: -10em;
|
||||||
}
|
}
|
||||||
|
|
||||||
form input.maxlength {
|
input.maxlength {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .actions{
|
.actions{
|
||||||
float : right;
|
float : right;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .validation,
|
.validation, .error, .required {
|
||||||
form .error,
|
|
||||||
form .required
|
|
||||||
{
|
|
||||||
border: 1px solid #f00;
|
border: 1px solid #f00;
|
||||||
background: #fcc;
|
background: #fcc;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .field span.readonly {
|
.field span.readonly {
|
||||||
border: 1px #CCC dotted;
|
border: 1px #CCC dotted;
|
||||||
background-color: #F7F7F7;
|
background-color: #F7F7F7;
|
||||||
display: block;
|
display: block;
|
||||||
@ -58,18 +55,18 @@ form .field span.readonly {
|
|||||||
margin:5px 0;
|
margin:5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .indicator.inline {
|
.indicator.inline {
|
||||||
display: inline;
|
display: inline;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
form .indicator.block {
|
.indicator.block {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Emulating link styling for actions requiring lesser attention, e.g. "cancel" FormActions */
|
// Emulating link styling for actions requiring lesser attention, e.g. "cancel" FormActions
|
||||||
form button.minorAction {
|
button.minorAction {
|
||||||
background: none;
|
background: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
@ -77,74 +74,47 @@ form button.minorAction {
|
|||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Composite Fields - raw concatenation of fields for programmatic purposes.
|
|
||||||
*/
|
|
||||||
.right form div.CompositeField {
|
|
||||||
margin-left: 7.5em;
|
|
||||||
}
|
|
||||||
.right form div.CompositeField div.field {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right form div.CompositeField {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.right form div.CompositeField label.left {
|
|
||||||
float: left;
|
|
||||||
width: 10em;
|
|
||||||
margin-left: -10em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right form div.column2 {
|
|
||||||
float: left;
|
|
||||||
width: 45%;
|
|
||||||
margin-right: 4%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right form div.multicolumn {
|
|
||||||
width: 100%;
|
|
||||||
float: left;
|
|
||||||
clear: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Messages
|
* Messages
|
||||||
*/
|
*/
|
||||||
form .message.notice {
|
.message {
|
||||||
background-color: #FCFFDF;
|
|
||||||
border-color: #FF9300;
|
|
||||||
}
|
|
||||||
form .message {
|
|
||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border: 1px black solid;
|
border: 1px black solid;
|
||||||
background-color: #B9FFB9;
|
background-color: #B9FFB9;
|
||||||
border-color: #00FF00;
|
border-color: #00FF00;
|
||||||
|
|
||||||
|
&.notice {
|
||||||
|
background-color: #FCFFDF;
|
||||||
|
border-color: #FF9300;
|
||||||
}
|
}
|
||||||
form .message.warning {
|
|
||||||
|
&.warning {
|
||||||
background-color: #FFD2A6;
|
background-color: #FFD2A6;
|
||||||
border-color: #FF9300;
|
border-color: #FF9300;
|
||||||
}
|
}
|
||||||
form .message.bad {
|
|
||||||
|
&.bad {
|
||||||
background-color: #FF8080;
|
background-color: #FF8080;
|
||||||
border-color: #FF0000;
|
border-color: #FF0000;
|
||||||
}
|
}
|
||||||
form .message.required,
|
|
||||||
form .message.validation {
|
&.required, &.validation {
|
||||||
display:block;
|
display:block;
|
||||||
margin-top:5px;
|
margin-top:5px;
|
||||||
color:#FF9300;
|
color:#FF9300;
|
||||||
width:240px;
|
width:240px;
|
||||||
border-color: #FF9300;
|
border-color: #FF9300;
|
||||||
}
|
}
|
||||||
form .message.validation {
|
|
||||||
|
&.validation {
|
||||||
color:#FF4040;
|
color:#FF4040;
|
||||||
width:240px;
|
width:240px;
|
||||||
border-color: #FF4040;
|
border-color: #FF4040;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.typography .ss-tabset ul {
|
.typography .ss-tabset ul {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
@ -127,7 +127,6 @@ $gf_grid_x: 16px;
|
|||||||
border-collapse: separate;
|
border-collapse: separate;
|
||||||
border-bottom: 0 none;
|
border-bottom: 0 none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom:$gf_grid_y;
|
|
||||||
|
|
||||||
thead {
|
thead {
|
||||||
color: darken($color-base, 50%);
|
color: darken($color-base, 50%);
|
||||||
@ -583,6 +582,7 @@ $gf_grid_x: 16px;
|
|||||||
margin-left:-116px; //half the width of .datagrid-pagination - centers pagination
|
margin-left:-116px; //half the width of .datagrid-pagination - centers pagination
|
||||||
.pagination-page-number {
|
.pagination-page-number {
|
||||||
color:$color-text-light;
|
color:$color-text-light;
|
||||||
|
text-align: center;
|
||||||
@include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0);
|
@include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0);
|
||||||
input {
|
input {
|
||||||
width:35px; //exact width so that a four digit number can be entered
|
width:35px; //exact width so that a four digit number can be entered
|
||||||
@ -641,4 +641,8 @@ $gf_grid_x: 16px;
|
|||||||
border-right: 1px solid $gf_colour_border;
|
border-right: 1px solid $gf_colour_border;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.grid-bottom-button {
|
||||||
|
margin-top:$gf_grid_y;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,19 +62,6 @@ div.TreeDropdownField {
|
|||||||
-webkit-border-radius: 0 4px 4px 0;
|
-webkit-border-radius: 0 4px 4px 0;
|
||||||
-moz-border-radius: 0 4px 4px 0;
|
-moz-border-radius: 0 4px 4px 0;
|
||||||
border-radius: 0 4px 4px 0;
|
border-radius: 0 4px 4px 0;
|
||||||
-moz-background-clip : padding;
|
|
||||||
-webkit-background-clip: padding-box;
|
|
||||||
background-clip: padding-box;
|
|
||||||
background: #ccc;
|
|
||||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
|
|
||||||
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
|
||||||
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
|
||||||
background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
|
|
||||||
background-image: -ms-linear-gradient(top, #cccccc 0%,#eeeeee 60%);
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 );
|
|
||||||
|
|
||||||
background-image: linear-gradient(top, #cccccc 0%,#eeeeee 60%);
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
|
|
||||||
&.treedropdownfield-open-tree {
|
&.treedropdownfield-open-tree {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
@ -10,20 +10,6 @@
|
|||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ss-insert-media &{
|
|
||||||
margin-top:20px;
|
|
||||||
|
|
||||||
h4{
|
|
||||||
float:left;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Stop nolabel from resetting margin on tree dropdown
|
|
||||||
&.from-CMS .nolabel.treedropdown .middleColumn{
|
|
||||||
margin-left:184px;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.middleColumn {
|
.middleColumn {
|
||||||
// TODO .middleColumn styling should probably be theme specific (eg cms ui will look different than blackcandy)
|
// TODO .middleColumn styling should probably be theme specific (eg cms ui will look different than blackcandy)
|
||||||
// so we should move this style into the cms and black candy files
|
// so we should move this style into the cms and black candy files
|
||||||
|
@ -52,6 +52,7 @@ abstract class SearchFilter extends Object {
|
|||||||
*/
|
*/
|
||||||
public function __construct($fullName, $value = false, array $modifiers = array()) {
|
public function __construct($fullName, $value = false, array $modifiers = array()) {
|
||||||
$this->fullName = $fullName;
|
$this->fullName = $fullName;
|
||||||
|
|
||||||
// sets $this->name and $this->relation
|
// sets $this->name and $this->relation
|
||||||
$this->addRelation($fullName);
|
$this->addRelation($fullName);
|
||||||
$this->value = $value;
|
$this->value = $value;
|
||||||
@ -161,20 +162,28 @@ abstract class SearchFilter extends Object {
|
|||||||
*/
|
*/
|
||||||
public function getDbName() {
|
public function getDbName() {
|
||||||
// Special handler for "NULL" relations
|
// Special handler for "NULL" relations
|
||||||
if($this->name == "NULL") return $this->name;
|
if($this->name == "NULL") {
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
|
||||||
// SRM: This code finds the table where the field named $this->name lives
|
// This code finds the table where the field named $this->name lives
|
||||||
// Todo: move to somewhere more appropriate, such as DataMapper, the magical class-to-be?
|
// Todo: move to somewhere more appropriate, such as DataMapper, the
|
||||||
|
// magical class-to-be?
|
||||||
$candidateClass = $this->model;
|
$candidateClass = $this->model;
|
||||||
|
|
||||||
while($candidateClass != 'DataObject') {
|
while($candidateClass != 'DataObject') {
|
||||||
if(DataObject::has_own_table($candidateClass)
|
if(DataObject::has_own_table($candidateClass)
|
||||||
&& singleton($candidateClass)->hasOwnTableDatabaseField($this->name)) {
|
&& singleton($candidateClass)->hasOwnTableDatabaseField($this->name)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$candidateClass = get_parent_class($candidateClass);
|
$candidateClass = get_parent_class($candidateClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($candidateClass == 'DataObject') {
|
if($candidateClass == 'DataObject') {
|
||||||
user_error("Couldn't find field $this->name in any of $this->model's tables.", E_USER_ERROR);
|
// fallback to the provided name in the event of a joined column
|
||||||
|
// name (as the candidate class doesn't check joined records)
|
||||||
|
return $this->fullName;
|
||||||
}
|
}
|
||||||
|
|
||||||
return "\"$candidateClass\".\"$this->name\"";
|
return "\"$candidateClass\".\"$this->name\"";
|
||||||
|
@ -67,7 +67,8 @@ class ChangePasswordForm extends Form {
|
|||||||
_t('Member.ERRORPASSWORDNOTMATCH', "Your current password does not match, please try again"),
|
_t('Member.ERRORPASSWORDNOTMATCH', "Your current password does not match, please try again"),
|
||||||
"bad"
|
"bad"
|
||||||
);
|
);
|
||||||
$this->controller->redirectBack();
|
// redirect back to the form, instead of using redirectBack() which could send the user elsewhere.
|
||||||
|
$this->controller->redirect($this->controller->Link('changepassword'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -91,7 +92,9 @@ class ChangePasswordForm extends Form {
|
|||||||
$this->sessionMessage(
|
$this->sessionMessage(
|
||||||
_t('Member.EMPTYNEWPASSWORD', "The new password can't be empty, please try again"),
|
_t('Member.EMPTYNEWPASSWORD', "The new password can't be empty, please try again"),
|
||||||
"bad");
|
"bad");
|
||||||
$this->controller->redirectBack();
|
|
||||||
|
// redirect back to the form, instead of using redirectBack() which could send the user elsewhere.
|
||||||
|
$this->controller->redirect($this->controller->Link('changepassword'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if($data['NewPassword1'] == $data['NewPassword2']) {
|
else if($data['NewPassword1'] == $data['NewPassword2']) {
|
||||||
@ -127,7 +130,9 @@ class ChangePasswordForm extends Form {
|
|||||||
),
|
),
|
||||||
"bad"
|
"bad"
|
||||||
);
|
);
|
||||||
$this->controller->redirectBack();
|
|
||||||
|
// redirect back to the form, instead of using redirectBack() which could send the user elsewhere.
|
||||||
|
$this->controller->redirect($this->controller->Link('changepassword'));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -135,7 +140,9 @@ class ChangePasswordForm extends Form {
|
|||||||
$this->sessionMessage(
|
$this->sessionMessage(
|
||||||
_t('Member.ERRORNEWPASSWORD', "You have entered your new password differently, try again"),
|
_t('Member.ERRORNEWPASSWORD', "You have entered your new password differently, try again"),
|
||||||
"bad");
|
"bad");
|
||||||
$this->controller->redirectBack();
|
|
||||||
|
// redirect back to the form, instead of using redirectBack() which could send the user elsewhere.
|
||||||
|
$this->controller->redirect($this->controller->Link('changepassword'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,6 +210,11 @@ class Member extends DataObject implements TemplateGlobalProvider {
|
|||||||
public function checkPassword($password) {
|
public function checkPassword($password) {
|
||||||
$result = $this->canLogIn();
|
$result = $this->canLogIn();
|
||||||
|
|
||||||
|
if(empty($this->Password) && $this->exists()) {
|
||||||
|
$result->error(_t('Member.NoPassword','There is no password on this member.'));
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
$e = PasswordEncryptor::create_for_algorithm($this->PasswordEncryption);
|
$e = PasswordEncryptor::create_for_algorithm($this->PasswordEncryption);
|
||||||
if(!$e->check($this->Password, $password, $this->Salt, $this)) {
|
if(!$e->check($this->Password, $password, $this->Salt, $this)) {
|
||||||
$result->error(_t (
|
$result->error(_t (
|
||||||
|
@ -64,8 +64,14 @@ class PasswordValidator extends Object {
|
|||||||
if($this->minLength) {
|
if($this->minLength) {
|
||||||
if(strlen($password) < $this->minLength) {
|
if(strlen($password) < $this->minLength) {
|
||||||
$valid->error(
|
$valid->error(
|
||||||
sprintf("Password is too short, it must be %s or more characters long.", $this->minLength),
|
sprintf(
|
||||||
"TOO_SHORT"
|
_t(
|
||||||
|
'PasswordValidator.TOOSHORT',
|
||||||
|
'Password is too short, it must be %s or more characters long'
|
||||||
|
),
|
||||||
|
$this->minLength
|
||||||
|
),
|
||||||
|
'TOO_SHORT'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -74,15 +80,27 @@ class PasswordValidator extends Object {
|
|||||||
$score = 0;
|
$score = 0;
|
||||||
$missedTests = array();
|
$missedTests = array();
|
||||||
foreach($this->testNames as $name) {
|
foreach($this->testNames as $name) {
|
||||||
if(preg_match(self::config()->character_strength_tests[$name], $password)) $score++;
|
if(preg_match(self::config()->character_strength_tests[$name], $password)) {
|
||||||
else $missedTests[] = $name;
|
$score++;
|
||||||
|
} else {
|
||||||
|
$missedTests[] = _t(
|
||||||
|
'PasswordValidator.STRENGTHTEST' . strtoupper($name),
|
||||||
|
$name,
|
||||||
|
'The user needs to add this to their password for more complexity'
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($score < $this->minScore) {
|
if($score < $this->minScore) {
|
||||||
$valid->error(
|
$valid->error(
|
||||||
"You need to increase the strength of your passwords by adding some of the following characters: "
|
sprintf(
|
||||||
. implode(", ", $missedTests),
|
_t(
|
||||||
"LOW_CHARACTER_STRENGTH"
|
'PasswordValidator.LOWCHARSTRENGTH',
|
||||||
|
'Please increase password strength by adding some of the following characters: %s'
|
||||||
|
),
|
||||||
|
implode(', ', $missedTests)
|
||||||
|
),
|
||||||
|
'LOW_CHARACTER_STRENGTH'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -91,15 +109,18 @@ class PasswordValidator extends Object {
|
|||||||
$previousPasswords = DataObject::get(
|
$previousPasswords = DataObject::get(
|
||||||
"MemberPassword",
|
"MemberPassword",
|
||||||
"\"MemberID\" = $member->ID",
|
"\"MemberID\" = $member->ID",
|
||||||
"\"Created\" DESC, \"ID\" Desc",
|
"\"Created\" DESC, \"ID\" DESC",
|
||||||
"",
|
"",
|
||||||
$this->historicalPasswordCount
|
$this->historicalPasswordCount
|
||||||
);
|
);
|
||||||
if($previousPasswords) foreach($previousPasswords as $previousPasswords) {
|
if($previousPasswords) foreach($previousPasswords as $previousPasswords) {
|
||||||
if($previousPasswords->checkPassword($password)) {
|
if($previousPasswords->checkPassword($password)) {
|
||||||
$valid->error(
|
$valid->error(
|
||||||
"You've already used that password in the past, please choose a new password",
|
_t(
|
||||||
"PREVIOUS_PASSWORD"
|
'PasswordValidator.PREVPASSWORD',
|
||||||
|
'You\'ve already used that password in the past, please choose a new password'
|
||||||
|
),
|
||||||
|
'PREVIOUS_PASSWORD'
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
0
tests/assets/LeftAndMainTest.css
Normal file
0
tests/assets/LeftAndMainTest.css
Normal file
0
tests/assets/LeftAndMainTest.js
Normal file
0
tests/assets/LeftAndMainTest.js
Normal file
@ -5,6 +5,7 @@ namespace SilverStripe\Framework\Test\Behaviour;
|
|||||||
use SilverStripe\BehatExtension\Context\SilverStripeContext,
|
use SilverStripe\BehatExtension\Context\SilverStripeContext,
|
||||||
SilverStripe\BehatExtension\Context\BasicContext,
|
SilverStripe\BehatExtension\Context\BasicContext,
|
||||||
SilverStripe\BehatExtension\Context\LoginContext,
|
SilverStripe\BehatExtension\Context\LoginContext,
|
||||||
|
SilverStripe\BehatExtension\Context\FixtureContext,
|
||||||
SilverStripe\Framework\Test\Behaviour\CmsFormsContext,
|
SilverStripe\Framework\Test\Behaviour\CmsFormsContext,
|
||||||
SilverStripe\Framework\Test\Behaviour\CmsUiContext;
|
SilverStripe\Framework\Test\Behaviour\CmsUiContext;
|
||||||
|
|
||||||
@ -20,6 +21,12 @@ require_once 'PHPUnit/Framework/Assert/Functions.php';
|
|||||||
*/
|
*/
|
||||||
class FeatureContext extends SilverStripeContext
|
class FeatureContext extends SilverStripeContext
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var FixtureFactory
|
||||||
|
*/
|
||||||
|
protected $fixtureFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes context.
|
* Initializes context.
|
||||||
* Every scenario gets it's own context object.
|
* Every scenario gets it's own context object.
|
||||||
@ -28,11 +35,46 @@ class FeatureContext extends SilverStripeContext
|
|||||||
*/
|
*/
|
||||||
public function __construct(array $parameters)
|
public function __construct(array $parameters)
|
||||||
{
|
{
|
||||||
|
parent::__construct($parameters);
|
||||||
|
|
||||||
$this->useContext('BasicContext', new BasicContext($parameters));
|
$this->useContext('BasicContext', new BasicContext($parameters));
|
||||||
$this->useContext('LoginContext', new LoginContext($parameters));
|
$this->useContext('LoginContext', new LoginContext($parameters));
|
||||||
$this->useContext('CmsFormsContext', new CmsFormsContext($parameters));
|
$this->useContext('CmsFormsContext', new CmsFormsContext($parameters));
|
||||||
$this->useContext('CmsUiContext', new CmsUiContext($parameters));
|
$this->useContext('CmsUiContext', new CmsUiContext($parameters));
|
||||||
|
|
||||||
parent::__construct($parameters);
|
$fixtureContext = new FixtureContext($parameters);
|
||||||
|
$fixtureContext->setFixtureFactory($this->getFixtureFactory());
|
||||||
|
$this->useContext('FixtureContext', $fixtureContext);
|
||||||
|
|
||||||
|
// Use blueprints to set user name from identifier
|
||||||
|
$factory = $fixtureContext->getFixtureFactory();
|
||||||
|
$blueprint = \Injector::inst()->create('FixtureBlueprint', 'Member');
|
||||||
|
$blueprint->addCallback('beforeCreate', function($identifier, &$data, &$fixtures) {
|
||||||
|
if(!isset($data['FirstName'])) $data['FirstName'] = $identifier;
|
||||||
|
});
|
||||||
|
$factory->define('Member', $blueprint);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setMinkParameters(array $parameters)
|
||||||
|
{
|
||||||
|
parent::setMinkParameters($parameters);
|
||||||
|
|
||||||
|
if(isset($parameters['files_path'])) {
|
||||||
|
$this->getSubcontext('FixtureContext')->setFilesPath($parameters['files_path']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return FixtureFactory
|
||||||
|
*/
|
||||||
|
public function getFixtureFactory() {
|
||||||
|
if(!$this->fixtureFactory) {
|
||||||
|
$this->fixtureFactory = \Injector::inst()->create('BehatFixtureFactory');
|
||||||
|
}
|
||||||
|
return $this->fixtureFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setFixtureFactory(FixtureFactory $factory) {
|
||||||
|
$this->fixtureFactory = $factory;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,9 @@ use Behat\Behat\Context\ClosuredContextInterface,
|
|||||||
Behat\Behat\Context\TranslatedContextInterface,
|
Behat\Behat\Context\TranslatedContextInterface,
|
||||||
Behat\Behat\Context\BehatContext,
|
Behat\Behat\Context\BehatContext,
|
||||||
Behat\Behat\Context\Step,
|
Behat\Behat\Context\Step,
|
||||||
Behat\Behat\Exception\PendingException;
|
Behat\Behat\Exception\PendingException,
|
||||||
use Behat\Gherkin\Node\PyStringNode,
|
Behat\Mink\Exception\ElementHtmlException,
|
||||||
|
Behat\Gherkin\Node\PyStringNode,
|
||||||
Behat\Gherkin\Node\TableNode;
|
Behat\Gherkin\Node\TableNode;
|
||||||
|
|
||||||
// PHPUnit
|
// PHPUnit
|
||||||
@ -88,15 +89,25 @@ class CmsFormsContext extends BehatContext
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Then /^the "(?P<field>([^"]*))" HTML field should contain "(?P<value>([^"]*))"$/
|
* @Then /^the "(?P<locator>([^"]*))" HTML field should contain "(?P<html>([^"]*))"$/
|
||||||
*/
|
*/
|
||||||
public function theHtmlFieldShouldContain($field, $value)
|
public function theHtmlFieldShouldContain($locator, $html)
|
||||||
{
|
{
|
||||||
$page = $this->getSession()->getPage();
|
$page = $this->getSession()->getPage();
|
||||||
$inputField = $page->findField($field);
|
$element = $page->findField($locator);
|
||||||
assertNotNull($inputField, sprintf('HTML field "%s" not found', $field));
|
assertNotNull($element, sprintf('HTML field "%s" not found', $locator));
|
||||||
|
|
||||||
$this->getMainContext()->assertElementContains('#' . $inputField->getAttribute('id'), $value);
|
$actual = $element->getAttribute('value');
|
||||||
|
$regex = '/'.preg_quote($html, '/').'/ui';
|
||||||
|
if (!preg_match($regex, $actual)) {
|
||||||
|
$message = sprintf(
|
||||||
|
'The string "%s" was not found in the HTML of the element matching %s "%s".',
|
||||||
|
$html,
|
||||||
|
'named',
|
||||||
|
$locator
|
||||||
|
);
|
||||||
|
throw new ElementHtmlException($message, $this->getSession(), $element);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -105,7 +116,26 @@ class CmsFormsContext extends BehatContext
|
|||||||
public function iShouldSeeAButton($text)
|
public function iShouldSeeAButton($text)
|
||||||
{
|
{
|
||||||
$page = $this->getSession()->getPage();
|
$page = $this->getSession()->getPage();
|
||||||
$element = $page->find('named', array('link_or_button', "'$text'"));
|
$els = $page->findAll('named', array('link_or_button', "'$text'"));
|
||||||
assertNotNull($element, sprintf('%s button not found', $text));
|
$matchedEl = null;
|
||||||
|
foreach($els as $el) {
|
||||||
|
if($el->isVisible()) $matchedEl = $el;
|
||||||
}
|
}
|
||||||
|
assertNotNull($matchedEl, sprintf('%s button not found', $text));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Given /^I should not see a "([^"]*)" button$/
|
||||||
|
*/
|
||||||
|
public function iShouldNotSeeAButton($text)
|
||||||
|
{
|
||||||
|
$page = $this->getSession()->getPage();
|
||||||
|
$els = $page->findAll('named', array('link_or_button', "'$text'"));
|
||||||
|
$matchedEl = null;
|
||||||
|
foreach($els as $el) {
|
||||||
|
if($el->isVisible()) $matchedEl = $el;
|
||||||
|
}
|
||||||
|
assertNull($matchedEl, sprintf('%s button found', $text));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,10 @@ use Behat\Behat\Context\ClosuredContextInterface,
|
|||||||
Behat\Behat\Context\BehatContext,
|
Behat\Behat\Context\BehatContext,
|
||||||
Behat\Behat\Context\Step,
|
Behat\Behat\Context\Step,
|
||||||
Behat\Behat\Exception\PendingException,
|
Behat\Behat\Exception\PendingException,
|
||||||
Behat\Mink\Exception\ElementNotFoundException;
|
Behat\Mink\Exception\ElementNotFoundException,
|
||||||
use Behat\Gherkin\Node\PyStringNode,
|
Behat\Gherkin\Node\PyStringNode,
|
||||||
Behat\Gherkin\Node\TableNode;
|
Behat\Gherkin\Node\TableNode,
|
||||||
|
Behat\Mink\Element\NodeElement;
|
||||||
|
|
||||||
|
|
||||||
// PHPUnit
|
// PHPUnit
|
||||||
@ -310,7 +311,7 @@ class CmsUiContext extends BehatContext
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Workaround for chosen.js dropdowns which hide the original dropdown field.
|
* Workaround for chosen.js dropdowns or tree dropdowns which hide the original dropdown field.
|
||||||
*
|
*
|
||||||
* @When /^(?:|I )fill in the "(?P<field>(?:[^"]|\\")*)" dropdown with "(?P<value>(?:[^"]|\\")*)"$/
|
* @When /^(?:|I )fill in the "(?P<field>(?:[^"]|\\")*)" dropdown with "(?P<value>(?:[^"]|\\")*)"$/
|
||||||
* @When /^(?:|I )fill in "(?P<value>(?:[^"]|\\")*)" for the "(?P<field>(?:[^"]|\\")*)" dropdown$/
|
* @When /^(?:|I )fill in "(?P<value>(?:[^"]|\\")*)" for the "(?P<field>(?:[^"]|\\")*)" dropdown$/
|
||||||
@ -320,6 +321,12 @@ class CmsUiContext extends BehatContext
|
|||||||
$field = $this->fixStepArgument($field);
|
$field = $this->fixStepArgument($field);
|
||||||
$value = $this->fixStepArgument($value);
|
$value = $this->fixStepArgument($value);
|
||||||
|
|
||||||
|
$nativeField = $this->getSession()->getPage()->findField($field);
|
||||||
|
if($nativeField) {
|
||||||
|
$nativeField->selectOption($value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Given the fuzzy matching, we might get more than one matching field.
|
// Given the fuzzy matching, we might get more than one matching field.
|
||||||
$formFields = array();
|
$formFields = array();
|
||||||
|
|
||||||
@ -338,32 +345,24 @@ class CmsUiContext extends BehatContext
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Find by name (incl. hidden fields)
|
||||||
|
if(!$formFields) {
|
||||||
|
$formFields = $this->getSession()->getPage()->findAll('xpath', "//*[@name='$field']");
|
||||||
|
}
|
||||||
|
|
||||||
assertGreaterThan(0, count($formFields), sprintf(
|
assertGreaterThan(0, count($formFields), sprintf(
|
||||||
'Chosen.js dropdown named "%s" not found',
|
'Chosen.js dropdown named "%s" not found',
|
||||||
$field
|
$field
|
||||||
));
|
));
|
||||||
|
|
||||||
$containers = array();
|
|
||||||
foreach($formFields as $formField) {
|
|
||||||
// Traverse up to field holder
|
// Traverse up to field holder
|
||||||
$containerCandidate = $formField;
|
$container = null;
|
||||||
do {
|
foreach($formFields as $formField) {
|
||||||
$containerCandidate = $containerCandidate->getParent();
|
$container = $this->findParentByClass($formField, 'field');
|
||||||
} while($containerCandidate && !preg_match('/field/', $containerCandidate->getAttribute('class')));
|
if($container) break; // Default to first visible container
|
||||||
|
|
||||||
if(
|
|
||||||
$containerCandidate
|
|
||||||
&& $containerCandidate->isVisible()
|
|
||||||
&& preg_match('/field/', $containerCandidate->getAttribute('class'))
|
|
||||||
) {
|
|
||||||
$containers[] = $containerCandidate;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assertGreaterThan(0, count($containers), 'Chosen.js field container not found');
|
assertNotNull($container, 'Chosen.js field container not found');
|
||||||
|
|
||||||
// Default to first visible container
|
|
||||||
$container = $containers[0];
|
|
||||||
|
|
||||||
// Click on newly expanded list element, indirectly setting the dropdown value
|
// Click on newly expanded list element, indirectly setting the dropdown value
|
||||||
$linkEl = $container->find('xpath', './/a[./@href]');
|
$linkEl = $container->find('xpath', './/a[./@href]');
|
||||||
@ -371,18 +370,32 @@ class CmsUiContext extends BehatContext
|
|||||||
$this->getSession()->wait(100); // wait for dropdown overlay to appear
|
$this->getSession()->wait(100); // wait for dropdown overlay to appear
|
||||||
$linkEl->click();
|
$linkEl->click();
|
||||||
|
|
||||||
|
if(in_array('treedropdown', explode(' ', $container->getAttribute('class')))) {
|
||||||
|
// wait for ajax dropdown to load
|
||||||
|
$this->getSession()->wait(
|
||||||
|
5000,
|
||||||
|
"jQuery('#" . $container->getAttribute('id') . " .treedropdownfield-panel li').length > 0"
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// wait for dropdown overlay to appear (might be animated)
|
||||||
|
$this->getSession()->wait(300);
|
||||||
|
}
|
||||||
|
|
||||||
$listEl = $container->find('xpath', sprintf('.//li[contains(normalize-space(string(.)), \'%s\')]', $value));
|
$listEl = $container->find('xpath', sprintf('.//li[contains(normalize-space(string(.)), \'%s\')]', $value));
|
||||||
assertNotNull($listEl, sprintf(
|
if(null === $listEl) {
|
||||||
|
throw new \InvalidArgumentException(sprintf(
|
||||||
'Chosen.js list element with title "%s" not found',
|
'Chosen.js list element with title "%s" not found',
|
||||||
$value
|
$value
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
// Dropdown flyout might be animated
|
$listLinkEl = $listEl->find('xpath', './/a');
|
||||||
// $this->getSession()->wait(1000, 'jQuery(":animated").length == 0');
|
if($listLinkEl) {
|
||||||
$this->getSession()->wait(300);
|
$listLinkEl->click();
|
||||||
|
} else {
|
||||||
$listEl->click();
|
$listEl->click();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns fixed step argument (with \\" replaced back to ").
|
* Returns fixed step argument (with \\" replaced back to ").
|
||||||
@ -395,4 +408,24 @@ class CmsUiContext extends BehatContext
|
|||||||
{
|
{
|
||||||
return str_replace('\\"', '"', $argument);
|
return str_replace('\\"', '"', $argument);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the closest parent element having a specific class attribute.
|
||||||
|
*
|
||||||
|
* @param NodeElement $el
|
||||||
|
* @param String $class
|
||||||
|
* @return Element|null
|
||||||
|
*/
|
||||||
|
protected function findParentByClass(NodeElement $el, $class) {
|
||||||
|
$container = $el->getParent();
|
||||||
|
while($container && $container->getTagName() != 'body'
|
||||||
|
) {
|
||||||
|
if($container->isVisible() && in_array($class, explode(' ', $container->getAttribute('class')))) {
|
||||||
|
return $container;
|
||||||
|
}
|
||||||
|
$container = $container->getParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
26
tests/behat/features/insert-an-image.feature
Normal file
26
tests/behat/features/insert-an-image.feature
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Feature: Insert an image into a page
|
||||||
|
As a cms author
|
||||||
|
I want to insert an image into a page
|
||||||
|
So that I can insert them into my content efficiently
|
||||||
|
|
||||||
|
Background:
|
||||||
|
Given a "page" "About Us"
|
||||||
|
Given I am logged in with "ADMIN" permissions
|
||||||
|
And I go to "/admin/pages"
|
||||||
|
Then I should see "About Us" in CMS Tree
|
||||||
|
|
||||||
|
@javascript
|
||||||
|
Scenario: I can insert images into the content
|
||||||
|
When I follow "About Us"
|
||||||
|
Then I should see an edit page form
|
||||||
|
|
||||||
|
When I press the "Insert Media" button
|
||||||
|
Then I should see "Choose files to upload..."
|
||||||
|
|
||||||
|
When I press the "From the web" button
|
||||||
|
And I fill in "RemoteURL" with "http://www.silverstripe.com/themes/sscom/images/silverstripe_logo_web.png"
|
||||||
|
And I press the "Add url" button
|
||||||
|
Then I should see "silverstripe_logo_web.png (www.silverstripe.com)" in the ".ss-assetuploadfield span.name" element
|
||||||
|
|
||||||
|
When I press the "Update" button
|
||||||
|
Then the "Content" HTML field should contain "silverstripe_logo_web.png"
|
@ -5,37 +5,10 @@ Feature: Manage files
|
|||||||
So that I can insert them into my content efficiently
|
So that I can insert them into my content efficiently
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
# Idea: We could weave the database reset into this through
|
Given a "file" "assets/folder1/file1.jpg"
|
||||||
# saying 'Given there are ONLY the following...'.
|
And a "file" "assets/folder1/folder1.1/file2.jpg"
|
||||||
Given there are the following Folder records
|
And a "folder" "assets/folder2"
|
||||||
"""
|
|
||||||
folder1:
|
|
||||||
Filename: assets/folder1
|
|
||||||
folder1.1:
|
|
||||||
Filename: assets/folder1/folder1.1
|
|
||||||
Parent: =>Folder.folder1
|
|
||||||
folder2:
|
|
||||||
Filename: assets/folder2
|
|
||||||
Name: folder2
|
|
||||||
"""
|
|
||||||
And there are the following File records
|
|
||||||
"""
|
|
||||||
file1:
|
|
||||||
Filename: assets/folder1/file1.jpg
|
|
||||||
Name: file1.jpg
|
|
||||||
Parent: =>Folder.folder1
|
|
||||||
file2:
|
|
||||||
Filename: assets/folder1/folder1.1/file2.jpg
|
|
||||||
Name: file2.jpg
|
|
||||||
Parent: =>Folder.folder1.1
|
|
||||||
"""
|
|
||||||
And I am logged in with "ADMIN" permissions
|
And I am logged in with "ADMIN" permissions
|
||||||
# Alternative fixture shortcuts, with their titles
|
|
||||||
# as shown in admin/security rather than technical permission codes.
|
|
||||||
# Just an idea for now, could be handled by YAML fixtures as well
|
|
||||||
# And I am logged in with the following permissions
|
|
||||||
# - Access to 'Pages' section
|
|
||||||
# - Access to 'Files' section
|
|
||||||
And I go to "/admin/assets"
|
And I go to "/admin/assets"
|
||||||
|
|
||||||
@modal
|
@modal
|
||||||
@ -76,7 +49,7 @@ Feature: Manage files
|
|||||||
Scenario: I can change the folder of a file
|
Scenario: I can change the folder of a file
|
||||||
Given I click on "folder1" in the "Files" table
|
Given I click on "folder1" in the "Files" table
|
||||||
And I click on "file1" in the "folder1" table
|
And I click on "file1" in the "folder1" table
|
||||||
And I fill in =>Folder.folder2 for "ParentID"
|
And I fill in "folder2" for the "ParentID" dropdown
|
||||||
And I press the "Save" button
|
And I press the "Save" button
|
||||||
# /show/0 is to ensure that we are on top level folder
|
# /show/0 is to ensure that we are on top level folder
|
||||||
And I go to "/admin/assets/show/0"
|
And I go to "/admin/assets/show/0"
|
||||||
|
@ -1,48 +1,21 @@
|
|||||||
@database-defaults
|
@javascript
|
||||||
Feature: Manage users
|
Feature: Manage users
|
||||||
As a site administrator
|
As a site administrator
|
||||||
I want to create and manage user accounts on my site
|
I want to create and manage user accounts on my site
|
||||||
So that I can control access to the CMS
|
So that I can control access to the CMS
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
Given there are the following Permission records
|
Given a "member" "Admin" belonging to "Admin Group" with "Email"="admin@test.com"
|
||||||
"""
|
And a "member" "Staff" belonging to "Staff Group" with "Email"="staffmember@test.com"
|
||||||
admin:
|
And the "group" "Admin Group" has permissions "Full administrative rights"
|
||||||
Code: ADMIN
|
|
||||||
security-admin:
|
|
||||||
Code: CMS_ACCESS_SecurityAdmin
|
|
||||||
"""
|
|
||||||
And there are the following Group records
|
|
||||||
"""
|
|
||||||
admingroup:
|
|
||||||
Title: Admin Group
|
|
||||||
Code: admin
|
|
||||||
Permissions: =>Permission.admin
|
|
||||||
staffgroup:
|
|
||||||
Title: Staff Group
|
|
||||||
Code: staffgroup
|
|
||||||
"""
|
|
||||||
And there are the following Member records
|
|
||||||
"""
|
|
||||||
admin:
|
|
||||||
FirstName: Admin
|
|
||||||
Email: admin@test.com
|
|
||||||
Groups: =>Group.admingroup
|
|
||||||
staffmember:
|
|
||||||
FirstName: Staff
|
|
||||||
Email: staffmember@test.com
|
|
||||||
Groups: =>Group.staffgroup
|
|
||||||
"""
|
|
||||||
And I am logged in with "ADMIN" permissions
|
And I am logged in with "ADMIN" permissions
|
||||||
And I go to "/admin/security"
|
And I go to "/admin/security"
|
||||||
|
|
||||||
@javascript
|
|
||||||
Scenario: I can list all users regardless of group
|
Scenario: I can list all users regardless of group
|
||||||
When I click the "Users" CMS tab
|
When I click the "Users" CMS tab
|
||||||
Then I should see "admin@test.com" in the "#Root_Users" element
|
Then I should see "admin@test.com" in the "#Root_Users" element
|
||||||
And I should see "staffmember@test.com" in the "#Root_Users" element
|
And I should see "staffmember@test.com" in the "#Root_Users" element
|
||||||
|
|
||||||
@javascript
|
|
||||||
Scenario: I can list all users in a specific group
|
Scenario: I can list all users in a specific group
|
||||||
When I click the "Groups" CMS tab
|
When I click the "Groups" CMS tab
|
||||||
# TODO Please check how performant this is
|
# TODO Please check how performant this is
|
||||||
@ -50,7 +23,6 @@ Feature: Manage users
|
|||||||
Then I should see "admin@test.com" in the "#Root_Members" element
|
Then I should see "admin@test.com" in the "#Root_Members" element
|
||||||
And I should not see "staffmember@test.com" in the "#Root_Members" element
|
And I should not see "staffmember@test.com" in the "#Root_Members" element
|
||||||
|
|
||||||
@javascript
|
|
||||||
Scenario: I can add a user to the system
|
Scenario: I can add a user to the system
|
||||||
When I click the "Users" CMS tab
|
When I click the "Users" CMS tab
|
||||||
And I press the "Add Member" button
|
And I press the "Add Member" button
|
||||||
@ -64,12 +36,10 @@ Feature: Manage users
|
|||||||
When I go to "admin/security/"
|
When I go to "admin/security/"
|
||||||
Then I should see "john.doe@test.com" in the "#Root_Users" element
|
Then I should see "john.doe@test.com" in the "#Root_Users" element
|
||||||
|
|
||||||
@javascript
|
|
||||||
Scenario: I can edit an existing user and add him to an existing group
|
Scenario: I can edit an existing user and add him to an existing group
|
||||||
When I click the "Users" CMS tab
|
When I click the "Users" CMS tab
|
||||||
And I click "staffmember@test.com" in the "#Root_Users" element
|
And I click "staffmember@test.com" in the "#Root_Users" element
|
||||||
And I select "Admin Group" from "Groups"
|
And I select "Admin Group" from "Groups"
|
||||||
And I additionally select "Administrators" from "Groups"
|
|
||||||
And I press the "Save" button
|
And I press the "Save" button
|
||||||
Then I should see a "Saved Member" message
|
Then I should see a "Saved Member" message
|
||||||
|
|
||||||
@ -78,7 +48,6 @@ Feature: Manage users
|
|||||||
And I click "Admin Group" in the "#Root_Groups" element
|
And I click "Admin Group" in the "#Root_Groups" element
|
||||||
Then I should see "staffmember@test.com"
|
Then I should see "staffmember@test.com"
|
||||||
|
|
||||||
@javascript
|
|
||||||
Scenario: I can delete an existing user
|
Scenario: I can delete an existing user
|
||||||
When I click the "Users" CMS tab
|
When I click the "Users" CMS tab
|
||||||
And I click "staffmember@test.com" in the "#Root_Users" element
|
And I click "staffmember@test.com" in the "#Root_Users" element
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
@database-defaults
|
|
||||||
Feature: My Profile
|
Feature: My Profile
|
||||||
As a CMS user
|
As a CMS user
|
||||||
I want to be able to change personal settings
|
I want to be able to change personal settings
|
||||||
|
@ -100,10 +100,24 @@ class ControllerTest extends FunctionalTest {
|
|||||||
|
|
||||||
$response = $this->get("ControllerTest_AccessSecuredController/method2");
|
$response = $this->get("ControllerTest_AccessSecuredController/method2");
|
||||||
$this->assertEquals(200, $response->getStatusCode(),
|
$this->assertEquals(200, $response->getStatusCode(),
|
||||||
'Access grante on action originally defined with empty $allowed_actions on parent controller, ' .
|
'Access granted on action originally defined with empty $allowed_actions on parent controller, ' .
|
||||||
'because it has been redefined in the subclass'
|
'because it has been redefined in the subclass'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$response = $this->get("ControllerTest_AccessSecuredController/templateaction");
|
||||||
|
$this->assertEquals(403, $response->getStatusCode(),
|
||||||
|
'Access denied on action with $allowed_actions on defining controller, ' .
|
||||||
|
'if action is not a method but rather a template discovered by naming convention'
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->session()->inst_set('loggedInAs', $adminUser->ID);
|
||||||
|
$response = $this->get("ControllerTest_AccessSecuredController/templateaction");
|
||||||
|
$this->assertEquals(200, $response->getStatusCode(),
|
||||||
|
'Access granted for logged in admin on action with $allowed_actions on defining controller, ' .
|
||||||
|
'if action is not a method but rather a template discovered by naming convention'
|
||||||
|
);
|
||||||
|
$this->session()->inst_set('loggedInAs', null);
|
||||||
|
|
||||||
$response = $this->get("ControllerTest_AccessSecuredController/adminonly");
|
$response = $this->get("ControllerTest_AccessSecuredController/adminonly");
|
||||||
$this->assertEquals(403, $response->getStatusCode(),
|
$this->assertEquals(403, $response->getStatusCode(),
|
||||||
'Access denied on action with $allowed_actions on defining controller, ' .
|
'Access denied on action with $allowed_actions on defining controller, ' .
|
||||||
@ -349,6 +363,7 @@ class ControllerTest_Controller extends Controller implements TestOnly {
|
|||||||
'methodaction',
|
'methodaction',
|
||||||
'stringaction',
|
'stringaction',
|
||||||
'redirectbacktest',
|
'redirectbacktest',
|
||||||
|
'templateaction'
|
||||||
);
|
);
|
||||||
|
|
||||||
public function methodaction() {
|
public function methodaction() {
|
||||||
@ -395,7 +410,7 @@ class ControllerTest_AccessSecuredController extends ControllerTest_AccessBaseCo
|
|||||||
"method1", // denied because only defined in parent
|
"method1", // denied because only defined in parent
|
||||||
"method2" => true, // granted because its redefined
|
"method2" => true, // granted because its redefined
|
||||||
"adminonly" => "ADMIN",
|
"adminonly" => "ADMIN",
|
||||||
"protectedmethod" => true, // denied because its protected
|
'templateaction' => 'ADMIN'
|
||||||
);
|
);
|
||||||
|
|
||||||
public function method2() {}
|
public function method2() {}
|
||||||
|
@ -309,6 +309,8 @@ class DirectorTest extends SapphireTest {
|
|||||||
'HTTP_X_FORWARDED_PROTOCOL', 'HTTPS', 'SSL'
|
'HTTP_X_FORWARDED_PROTOCOL', 'HTTPS', 'SSL'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$origServer = $_SERVER;
|
||||||
|
|
||||||
foreach($headers as $header) {
|
foreach($headers as $header) {
|
||||||
if(isset($_SERVER[$header])) {
|
if(isset($_SERVER[$header])) {
|
||||||
unset($_SERVER['HTTP_X_FORWARDED_PROTOCOL']);
|
unset($_SERVER['HTTP_X_FORWARDED_PROTOCOL']);
|
||||||
@ -339,6 +341,8 @@ class DirectorTest extends SapphireTest {
|
|||||||
// https via SSL
|
// https via SSL
|
||||||
$_SERVER['SSL'] = '';
|
$_SERVER['SSL'] = '';
|
||||||
$this->assertTrue(Director::is_https());
|
$this->assertTrue(Director::is_https());
|
||||||
|
|
||||||
|
$_SERVER = $origServer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class DataListTest extends SapphireTest {
|
class DataListTest extends SapphireTest {
|
||||||
|
|
||||||
// Borrow the model from DataObjectTest
|
// Borrow the model from DataObjectTest
|
||||||
@ -208,10 +212,6 @@ class DataListTest extends SapphireTest {
|
|||||||
$this->assertEquals($list->Count(), $count);
|
$this->assertEquals($list->Count(), $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFilter() {
|
|
||||||
$this->markTestIncomplete();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testWhere() {
|
public function testWhere() {
|
||||||
// We can use raw SQL queries with where. This is only recommended for advanced uses;
|
// We can use raw SQL queries with where. This is only recommended for advanced uses;
|
||||||
// if you can, you should use filter().
|
// if you can, you should use filter().
|
||||||
@ -576,6 +576,18 @@ class DataListTest extends SapphireTest {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testFilterOnJoin() {
|
||||||
|
$list = DataObjectTest_TeamComment::get()
|
||||||
|
->leftJoin('DataObjectTest_Team',
|
||||||
|
'"DataObjectTest_Team"."ID" = "DataObjectTest_TeamComment"."TeamID"'
|
||||||
|
)->filter(array(
|
||||||
|
'Title' => 'Team 1'
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->assertEquals(2, $list->count());
|
||||||
|
$this->assertEquals(array('Joe', 'Bob'), $list->column('Name'));
|
||||||
|
}
|
||||||
|
|
||||||
public function testFilterAndExcludeById() {
|
public function testFilterAndExcludeById() {
|
||||||
$id = $this->idFromFixture('DataObjectTest_SubTeam', 'subteam1');
|
$id = $this->idFromFixture('DataObjectTest_SubTeam', 'subteam1');
|
||||||
$list = DataObjectTest_SubTeam::get()->filter('ID', $id);
|
$list = DataObjectTest_SubTeam::get()->filter('ID', $id);
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
class DataObjectDuplicationTest extends SapphireTest {
|
class DataObjectDuplicationTest extends SapphireTest {
|
||||||
|
|
||||||
|
protected $usesDatabase = true;
|
||||||
|
|
||||||
protected $extraDataObjects = array(
|
protected $extraDataObjects = array(
|
||||||
'DataObjectDuplicateTestClass1',
|
'DataObjectDuplicateTestClass1',
|
||||||
'DataObjectDuplicateTestClass2',
|
'DataObjectDuplicateTestClass2',
|
||||||
@ -28,6 +30,29 @@ class DataObjectDuplicationTest extends SapphireTest {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testDuplicateHasOne() {
|
||||||
|
$relationObj = new DataObjectDuplicateTestClass1();
|
||||||
|
$relationObj->text = 'class1';
|
||||||
|
$relationObj->write();
|
||||||
|
|
||||||
|
$orig = new DataObjectDuplicateTestClass2();
|
||||||
|
$orig->text = 'class2';
|
||||||
|
$orig->oneID = $relationObj->ID;
|
||||||
|
$orig->write();
|
||||||
|
|
||||||
|
$duplicate = $orig->duplicate();
|
||||||
|
$this->assertEquals($relationObj->ID, $duplicate->oneID,
|
||||||
|
'Copies has_one relationship'
|
||||||
|
);
|
||||||
|
$this->assertEquals(2, DataObjectDuplicateTestClass2::get()->Count(),
|
||||||
|
'Only creates a single duplicate'
|
||||||
|
);
|
||||||
|
$this->assertEquals(1, DataObjectDuplicateTestClass1::get()->Count(),
|
||||||
|
'Does not create duplicate of has_one relationship'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testDuplicateManyManyClasses() {
|
public function testDuplicateManyManyClasses() {
|
||||||
//create new test classes below
|
//create new test classes below
|
||||||
$one = new DataObjectDuplicateTestClass1();
|
$one = new DataObjectDuplicateTestClass1();
|
||||||
|
@ -1103,6 +1103,10 @@ class DataObjectTest extends SapphireTest {
|
|||||||
|
|
||||||
$newPlayer = new DataObjectTest_Player();
|
$newPlayer = new DataObjectTest_Player();
|
||||||
$this->assertNull($newPlayer->relField('Teams.First.Title'));
|
$this->assertNull($newPlayer->relField('Teams.First.Title'));
|
||||||
|
|
||||||
|
// Test that relField works on db field manipulations
|
||||||
|
$comment = $this->objFromFixture('DataObjectTest_TeamComment', 'comment3');
|
||||||
|
$this->assertEquals("PHIL IS A UNIQUE GUY, AND COMMENTS ON TEAM2" , $comment->relField('Comment.UpperCase'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRelObject() {
|
public function testRelObject() {
|
||||||
|
@ -20,7 +20,6 @@ DataObjectTest_Player:
|
|||||||
player2:
|
player2:
|
||||||
FirstName: Player 2
|
FirstName: Player 2
|
||||||
Teams: =>DataObjectTest_Team.team1,=>DataObjectTest_Team.team2
|
Teams: =>DataObjectTest_Team.team1,=>DataObjectTest_Team.team2
|
||||||
|
|
||||||
DataObjectTest_SubTeam:
|
DataObjectTest_SubTeam:
|
||||||
subteam1:
|
subteam1:
|
||||||
Title: Subteam 1
|
Title: Subteam 1
|
||||||
@ -33,7 +32,6 @@ DataObjectTest_SubTeam:
|
|||||||
ExtendedHasOneRelationship: =>DataObjectTest_Player.player1
|
ExtendedHasOneRelationship: =>DataObjectTest_Player.player1
|
||||||
subteam3_with_empty_fields:
|
subteam3_with_empty_fields:
|
||||||
Title: Subteam 3
|
Title: Subteam 3
|
||||||
|
|
||||||
DataObjectTest_TeamComment:
|
DataObjectTest_TeamComment:
|
||||||
comment1:
|
comment1:
|
||||||
Name: Joe
|
Name: Joe
|
||||||
|
@ -138,6 +138,39 @@ class SQLQueryTest extends SapphireTest {
|
|||||||
$query->sql());
|
$query->sql());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testNullLimit() {
|
||||||
|
$query = new SQLQuery();
|
||||||
|
$query->setFrom("MyTable");
|
||||||
|
$query->setLimit(null);
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
'SELECT * FROM MyTable',
|
||||||
|
$query->sql()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testZeroLimit() {
|
||||||
|
$query = new SQLQuery();
|
||||||
|
$query->setFrom("MyTable");
|
||||||
|
$query->setLimit(0);
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
'SELECT * FROM MyTable',
|
||||||
|
$query->sql()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testZeroLimitWithOffset() {
|
||||||
|
$query = new SQLQuery();
|
||||||
|
$query->setFrom("MyTable");
|
||||||
|
$query->setLimit(0, 99);
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
'SELECT * FROM MyTable LIMIT 0 OFFSET 99',
|
||||||
|
$query->sql()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException InvalidArgumentException
|
* @expectedException InvalidArgumentException
|
||||||
*/
|
*/
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This test class will focus on the when an search filter contains relational component,
|
* This test class will focus on the when an search filter contains relational
|
||||||
* such as has_one, has_many, many_many, the SearchFilter::applyRelation($query) will add
|
* component such as has_one, has_many, many_many, the {@link SearchFilter::applyRelation($query)}
|
||||||
* the right "join" clauses to $query without the component parent class missing from
|
* will add the right "join" clauses to $query without the component parent
|
||||||
* "join" chain.
|
* class missing from "join" chain.
|
||||||
*
|
*
|
||||||
* @package framework
|
* @package framework
|
||||||
* @subpackage testing
|
* @subpackage tests
|
||||||
*/
|
*/
|
||||||
class SearchFilterApplyRelationTest extends SapphireTest {
|
class SearchFilterApplyRelationTest extends SapphireTest {
|
||||||
|
|
||||||
protected static $fixture_file = 'SearchFilterApplyRelationTest.yml';
|
protected static $fixture_file = 'SearchFilterApplyRelationTest.yml';
|
||||||
|
|
||||||
protected $extraDataObjects = array(
|
protected $extraDataObjects = array(
|
||||||
@ -109,7 +111,12 @@ class SearchFilterApplyRelationTest extends SapphireTest{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_DO extends DataObject implements TestOnly {
|
class SearchFilterApplyRelationTest_DO extends DataObject implements TestOnly {
|
||||||
|
|
||||||
private static $has_one = array(
|
private static $has_one = array(
|
||||||
'SearchFilterApplyRelationTest_HasOneGrantChild' => 'SearchFilterApplyRelationTest_HasOneGrantChild'
|
'SearchFilterApplyRelationTest_HasOneGrantChild' => 'SearchFilterApplyRelationTest_HasOneGrantChild'
|
||||||
);
|
);
|
||||||
@ -123,12 +130,20 @@ class SearchFilterApplyRelationTest_DO extends DataObject implements TestOnly {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_HasOneParent extends DataObject implements TestOnly {
|
class SearchFilterApplyRelationTest_HasOneParent extends DataObject implements TestOnly {
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
"Title" => "Varchar"
|
"Title" => "Varchar"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_HasOneChild extends SearchFilterApplyRelationTest_HasOneParent
|
class SearchFilterApplyRelationTest_HasOneChild extends SearchFilterApplyRelationTest_HasOneParent
|
||||||
implements TestOnly {
|
implements TestOnly {
|
||||||
// This is to create an seperate Table only.
|
// This is to create an seperate Table only.
|
||||||
@ -137,6 +152,10 @@ class SearchFilterApplyRelationTest_HasOneChild extends SearchFilterApplyRelatio
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_HasOneGrantChild extends SearchFilterApplyRelationTest_HasOneChild
|
class SearchFilterApplyRelationTest_HasOneGrantChild extends SearchFilterApplyRelationTest_HasOneChild
|
||||||
implements TestOnly {
|
implements TestOnly {
|
||||||
// This is to create an seperate Table only.
|
// This is to create an seperate Table only.
|
||||||
@ -148,12 +167,20 @@ class SearchFilterApplyRelationTest_HasOneGrantChild extends SearchFilterApplyRe
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_HasManyParent extends DataObject implements TestOnly {
|
class SearchFilterApplyRelationTest_HasManyParent extends DataObject implements TestOnly {
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
"Title" => "Varchar"
|
"Title" => "Varchar"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_HasManyChild extends SearchFilterApplyRelationTest_HasManyParent
|
class SearchFilterApplyRelationTest_HasManyChild extends SearchFilterApplyRelationTest_HasManyParent
|
||||||
implements TestOnly {
|
implements TestOnly {
|
||||||
// This is to create an separate Table only.
|
// This is to create an separate Table only.
|
||||||
@ -162,12 +189,20 @@ class SearchFilterApplyRelationTest_HasManyChild extends SearchFilterApplyRelati
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_HasManyGrantChild extends SearchFilterApplyRelationTest_HasManyChild{
|
class SearchFilterApplyRelationTest_HasManyGrantChild extends SearchFilterApplyRelationTest_HasManyChild{
|
||||||
private static $has_one = array(
|
private static $has_one = array(
|
||||||
"SearchFilterApplyRelationTest_DO" => "SearchFilterApplyRelationTest_DO"
|
"SearchFilterApplyRelationTest_DO" => "SearchFilterApplyRelationTest_DO"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_ManyManyParent extends DataObject implements TestOnly{
|
class SearchFilterApplyRelationTest_ManyManyParent extends DataObject implements TestOnly{
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
"Title" => "Varchar"
|
"Title" => "Varchar"
|
||||||
@ -182,6 +217,10 @@ class SearchFilterApplyRelationTest_ManyManyChild extends SearchFilterApplyRelat
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package framework
|
||||||
|
* @subpackage tests
|
||||||
|
*/
|
||||||
class SearchFilterApplyRelationTest_ManyManyGrantChild extends SearchFilterApplyRelationTest_ManyManyChild
|
class SearchFilterApplyRelationTest_ManyManyGrantChild extends SearchFilterApplyRelationTest_ManyManyChild
|
||||||
implements TestOnly {
|
implements TestOnly {
|
||||||
// This is to create an seperate Table only.
|
// This is to create an seperate Table only.
|
||||||
|
@ -408,6 +408,14 @@ class Requirements_Backend {
|
|||||||
*/
|
*/
|
||||||
public $combine_js_with_jsmin = true;
|
public $combine_js_with_jsmin = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setting for whether or not a file header should be written when
|
||||||
|
* combining files.
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
public $write_header_comment = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string By default, combined files are stored in assets/_combinedfiles.
|
* @var string By default, combined files are stored in assets/_combinedfiles.
|
||||||
* Set this by calling Requirements::set_combined_files_folder()
|
* Set this by calling Requirements::set_combined_files_folder()
|
||||||
@ -1052,17 +1060,15 @@ class Requirements_Backend {
|
|||||||
$combinedData = "";
|
$combinedData = "";
|
||||||
foreach(array_diff($fileList, $this->blocked) as $file) {
|
foreach(array_diff($fileList, $this->blocked) as $file) {
|
||||||
$fileContent = file_get_contents($base . $file);
|
$fileContent = file_get_contents($base . $file);
|
||||||
// if we have a javascript file and jsmin is enabled, minify the content
|
$fileContent = $this->minifyFile($file, $fileContent);
|
||||||
$isJS = stripos($file, '.js');
|
|
||||||
if($isJS && $this->combine_js_with_jsmin) {
|
|
||||||
require_once('thirdparty/jsmin/jsmin.php');
|
|
||||||
|
|
||||||
increase_time_limit_to();
|
if ($this->write_header_comment) {
|
||||||
$fileContent = JSMin::minify($fileContent);
|
|
||||||
}
|
|
||||||
// write a header comment for each file for easier identification and debugging
|
// write a header comment for each file for easier identification and debugging
|
||||||
// also the semicolon between each file is required for jQuery to be combinable properly
|
// also the semicolon between each file is required for jQuery to be combinable properly
|
||||||
$combinedData .= "/****** FILE: $file *****/\n" . $fileContent . "\n".($isJS ? ';' : '')."\n";
|
$combinedData .= "/****** FILE: $file *****/\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$combinedData .= $fileContent . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$successfulWrite = false;
|
$successfulWrite = false;
|
||||||
@ -1087,6 +1093,19 @@ class Requirements_Backend {
|
|||||||
$this->css = $newCSSRequirements;
|
$this->css = $newCSSRequirements;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function minifyFile($filename, $content) {
|
||||||
|
// if we have a javascript file and jsmin is enabled, minify the content
|
||||||
|
$isJS = stripos($filename, '.js');
|
||||||
|
if($isJS && $this->combine_js_with_jsmin) {
|
||||||
|
require_once('thirdparty/jsmin/jsmin.php');
|
||||||
|
|
||||||
|
increase_time_limit_to();
|
||||||
|
$content = JSMin::minify($content);
|
||||||
|
}
|
||||||
|
$content .= ($isJS ? ';' : '') . "\n";
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
public function get_custom_scripts() {
|
public function get_custom_scripts() {
|
||||||
$requirements = "";
|
$requirements = "";
|
||||||
|
|
||||||
|
@ -717,8 +717,14 @@ class SSViewer {
|
|||||||
public static function hasTemplate($templates) {
|
public static function hasTemplate($templates) {
|
||||||
$manifest = SS_TemplateLoader::instance()->getManifest();
|
$manifest = SS_TemplateLoader::instance()->getManifest();
|
||||||
|
|
||||||
|
if(Config::inst()->get('SSViewer', 'theme_enabled')) {
|
||||||
|
$theme = Config::inst()->get('SSViewer', 'theme');
|
||||||
|
} else {
|
||||||
|
$theme = null;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ((array) $templates as $template) {
|
foreach ((array) $templates as $template) {
|
||||||
if ($manifest->getTemplate($template)) return true;
|
if ($manifest->getCandidateTemplate($template, $theme)) return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user