Merge remote-tracking branch 'origin/3'

Conflicts:
	tests/model/ImageTest.php
This commit is contained in:
Damian Mooyman 2015-09-09 15:44:47 +12:00
commit b552a7370f
223 changed files with 3490 additions and 1189 deletions

View File

@ -17,6 +17,8 @@ env:
matrix:
include:
- php: 5.3
env: DB=MYSQL
- php: 5.4
env: DB=PGSQL
- php: 5.5
@ -38,6 +40,7 @@ before_script:
script:
- "if [ \"$BEHAT_TEST\" = \"\" ]; then vendor/bin/phpunit framework/tests; fi"
- "if [ \"$BEHAT_TEST\" = \"\" ]; then vendor/bin/phpunit framework/admin/tests; fi"
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then vendor/bin/behat @framework; fi"
after_failure:
@ -50,11 +53,6 @@ branches:
- 2.3
- translation-staging
notifications:
irc:
channels:
- "irc.freenode.org#silverstripe"
# global:
# - secure: "AZmjVPtUD8JBA7ag4ULlEwEKXSEZbIUjDHeRBFugaOtdsn5yigGLmwYbzsg2tq7k7UkdbbAlGct0SUbiRJb9F2wPA5+eUd/p49fgDIU6CTSWIlT87H2BwgOrxKwS9sDwxLptPFM6vWQ8JKYSNGmVIepie9kQZbu4L2k5k6B69jQ="
# - secure: "f3kKpUn9cS5K+p/E52cMqN18cDApol/43LanDmHO6mo3iRAztk3jZLyfNOUq6JASKMqdh8+9kencRpEoaAYbcQnDPoZsT9POResiJ9/ADKB6RwWy+lcFHUp9E2Zf/x2VRh9FmXEguDhpWzkJqzWYJGCSig1IBp/+TjzKnsjQHIY="

View File

@ -77,9 +77,8 @@ class AdminRootController extends Controller {
$base = $this->config()->url_base;
$segment = Config::inst()->get($this->config()->default_panel, 'url_segment');
$this->response = new SS_HTTPResponse();
$this->redirect(Controller::join_links($base, $segment));
return $this->response;
return $this->getResponse();
}
// Otherwise

View File

@ -50,20 +50,20 @@ class CMSProfileController extends LeftAndMain {
}
public function canView($member = null) {
if(!$member && $member !== FALSE) $member = Member::currentUser();
if(!$member && $member !== false) $member = Member::currentUser();
// cms menus only for logged-in members
if(!$member) return false;
// Only check for generic CMS permissions
// Check they can access the CMS and that they are trying to edit themselves
if(
!Permission::checkMember($member, "CMS_ACCESS_LeftAndMain")
&& !Permission::checkMember($member, "CMS_ACCESS_CMSMain")
Permission::checkMember($member, "CMS_ACCESS")
&& $member->ID === Member::currentUserID()
) {
return false;
return true;
}
return true;
return false;
}
public function save($data, $form) {

View File

@ -23,17 +23,18 @@ class GroupImportForm extends Form {
);
$helpHtml .= _t(
'GroupImportForm.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>');
'<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>'
);
$importer = new GroupCsvBulkLoader();
$importSpec = $importer->getImportSpec();

View File

@ -1,13 +1,16 @@
<?php
/**
* @package framework
* @subpackage admin
*/
/**
* LeftAndMain is the parent class of all the two-pane views in the CMS.
* If you are wanting to add more areas to the CMS, you can do it by subclassing LeftAndMain.
*
* This is essentially an abstract class which should be subclassed.
* See {@link CMSMain} for a good example.
*
* @package framework
* @subpackage admin
*/
class LeftAndMain extends Controller implements PermissionProvider {
@ -227,7 +230,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
// Allow customisation of the access check by a extension
// Also all the canView() check to execute Controller::redirect()
if(!$this->canView() && !$this->response->isFinished()) {
if(!$this->canView() && !$this->getResponse()->isFinished()) {
// When access /admin/, we should try a redirect to another part of the admin rather than be locked out
$menu = $this->MainMenu();
foreach($menu as $candidate) {
@ -451,8 +454,10 @@ class LeftAndMain extends Controller implements PermissionProvider {
$msgs = _t('LeftAndMain.ValidationError', 'Validation error') . ': '
. $e->getMessage();
$e = new SS_HTTPResponse_Exception($msgs, 403);
$e->getResponse()->addHeader('Content-Type', 'text/plain');
$e->getResponse()->addHeader('X-Status', rawurlencode($msgs));
$errorResponse = $e->getResponse();
$errorResponse->addHeader('Content-Type', 'text/plain');
$errorResponse->addHeader('X-Status', rawurlencode($msgs));
$e->setResponse($errorResponse);
throw $e;
}
@ -461,9 +466,10 @@ class LeftAndMain extends Controller implements PermissionProvider {
if(!$response->getHeader('X-Title')) $response->addHeader('X-Title', urlencode($title));
// Prevent clickjacking, see https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options
$this->response->addHeader('X-Frame-Options', 'SAMEORIGIN');
$this->response->addHeader('Vary', 'X-Requested-With');
$originalResponse = $this->getResponse();
$originalResponse->addHeader('X-Frame-Options', 'SAMEORIGIN');
$originalResponse->addHeader('Vary', 'X-Requested-With');
return $response;
}
@ -477,21 +483,21 @@ class LeftAndMain extends Controller implements PermissionProvider {
*/
public function redirect($url, $code=302) {
if($this->getRequest()->isAjax()) {
$this->response->addHeader('X-ControllerURL', $url);
if($this->getRequest()->getHeader('X-Pjax') && !$this->response->getHeader('X-Pjax')) {
$this->response->addHeader('X-Pjax', $this->getRequest()->getHeader('X-Pjax'));
$response = $this->getResponse();
$response->addHeader('X-ControllerURL', $url);
if($this->getRequest()->getHeader('X-Pjax') && !$response->getHeader('X-Pjax')) {
$response->addHeader('X-Pjax', $this->getRequest()->getHeader('X-Pjax'));
}
$oldResponse = $this->response;
$newResponse = new LeftAndMain_HTTPResponse(
$oldResponse->getBody(),
$oldResponse->getStatusCode(),
$oldResponse->getStatusDescription()
$response->getBody(),
$response->getStatusCode(),
$response->getStatusDescription()
);
foreach($oldResponse->getHeaders() as $k => $v) {
foreach($response->getHeaders() as $k => $v) {
$newResponse->addHeader($k, $v);
}
$newResponse->setIsFinished(true);
$this->response = $newResponse;
$this->setResponse($newResponse);
return ''; // Actual response will be re-requested by client
} else {
parent::redirect($url, $code);
@ -596,7 +602,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
return $controller->renderWith($controller->getViewer('show'));
}
),
$this->response
$this->getResponse()
);
}
return $this->responseNegotiator;
@ -795,7 +801,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
if(!$filterInfo->implementsInterface('LeftAndMain_SearchFilter')) {
throw new InvalidArgumentException(sprintf('Invalid filter class passed: %s', $filterClass));
}
return Injector::inst()->createWithArgs($filterClass, array($params));
}
@ -841,7 +847,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
// causes the Hierarchy::$marked cache to be flushed (@see CMSMain::getRecord)
// which means that deleted pages stored in the marked tree would be removed
$currentPage = $this->currentPage();
// Mark the nodes of the tree to return
if ($filterFunction) $obj->setMarkingFilterFunction($filterFunction);
@ -1004,7 +1010,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
'PrevID' => $prev ? $prev->ID : null
);
}
$this->response->addHeader('Content-Type', 'text/json');
$this->getResponse()->addHeader('Content-Type', 'text/json');
return Convert::raw2json($data);
}
@ -1031,7 +1037,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
$this->extend('onAfterSave', $record);
$this->setCurrentPageID($record->ID);
$this->response->addHeader('X-Status', rawurlencode(_t('LeftAndMain.SAVEDUP', 'Saved.')));
$this->getResponse()->addHeader('X-Status', rawurlencode(_t('LeftAndMain.SAVEDUP', 'Saved.')));
return $this->getResponseNegotiator()->respond($this->getRequest());
}
@ -1045,7 +1051,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
$record->delete();
$this->response->addHeader('X-Status', rawurlencode(_t('LeftAndMain.DELETED', 'Deleted.')));
$this->getResponse()->addHeader('X-Status', rawurlencode(_t('LeftAndMain.DELETED', 'Deleted.')));
return $this->getResponseNegotiator()->respond(
$this->getRequest(),
array('currentform' => array($this, 'EmptyForm'))
@ -1066,7 +1072,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
*/
public function savetreenode($request) {
if (!Permission::check('SITETREE_REORGANISE') && !Permission::check('ADMIN')) {
$this->response->setStatusCode(
$this->getResponse()->setStatusCode(
403,
_t('LeftAndMain.CANT_REORGANISE',
"You do not have permission to rearange the site tree. Your change was not saved.")
@ -1082,7 +1088,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
if($className == 'SiteTree' && $page = DataObject::get_by_id('Page', $id)){
$root = $page->getParentType();
if(($parentID == '0' || $root == 'root') && !SiteConfig::current_site_config()->canCreateTopLevel()){
$this->response->setStatusCode(
$this->getResponse()->setStatusCode(
403,
_t('LeftAndMain.CANT_REORGANISE',
"You do not have permission to alter Top level pages. Your change was not saved.")
@ -1099,7 +1105,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
if($node && !$node->canEdit()) return Security::permissionFailure($this);
if(!$node) {
$this->response->setStatusCode(
$this->getResponse()->setStatusCode(
500,
_t('LeftAndMain.PLEASESAVE',
"Please Save Page: This page could not be updated because it hasn't been saved yet."
@ -1127,7 +1133,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
}
}
$this->response->addHeader('X-Status',
$this->getResponse()->addHeader('X-Status',
rawurlencode(_t('LeftAndMain.REORGANISATIONSUCCESSFUL', 'Reorganised the site tree successfully.')));
}
@ -1152,7 +1158,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
}
}
$this->response->addHeader('X-Status',
$this->getResponse()->addHeader('X-Status',
rawurlencode(_t('LeftAndMain.REORGANISATIONSUCCESSFUL', 'Reorganised the site tree successfully.')));
}
@ -1632,7 +1638,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
/**
* Sets the href for the anchor on the Silverstripe logo in the menu
*
*
* @deprecated since version 4.0
*
* @param String $link
@ -1760,7 +1766,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
/**
* Register the given javascript file as required in the CMS.
* Filenames should be relative to the base, eg, FRAMEWORK_DIR . '/javascript/loader.js'
*
*
* @deprecated since version 4.0
*/
public static function require_javascript($file) {
@ -1785,7 +1791,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
* Register the given "themeable stylesheet" as required.
* Themeable stylesheets have globally unique names, just like templates and PHP files.
* Because of this, they can be replaced by similarly named CSS files in the theme directory.
*
*
* @deprecated since version 4.0
*
* @param $name String The identifier of the file. For example, css/MyFile.css would have the identifier "MyFile"
@ -1926,7 +1932,7 @@ class LeftAndMain_TreeNode extends ViewableData {
/**
* Name of method to count the number of children
*
*
* @var string
*/
protected $numChildrenMethod;

View File

@ -23,16 +23,17 @@ class MemberImportForm extends Form {
);
$helpHtml .= _t(
'MemberImportForm.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>');
'<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>'
);
$importer = new MemberCsvBulkLoader();
$importSpec = $importer->getImportSpec();

View File

@ -43,7 +43,7 @@
.filter-buttons button.ss-gridfield-button-filter { background-position: -18px 4px !important; }
/* Alternative styles for the switch in old IE */
fieldset.switch-states { padding-right: 5px; }
fieldset.switch-states { padding-right: 20px; }
fieldset.switch-states .switch { padding: 0; width: 132%; left: -32px; }
fieldset.switch-states .switch label { overflow: visible; text-overflow: visible; white-space: normal; padding: 0; }
fieldset.switch-states .switch label.active { color: #fff; background-color: #2b9c32; }

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": ";;;;;;;;;AAqBA,kBAAmB,GAClB,gBAAgB,EC2BM,OAAO;AD1B7B,iCAAiB,GAChB,gBAAgB,EAAC,OAAkC;AAEpD,4CAA4B,GAC3B,gBAAgB,EC4BU,OAAO;AD3BjC,2DAAiB,GAChB,gBAAgB,EAAC,OAAuC;AAG1D,6CAA4B,GAE3B,UAAU,EAAC,oEAAkD;;AAK/D,4FAEoC,GACnC,gBAAgB,EAAC,IAAI;;AAItB,wCAAyC,GACxC,UAAU,EAAE,2DAAyE,EACrF,MAAM,EAAC,IAAI;AACX,2DAAqB,GACpB,gBAAgB,EAAE,OAAmB,EACrC,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;AAEZ,oDAAc,GACb,gBAAgB,EAAG,OAAO,EAC1B,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;;AAIb,uCAAwC,GACvC,UAAU,EAAE,yDAAuE,EACnF,MAAM,EAAC,IAAI;AACX,sDAAiB,GAChB,UAAU,EAAE,wDAA6E,EACzF,MAAM,EAAC,IAAI;AAEZ,uDAAkB,GACjB,UAAU,EAAE,2DAAyF,EACrG,MAAM,EAAC,IAAI;;AAOX,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAE9D,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAC7D,wCAAO,GACN,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAE,IAAI;AAEpB,yCAAQ,GACP,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAC,IAAI;AAIrB,0FAA+B,GAC9B,WAAW,EAAE,iBAA+C;;AAO5D,2DAAO,GACN,MAAM,EAAC,CAAC,EACR,UAAU,EAAC,IAAI;;AAOjB,0DAAqB,GACpB,WAAW,EAAC,CAAC;;AAIf,yBAAyB,GACxB,MAAM,EAAC,IAAI;;;AAaV,+FAAS,GACR,MAAM,EAAC,GAAG;AACV,0GAAW,GACV,WAAW,EAAE,MAAM;AAGrB,mGAAa,GACZ,OAAO,EAAC,GAAG;;AAOZ,iDAA4B,GAC3B,mBAAmB,EAAE,oBAAoB;;;AAM5C,sBAAsB,GACrB,aAAa,EAAE,GAAG;AAClB,8BAAO,GACN,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,IAAO,EACd,IAAI,EAAE,KAAK;AACX,oCAAK,GACJ,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,MAAM,EAClB,OAAO,EAAC,CAAC;AACT,2CAAQ,GACP,KAAK,EAAC,IAAI,EACV,gBAAgB,EAAE,OAAO;AAE1B,yCAAI,GACH,OAAO,EAAC,MAAM,EACd,OAAO,EAAC,KAAK,EACb,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,IAAI;AAGlB,4CAAa,GACZ,OAAO,EAAC,IAAI;AAEb,+CAAiB,GAChB,WAAW,EAAE,KAAK;;;AAMpB,4CAAsB,GACrB,OAAO,EAAC,IAAI;;;;;AEpGN,uEAAsB,GAlE5B,mBAAmB,EAAE,GACJ;AAiEX,yFAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,iEAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,2EAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,yEAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,yEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,uEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,6EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,uGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,uEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,yFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iHAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mIAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,yEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,6FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,6EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;;ACiCnB,KAAM,GACL,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,IAAI;AAEb,aAAU,GACT,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EAnCb,UAAU,EAZF,iDAAoC;AAc5C,6BAAkB,GDRjB,mBAAmB,EAAE,QACJ;ACUlB,0BAAe,GDXd,mBAAmB,EAAE,QACJ;ACalB,qCAA0B,GDdzB,mBAAmB,EAAE,QACJ;ACgBlB,wCAA6B,GDjB5B,mBAAmB,EAAE,OACJ;ACmBlB,gCAAqB,GDpBpB,mBAAmB,EAAE,OACJ;ACsBlB,8BAAmB,GDvBlB,mBAAmB,EAAE,QACJ;ACyBlB,+BAAoB,GD1BnB,mBAAmB,EAAE,GACJ;AC4BlB,uBAAY,GD7BX,mBAAmB,EAAE,QACJ;AC6ClB,aAAU,GACT,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EA1Cb,UAAU,EAVF,iDAAoC;AAY5C,6BAAkB,GDRjB,mBAAmB,EAAE,QACJ;ACUlB,0BAAe,GDXd,mBAAmB,EAAE,QACJ;ACalB,qCAA0B,GDdzB,mBAAmB,EAAE,QACJ;ACgBlB,wCAA6B,GDjB5B,mBAAmB,EAAE,OACJ;ACmBlB,gCAAqB,GDpBpB,mBAAmB,EAAE,OACJ;ACsBlB,8BAAmB,GDvBlB,mBAAmB,EAAE,QACJ;ACyBlB,+BAAoB,GD1BnB,mBAAmB,EAAE,GACJ;AC4BlB,uBAAY,GD7BX,mBAAmB,EAAE,OACJ;;AEbnB,IAAK,GACJ,QAAQ,EAAE,MAAM;;AAIjB,oBAAqB,GACpB,cAAc,EAAC,GAAG;;AAIlB,iBAAE,GACD,eAAe,EAAE,IAAI,EAClB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,GAAG;;;;AAUhB,wBAAI,GACH,KAAK,EAAC,IAAI;AAEX,yBAAK,GACJ,KAAK,EAAC,IAAI,EACV,WAAW,EAAC,GAAG;;AAIf,+BAAE,GACD,KAAK,EAAC,KAAK,EACX,QAAQ,EAAC,MAAM,EACf,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,MAAM;;AAKjB,qBAAsB,GACrB,WAAW,EAAE,cAAc;;;;AAO3B,6DAEmB,GAClB,KAAK,EAAE,GAAG;;AAGZ,MAAO,GACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI;;AAGb,yBAA0B,GACzB,OAAO,EAAC,KAAK;;AAKZ,+CAAc,GACb,MAAM,EAAC,gBAAgB;AAGvB,wDAAE,GACD,UAAU,EAAC,KAAK,EAChB,MAAM,EAAC,IAAI,EACX,UAAU,EAAC,KAAK;;AAOpB,iCAAkC,GACjC,KAAK,EAAC,IAAI;;AAKV,wBAAI,GACH,KAAK,EAAC,IAAI;AAEX,yBAAK,GACJ,KAAK,EAAC,IAAI,EACV,WAAW,EAAC,GAAG;;AAIf,+BAAE,GACD,KAAK,EAAC,KAAK,EACX,QAAQ,EAAC,MAAM,EACf,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,MAAM;;AAKjB,oBAAqB,GACpB,cAAc,EAAC,GAAG;;AAIlB,iBAAE,GACD,eAAe,EAAE,IAAI,EAClB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,GAAG;;AAQjB,qBAAsB,GACrB,WAAW,EAAE,cAAc;;;;AAO3B,sCAAS,GAGR,KAAK,EAAE,IAAI;AAEZ,oDAAuB,GAEtB,MAAM,EAAC,IAAI;;AAIb,wCAAyC,GACxC,MAAM,EAAE,SAAS;;AAGlB,uCAAwC,GACvC,MAAM,EAAE,SAAS;;AAMhB,2DAAO,GACN,KAAK,EAAC,IAAI;AACV,mFAA0B,GACzB,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,IAAI;AAEX,mFAA0B,GACzB,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,IAAI;AAGZ,gEAAY,GACX,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,IAAI;;AAOZ,mEAA8B,GAC7B,SAAS,EAAC,KAAK;;AAKjB,uBAAwB,GACvB,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,IAAI,EACX,KAAK,EAAC,IAAI;AACV,6BAAM,GACL,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,GAAG,EACX,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,GAAG;;AAKX,uBAAoB,GACnB,WAAW,EAAC,YAAY,EACxB,cAAc,EAAC,YAAY;;AAK7B,uCAAwC,GACvC,KAAK,EAAC,IAAI;;AAMT,iDAAwB,GACvB,UAAU,EAAE,KAAK;AAElB,kDAAyB,GACxB,UAAU,EAAE,OAAO;;AAQpB,yEAAuB,GACtB,KAAK,EAAC,IAAI;AACV,6FAAoB,GACnB,UAAU,EAAE,2EAA2E,EACvF,OAAO,EAAC,KAAK;;AAOhB,wCAA4B,GAC1B,MAAM,EAAC,eAAe;;;AAcxB,sFAAiB,GAChB,QAAQ,EAAC,MAAM;AACf,4FAAM,GACL,KAAK,EAAC,KAAK;;AAQb,sBAAG,GACF,KAAK,EAAE,IAAI;AACX,oCAAc,GACb,OAAO,EAAE,IAAI;AAIf,4CAAyB,GACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,CAAC;;AAKT,wCAA4B,GAC3B,MAAM,EAAC,eAAe;;AAIvB,qDAA+B,GAC9B,OAAO,EAAC,eAAe;;AAGzB,wCAAwC,GACvC,OAAO,EAAC,KAAK;;AJ3Rb,4BAA6B,GAC5B,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,IAAI;AAEV,kGAAmB,GAClB,IAAI,EAAE,CAAC,EACP,QAAQ,EAAC,QAAQ,EACjB,GAAG,EAAC,IAAI,EACR,KAAK,EAAC,IAAI,EACV,YAAY,EAAE,KAAK,EACnB,KAAK,EAAC,KAAK,EACX,OAAO,EAAC,IAAI;;AIsRhB,oEAAqE,GACpE,KAAK,EAAE,KAAK;AAEX,oGAAgB,GACf,UAAU,EAAE,mFAAmF;AAC/F,0GAAQ,GACP,UAAU,EAAE,kFAAkF;AAGhG,qHAAkC,GACjC,UAAU,EAAE,iFAAiF;AAC7F,2HAAQ,GACP,UAAU,EAAE,gFAAgF;AAI/F,uGAAmC,GAC/B,KAAK,EAAE,KAAK;;;AAMjB,mBAAoB,GACnB,OAAO,EAAE,MAAM;;AAKd,2CAAM,GACL,KAAK,EAAC,IAAI,EACV,KAAK,EAAC,KAAK;AAEZ,4DAAuB,GACtB,WAAW,EAAC,IAAI",
"sources": ["../scss/_ieShared.scss","../scss/themes/_default.scss","../../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/utilities/sprites/_base.scss","../scss/_sprites.scss","../scss/ie7.scss"],
"mappings": ";;;;;;;;;AAqBA,kBAAmB,GAClB,gBAAgB,EC2BM,OAAO;AD1B7B,iCAAiB,GAChB,gBAAgB,EAAC,OAAkC;AAEpD,4CAA4B,GAC3B,gBAAgB,EC4BU,OAAO;AD3BjC,2DAAiB,GAChB,gBAAgB,EAAC,OAAuC;AAG1D,6CAA4B,GAE3B,UAAU,EAAC,oEAAkD;;AAK/D,4FAEoC,GACnC,gBAAgB,EAAC,IAAI;;AAItB,wCAAyC,GACxC,UAAU,EAAE,2DAAyE,EACrF,MAAM,EAAC,IAAI;AACX,2DAAqB,GACpB,gBAAgB,EAAE,OAAmB,EACrC,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;AAEZ,oDAAc,GACb,gBAAgB,EAAG,OAAO,EAC1B,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;;AAIb,uCAAwC,GACvC,UAAU,EAAE,yDAAuE,EACnF,MAAM,EAAC,IAAI;AACX,sDAAiB,GAChB,UAAU,EAAE,wDAA6E,EACzF,MAAM,EAAC,IAAI;AAEZ,uDAAkB,GACjB,UAAU,EAAE,2DAAyF,EACrG,MAAM,EAAC,IAAI;;AAOX,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAE9D,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAC7D,wCAAO,GACN,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAE,IAAI;AAEpB,yCAAQ,GACP,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAC,IAAI;AAIrB,0FAA+B,GAC9B,WAAW,EAAE,iBAA+C;;AAO5D,2DAAO,GACN,MAAM,EAAC,CAAC,EACR,UAAU,EAAC,IAAI;;AAOjB,0DAAqB,GACpB,WAAW,EAAC,CAAC;;AAIf,yBAAyB,GACxB,MAAM,EAAC,IAAI;;;AAaV,+FAAS,GACR,MAAM,EAAC,GAAG;AACV,0GAAW,GACV,WAAW,EAAE,MAAM;AAGrB,mGAAa,GACZ,OAAO,EAAC,GAAG;;AAOZ,iDAA4B,GAC3B,mBAAmB,EAAE,oBAAoB;;;AAM5C,sBAAsB,GACrB,aAAa,EAAE,IAAI;AACnB,8BAAO,GACN,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,IAAO,EACd,IAAI,EAAE,KAAK;AACX,oCAAK,GACJ,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,MAAM,EAClB,OAAO,EAAC,CAAC;AACT,2CAAQ,GACP,KAAK,EAAC,IAAI,EACV,gBAAgB,EAAE,OAAO;AAE1B,yCAAI,GACH,OAAO,EAAC,MAAM,EACd,OAAO,EAAC,KAAK,EACb,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,IAAI;AAGlB,4CAAa,GACZ,OAAO,EAAC,IAAI;AAEb,+CAAiB,GAChB,WAAW,EAAE,KAAK;;;AAMpB,4CAAsB,GACrB,OAAO,EAAC,IAAI;;;;;AEpGN,uEAAsB,GAlE5B,mBAAmB,EAAE,GACJ;AAiEX,yFAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,iEAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,2EAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,yEAAsB,GAlE5B,mBAAmB,EAAE,OACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,yEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,uEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,6EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,qFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,uGAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,uEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,yFAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,iHAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,mIAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,yEAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,2EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,6FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,6EAAsB,GAlE5B,mBAAmB,EAAE,QACJ;AAiEX,+FAAsB,GAlE5B,mBAAmB,EAAE,QACJ;;ACiCnB,KAAM,GACL,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,IAAI;AAEb,aAAU,GACT,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EAnCb,UAAU,EAZF,iDAAoC;AAc5C,6BAAkB,GDRjB,mBAAmB,EAAE,QACJ;ACUlB,0BAAe,GDXd,mBAAmB,EAAE,QACJ;ACalB,qCAA0B,GDdzB,mBAAmB,EAAE,QACJ;ACgBlB,wCAA6B,GDjB5B,mBAAmB,EAAE,OACJ;ACmBlB,gCAAqB,GDpBpB,mBAAmB,EAAE,OACJ;ACsBlB,8BAAmB,GDvBlB,mBAAmB,EAAE,QACJ;ACyBlB,+BAAoB,GD1BnB,mBAAmB,EAAE,GACJ;AC4BlB,uBAAY,GD7BX,mBAAmB,EAAE,QACJ;AC6ClB,aAAU,GACT,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EA1Cb,UAAU,EAVF,iDAAoC;AAY5C,6BAAkB,GDRjB,mBAAmB,EAAE,QACJ;ACUlB,0BAAe,GDXd,mBAAmB,EAAE,QACJ;ACalB,qCAA0B,GDdzB,mBAAmB,EAAE,QACJ;ACgBlB,wCAA6B,GDjB5B,mBAAmB,EAAE,OACJ;ACmBlB,gCAAqB,GDpBpB,mBAAmB,EAAE,OACJ;ACsBlB,8BAAmB,GDvBlB,mBAAmB,EAAE,QACJ;ACyBlB,+BAAoB,GD1BnB,mBAAmB,EAAE,GACJ;AC4BlB,uBAAY,GD7BX,mBAAmB,EAAE,OACJ;;AEbnB,IAAK,GACJ,QAAQ,EAAE,MAAM;;AAIjB,oBAAqB,GACpB,cAAc,EAAC,GAAG;;AAIlB,iBAAE,GACD,eAAe,EAAE,IAAI,EAClB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,GAAG;;;;AAUhB,wBAAI,GACH,KAAK,EAAC,IAAI;AAEX,yBAAK,GACJ,KAAK,EAAC,IAAI,EACV,WAAW,EAAC,GAAG;;AAIf,+BAAE,GACD,KAAK,EAAC,KAAK,EACX,QAAQ,EAAC,MAAM,EACf,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,MAAM;;AAKjB,qBAAsB,GACrB,WAAW,EAAE,cAAc;;;;AAO3B,6DAEmB,GAClB,KAAK,EAAE,GAAG;;AAGZ,MAAO,GACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI;;AAGb,yBAA0B,GACzB,OAAO,EAAC,KAAK;;AAKZ,+CAAc,GACb,MAAM,EAAC,gBAAgB;AAGvB,wDAAE,GACD,UAAU,EAAC,KAAK,EAChB,MAAM,EAAC,IAAI,EACX,UAAU,EAAC,KAAK;;AAOpB,iCAAkC,GACjC,KAAK,EAAC,IAAI;;AAKV,wBAAI,GACH,KAAK,EAAC,IAAI;AAEX,yBAAK,GACJ,KAAK,EAAC,IAAI,EACV,WAAW,EAAC,GAAG;;AAIf,+BAAE,GACD,KAAK,EAAC,KAAK,EACX,QAAQ,EAAC,MAAM,EACf,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,MAAM;;AAKjB,oBAAqB,GACpB,cAAc,EAAC,GAAG;;AAIlB,iBAAE,GACD,eAAe,EAAE,IAAI,EAClB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,GAAG;;AAQjB,qBAAsB,GACrB,WAAW,EAAE,cAAc;;;;AAO3B,sCAAS,GAGR,KAAK,EAAE,IAAI;AAEZ,oDAAuB,GAEtB,MAAM,EAAC,IAAI;;AAIb,wCAAyC,GACxC,MAAM,EAAE,SAAS;;AAGlB,uCAAwC,GACvC,MAAM,EAAE,SAAS;;AAMhB,2DAAO,GACN,KAAK,EAAC,IAAI;AACV,mFAA0B,GACzB,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,IAAI;AAEX,mFAA0B,GACzB,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,IAAI;AAGZ,gEAAY,GACX,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,IAAI;;AAOZ,mEAA8B,GAC7B,SAAS,EAAC,KAAK;;AAKjB,uBAAwB,GACvB,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,IAAI,EACX,KAAK,EAAC,IAAI;AACV,6BAAM,GACL,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,GAAG,EACX,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,GAAG;;AAKX,uBAAoB,GACnB,WAAW,EAAC,YAAY,EACxB,cAAc,EAAC,YAAY;;AAK7B,uCAAwC,GACvC,KAAK,EAAC,IAAI;;AAMT,iDAAwB,GACvB,UAAU,EAAE,KAAK;AAElB,kDAAyB,GACxB,UAAU,EAAE,OAAO;;AAQpB,yEAAuB,GACtB,KAAK,EAAC,IAAI;AACV,6FAAoB,GACnB,UAAU,EAAE,2EAA2E,EACvF,OAAO,EAAC,KAAK;;AAOhB,wCAA4B,GAC1B,MAAM,EAAC,eAAe;;;AAcxB,sFAAiB,GAChB,QAAQ,EAAC,MAAM;AACf,4FAAM,GACL,KAAK,EAAC,KAAK;;AAQb,sBAAG,GACF,KAAK,EAAE,IAAI;AACX,oCAAc,GACb,OAAO,EAAE,IAAI;AAIf,4CAAyB,GACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,CAAC;;AAKT,wCAA4B,GAC3B,MAAM,EAAC,eAAe;;AAIvB,qDAA+B,GAC9B,OAAO,EAAC,eAAe;;AAGzB,wCAAwC,GACvC,OAAO,EAAC,KAAK;;AJ3Rb,4BAA6B,GAC5B,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,IAAI;AAEV,kGAAmB,GAClB,IAAI,EAAE,CAAC,EACP,QAAQ,EAAC,QAAQ,EACjB,GAAG,EAAC,IAAI,EACR,KAAK,EAAC,IAAI,EACV,YAAY,EAAE,KAAK,EACnB,KAAK,EAAC,KAAK,EACX,OAAO,EAAC,IAAI;;AIsRhB,oEAAqE,GACpE,KAAK,EAAE,KAAK;AAEX,oGAAgB,GACf,UAAU,EAAE,mFAAmF;AAC/F,0GAAQ,GACP,UAAU,EAAE,kFAAkF;AAGhG,qHAAkC,GACjC,UAAU,EAAE,iFAAiF;AAC7F,2HAAQ,GACP,UAAU,EAAE,gFAAgF;AAI/F,uGAAmC,GAC/B,KAAK,EAAE,KAAK;;;AAMjB,mBAAoB,GACnB,OAAO,EAAE,MAAM;;AAKd,2CAAM,GACL,KAAK,EAAC,IAAI,EACV,KAAK,EAAC,KAAK;AAEZ,4DAAuB,GACtB,WAAW,EAAC,IAAI",
"sources": ["../scss/_ieShared.scss","../scss/themes/_default.scss","../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/utilities/sprites/_base.scss","../scss/_sprites.scss","../scss/ie7.scss"],
"names": [],
"file": "ie7.css"
}

View File

@ -43,7 +43,7 @@
.filter-buttons button.ss-gridfield-button-filter { background-position: -18px 4px !important; }
/* Alternative styles for the switch in old IE */
fieldset.switch-states { padding-right: 5px; }
fieldset.switch-states { padding-right: 20px; }
fieldset.switch-states .switch { padding: 0; width: 132%; left: -32px; }
fieldset.switch-states .switch label { overflow: visible; text-overflow: visible; white-space: normal; padding: 0; }
fieldset.switch-states .switch label.active { color: #fff; background-color: #2b9c32; }

View File

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": ";;;;;;;;;AAqBA,kBAAmB,GAClB,gBAAgB,EC2BM,OAAO;AD1B7B,iCAAiB,GAChB,gBAAgB,EAAC,OAAkC;AAEpD,4CAA4B,GAC3B,gBAAgB,EC4BU,OAAO;AD3BjC,2DAAiB,GAChB,gBAAgB,EAAC,OAAuC;AAG1D,6CAA4B,GAE3B,UAAU,EAAC,oEAAkD;;AAK/D,4FAEoC,GACnC,gBAAgB,EAAC,IAAI;;AAItB,wCAAyC,GACxC,UAAU,EAAE,2DAAyE,EACrF,MAAM,EAAC,IAAI;AACX,2DAAqB,GACpB,gBAAgB,EAAE,OAAmB,EACrC,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;AAEZ,oDAAc,GACb,gBAAgB,EAAG,OAAO,EAC1B,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;;AAIb,uCAAwC,GACvC,UAAU,EAAE,yDAAuE,EACnF,MAAM,EAAC,IAAI;AACX,sDAAiB,GAChB,UAAU,EAAE,wDAA6E,EACzF,MAAM,EAAC,IAAI;AAEZ,uDAAkB,GACjB,UAAU,EAAE,2DAAyF,EACrG,MAAM,EAAC,IAAI;;AAOX,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAE9D,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAC7D,wCAAO,GACN,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAE,IAAI;AAEpB,yCAAQ,GACP,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAC,IAAI;AAIrB,0FAA+B,GAC9B,WAAW,EAAE,iBAA+C;;AAO5D,2DAAO,GACN,MAAM,EAAC,CAAC,EACR,UAAU,EAAC,IAAI;;AAOjB,0DAAqB,GACpB,WAAW,EAAC,CAAC;;AAIf,yBAAyB,GACxB,MAAM,EAAC,IAAI;;;AAaV,+FAAS,GACR,MAAM,EAAC,GAAG;AACV,0GAAW,GACV,WAAW,EAAE,MAAM;AAGrB,mGAAa,GACZ,OAAO,EAAC,GAAG;;AAOZ,iDAA4B,GAC3B,mBAAmB,EAAE,oBAAoB;;;AAM5C,sBAAsB,GACrB,aAAa,EAAE,GAAG;AAClB,8BAAO,GACN,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,IAAO,EACd,IAAI,EAAE,KAAK;AACX,oCAAK,GACJ,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,MAAM,EAClB,OAAO,EAAC,CAAC;AACT,2CAAQ,GACP,KAAK,EAAC,IAAI,EACV,gBAAgB,EAAE,OAAO;AAE1B,yCAAI,GACH,OAAO,EAAC,MAAM,EACd,OAAO,EAAC,KAAK,EACb,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,IAAI;AAGlB,4CAAa,GACZ,OAAO,EAAC,IAAI;AAEb,+CAAiB,GAChB,WAAW,EAAE,KAAK;;;AAMpB,4CAAsB,GACrB,OAAO,EAAC,IAAI;;AArLb,uCAA6B,GAC5B,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,IAAI;AAEV,wHAAmB,GAClB,IAAI,EAAE,CAAC,EACP,QAAQ,EAAC,QAAQ,EACjB,GAAG,EAAC,IAAI,EACR,KAAK,EAAC,IAAI,EACV,YAAY,EAAE,KAAK,EACnB,KAAK,EAAC,KAAK,EACX,OAAO,EAAC,IAAI;;AEAd,4DAAmB,GAClB,YAAY,EAAC,GAAG;;;AAalB,2DAAoC,GACnC,KAAK,EAAC,KAAK;;AAKZ,sBAAM,GACL,KAAK,EAAC,eAAe,EACrB,MAAM,EAAC,eAAe;AACtB,gDAA2B,GAC1B,YAAY,EAAC,eAAe;;AAK/B,YAAY,GACX,KAAK,EAAC,IAAI;;;AAMT,4CAAO,GACN,YAAY,EAAE,CAAC;;AAUhB,8IACS,GACR,KAAK,EDpBc,IAAI;ACyBvB,sMACS,GACR,KAAK,EDxBa,OAAO;AC+B1B,0XACS,GACR,KAAK,EDpCa,IAAI,ECqCtB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,OAAO",
"mappings": ";;;;;;;;;AAqBA,kBAAmB,GAClB,gBAAgB,EC2BM,OAAO;AD1B7B,iCAAiB,GAChB,gBAAgB,EAAC,OAAkC;AAEpD,4CAA4B,GAC3B,gBAAgB,EC4BU,OAAO;AD3BjC,2DAAiB,GAChB,gBAAgB,EAAC,OAAuC;AAG1D,6CAA4B,GAE3B,UAAU,EAAC,oEAAkD;;AAK/D,4FAEoC,GACnC,gBAAgB,EAAC,IAAI;;AAItB,wCAAyC,GACxC,UAAU,EAAE,2DAAyE,EACrF,MAAM,EAAC,IAAI;AACX,2DAAqB,GACpB,gBAAgB,EAAE,OAAmB,EACrC,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;AAEZ,oDAAc,GACb,gBAAgB,EAAG,OAAO,EAC1B,mBAAmB,EAAE,SAAS,EAC9B,MAAM,EAAC,IAAI;;AAIb,uCAAwC,GACvC,UAAU,EAAE,yDAAuE,EACnF,MAAM,EAAC,IAAI;AACX,sDAAiB,GAChB,UAAU,EAAE,wDAA6E,EACzF,MAAM,EAAC,IAAI;AAEZ,uDAAkB,GACjB,UAAU,EAAE,2DAAyF,EACrG,MAAM,EAAC,IAAI;;AAOX,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAE9D,mCAAG,GACF,YAAY,EAAE,iBAA+C;AAC7D,wCAAO,GACN,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAE,IAAI;AAEpB,yCAAQ,GACP,UAAU,EAAE,iBAA+C,EAC3D,aAAa,EAAC,IAAI;AAIrB,0FAA+B,GAC9B,WAAW,EAAE,iBAA+C;;AAO5D,2DAAO,GACN,MAAM,EAAC,CAAC,EACR,UAAU,EAAC,IAAI;;AAOjB,0DAAqB,GACpB,WAAW,EAAC,CAAC;;AAIf,yBAAyB,GACxB,MAAM,EAAC,IAAI;;;AAaV,+FAAS,GACR,MAAM,EAAC,GAAG;AACV,0GAAW,GACV,WAAW,EAAE,MAAM;AAGrB,mGAAa,GACZ,OAAO,EAAC,GAAG;;AAOZ,iDAA4B,GAC3B,mBAAmB,EAAE,oBAAoB;;;AAM5C,sBAAsB,GACrB,aAAa,EAAE,IAAI;AACnB,8BAAO,GACN,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,IAAO,EACd,IAAI,EAAE,KAAK;AACX,oCAAK,GACJ,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,MAAM,EAClB,OAAO,EAAC,CAAC;AACT,2CAAQ,GACP,KAAK,EAAC,IAAI,EACV,gBAAgB,EAAE,OAAO;AAE1B,yCAAI,GACH,OAAO,EAAC,MAAM,EACd,OAAO,EAAC,KAAK,EACb,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,OAAO,EACrB,WAAW,EAAC,IAAI;AAGlB,4CAAa,GACZ,OAAO,EAAC,IAAI;AAEb,+CAAiB,GAChB,WAAW,EAAE,KAAK;;;AAMpB,4CAAsB,GACrB,OAAO,EAAC,IAAI;;AArLb,uCAA6B,GAC5B,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,IAAI;AAEV,wHAAmB,GAClB,IAAI,EAAE,CAAC,EACP,QAAQ,EAAC,QAAQ,EACjB,GAAG,EAAC,IAAI,EACR,KAAK,EAAC,IAAI,EACV,YAAY,EAAE,KAAK,EACnB,KAAK,EAAC,KAAK,EACX,OAAO,EAAC,IAAI;;AEAd,4DAAmB,GAClB,YAAY,EAAC,GAAG;;;AAalB,2DAAoC,GACnC,KAAK,EAAC,KAAK;;AAKZ,sBAAM,GACL,KAAK,EAAC,eAAe,EACrB,MAAM,EAAC,eAAe;AACtB,gDAA2B,GAC1B,YAAY,EAAC,eAAe;;AAK/B,YAAY,GACX,KAAK,EAAC,IAAI;;;AAMT,4CAAO,GACN,YAAY,EAAE,CAAC;;AAUhB,8IACS,GACR,KAAK,EDpBc,IAAI;ACyBvB,sMACS,GACR,KAAK,EDxBa,OAAO;AC+B1B,0XACS,GACR,KAAK,EDpCa,IAAI,ECqCtB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,OAAO",
"sources": ["../scss/_ieShared.scss","../scss/themes/_default.scss","../scss/ie8.scss"],
"names": [],
"file": "ie8.css"

View File

@ -111,28 +111,100 @@ Used in side panels and action tabs
.icon.icon-16.icon-help { background-position: 0 -96px; }
/** ----------------------------- CMS Components ------------------------------ */
@font-face { font-family: 'fontello'; src: url("../font/fontello.eot?77203683"); src: url("../font/fontello.eot?77203683#iefix") format("embedded-opentype"), url("../font/fontello.woff?77203683") format("woff"), url("../font/fontello.ttf?77203683") format("truetype"), url("../font/fontello.svg?77203683#fontello") format("svg"); font-weight: normal; font-style: normal; }
[class^="font-icon-"]:before, [class*=" font-icon-"]:before { color: #66727d; display: inline-block; content: ''; width: 1em; margin-top: 2px; margin-right: .2em; text-align: center; text-decoration: inherit; text-transform: none; font-family: "fontello"; font-style: normal; font-weight: normal; font-variant: normal; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@font-face { font-family: "silverstripe"; src: url("../font/silverstripe.eot"); src: url("../font/silverstripe.eot?#iefix") format("embedded-opentype"), url("../font/silverstripe.woff") format("woff"), url("../font/silverstripe.ttf") format("truetype"), url("../font/silverstripe.svg#silverstripe") format("svg"); font-weight: normal; font-style: normal; }
[class^="font-icon-"]:before, [class*="font-icon-"]:before { font-family: "silverstripe" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.font-icon-search:before { content: '\e800'; }
.font-icon-search:before { content: "s"; }
.font-icon-tree:before { content: '\e801'; }
.font-icon-upload:before { content: "b"; }
.font-icon-list2:before { content: '\e802'; }
.font-icon-sync:before { content: "c"; }
.font-icon-cog:before { content: '\e803'; }
.font-icon-print:before { content: "d"; }
.font-icon-check:before { content: '\e804'; }
.font-icon-list:before { content: "e"; }
.font-icon-plus-solid:before { content: '\e805'; }
.font-icon-plus-circled:before { content: "f"; }
.font-icon-list:before { content: '\e806'; }
.font-icon-check-mark-2:before { content: "k"; }
.font-icon-plus:before { content: '\e807'; }
.font-icon-pencil:before { content: "m"; }
.font-icon-search2:before { content: '\e808'; }
.font-icon-book:before { content: "n"; }
.font-icon-pencil:before { content: '\e80b'; }
.font-icon-book-open:before { content: "o"; }
.font-icon-plus:before { content: "j"; }
.font-icon-icon-tree:before { content: "p"; }
.font-icon-flow-tree:before { content: "q"; }
.font-icon-info-circled:before { content: "y"; }
.font-icon-chart-line:before { content: "B"; }
.font-icon-graph-bar:before { content: "E"; }
.font-icon-torsos-all:before { content: "F"; }
.font-icon-torso:before { content: "H"; }
.font-icon-picture:before { content: "v"; }
.font-icon-chart-pie:before { content: "A"; }
.font-icon-sitemap:before { content: "C"; }
.font-icon-globe:before { content: "P"; }
.font-icon-globe-1:before { content: "R"; }
.font-icon-chat:before { content: "t"; }
.font-icon-comment:before { content: "w"; }
.font-icon-logout:before { content: "z"; }
.font-icon-cancel:before { content: "D"; }
.font-icon-cancel-circled:before { content: "Q"; }
.font-icon-trash-bin:before { content: "S"; }
.font-icon-left-open:before { content: "T"; }
.font-icon-right-open:before { content: "U"; }
.font-icon-check-mark:before { content: "G"; }
.font-icon-check-mark-circle:before { content: "I"; }
.font-icon-level-up:before { content: "V"; }
.font-icon-back-in-time:before { content: "X"; }
.font-icon-cog:before { content: "Y"; }
.font-icon-rocket:before { content: "Z"; }
.font-icon-install:before { content: "a"; }
.font-icon-down-circled:before { content: "i"; }
.font-icon-eye:before { content: "l"; }
.font-icon-columns:before { content: "r"; }
.font-icon-edit-write:before { content: "u"; }
.font-icon-monitor:before { content: "x"; }
.font-icon-mobile:before { content: "J"; }
.font-icon-tablet:before { content: "K"; }
.font-icon-resize:before { content: "L"; }
/** File: typography.scss Contains the basic typography related styles for the admin interface. */
body, html { font-size: 12px; line-height: 16px; font-family: Arial, sans-serif; color: #66727d; }
@ -252,7 +324,7 @@ form.small .field input.text, form.small .field textarea, form.small .field sele
.cms input.loading, .cms button.loading, .cms input.ui-state-default.loading, .cms .ui-widget-content input.ui-state-default.loading, .cms .ui-widget-header input.ui-state-default.loading { color: #525252; border-color: #d5d3d3; cursor: default; }
.cms input.loading .ui-icon, .cms button.loading .ui-icon, .cms input.ui-state-default.loading .ui-icon, .cms .ui-widget-content input.ui-state-default.loading .ui-icon, .cms .ui-widget-header input.ui-state-default.loading .ui-icon { background: transparent url(../../images/network-save.gif) no-repeat 0 0; }
.cms input.loading.ss-ui-action-constructive .ui-icon, .cms button.loading.ss-ui-action-constructive .ui-icon { background: transparent url(../../images/network-save-constructive.gif) no-repeat 0 0; }
.cms .ss-ui-button { margin-top: 0px; font-weight: bold; text-decoration: none; line-height: 16px; color: #393939; border: 1px solid #d0d3d5; border-bottom: 1px solid #b5babd; cursor: pointer; background-color: #e6e6e6; white-space: nowrap; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #d9d9d9)); background: -moz-linear-gradient(#ffffff, #d9d9d9); background: -webkit-linear-gradient(#ffffff, #d9d9d9); background: linear-gradient(#ffffff, #d9d9d9); text-shadow: white 0 1px 1px; /* constructive */ /* destructive */ }
.cms .ss-ui-button { margin-top: 0px; font-weight: bold; text-decoration: none; line-height: 16px; color: #393939; border: 1px solid #d0d3d5; border-bottom: 1px solid #b5babd; cursor: pointer; background-color: #e6e6e6; white-space: nowrap; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #d9d9d9)); background: -moz-linear-gradient(#ffffff, #d9d9d9); background: -webkit-linear-gradient(#ffffff, #d9d9d9); background: linear-gradient(#ffffff, #d9d9d9); text-shadow: white 0 1px 1px; /* constructive */ /* destructive */ /* font-icon buttons */ }
.cms .ss-ui-button.ui-state-hover, .cms .ss-ui-button:hover { text-decoration: none; background-color: white; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2U2ZTZlNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6)); background: -moz-linear-gradient(#ffffff, #e6e6e6); background: -webkit-linear-gradient(#ffffff, #e6e6e6); background: linear-gradient(#ffffff, #e6e6e6); -moz-box-shadow: 0 0 5px #b3b3b3; -webkit-box-shadow: 0 0 5px #b3b3b3; box-shadow: 0 0 5px #b3b3b3; }
.cms .ss-ui-button:active, .cms .ss-ui-button:focus, .cms .ss-ui-button.ui-state-active, .cms .ss-ui-button.ui-state-focus { border: 1px solid #b3b3b3; background-color: white; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2U2ZTZlNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6)); background: -moz-linear-gradient(#ffffff, #e6e6e6); background: -webkit-linear-gradient(#ffffff, #e6e6e6); background: linear-gradient(#ffffff, #e6e6e6); -moz-box-shadow: 0 0 5px #b3b3b3 inset; -webkit-box-shadow: 0 0 5px #b3b3b3 inset; box-shadow: 0 0 5px #b3b3b3 inset; }
.cms .ss-ui-button.ss-ui-action-minor span { padding-left: 0; padding-right: 0; }
@ -266,6 +338,15 @@ form.small .field input.text, form.small .field textarea, form.small .field sele
.cms .ss-ui-button.ss-ui-action-minor:hover { text-decoration: none; color: #1f1f1f; }
.cms .ss-ui-button.ss-ui-action-minor:focus, .cms .ss-ui-button.ss-ui-action-minor:active { text-decoration: none; color: #525252; }
.cms .ss-ui-button.ss-ui-button-loading { opacity: 0.8; }
.cms .ss-ui-button[class*="font-icon-"], .cms .ss-ui-button[class^="font-icon-"], .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"] { padding: 5px 8px; margin-bottom: 12px; vertical-align: middle; box-shadow: none; border: 0; background: none; text-shadow: none; text-decoration: none; font-weight: normal; color: #66727d; }
.cms .ss-ui-button[class*="font-icon-"]:hover, .cms .ss-ui-button[class^="font-icon-"]:hover, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"]:hover { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; background: #dee3e8; color: #66727d; border: 0; }
.cms .ss-ui-button[class*="font-icon-"]:focus, .cms .ss-ui-button[class^="font-icon-"]:focus, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"]:focus { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; background: #dee3e8; color: #66727d; border: 0; }
.cms .ss-ui-button[class*="font-icon-"]:before, .cms .ss-ui-button[class^="font-icon-"]:before, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"]:before { font-size: 16px; margin-right: 5px; margin-top: 0; vertical-align: middle; }
.cms .ss-ui-button[class*="font-icon-"].ui-state-focus, .cms .ss-ui-button[class^="font-icon-"].ui-state-focus, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"].ui-state-focus { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
.cms .ss-ui-button[class*="font-icon-"].active, .cms .ss-ui-button[class*="font-icon-"]:active, .cms .ss-ui-button[class^="font-icon-"].active, .cms .ss-ui-button[class^="font-icon-"]:active, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"].active, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"]:active { -moz-box-shadow: 0 0 3px rgba(191, 194, 196, 0.9) inset; -webkit-box-shadow: 0 0 3px rgba(191, 194, 196, 0.9) inset; box-shadow: 0 0 3px rgba(191, 194, 196, 0.9) inset; background: #dee3e8; color: #66727d; border: 0; }
.cms .ss-ui-button[class*="font-icon-"].font-icon-search:before, .cms .ss-ui-button[class^="font-icon-"].font-icon-search:before, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"].font-icon-search:before { margin-right: 2px; }
.cms .ss-ui-button[class*="font-icon-"] .ui-button-text, .cms .ss-ui-button[class^="font-icon-"] .ui-button-text, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"] .ui-button-text { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; padding: 0; }
.cms .ss-ui-button[class*="font-icon-"] .ui-icon, .cms .ss-ui-button[class^="font-icon-"] .ui-icon, .cms .ss-ui-button.ss-ui-button-constructive[class*="font-icon-"] .ui-icon { display: none; }
.cms .ss-ui-buttonset .ui-button { margin-left: -1px; }
.cms .ss-ui-buttonset { margin-left: 1px; }
.cms .ss-ui-loading-icon { background: url(../../images/network-save.gif) no-repeat; display: block; width: 16px; height: 16px; }
@ -334,19 +415,19 @@ input.radio { margin-left: 0; }
* </div>
* </fieldset>
****************************************************************/
fieldset.switch-states { padding: 0 20px 0 0; margin-right: 5px; /*
fieldset.switch-states { margin-right: 8px; /*
Produce css for up to 5 states.
Note: with a little adjustment the switch can take more than 5 items,
but a dropdown would probably be more appropriate
*/ }
fieldset.switch-states .switch { -moz-box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.1); -webkit-box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.1); box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.1); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -webkit-animation: bugfix infinite 1s; background: #dee0e3; display: block; height: 25px; margin-top: 3px; padding: 0 10px; position: relative; width: 100%; z-index: 5; }
fieldset.switch-states .switch label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); color: #858585; color: rgba(31, 31, 31, 0.5); cursor: pointer; float: left; font-weight: bold; height: 100%; line-height: 25px; position: relative; z-index: 2; /* Make text unselectable in browsers that support that */ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
fieldset.switch-states .switch { border: 2px solid #d3d6da; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -webkit-animation: bugfix infinite 1s; background: #dee0e3; display: block; height: 24px; position: relative; width: 100%; z-index: 5; }
fieldset.switch-states .switch label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; color: #858585; color: rgba(31, 31, 31, 0.5); cursor: pointer; float: left; font-weight: bold; height: 100%; line-height: 25px; position: relative; z-index: 2; min-width: 80px; /* Make text unselectable in browsers that support that */ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
fieldset.switch-states .switch label:hover { color: #6c6c6c; color: rgba(31, 31, 31, 0.7); }
fieldset.switch-states .switch label span { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; display: inline-block; padding: 0 10px; }
fieldset.switch-states .switch label span { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; display: inline-block; width: 100%; text-align: center; }
fieldset.switch-states .switch input { opacity: 0; filter: alpha(opacity=0); visibility: none; position: absolute; }
fieldset.switch-states .switch input:checked + label { -moz-transition: all 0.3s ease-out 0s; -webkit-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; color: #fff; text-shadow: 0 -1px 0 #287099; }
fieldset.switch-states .switch .slide-button { background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzJiOWMzMiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzY0YWIzNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #2b9c32), color-stop(100%, #64ab36)); background-image: -moz-linear-gradient(#2b9c32, #64ab36); background-image: -webkit-linear-gradient(#2b9c32, #64ab36); background-image: linear-gradient(#2b9c32, #64ab36); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.3), 0 1px 0px rgba(255, 255, 255, 0.2); -webkit-box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.3), 0 1px 0px rgba(255, 255, 255, 0.2); box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.3), 0 1px 0px rgba(255, 255, 255, 0.2); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -moz-transition: all 0.3s ease-out 0s; -webkit-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; background-color: #2b9c32; display: block; height: 100%; left: 0; padding: 0; position: absolute; top: 0; z-index: 1; }
fieldset.switch-states .switch input:checked + label { -moz-transition: all 0.3s ease-out 0s; -webkit-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; color: #fff; }
fieldset.switch-states .switch .slide-button { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; -moz-transition: all 0.3s ease-out 0s; -webkit-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; background-color: #2b9c32; display: block; height: 24px; left: 0; padding: 0; position: absolute; top: 0; z-index: 1; }
fieldset.switch-states.size_1 label, fieldset.switch-states.size_1 .slide-button { width: 100%; }
fieldset.switch-states.size_1 label span { padding-right: 0; }
fieldset.switch-states.size_1 input:checked:nth-of-type(2) ~ .slide-button { left: 100%; }
@ -462,8 +543,6 @@ body.cms { overflow: hidden; }
.has-panel .breadcrumbs-wrapper { float: left; padding-top: 7px; padding-left: 20px; }
.has-panel .cms-content-header-tabs { margin-top: 8px; }
.has-panel .view-controls { float: right; margin-top: 1px; }
.has-panel .font-icon-search { margin-top: 1px; }
.has-panel .font-icon-search::before { font-size: 1.3em; }
.has-panel .cms-content-tools .cms-panel-content { padding-top: 0; overflow-x: hidden; }
#page-title-heading { line-height: 1.2em; }
@ -480,27 +559,28 @@ body.cms { overflow: hidden; }
.cms-tabset-nav-primary { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; vertical-align: middle; }
/** ------------------------------------------------------------------ Buttons that use font icons. There are !important rules here because we need to override some Tab styling. It's tidier to have some !important rules here than have the Tab styles littered with load of context specific rules for icon-buttons. Icon buttons styles should always take presedence over Tab styles. Tabs should be refactored to use weaker selectors. ----------------------------------------------------------------- */
a.icon-button, .ui-tabs .ui-tabs-nav li a.icon-button, button.ss-ui-button.icon-button { vertical-align: middle; margin-right: 2px; padding: .4em; font-size: 1.2em; letter-spacing: -3px; text-indent: 0; text-shadow: none; line-height: 1em; color: #66727d; background-color: transparent; background-image: none; border: 0; }
a.icon-button:hover, .ui-tabs .ui-tabs-nav li a.icon-button:hover, a.icon-button:active, .ui-tabs .ui-tabs-nav li a.icon-button:active, a.icon-button:focus, .ui-tabs .ui-tabs-nav li a.icon-button:focus, button.ss-ui-button.icon-button:hover, button.ss-ui-button.icon-button:active, button.ss-ui-button.icon-button:focus { border: 0; box-shadow: none; background-image: none; text-decoration: none; }
a.icon-button:hover, .ui-tabs .ui-tabs-nav li a.icon-button:hover, button.ss-ui-button.icon-button:hover { background-color: #d4dbe1; }
a.icon-button.active, .ui-tabs .ui-tabs-nav li a.active.icon-button, a.icon-button:active, .ui-tabs .ui-tabs-nav li a.icon-button:active, button.ss-ui-button.icon-button.active, button.ss-ui-button.icon-button:active { background-color: #d4dbe1; box-shadow: inset 0 0 3px rgba(191, 194, 196, 0.9); }
a.icon-button .ui-button-text, .ui-tabs .ui-tabs-nav li a.icon-button .ui-button-text, button.ss-ui-button.icon-button .ui-button-text { display: none; }
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active a.icon-button.cms-panel-link, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default a.icon-button.cms-panel-link, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active button.ss-ui-button.icon-button.cms-panel-link, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default button.ss-ui-button.icon-button.cms-panel-link { padding: 6px 8px; line-height: 1em; background-color: transparent; background-image: none; border: 0; }
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active a.icon-button.cms-panel-link:before, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default a.icon-button.cms-panel-link:before, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active button.ss-ui-button.icon-button.cms-panel-link:before, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default button.ss-ui-button.icon-button.cms-panel-link:before { margin-top: 2px; }
.ModelAdmin a.icon-button, .ModelAdmin .ui-tabs .ui-tabs-nav li a.icon-button, .ui-tabs .ui-tabs-nav li .ModelAdmin a.icon-button, .ModelAdmin button.ss-ui-button.icon-button { margin-top: -11px; }
.cms a.icon-button, .cms .ui-tabs .ui-tabs-nav li a.icon-button, .ui-tabs .ui-tabs-nav li .cms a.icon-button, .cms button.ss-ui-button.icon-button { vertical-align: middle; margin: 0 2px 0 0; padding: 5px; padding-right: 8px; font-size: 14px; letter-spacing: -3px; text-indent: 0; text-shadow: none; line-height: 1em; color: #66727d; background-color: transparent; background-image: none; border: 0; }
.cms a.icon-button:hover, .cms .ui-tabs .ui-tabs-nav li a.icon-button:hover, .ui-tabs .ui-tabs-nav li .cms a.icon-button:hover, .cms a.icon-button:active, .cms .ui-tabs .ui-tabs-nav li a.icon-button:active, .ui-tabs .ui-tabs-nav li .cms a.icon-button:active, .cms a.icon-button:focus, .cms .ui-tabs .ui-tabs-nav li a.icon-button:focus, .ui-tabs .ui-tabs-nav li .cms a.icon-button:focus, .cms button.ss-ui-button.icon-button:hover, .cms button.ss-ui-button.icon-button:active, .cms button.ss-ui-button.icon-button:focus { border: 0; box-shadow: none; background-image: none; text-decoration: none; }
.cms a.icon-button:hover, .cms .ui-tabs .ui-tabs-nav li a.icon-button:hover, .ui-tabs .ui-tabs-nav li .cms a.icon-button:hover, .cms button.ss-ui-button.icon-button:hover { background-color: #d4dbe1; }
.cms a.icon-button.active, .cms .ui-tabs .ui-tabs-nav li a.active.icon-button, .ui-tabs .ui-tabs-nav li .cms a.active.icon-button, .cms a.icon-button:active, .cms .ui-tabs .ui-tabs-nav li a.icon-button:active, .ui-tabs .ui-tabs-nav li .cms a.icon-button:active, .cms button.ss-ui-button.icon-button.active, .cms button.ss-ui-button.icon-button:active { background-color: #d4dbe1; box-shadow: inset 0 0 3px rgba(191, 194, 196, 0.9); }
.cms a.icon-button .ui-button-text, .cms .ui-tabs .ui-tabs-nav li a.icon-button .ui-button-text, .ui-tabs .ui-tabs-nav li .cms a.icon-button .ui-button-text, .cms button.ss-ui-button.icon-button .ui-button-text { display: none; }
.ModelAdmin .cms a.icon-button, .ModelAdmin .cms .ui-tabs .ui-tabs-nav li a.icon-button, .ui-tabs .ui-tabs-nav li .ModelAdmin .cms a.icon-button, .ModelAdmin .cms button.ss-ui-button.icon-button { margin-top: -11px; }
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active a.icon-button.cms-panel-link, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default a.icon-button.cms-panel-link { padding: 6px 8px; line-height: 1em; background-color: transparent; background-image: none; border: 0; }
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active a.icon-button.cms-panel-link:before, .ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default a.icon-button.cms-panel-link:before { vertical-align: middle; }
.icon-button-group { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; margin-top: 2px; vertical-align: middle; border: 1px solid #CDCCD0; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
.icon-button-group a.icon-button, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button, .ui-tabs .ui-tabs-nav li .icon-button-group a.icon-button, .icon-button-group button.ss-ui-button.icon-button { margin-right: 0; line-height: 13px; -moz-border-radius: 0 0 0 0; -webkit-border-radius: 0; border-radius: 0 0 0 0; }
.icon-button-group a.icon-button:first-child, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button:first-child, .ui-tabs .ui-tabs-nav li .icon-button-group a.icon-button:first-child, .icon-button-group button.ss-ui-button.icon-button:first-child { -moz-border-radius: 3px 0 0 3px; -webkit-border-radius: 3px; border-radius: 3px 0 0 3px; }
.icon-button-group a.icon-button:last-child, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button:last-child, .ui-tabs .ui-tabs-nav li .icon-button-group a.icon-button:last-child, .icon-button-group button.ss-ui-button.icon-button:last-child { -moz-border-radius: 0 3px 3px 0; -webkit-border-radius: 0; border-radius: 0 3px 3px 0; }
.icon-button-group a.icon-button:hover, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button:hover, .ui-tabs .ui-tabs-nav li .icon-button-group a.icon-button:hover, .icon-button-group button.ss-ui-button.icon-button:hover { background: #ECEFF1; padding-bottom: 5px; }
.icon-button-group a.icon-button:hover, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button:hover, .ui-tabs .ui-tabs-nav li .icon-button-group a.icon-button:hover, .icon-button-group button.ss-ui-button.icon-button:hover { background: #ECEFF1; }
.icon-button-group a.icon-button.active:hover, .icon-button-group button.ss-ui-button.icon-button.active:hover { background: #d4dbe1; }
.icon-button-group a.icon-button + a.icon-button, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button + a.icon-button, .icon-button-group a.icon-button + button.ss-ui-button.icon-button, .icon-button-group .ui-tabs .ui-tabs-nav li a.icon-button + button.ss-ui-button.icon-button, .icon-button-group button.ss-ui-button.icon-button + a.icon-button, .icon-button-group .ui-tabs .ui-tabs-nav li button.ss-ui-button.icon-button + a.icon-button, .icon-button-group button.ss-ui-button.icon-button + button.ss-ui-button.icon-button { border-left: 1px solid #CDCCD0; }
.icon-button-group .ui-tabs.ui-tabs-nav { border-left: 0 !important; margin-top: -2px !important; padding-right: 0 !important; overflow: hidden; }
.icon-button-group .ui-tabs.ui-tabs-nav .cms-tabset-icon.ui-state-default { background-color: transparent; background-image: none; border-left: 0; border-right: 0; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
.icon-button-group .ui-tabs.ui-tabs-nav .cms-tabset-icon.ui-state-default + .cms-tabset-icon.ui-state-default { border-left: 1px solid #CDCCD0; }
.icon-button-group .ui-tabs.ui-tabs-nav:hover { background: #ECEFF1; }
.icon-button-group .ui-tabs.ui-tabs-nav.active:hover { background: #d4dbe1; }
.icon-button-group .ui-tabs.ui-tabs-nav .cms-tabset-icon.ui-state-default:hover { background: #ECEFF1; }
.icon-button-group .ui-tabs.ui-tabs-nav .cms-tabset-icon.ui-state-default.ui-state-active:hover { background: #d4dbe1; }
.icon-button-group .ui-tabs.ui-tabs-nav .cms-tabset-icon.ui-state-active { background-color: #d4dbe1; box-shadow: inset 0 0 3px rgba(191, 194, 196, 0.9); }
.cms-content-header-tabs .icon-button-group { overflow: hidden; }
@ -549,7 +629,6 @@ a.icon-button .ui-button-text, .ui-tabs .ui-tabs-nav li a.icon-button .ui-button
.cms-content-header-tabs { float: right; margin-top: 8px; }
.cms-content-header-tabs .icon-button-group { margin-right: 16px; }
.cms-content-header-tabs .font-icon-search::before { font-size: 1.3em; }
.cms-content-fields .ui-tabs-nav { float: none; padding: 0; border-bottom: 1px solid #d0d3d5; margin: 0 16px 0; }
.cms-content-fields .ui-tabs-nav li { margin-bottom: -1px; }
@ -581,9 +660,16 @@ a.icon-button .ui-button-text, .ui-tabs .ui-tabs-nav li a.icon-button .ui-button
.cms-edit-form .message { margin: 16px; }
.cms-edit-form .ui-tabs-panel .message { margin: 16px 0; }
.notice-item { border: 0; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; font-family: inherit; font-size: inherit; padding: 8px 10px 8px 10px; }
.notice-item { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; font-family: inherit; font-size: inherit; padding: 6px 24px 8px 10px; word-wrap: break-word; min-height: 60px; height: auto; border: 0; border-left: 3px solid; color: #666; left: 300px; background: #fff; }
.notice-item.success, .notice-item.good, .notice-item.green { border-color: #72c34b; }
.notice-item.notice, .notice-item.info, .notice-item.blue { border-color: #93CDE8; }
.notice-item.warning, .notice-item.caution, .notice-item.yellow { border-color: #E9D104; }
.notice-item.bad, .notice-item.error, .notice-item.red { border-color: #e68288; }
.notice-item p { margin-bottom: 0; }
.notice-item-close { color: #333333; background: url(../images/filter-icons.png) no-repeat 0 -20px; width: 1px; height: 1px; overflow: hidden; padding: 0px 0 20px 15px; }
.notice-item-close { font-weight: normal; width: 12px; height: 16px; color: #555; font-size: 16px; overflow: hidden; top: 4px; right: 4px; padding: 2px; opacity: .8; }
.notice-item-close::before { content: 'x'; }
.notice-item-close:hover { opacity: 1; }
/** -------------------------------------------- Page icons -------------------------------------------- */
.page-icon, a .jstree-pageicon { display: block; width: 16px; height: 16px; background: transparent url(../images/sitetree_ss_pageclass_icons_default.png) no-repeat; }
@ -622,10 +708,6 @@ a.icon-button .ui-button-text, .ui-tabs .ui-tabs-nav li a.icon-button .ui-button
.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 * label { color: #0073C1; }
.cms-content-toolbar .ss-ui-button { margin-bottom: 12px; }
.cms-content-toolbar .cms-actions-buttons-row { clear: both; }
.cms-content-toolbar .cms-actions-buttons-row .ss-ui-button, .cms-content-toolbar .cms-actions-buttons-row .ss-ui-button:hover, .cms-content-toolbar .cms-actions-buttons-row .ss-ui-button:active, .cms-content-toolbar .cms-actions-buttons-row .ss-ui-button:focus { color: #66727d; border: 0; background: none; box-shadow: none; text-shadow: none; text-decoration: none; font-weight: normal; }
.cms-content-toolbar .cms-actions-buttons-row .ss-ui-button.active, .cms-content-toolbar .cms-actions-buttons-row .ss-ui-button:active, .cms-content-toolbar .cms-actions-buttons-row .ss-ui-button:hover { background-color: #dee3e8; }
.cms-content-toolbar .cms-actions-tools-row { clear: both; }
.cms-content-toolbar .tool-action { display: none; }
@ -661,7 +743,10 @@ a.icon-button .ui-button-text, .ui-tabs .ui-tabs-nav li a.icon-button .ui-button
/** ------------------------------------------------------------------
* 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 #D2D5D8 solid; background: #fff; background: rgba(255, 255, 255, 0.5); text-shadow: none; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
.cms-notice { display: block; margin: 0 0 8px; padding: 10px 12px; font-weight: normal; border: 1px #D2D5D8 solid; background: #fff; background: rgba(255, 255, 255, 0.5); text-shadow: none; }
.cms-tree-filtered { position: absolute; margin: 0; width: 100%; box-sizing: border-box; margin-left: -16px; padding: 16px 16px; background: #D4E2EC; text-shadow: none; border: 0; }
.cms-tree-filtered > strong, .cms-tree-filtered > a { font-size: 14px; }
/** CMS Batch actions */
.cms-content-batchactions-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; padding: 4px 6px; vertical-align: middle; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+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: -moz-linear-gradient(top, #ffffff, #d9d9d9); background-image: -webkit-linear-gradient(top, #ffffff, #d9d9d9); background-image: linear-gradient(to bottom, #ffffff, #d9d9d9); border: 1px solid #aaa; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
@ -779,7 +864,7 @@ body.cms-dialog { overflow: auto; background: url("../images/textures/bg_cms_mai
.htmleditorfield-dialog.ui-dialog-content { padding: 0; position: relative; }
.htmleditorfield-dialog .htmleditorfield-from-web .CompositeField { overflow: hidden; *zoom: 1; }
.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 .htmleditorfield-from-web #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; width: 35px; padding-right: 0; }
.htmleditorfield-dialog .htmleditorfield-from-web #RemoteURL .middleColumn { margin-left: 0; }
.htmleditorfield-dialog .htmleditorfield-from-web #RemoteURL input.remoteurl { padding-left: 40px; max-width: 350px; }
.htmleditorfield-dialog .htmleditorfield-from-web button.add-url { margin-top: 20px; overflow: hidden; *zoom: 1; border: none; background: none; opacity: 0.8; cursor: hand; }
@ -957,6 +1042,7 @@ form.import-form label.left { width: 250px; }
.tree-holder.jstree .jstree-hovered, .cms-tree.jstree .jstree-hovered { text-shadow: none; text-decoration: none; }
.tree-holder.jstree .jstree-closed > ins, .cms-tree.jstree .jstree-closed > ins { background-position: 2px -1px; }
.tree-holder.jstree .jstree-open > ins, .cms-tree.jstree .jstree-open > ins { background-position: -18px -1px; }
.tree-holder.filtered-list, .cms-tree.filtered-list { margin-top: 8px; }
.tree-holder.filtered-list li:not(.filtered-item) > a, .cms-tree.filtered-list li:not(.filtered-item) > a { color: #aaa; }
.cms-tree.jstree .jstree-no-checkboxes li a { padding-left: 12px; }
@ -1051,10 +1137,10 @@ li.class-ErrorPage > a .jstree-pageicon { background-position: 0 -112px; }
.cms-logo a { position: absolute; top: 8px; bottom: 8px; display: block; width: 24px; background: url("../images/logo_small.png") no-repeat left center; text-indent: -9999em; padding: 0 1px; left: 0; }
.cms-logo span { font-weight: bold; font-size: 12px; line-height: 16px; padding: 6px 0; margin-left: 30px; }
.cms-login-status { border-top: 1px solid #19435c; padding: 12px 0; line-height: 16px; font-size: 11px; min-height: 28px; }
.cms-login-status .logout-link { display: inline-block; height: 28px; width: 16px; float: left; margin: 0 8px 0 5px; background: url('../images/sprites-32x32-s47450c5f5b.png') 0 -772px no-repeat; background-position: 0 -766px; text-indent: -9999em; opacity: 0.9; }
.cms-login-status .logout-link:hover, .cms-login-status .logout-link:focus { opacity: 1; }
.cms-login-status span { padding-top: 6px; }
.cms-login-status { border-top: 1px solid #19435c; padding: 12px 0; line-height: 16px; font-size: 11px; }
.cms-login-status .logout-link { float: left; font-size: 16px; height: 16px; padding: 6px 8px 6px 5px; opacity: .9; color: #fff; }
.cms-login-status .logout-link:hover, .cms-login-status .logout-link:focus { opacity: 1; text-decoration: none; }
.cms-login-status span { padding: 6px 0 6px 26px; }
.cms-menu { z-index: 80; background: #b0bec7; width: 160px; -moz-box-shadow: rgba(0, 0, 0, 0.9) 0 0 3px; -webkit-box-shadow: rgba(0, 0, 0, 0.9) 0 0 3px; box-shadow: rgba(0, 0, 0, 0.9) 0 0 3px; }
.cms-menu a { text-decoration: none; }
@ -1113,7 +1199,7 @@ li.class-ErrorPage > a .jstree-pageicon { background-position: 0 -112px; }
.cms-content-controls { /* Styling the background, controls sit on */ /* Styling for icons in controls */ /* Preview selectors. Overrides default chosen styles and applies its own */ }
.cms-content-controls.cms-preview-controls { z-index: 1; background: #eceff1; height: 30px; /* should be set in js Layout to match page actions */ padding: 12px 12px; }
.cms-content-controls .icon-view, .cms-content-controls .preview-selector.dropdown a.chzn-single { white-space: nowrap; }
.cms-content-controls .icon-view:before, .cms-content-controls .preview-selector.dropdown a.chzn-single:before { display: inline-block; float: left; content: ''; width: 23px; height: 17px; overflow: hidden; }
.cms-content-controls .icon-view:before, .cms-content-controls .preview-selector.dropdown a.chzn-single:before { display: inline-block; float: left; width: 20px; overflow: hidden; color: #1f1f1f; }
.cms-content-controls .icon-auto:before { background: url('../images/sprites-32x32-s47450c5f5b.png') 0 -898px no-repeat; }
.cms-content-controls .icon-desktop:before { background: url('../images/sprites-32x32-s47450c5f5b.png') 0 -925px no-repeat; }
.cms-content-controls .icon-tablet:before { background: url('../images/sprites-32x32-s47450c5f5b.png') 0 -1087px no-repeat; }
@ -1123,9 +1209,9 @@ li.class-ErrorPage > a .jstree-pageicon { background-position: 0 -112px; }
.cms-content-controls .icon-preview:before { background: url('../images/sprites-32x32-s47450c5f5b.png') 0 -1033px no-repeat; }
.cms-content-controls .icon-window:before { background: url('../images/sprites-32x32-s47450c5f5b.png') 0 -952px no-repeat; }
.cms-content-controls .cms-navigator { width: 100%; }
.cms-content-controls .preview-selector.dropdown a.chzn-single { text-indent: -200px; }
.cms-content-controls .preview-selector { float: right; border-bottom: none; position: relative; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; margin: 3px 0 0 4px; padding: 0; height: 28px; }
.cms-content-controls .preview-selector a.chzn-single { width: 20px; padding: 6px 5px 5px; height: 18px; margin: -3px 0 0; filter: none; /* remove ie background */ background: none; border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
.cms-content-controls .preview-selector { float: right; border-bottom: none; position: relative; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; margin: 2px 0 0 4px; padding: 0; height: 28px; }
.cms-content-controls .preview-selector a.chzn-single { width: 16px; padding: 6px; height: 16px; margin: -2px 0 0; filter: none; /* remove ie background */ background: none; border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
.cms-content-controls .preview-selector a.chzn-single::before { font-size: 18px; margin-top: -1px; margin-left: -1px; }
.cms-content-controls .preview-selector a.chzn-single:hover, .cms-content-controls .preview-selector a.chzn-single.chzn-single-with-drop { background-color: #dae0e5; -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.05) inset, 0 1px 0 rgba(248, 248, 248, 0.9); -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.05) inset, 0 1px 0 rgba(248, 248, 248, 0.9); box-shadow: 0 0 3px rgba(0, 0, 0, 0.05) inset, 0 1px 0 rgba(248, 248, 248, 0.9); }
.cms-content-controls .preview-selector a.chzn-single.chzn-single-with-drop { -moz-border-radius: 0 0 3px 3px; -webkit-border-radius: 0; border-radius: 0 0 3px 3px; }
.cms-content-controls .preview-selector a.chzn-single div { display: none; }
@ -1138,7 +1224,7 @@ li.class-ErrorPage > a .jstree-pageicon { background-position: 0 -112px; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop .chzn-search { display: none; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul { padding: 0; margin: 0; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li { font-size: 12px; line-height: 16px; padding: 7px 16px 7px 6px; color: #0073C1; border-bottom: 1px solid #DDD; background-color: #FFF; /* Description styling */ }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li:before { margin-right: 2px; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li:before { margin-right: 2px; font-size: 16px; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li.description { padding-top: 5px; padding-bottom: 5px; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li.description:before { margin-top: 5px; }
.cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li.highlighted, .cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li:hover, .cms-content-controls .preview-selector .chzn-container.chzn-with-rise .chzn-drop ul li:focus { color: #0073C1; filter: none; background: #f2f4f6; text-decoration: none; }

File diff suppressed because one or more lines are too long

View File

@ -9,4 +9,3 @@ Font license info
License: SIL (http://scripts.sil.org/OFL)
Homepage: http://www.entypo.com

Binary file not shown.

View File

@ -1,21 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
<defs>
<font id="fontello" horiz-adv-x="1000" >
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="search" unicode="&#xe800;" d="m772 78q30-34 6-62l-46-46q-36-32-68 0l-190 190q-74-42-156-42-128 0-223 95t-95 223 90 219 218 91 224-95 96-223q0-88-46-162z m-678 358q0-88 68-156t156-68 151 63 63 153q0 88-68 155t-156 67-151-63-63-151z" horiz-adv-x="789" />
<glyph glyph-name="tree" unicode="&#xe801;" d="m700 633v84c0 33 28 55 56 55h133c33 0 55-28 55-55v-228c0-33-27-56-55-56h-128c-33 0-55 28-55 56v89h-184c0-17 0-422 0-422 0-17 11-28 28-28h150v83c0 33 28 56 56 56h133c33 0 55-28 55-56v-228c0-33-27-55-55-55h-128c-33 0-55 28-55 55v84h-156c-50 0-89 39-89 83v428h-161v-84c0-33-28-55-56-55h-133c-33 0-55 28-55 55v223c0 33 27 55 55 55h128c33 0 55-28 55-55v-84l406 0z" horiz-adv-x="1000" />
<glyph glyph-name="list2" unicode="&#xe802;" d="m150 444c-28 0-50-11-67-27-16-17-27-39-27-67 0-28 11-50 27-67 17-16 39-27 67-27s50 11 67 27c22 17 27 39 27 67 0 28-11 50-27 67-17 16-39 27-67 27z m0 256c-28 0-50-11-67-28-16-16-27-44-27-66 0-28 11-50 27-67 17-22 39-28 67-28s50 6 67 28c16 17 27 39 27 67 0 27-11 50-27 66-17 17-39 28-67 28z m0-511c-28 0-50-11-67-28-16-17-27-39-27-67 0-27 11-50 27-66 17-17 39-28 67-28s50 11 67 28c16 16 27 39 27 66 0 28-11 50-27 67-17 22-39 28-67 28z m789 472c-6 6-6 6-11 6h-600c-6 0-6 0-11-6-6 0-6-5-6-11v-94c0-6 0-6 6-12 5-5 5-5 11-5h605c6 0 6 0 11 5 0 6 0 6 0 12v94c0 6 0 11-5 11z m-11-250h-600c-6 0-6 0-11-5-6 0-6-6-6-6v-94c0-6 0-6 6-12 5-5 5-5 11-5h605c6 0 6 0 11 5 0 0 0 6 0 6v100c0 6 0 6-5 11 0 0-6 0-11 0z m0-250h-600c-6 0-6 0-11-5-6-6-6-6-6-12v-94c0-6 0-6 6-11 5-6 5-6 11-6h605c6 0 6 0 11 6 6 5 6 5 6 11v94c0 6 0 6-6 12-5 0-11 5-16 5z" horiz-adv-x="1000" />
<glyph glyph-name="cog" unicode="&#xe803;" d="m760 350q0-72 80-122-12-40-34-82-70 18-136-44-54-58-34-136-40-20-84-36-46 82-132 82t-132-82q-44 16-84 36 20 80-34 136-54 54-136 34-14 26-34 82 82 52 82 132 0 72-82 124 20 56 34 82 74-18 136 44 54 56 34 136 42 22 84 34 46-80 132-80t132 80q42-12 84-34-20-78 34-136 66-62 136-44 22-42 34-82-80-50-80-124z m-340-182q76 0 129 53t53 129-53 130-129 54-129-54-53-130 53-129 129-53z" horiz-adv-x="840" />
<glyph glyph-name="check" unicode="&#xe804;" d="m786 331v-177q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q35 0 65-14 9-4 10-13 2-10-5-16l-27-28q-6-5-13-5-2 0-5 1-13 3-25 3h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v141q0 8 5 13l36 35q6 6 13 6 3 0 7-2 11-4 11-16z m129 273l-455-454q-13-14-31-14t-32 14l-240 240q-14 13-14 31t14 32l61 62q14 13 32 13t32-13l147-147 361 361q13 13 31 13t32-13l62-61q13-14 13-32t-13-32z" horiz-adv-x="928.6" />
<glyph glyph-name="plus-solid" unicode="&#xe805;" d="m817 667c-89 83-200 127-317 127s-228-44-317-127c-83-89-127-200-127-317 0-117 44-228 127-317 89-83 200-127 317-127 117 0 228 44 317 127 83 89 127 200 127 317s-44 228-127 317z m-95-373h-166v-166h-112v166h-166v112h166v166h112v-166h166v-112z" horiz-adv-x="1000" />
<glyph glyph-name="list" unicode="&#xe806;" d="m286 154v-108q0-22-16-37t-38-16h-178q-23 0-38 16t-16 37v108q0 22 16 38t38 15h178q22 0 38-15t16-38z m0 285v-107q0-22-16-38t-38-15h-178q-23 0-38 15t-16 38v107q0 23 16 38t38 16h178q22 0 38-16t16-38z m714-285v-108q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v108q0 22 16 38t38 15h535q23 0 38-15t16-38z m-714 571v-107q0-22-16-38t-38-16h-178q-23 0-38 16t-16 38v107q0 22 16 38t38 16h178q22 0 38-16t16-38z m714-286v-107q0-22-16-38t-38-15h-535q-23 0-38 15t-16 38v107q0 23 16 38t38 16h535q23 0 38-16t16-38z m0 286v-107q0-22-16-38t-38-16h-535q-23 0-38 16t-16 38v107q0 22 16 38t38 16h535q23 0 38-16t16-38z" horiz-adv-x="1000" />
<glyph glyph-name="plus" unicode="&#xe807;" d="m817 667c-89 83-200 127-317 127s-228-44-317-127c-83-89-127-200-127-317 0-117 44-228 127-317 89-83 200-127 317-127 117 0 228 44 317 127 83 89 127 200 127 317s-44 228-127 317z m-73-561c-66-67-150-100-244-100-94 0-178 33-244 100-67 66-100 150-100 244s33 178 100 244c66 67 150 100 244 100s178-33 244-100c67-66 100-150 100-244s-33-178-100-244z m-27 194h-167v-167h-100v167h-167v100h167v167h100v-167h167v-100z" horiz-adv-x="1000" />
<glyph glyph-name="search2" unicode="&#xe808;" d="m922-72c-16-17-33-22-50-22-16 0-39 5-50 22l-211 211c0 0-5 5-5 5-56-33-123-55-195-55-200 0-355 161-355 355 0 195 155 350 350 350 194 0 350-155 350-350 0-72-23-138-56-188 0 0 6-6 6-6l211-211c33-33 33-83 5-111z m-272 516c0 134-111 239-244 239s-239-105-239-239c0-133 105-238 239-238s244 105 244 238z" horiz-adv-x="1000" />
<glyph glyph-name="pencil" unicode="&#xe80b;" d="m0-119l60 281 627 628q21 21 51 21t50-20l121-122q21-21 21-50t-21-50l-628-628z m68 69l194 44 24 25-149 149-24-24z" horiz-adv-x="930.2" />
</font>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,615 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Font Reference - SilverStripe</title>
<link href="http://fonts.googleapis.com/css?family=Dosis:400,500,700" rel="stylesheet" type="text/css">
<style type="text/css">
@charset "UTF-8";
@font-face {
font-family: "silverstripe";
src:url("silverstripe.eot");
src:url("silverstripe.eot?#iefix") format("embedded-opentype"),
url("silverstripe.woff") format("woff"),
url("silverstripe.ttf") format("truetype"),
url("silverstripe.svg#silverstripe") format("svg");
font-weight: normal;
font-style: normal;
}
[data-icon]:before {
font-family: "silverstripe" !important;
content: attr(data-icon);
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
[class^="font-icon-"]:before,
[class*="font-icon-"]:before {
font-family: "silverstripe" !important;
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.font-icon-search:before {
content: "s";
}
.font-icon-upload:before {
content: "b";
}
.font-icon-sync:before {
content: "c";
}
.font-icon-print:before {
content: "d";
}
.font-icon-list:before {
content: "e";
}
.font-icon-plus-circled:before {
content: "f";
}
.font-icon-check-mark-2:before {
content: "k";
}
.font-icon-pencil:before {
content: "m";
}
.font-icon-book:before {
content: "n";
}
.font-icon-book-open:before {
content: "o";
}
.font-icon-plus:before {
content: "j";
}
.font-icon-icon-tree:before {
content: "p";
}
.font-icon-flow-tree:before {
content: "q";
}
.font-icon-info-circled:before {
content: "y";
}
.font-icon-chart-line:before {
content: "B";
}
.font-icon-graph-bar:before {
content: "E";
}
.font-icon-torsos-all:before {
content: "F";
}
.font-icon-torso:before {
content: "H";
}
.font-icon-picture:before {
content: "v";
}
.font-icon-chart-pie:before {
content: "A";
}
.font-icon-sitemap:before {
content: "C";
}
.font-icon-globe:before {
content: "P";
}
.font-icon-globe-1:before {
content: "R";
}
.font-icon-chat:before {
content: "t";
}
.font-icon-comment:before {
content: "w";
}
.font-icon-logout:before {
content: "z";
}
.font-icon-cancel:before {
content: "D";
}
.font-icon-cancel-circled:before {
content: "Q";
}
.font-icon-trash-bin:before {
content: "S";
}
.font-icon-left-open:before {
content: "T";
}
.font-icon-right-open:before {
content: "U";
}
.font-icon-check-mark:before {
content: "G";
}
.font-icon-check-mark-circle:before {
content: "I";
}
.font-icon-level-up:before {
content: "V";
}
.font-icon-back-in-time:before {
content: "X";
}
.font-icon-cog:before {
content: "Y";
}
.font-icon-rocket:before {
content: "Z";
}
.font-icon-install:before {
content: "a";
}
.font-icon-down-circled:before {
content: "i";
}
.font-icon-eye:before {
content: "l";
}
.font-icon-columns:before {
content: "r";
}
.font-icon-edit-write:before {
content: "u";
}
.font-icon-monitor:before {
content: "x";
}
.font-icon-mobile:before {
content: "J";
}
.font-icon-tablet:before {
content: "K";
}
.font-icon-resize:before {
content: "L";
}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-family:inherit;font-size:100%;vertical-align:baseline}
body{line-height:1;color:#000;background:#fff}
ol,ul{list-style:none}
table{border-collapse:separate;border-spacing:0;vertical-align:middle}
caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}
a img{border:none}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
body{font-family:'Dosis','Tahoma',sans-serif}
.container{margin:15px auto;width:80%}
h1{margin:40px 0 20px;font-weight:700;font-size:38px;line-height:32px;color:#fb565e}
h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercase;font-weight:500}
.small{font-size:14px;color:#a5adb4;}
.small a{color:#a5adb4;}
.small a:hover{color:#fb565e}
.glyphs.character-mapping{margin:0 0 20px 0;padding:20px 0 20px 30px;color:rgba(0,0,0,0.5);border:1px solid #d8e0e5;-webkit-border-radius:3px;border-radius:3px;}
.glyphs.character-mapping li{margin:0 30px 20px 0;display:inline-block;width:90px}
.glyphs.character-mapping .icon{margin:10px 0 10px 15px;padding:15px;position:relative;width:55px;height:55px;color:#162a36 !important;overflow:hidden;-webkit-border-radius:3px;border-radius:3px;font-size:32px;}
.glyphs.character-mapping .icon svg{fill:#000}
.glyphs.character-mapping input{margin:0;padding:5px 0;line-height:12px;font-size:12px;display:block;width:100%;border:1px solid #d8e0e5;-webkit-border-radius:5px;border-radius:5px;text-align:center;outline:0;}
.glyphs.character-mapping input:focus{border:1px solid #fbde4a;-webkit-box-shadow:inset 0 0 3px #fbde4a;box-shadow:inset 0 0 3px #fbde4a}
.glyphs.character-mapping input:hover{-webkit-box-shadow:inset 0 0 3px #fbde4a;box-shadow:inset 0 0 3px #fbde4a}
.glyphs.css-mapping{margin:0 0 60px 0;padding:30px 0 20px 30px;color:rgba(0,0,0,0.5);border:1px solid #d8e0e5;-webkit-border-radius:3px;border-radius:3px;}
.glyphs.css-mapping li{margin:0 30px 20px 0;padding:0;display:inline-block;overflow:hidden}
.glyphs.css-mapping .icon{margin:0;margin-right:10px;padding:13px;height:50px;width:50px;color:#162a36 !important;overflow:hidden;float:left;font-size:24px}
.glyphs.css-mapping input{margin:0;margin-top:5px;padding:8px;line-height:16px;font-size:16px;display:block;width:150px;height:40px;border:1px solid #d8e0e5;-webkit-border-radius:5px;border-radius:5px;background:#fff;outline:0;float:right;}
.glyphs.css-mapping input:focus{border:1px solid #fbde4a;-webkit-box-shadow:inset 0 0 3px #fbde4a;box-shadow:inset 0 0 3px #fbde4a}
.glyphs.css-mapping input:hover{-webkit-box-shadow:inset 0 0 3px #fbde4a;box-shadow:inset 0 0 3px #fbde4a}
</style>
</head>
<body>
<div class="container">
<h1>SilverStripe</h1>
<p class="small">This font was created with <a href="http://fontastic.me/">Fontastic</a></p>
<h2>CSS mapping</h2>
<ul class="glyphs css-mapping">
<li>
<div class="icon font-icon-search"></div>
<input type="text" readonly="readonly" value="search">
</li>
<li>
<div class="icon font-icon-upload"></div>
<input type="text" readonly="readonly" value="upload">
</li>
<li>
<div class="icon font-icon-sync"></div>
<input type="text" readonly="readonly" value="sync">
</li>
<li>
<div class="icon font-icon-print"></div>
<input type="text" readonly="readonly" value="print">
</li>
<li>
<div class="icon font-icon-list"></div>
<input type="text" readonly="readonly" value="list">
</li>
<li>
<div class="icon font-icon-plus-circled"></div>
<input type="text" readonly="readonly" value="plus-circled">
</li>
<li>
<div class="icon font-icon-check-mark-2"></div>
<input type="text" readonly="readonly" value="check-mark-2">
</li>
<li>
<div class="icon font-icon-pencil"></div>
<input type="text" readonly="readonly" value="pencil">
</li>
<li>
<div class="icon font-icon-book"></div>
<input type="text" readonly="readonly" value="book">
</li>
<li>
<div class="icon font-icon-book-open"></div>
<input type="text" readonly="readonly" value="book-open">
</li>
<li>
<div class="icon font-icon-plus"></div>
<input type="text" readonly="readonly" value="plus">
</li>
<li>
<div class="icon font-icon-icon-tree"></div>
<input type="text" readonly="readonly" value="icon-tree">
</li>
<li>
<div class="icon font-icon-flow-tree"></div>
<input type="text" readonly="readonly" value="flow-tree">
</li>
<li>
<div class="icon font-icon-info-circled"></div>
<input type="text" readonly="readonly" value="info-circled">
</li>
<li>
<div class="icon font-icon-chart-line"></div>
<input type="text" readonly="readonly" value="chart-line">
</li>
<li>
<div class="icon font-icon-graph-bar"></div>
<input type="text" readonly="readonly" value="graph-bar">
</li>
<li>
<div class="icon font-icon-torsos-all"></div>
<input type="text" readonly="readonly" value="torsos-all">
</li>
<li>
<div class="icon font-icon-torso"></div>
<input type="text" readonly="readonly" value="torso">
</li>
<li>
<div class="icon font-icon-picture"></div>
<input type="text" readonly="readonly" value="picture">
</li>
<li>
<div class="icon font-icon-chart-pie"></div>
<input type="text" readonly="readonly" value="chart-pie">
</li>
<li>
<div class="icon font-icon-sitemap"></div>
<input type="text" readonly="readonly" value="sitemap">
</li>
<li>
<div class="icon font-icon-globe"></div>
<input type="text" readonly="readonly" value="globe">
</li>
<li>
<div class="icon font-icon-globe-1"></div>
<input type="text" readonly="readonly" value="globe-1">
</li>
<li>
<div class="icon font-icon-chat"></div>
<input type="text" readonly="readonly" value="chat">
</li>
<li>
<div class="icon font-icon-comment"></div>
<input type="text" readonly="readonly" value="comment">
</li>
<li>
<div class="icon font-icon-logout"></div>
<input type="text" readonly="readonly" value="logout">
</li>
<li>
<div class="icon font-icon-cancel"></div>
<input type="text" readonly="readonly" value="cancel">
</li>
<li>
<div class="icon font-icon-cancel-circled"></div>
<input type="text" readonly="readonly" value="cancel-circled">
</li>
<li>
<div class="icon font-icon-trash-bin"></div>
<input type="text" readonly="readonly" value="trash-bin">
</li>
<li>
<div class="icon font-icon-left-open"></div>
<input type="text" readonly="readonly" value="left-open">
</li>
<li>
<div class="icon font-icon-right-open"></div>
<input type="text" readonly="readonly" value="right-open">
</li>
<li>
<div class="icon font-icon-check-mark"></div>
<input type="text" readonly="readonly" value="check-mark">
</li>
<li>
<div class="icon font-icon-check-mark-circle"></div>
<input type="text" readonly="readonly" value="check-mark-circle">
</li>
<li>
<div class="icon font-icon-level-up"></div>
<input type="text" readonly="readonly" value="level-up">
</li>
<li>
<div class="icon font-icon-back-in-time"></div>
<input type="text" readonly="readonly" value="back-in-time">
</li>
<li>
<div class="icon font-icon-cog"></div>
<input type="text" readonly="readonly" value="cog">
</li>
<li>
<div class="icon font-icon-rocket"></div>
<input type="text" readonly="readonly" value="rocket">
</li>
<li>
<div class="icon font-icon-install"></div>
<input type="text" readonly="readonly" value="install">
</li>
<li>
<div class="icon font-icon-down-circled"></div>
<input type="text" readonly="readonly" value="down-circled">
</li>
<li>
<div class="icon font-icon-eye"></div>
<input type="text" readonly="readonly" value="eye">
</li>
<li>
<div class="icon font-icon-columns"></div>
<input type="text" readonly="readonly" value="columns">
</li>
<li>
<div class="icon font-icon-edit-write"></div>
<input type="text" readonly="readonly" value="edit-write">
</li>
<li>
<div class="icon font-icon-monitor"></div>
<input type="text" readonly="readonly" value="monitor">
</li>
<li>
<div class="icon font-icon-mobile"></div>
<input type="text" readonly="readonly" value="mobile">
</li>
<li>
<div class="icon font-icon-tablet"></div>
<input type="text" readonly="readonly" value="tablet">
</li>
<li>
<div class="icon font-icon-resize"></div>
<input type="text" readonly="readonly" value="resize">
</li>
</ul>
<h2>Character mapping</h2>
<ul class="glyphs character-mapping">
<li>
<div data-icon="s" class="icon"></div>
<input type="text" readonly="readonly" value="s">
</li>
<li>
<div data-icon="b" class="icon"></div>
<input type="text" readonly="readonly" value="b">
</li>
<li>
<div data-icon="c" class="icon"></div>
<input type="text" readonly="readonly" value="c">
</li>
<li>
<div data-icon="d" class="icon"></div>
<input type="text" readonly="readonly" value="d">
</li>
<li>
<div data-icon="e" class="icon"></div>
<input type="text" readonly="readonly" value="e">
</li>
<li>
<div data-icon="f" class="icon"></div>
<input type="text" readonly="readonly" value="f">
</li>
<li>
<div data-icon="k" class="icon"></div>
<input type="text" readonly="readonly" value="k">
</li>
<li>
<div data-icon="m" class="icon"></div>
<input type="text" readonly="readonly" value="m">
</li>
<li>
<div data-icon="n" class="icon"></div>
<input type="text" readonly="readonly" value="n">
</li>
<li>
<div data-icon="o" class="icon"></div>
<input type="text" readonly="readonly" value="o">
</li>
<li>
<div data-icon="j" class="icon"></div>
<input type="text" readonly="readonly" value="j">
</li>
<li>
<div data-icon="p" class="icon"></div>
<input type="text" readonly="readonly" value="p">
</li>
<li>
<div data-icon="q" class="icon"></div>
<input type="text" readonly="readonly" value="q">
</li>
<li>
<div data-icon="y" class="icon"></div>
<input type="text" readonly="readonly" value="y">
</li>
<li>
<div data-icon="B" class="icon"></div>
<input type="text" readonly="readonly" value="B">
</li>
<li>
<div data-icon="E" class="icon"></div>
<input type="text" readonly="readonly" value="E">
</li>
<li>
<div data-icon="F" class="icon"></div>
<input type="text" readonly="readonly" value="F">
</li>
<li>
<div data-icon="H" class="icon"></div>
<input type="text" readonly="readonly" value="H">
</li>
<li>
<div data-icon="v" class="icon"></div>
<input type="text" readonly="readonly" value="v">
</li>
<li>
<div data-icon="A" class="icon"></div>
<input type="text" readonly="readonly" value="A">
</li>
<li>
<div data-icon="C" class="icon"></div>
<input type="text" readonly="readonly" value="C">
</li>
<li>
<div data-icon="P" class="icon"></div>
<input type="text" readonly="readonly" value="P">
</li>
<li>
<div data-icon="R" class="icon"></div>
<input type="text" readonly="readonly" value="R">
</li>
<li>
<div data-icon="t" class="icon"></div>
<input type="text" readonly="readonly" value="t">
</li>
<li>
<div data-icon="w" class="icon"></div>
<input type="text" readonly="readonly" value="w">
</li>
<li>
<div data-icon="z" class="icon"></div>
<input type="text" readonly="readonly" value="z">
</li>
<li>
<div data-icon="D" class="icon"></div>
<input type="text" readonly="readonly" value="D">
</li>
<li>
<div data-icon="Q" class="icon"></div>
<input type="text" readonly="readonly" value="Q">
</li>
<li>
<div data-icon="S" class="icon"></div>
<input type="text" readonly="readonly" value="S">
</li>
<li>
<div data-icon="T" class="icon"></div>
<input type="text" readonly="readonly" value="T">
</li>
<li>
<div data-icon="U" class="icon"></div>
<input type="text" readonly="readonly" value="U">
</li>
<li>
<div data-icon="G" class="icon"></div>
<input type="text" readonly="readonly" value="G">
</li>
<li>
<div data-icon="I" class="icon"></div>
<input type="text" readonly="readonly" value="I">
</li>
<li>
<div data-icon="V" class="icon"></div>
<input type="text" readonly="readonly" value="V">
</li>
<li>
<div data-icon="X" class="icon"></div>
<input type="text" readonly="readonly" value="X">
</li>
<li>
<div data-icon="Y" class="icon"></div>
<input type="text" readonly="readonly" value="Y">
</li>
<li>
<div data-icon="Z" class="icon"></div>
<input type="text" readonly="readonly" value="Z">
</li>
<li>
<div data-icon="a" class="icon"></div>
<input type="text" readonly="readonly" value="a">
</li>
<li>
<div data-icon="i" class="icon"></div>
<input type="text" readonly="readonly" value="i">
</li>
<li>
<div data-icon="l" class="icon"></div>
<input type="text" readonly="readonly" value="l">
</li>
<li>
<div data-icon="r" class="icon"></div>
<input type="text" readonly="readonly" value="r">
</li>
<li>
<div data-icon="u" class="icon"></div>
<input type="text" readonly="readonly" value="u">
</li>
<li>
<div data-icon="x" class="icon"></div>
<input type="text" readonly="readonly" value="x">
</li>
<li>
<div data-icon="J" class="icon"></div>
<input type="text" readonly="readonly" value="J">
</li>
<li>
<div data-icon="K" class="icon"></div>
<input type="text" readonly="readonly" value="K">
</li>
<li>
<div data-icon="L" class="icon"></div>
<input type="text" readonly="readonly" value="L">
</li>
</ul>
</div><script type="text/javascript">
(function() {
var glyphs, _i, _len, _ref;
_ref = document.getElementsByClassName('glyphs');
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
glyphs = _ref[_i];
glyphs.addEventListener('click', function(event) {
if (event.target.tagName === 'INPUT') {
return event.target.select();
}
});
}
}).call(this);
</script>
</body>
</html>

BIN
admin/font/silverstripe.eot Normal file

Binary file not shown.

View File

@ -0,0 +1,58 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by Fontastic.me</metadata>
<defs>
<font id="silverstripe" horiz-adv-x="512">
<font-face font-family="silverstripe" units-per-em="512" ascent="480" descent="-32"/>
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#115;" d="M450 117c10-12 11-22 3-32 0 0-24-24-24-24-12-10-24-10-35 0 0 0-97 98-97 98-25-15-52-22-80-22-44 0-82 16-114 49-33 32-49 70-49 114 0 44 16 81 46 112 31 31 68 47 112 47 44 0 82-16 115-49 32-32 49-70 49-114 0-30-8-58-24-83 0 0 98-96 98-96m-348 183c0-30 12-57 35-80 23-23 50-35 80-35 30 0 56 11 77 33 22 21 33 47 33 78 0 30-12 56-35 79-23 23-50 35-80 35-30 0-56-11-77-33-22-21-33-47-33-77"/>
<glyph unicode="&#98;" d="M256 474c0 0 133-125 133-125 0 0-84 0-84 0 0 0 0-131 0-131 0 0-97 0-97 0 0 0 0 131 0 131 0 0-85 0-85 0 0 0 133 125 133 125m239-296c7-3 11-9 14-16 3-8 4-15 2-21 0 0-14-79-14-79-2-6-6-12-12-16-6-5-13-7-20-7 0 0-418 0-418 0-8 0-14 2-21 7-6 4-9 10-11 16 0 0-14 79-14 79-4 17 2 29 16 37 0 0 81 55 81 55 0 0 50 0 50 0 0 0-87-66-87-66 0 0 91 0 91 0 3 0 5-1 7-4 0 0 20-57 20-57 0 0 154 0 154 0 0 0 20 57 20 57 3 3 5 4 6 4 0 0 91 0 91 0 0 0-87 66-87 66 0 0 51 0 51 0 0 0 81-55 81-55"/>
<glyph unicode="&#99;" d="M141 148c0 0 60 60 60 60 0 0 0-150 0-150 0 0-142 9-142 9 0 0 45 44 45 44-39 41-59 91-58 148 1 57 21 107 62 148 34 34 75 53 122 59 0 0 2-52 2-52-34-6-63-21-88-45-30-30-45-67-46-109 0-43 14-80 43-112m170 307c0 0 142-9 142-9 0 0-45-44-45-44 39-41 59-91 58-148-1-57-21-107-62-148-32-33-73-53-122-60 0 0-1 53-1 53 33 6 62 21 87 45 30 30 45 67 46 109 0 43-14 80-43 112 0 0-59-60-59-60 0 0-1 150-1 150"/>
<glyph unicode="&#100;" d="M39 346c-9 0-13 4-11 11 1 4 3 6 6 8 0 0 9 2 25 8 16 6 32 12 47 17 16 5 26 7 30 7 0 0 23 0 23 0 0 0 0 77 0 77 0 0 194 0 194 0 0 0 0-77 0-77 0 0 24 0 24 0 4 0 14-2 29-7 15-5 31-11 47-17 16-6 25-8 25-8 6-3 8-8 6-14-1-3-4-5-10-5 0 0-435 0-435 0m440-29c7 0 13-3 19-9 6-7 9-14 9-21 0 0 0-89 0-89 0-8-3-15-9-21-6-7-12-10-19-10 0 0-51 0-51 0 0 0 23-128 23-128 0 0-390 0-390 0 0 0 23 128 23 128 0 0-50 0-50 0-7 0-14 3-20 10-6 6-9 13-9 21 0 0 0 89 0 89 0 7 3 14 9 21 6 6 13 9 20 9 0 0 445 0 445 0m-366-227c0 0 286 0 286 0 0 0-35 166-35 166 0 0-216 0-216 0 0 0-35-166-35-166"/>
<glyph unicode="&#101;" d="M110 110c0-16-6-28-16-39-11-11-24-16-39-16-15 0-28 5-39 16-11 11-16 23-16 39 0 15 5 28 16 39 11 10 24 16 39 16 15 0 28-6 39-16 10-11 16-24 16-39z m0 146c0-15-6-28-16-39-11-11-24-16-39-16-15 0-28 5-39 16-11 11-16 24-16 39 0 15 5 28 16 39 11 11 24 16 39 16 15 0 28-5 39-16 10-11 16-24 16-39z m402-119l0-55c0-2-1-4-3-6-2-2-4-3-6-3l-348 0c-2 0-4 1-6 3-2 2-3 4-3 6l0 55c0 3 1 5 3 7 2 1 4 2 6 2l348 0c2 0 4-1 6-2 2-2 3-4 3-7z m-402 265c0-15-6-28-16-39-11-10-24-16-39-16-15 0-28 6-39 16-11 11-16 24-16 39 0 16 5 28 16 39 11 11 24 16 39 16 15 0 28-5 39-16 10-11 16-23 16-39z m402-119l0-54c0-3-1-5-3-7-2-2-4-3-6-3l-348 0c-2 0-4 1-6 3-2 2-3 4-3 7l0 54c0 3 1 5 3 7 2 2 4 3 6 3l348 0c2 0 4-1 6-3 2-2 3-4 3-7z m0 147l0-55c0-3-1-5-3-7-2-1-4-2-6-2l-348 0c-2 0-4 1-6 2-2 2-3 4-3 7l0 55c0 2 1 4 3 6 2 2 4 3 6 3l348 0c2 0 4-1 6-3 2-2 3-4 3-6z"/>
<glyph unicode="&#102;" d="M256 471c59 0 110-21 152-63 42-42 63-93 63-152 0-59-21-110-63-152-42-42-93-63-152-63-59 0-110 21-152 63-42 42-63 93-63 152 0 59 21 110 63 152 42 42 93 63 152 63m27-241c0 0 102 0 102 0 0 0 0 53 0 53 0 0-102 0-102 0 0 0 0 103 0 103 0 0-53 0-53 0 0 0 0-103 0-103 0 0-103 0-103 0 0 0 0-53 0-53 0 0 103 0 103 0 0 0 0-103 0-103 0 0 53 0 53 0 0 0 0 103 0 103"/>
<glyph unicode="&#107;" d="M421 246l0-91c0-22-8-42-25-58-16-16-35-24-58-24l-237 0c-23 0-42 8-59 24-16 16-24 36-24 58l0 238c0 23 8 42 24 58 17 16 36 24 59 24l237 0c12 0 23-2 34-7 3-1 4-3 5-6 0-4 0-6-3-9l-14-14c-2-1-4-2-6-2-1 0-2 0-3 0-4 1-9 2-13 2l-237 0c-13 0-24-5-33-14-9-9-13-19-13-32l0-238c0-12 4-23 13-32 9-9 20-13 33-13l237 0c13 0 24 4 33 13 9 9 13 20 13 32l0 73c0 2 1 5 3 6l18 19c2 1 4 2 6 2 2 0 3 0 4 0 4-2 6-5 6-9z m66 140l-233-233c-5-4-10-6-16-6-7 0-12 2-17 6l-122 123c-5 5-7 10-7 17 0 6 2 11 7 16l31 31c5 5 10 7 16 7 7 0 12-2 17-7l75-75 185 185c4 5 10 7 16 7 6 0 12-2 16-7l32-31c4-5 6-10 6-17 0-6-2-11-6-16z"/>
<glyph unicode="&#109;" d="M424 425c11-11 19-22 24-33 5-11 8-19 8-24 0 0 0-9 0-9 0 0-129-129-129-129 0 0-149-147-149-147 0 0-122-27-122-27 0 0 26 123 26 123 0 0 148 148 148 148 0 0 129 129 129 129 19 4 40-6 65-31m-253-328c0 0 12 13 12 13 0 15-9 31-26 48-8 7-16 13-23 18-8 4-14 6-18 6 0 0-7 1-7 1 0 0-12-12-12-12 0 0-9-41-9-41 10-5 17-11 24-17 8-9 14-17 18-25 0 0 41 9 41 9"/>
<glyph unicode="&#110;" d="M426 381c6-3 9-8 9-14 0 0 0-288 0-288 0-5-2-9-6-13-4-4-9-6-14-6-16 0-24 7-24 19 0 0 0 267 0 267 0 4-2 7-6 9 0 0-207 111-207 111-11 3-22 2-35-5-15-7-24-15-28-23 0 0 209-116 209-116 6-3 9-8 9-15 0 0 0-281 0-281 0-8-3-13-9-15-2-1-5-2-9-2-4 0-8 1-10 2-3 2-37 24-103 65-66 42-103 64-109 67-9 7-13 12-13 18 0 0-3 268-3 268 0 10 2 18 7 27 10 15 27 29 52 39 25 11 45 12 60 5 0 0 230-119 230-119"/>
<glyph unicode="&#111;" d="M200 199c0 0 0-35 0-35 0 0-103 41-103 41 0 0 0 35 0 35 0 0 103-41 103-41m0 106c0 0 0-35 0-35 0 0-103 41-103 41 0 0 0 35 0 35 0 0 103-41 103-41m275 177c8-4 11-11 11-21 0 0 0-328 0-328 0-11-5-19-16-23 0 0-204-82-204-82-2-1-4-1-5-1-1 0-1-1-2-1-1 0-2 0-3 0-1 0-2 0-3 0-1 0-1 1-2 1 0 0-5 1-5 1 0 0-204 82-204 82-11 4-16 12-16 23 0 0 0 328 0 328 0 10 3 17 11 21 7 6 15 7 23 3 0 0 196-78 196-78 0 0 196 78 196 78 8 4 16 3 23-3m-245-403c0 0 0 287 0 287 0 0-163 65-163 65 0 0 0-287 0-287 0 0 163-65 163-65m215 65c0 0 0 287 0 287 0 0-163-65-163-65 0 0 0-287 0-287 0 0 163 65 163 65m-30 96c0 0 0-35 0-35 0 0-103-41-103-41 0 0 0 35 0 35 0 0 103 41 103 41m0 106c0 0 0-35 0-35 0 0-103-41-103-41 0 0 0 35 0 35 0 0 103 41 103 41"/>
<glyph unicode="&#106;" d="M418 418c-45 43-102 66-162 66-60 0-117-23-162-66-43-45-66-102-66-162 0-60 23-117 66-162 45-43 102-66 162-66 60 0 117 23 162 66 43 45 66 102 66 162 0 60-23 117-66 162z m-37-287c-34-34-77-51-125-51-48 0-91 17-125 51-34 34-51 77-51 125 0 48 17 91 51 125 34 34 77 51 125 51 48 0 91-17 125-51 34-34 51-77 51-125 0-48-17-91-51-125z m-14 99l-85 0 0-85-52 0 0 85-85 0 0 52 85 0 0 85 52 0 0-85 85 0z"/>
<glyph unicode="&#112;" d="M358 401l0 43c0 17 15 28 29 28l68 0c17 0 29-14 29-28l0-117c0-17-15-28-29-28l-65 0c-17 0-29 14-29 28l0 46-94 0c0-9 0-217 0-217 0-8 6-14 15-14l76 0 0 43c0 17 15 28 29 28l68 0c17 0 29-14 29-28l0-117c0-17-15-28-29-28l-65 0c-17 0-29 14-29 28l0 43-79 0c-26 0-46 20-46 43l0 219-82 0 0-43c0-17-15-28-29-28l-68 0c-17 0-29 14-29 28l0 114c0 17 15 28 29 28l65 0c17 0 29-14 29-28l0-43z"/>
<glyph unicode="&#113;" d="M460 134c24-11 37-31 37-57 0-17-6-32-18-44-12-12-27-18-44-18-17 0-31 6-43 18-12 12-18 27-18 44 0 26 12 46 37 57 0 0 0 59 0 59 0 26-13 39-39 39 0 0-51 0-51 0-16 0-29 2-40 7 0 0 0-105 0-105 24-11 36-31 36-57 0-17-6-32-17-44-12-12-27-18-44-18-17 0-32 6-44 18-11 12-17 27-17 44 0 26 12 46 36 57 0 0 0 105 0 105-10-5-23-7-38-7 0 0-52 0-52 0-11 0-20-3-27-9-6-7-10-12-11-17-1-5-2-9-2-13 0 0 0-59 0-59 25-11 37-31 37-57 0-17-6-32-18-44-12-12-26-18-43-18-17 0-32 6-44 18-12 12-18 27-18 44 0 26 13 46 37 57 0 0 0 59 0 59 0 21 8 41 22 60 15 18 37 28 67 28 0 0 52 0 52 0 25 0 38 8 38 26 0 0 0 72 0 72-24 11-36 30-36 56 0 17 6 32 17 44 12 12 27 18 44 18 17 0 32-6 44-18 11-12 17-27 17-44 0-26-12-45-36-56 0 0 0-72 0-72 0-18 13-26 40-26 0 0 51 0 51 0 29 0 51-10 66-28 14-19 22-39 22-60 0 0 0-59 0-59m-347-57c0 10-4 19-11 25-7 7-16 11-25 11-10 0-18-4-25-11-7-6-10-15-10-25 0-10 3-18 10-25 7-7 15-10 25-10 9 0 18 3 25 10 7 7 11 15 11 25m108 358c0-9 4-18 10-24 7-7 15-11 25-11 10 0 18 4 25 11 7 6 11 15 11 24 0 10-4 19-11 26-7 7-15 10-25 10-10 0-18-3-25-10-6-7-10-16-10-26m71-358c0 10-4 19-11 25-7 7-15 11-25 11-10 0-18-4-25-11-6-6-10-15-10-25 0-10 4-18 10-25 7-7 15-10 25-10 10 0 18 3 25 10 7 7 11 15 11 25m143-35c10 0 18 3 25 10 7 7 11 15 11 25 0 10-4 19-11 25-7 7-15 11-25 11-9 0-18-4-24-11-7-6-11-15-11-25 0-10 4-18 11-25 6-7 15-10 24-10"/>
<glyph unicode="&#121;" d="M253 492c65 0 120-22 167-67 46-45 70-100 72-165 0-65-22-121-68-167-45-47-100-71-165-73-65 0-121 22-167 68-47 45-71 100-72 165-1 65 21 121 67 167 46 47 101 71 166 72m27-78c-15 0-26-4-34-13-8-8-12-16-12-25 0-10 2-17 8-23 6-5 14-8 25-8 13 0 24 4 31 11 8 8 12 17 12 28 0 20-10 30-30 30m-62-304c10 0 25 4 43 13 19 9 37 22 54 40 0 0-9 12-9 12-16-12-28-18-37-18-4 0-5 6-2 19 0 0 22 82 22 82 9 33 5 49-11 49-11 0-26-5-46-15-20-10-40-22-59-38 0 0 8-13 8-13 18 11 31 17 38 17 4 0 4-6 0-17 0 0-18-78-18-78-9-36-3-53 17-53"/>
<glyph unicode="&#66;" d="M17 222c-14 4-20 13-16 29 3 14 12 20 27 16 0 0 50-12 50-12 0 0-26-41-26-41 0 0-35 8-35 8m455-6c4 4 10 6 16 6 7-1 12-3 16-8 11-11 11-22-1-33 0 0-128-115-128-115-5-4-10-6-16-6-5 0-9 2-14 5 0 0-146 112-146 112 0 0-28 8-28 8 0 0 26 40 26 40 0 0 18-4 18-4 4-1 7-2 8-4 0 0 135-104 135-104 0 0 114 103 114 103m-251 112c0 0-178-280-178-280-4-8-11-12-20-12-4 0-8 2-12 5-5 3-9 8-10 14-1 7 0 12 3 17 0 0 191 300 191 300 3 6 7 9 14 11 6 2 12 1 19-3 0 0 125-80 125-80 0 0 115 166 115 166 4 6 9 9 15 10 6 1 12-1 17-5 13-8 15-18 6-31 0 0-128-185-128-185-9-12-19-14-32-6 0 0-125 79-125 79"/>
<glyph unicode="&#69;" d="M236 204l-73 0c-4 0-7-4-7-8l0-112c0-4 3-8 7-8l73 0c4 0 8 4 8 8l0 112c0 5-4 8-8 8z m113 232l-73 0c-4 0-8-4-8-8l0-344c0-4 4-8 8-8l73 0c4 0 7 4 7 8l0 344c0 4-3 8-7 8z m113-105l-72 0c-5 0-8-3-8-7l0-240c0-4 3-8 8-8l72 0c4 0 8 4 8 8l0 240c0 4-4 7-8 7z m-340 0l-72 0c-4 0-8-3-8-7l0-240c0-4 4-8 8-8l72 0c5 0 8 4 8 8l0 240c0 4-3 7-8 7z"/>
<glyph unicode="&#70;" d="M492 217l-83 40c20 12 33 36 33 63 0 40-28 72-62 72-12 0-23-4-32-11 6-14 9-29 9-46 0-24-7-48-20-67 4-5 9-9 15-12l0 0 53-25c15-8 25-24 25-41l0-70 57 0c7 0 14 7 14 16l0 66c0 7-4 13-9 15z m-330 40c4 3 8 6 12 10-13 19-21 43-21 68 0 17 4 33 10 47-10 6-20 10-31 10-34 0-62-32-62-72 0-28 14-52 34-64l-84-39c-5-2-9-8-9-15l0-66c0-9 7-16 14-16l55 0 0 70c0 17 10 34 26 41z m232-49l-72 34-31 15c14 8 25 21 32 37 5 12 9 26 9 41 0 9-2 17-4 24-9 38-38 65-73 65-34 0-63-26-73-63-2-8-3-17-3-26 0-16 3-31 10-44 7-14 18-27 31-35l-29-13-75-35c-6-3-10-10-10-18l0-82c0-11 7-20 17-20l264 0c10 0 18 9 18 20l0 82c0 8-5 15-11 18z"/>
<glyph unicode="&#72;" d="M410 203l-80 38-34 16c15 9 27 24 35 41 6 14 10 29 10 46 0 9-1 18-4 27-10 41-42 72-81 72-38 0-70-30-81-70-2-9-4-19-4-29 0-18 4-34 11-49 8-16 20-30 35-39l-32-15-83-38c-7-4-12-12-12-21l0-91c0-12 8-22 19-22l294 0c11 0 19 10 19 22l0 91c0 9-4 17-12 21z"/>
<glyph unicode="&#118;" d="M438 342c0 0-51 0-51 0 0 0-63 77-63 77 0 0-110-77-110-77 0 0-92 0-92 0-18 0-33-7-46-20-13-13-19-29-19-47 0 0 0-81 0-81 0 0-56 151-56 151-3 13 1 22 11 27 0 0 349 127 349 127 12 3 20-1 25-13 0 0 52-144 52-144m55-46c5 0 10-2 14-6 3-4 5-9 5-15 0 0 0-241 0-241 0-6-2-10-5-15-4-4-9-6-14-6 0 0-371 0-371 0-5 0-10 2-14 6-4 5-5 9-5 15 0 0 0 241 0 241 0 6 1 11 5 15 4 4 9 6 14 6 0 0 371 0 371 0m-29-231c0 0 0 82 0 82 0 0-37 82-37 82 0 0-85-30-85-30 0 0-66-68-66-68 0 0-71 87-71 87 0 0-47-109-47-109 0 0 0-44 0-44 0 0 306 0 306 0"/>
<glyph unicode="&#65;" d="M229 471c0 0 0-188 0-188 0 0-188 0-188 0 6 49 27 92 62 127 35 35 77 56 126 61m55 0c53-7 97-31 133-71 36-41 54-88 54-143 0-59-21-110-63-153-42-42-93-63-153-63-55 0-102 18-142 54-41 36-65 80-72 134 0 0 217 0 217 0 7 0 13 3 18 8 5 4 8 10 8 18 0 0 0 216 0 216"/>
<glyph unicode="&#67;" d="M512 155l0-91c0-8-3-14-8-19-5-6-12-8-19-8l-92 0c-7 0-14 2-19 8-6 5-8 11-8 19l0 91c0 8 2 15 8 20 5 5 12 8 19 8l28 0 0 55-147 0 0-55 28 0c7 0 14-3 19-8 5-5 8-12 8-20l0-91c0-8-3-14-8-19-5-6-12-8-19-8l-92 0c-7 0-14 2-19 8-5 5-8 11-8 19l0 91c0 8 3 15 8 20 5 5 12 8 19 8l28 0 0 55-147 0 0-55 28 0c7 0 14-3 19-8 6-5 8-12 8-20l0-91c0-8-2-14-8-19-5-6-12-8-19-8l-92 0c-7 0-14 2-19 8-5 5-8 11-8 19l0 91c0 8 3 15 8 20 5 5 12 8 19 8l28 0 0 55c0 10 3 18 11 25 7 8 16 11 25 11l147 0 0 55-28 0c-7 0-14 3-19 8-5 5-8 12-8 20l0 91c0 8 3 14 8 19 5 6 12 8 19 8l92 0c7 0 14-2 19-8 5-5 8-11 8-19l0-91c0-8-3-15-8-20-5-5-12-8-19-8l-28 0 0-55 147 0c9 0 18-3 25-11 8-7 11-15 11-25l0-55 28 0c7 0 14-3 19-8 5-5 8-12 8-20z"/>
<glyph unicode="&#80;" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m-223-272l80 0c1-30 5-56 11-80l-70 0c-12 25-19 51-21 80z m239 144l0 93c15-12 48-40 71-93l-71 0z m83-32c7-23 11-50 12-80l-95 0 0 80z m-122 119c3 2 5 4 7 6l0-93-71 0c8 19 18 35 28 48 13 18 26 31 36 39z m7-119l0-80-95 0c1 30 6 57 13 80z m-127-80l-80 0c2 28 9 55 21 80l70 0c-6-24-10-50-11-80z m32-32l95 0 0-80-83 0c-7 23-11 50-12 80z m95-112l0-93c-15 12-48 40-71 93z m39-87c-3-2-5-4-7-6l0 93 71 0c-8-19-18-35-28-49-13-17-26-30-36-38z m-7 119l0 80 95 0c-1-30-6-57-13-80z m127 80l80 0c-2-29-9-55-21-80l-70 0c6 24 10 50 11 80z m0 32c-1 30-5 56-11 80l70 0c12-25 19-52 21-80z m41 112l-63 0c-14 36-32 64-50 84 46-15 85-45 113-84z m-256 84c-17-20-35-48-49-84l-63 0c28 39 67 69 112 84z m-112-340l63 0c14-36 32-64 49-84-45 15-84 45-112 84z m256-84c17 20 35 48 49 84l63 0c-28-39-67-69-112-84z"/>
<glyph unicode="&#82;" d="M256 502c68 0 126-24 174-72 48-49 72-106 72-174 0-68-24-126-72-174-48-48-106-72-174-72-68 0-125 24-174 72-48 48-72 106-72 174 0 68 24 125 72 174 49 48 106 72 174 72m210-246c0 45-13 86-40 122-27 37-61 62-103 77-7-9-9-14-9-17 2-13 5-21 10-26 4-4 9-5 15-3 0 0 16 6 16 6 0 0 4 0 11 1 7-8 7-16 0-24-8-8-16-18-23-29-8-11-8-24-1-39 12-22 28-33 49-33 10-1 17-7 22-19 5-11 8-22 9-33 3-28 1-52-7-72-8-15-5-28 7-39 29 38 44 81 44 128m-239 207c-38-5-72-19-102-43-29-24-51-54-65-89 2 0 6-1 12-1 5-1 10-1 14-2 4 0 9-1 13-2 5-1 9-2 13-4 3-2 5-4 6-7 1-4-1-11-7-23-7-11-10-21-10-31 0-10 7-20 20-29 13-8 19-16 19-23 0-10 2-21 4-35 3-14 4-21 4-22 0-5 7-14 19-28 12-14 21-22 27-22 3 0 5 4 5 12 1 7 0 16-1 27-1 11-1 18-1 21 0 11 2 23 7 38 4 14 14 26 30 36 16 9 25 17 28 23 6 12 7 22 5 31-3 10-6 17-9 22-3 6-9 11-17 15-9 4-16 7-21 8-6 2-12 4-19 5-7 1-11 2-12 2-5 2-12 3-21 4-9 0-15-1-18-2-4-1-9 1-14 6-6 5-9 10-9 15 0 3 3 8 8 13 5 6 11 12 18 19 6 7 11 12 14 16 3 4 6 8 9 10 3 3 6 6 11 9 4 3 9 6 14 10 1 2 5 5 13 9 7 5 11 8 13 12m-37-407c23-7 45-10 66-10 44 0 82 12 116 35-9 15-29 21-61 17-8 0-19-3-33-8-14-6-22-8-24-9-25-6-38-8-39-8-4-1-8-3-13-7-5-5-9-8-12-10"/>
<glyph unicode="&#116;" d="M148 200c0 0 180 0 180 0 0 0 1 0 3 1 0 0 2 0 2 0 0 0 0-47 0-47 0-14-5-26-15-36-10-10-22-16-36-16 0 0-128 0-128 0 0 0-77-76-77-76 0 0 0 76 0 76 0 0-26 0-26 0-13 0-25 6-36 16-10 10-15 22-15 36 0 0 0 153 0 153 0 15 5 27 15 37 11 9 23 14 36 14 0 0 97 0 97 0 0 0 0-158 0-158m313 286c14 0 26-5 36-14 10-10 15-22 15-37 0 0 0-153 0-153 0-14-5-26-15-36-10-10-22-16-36-16 0 0-26 0-26 0 0 0 0-76 0-76 0 0-77 76-77 76 0 0-179 0-179 0 0 0 0 205 0 205 0 15 5 27 16 37 10 9 22 14 35 14 0 0 231 0 231 0"/>
<glyph unicode="&#119;" d="M410 435c14 0 26-5 36-15 10-10 15-22 15-36 0 0 0-179 0-179 0-14-5-26-15-36-10-10-22-15-36-15 0 0-103 0-103 0 0 0 0-77 0-77 0 0-102 77-102 77 0 0-103 0-103 0-13 0-25 5-35 15-11 10-16 22-16 36 0 0 0 179 0 179 0 14 5 26 16 36 10 10 22 15 35 15 0 0 308 0 308 0"/>
<glyph unicode="&#122;" d="M283 77c0 0 0 51 0 51 0 0 50 0 50 0 0 0 0-51 0-51 0-14-5-26-15-36-10-10-22-15-36-15 0 0-205 0-205 0-14 0-26 5-36 15-10 10-15 22-15 36 0 0 0 358 0 358 0 15 5 27 15 37 10 9 22 14 36 14 0 0 205 0 205 0 14 0 26-5 36-14 10-10 15-22 15-37 0 0 0-77 0-77 0 0-50 0-50 0 0 0 0 77 0 77 0 0-206 0-206 0 0 0 0-358 0-358 0 0 206 0 206 0m203 167c0 0-101-101-101-101 0 0 0 62 0 62 0 0-230 0-230 0 0 0 0 77 0 77 0 0 230 0 230 0 0 0 0 61 0 61 0 0 101-99 101-99"/>
<glyph unicode="&#68;" d="M367 176c6-6 9-13 9-22 0-8-3-16-9-22-6-5-13-8-22-8-8 0-16 3-22 8 0 0-68 78-68 78 0 0-67-78-67-78-6-5-14-8-22-8-9 0-16 3-22 8-6 6-8 14-8 22 0 9 2 16 8 22 0 0 71 80 71 80 0 0-71 81-71 81-6 6-8 13-8 22 0 8 2 16 8 22 6 5 13 8 22 8 8 0 16-3 22-8 0 0 67-78 67-78 0 0 68 78 68 78 6 5 14 8 22 8 9 0 16-3 22-8 6-6 9-14 9-22 0-9-3-16-9-22 0 0-71-81-71-81 0 0 71-80 71-80"/>
<glyph unicode="&#81;" d="M256 471c59 0 110-21 152-63 42-42 63-93 63-152 0-59-21-110-63-152-42-42-93-63-152-63-59 0-110 21-152 63-42 42-63 93-63 152 0 59 21 110 63 152 42 42 93 63 152 63m44-215c0 0 79 79 79 79 0 0-44 44-44 44 0 0-79-78-79-78 0 0-78 78-78 78 0 0-45-44-45-44 0 0 79-79 79-79 0 0-79-78-79-78 0 0 45-44 45-44 0 0 78 78 78 78 0 0 79-78 79-78 0 0 44 44 44 44 0 0-79 78-79 78"/>
<glyph unicode="&#83;" d="M201 302l0-165c0-3-1-5-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-2 1-2 3-2 6l0 165c0 2 0 5 2 6 2 2 4 3 7 3l18 0c3 0 5-1 7-3 1-1 2-4 2-6z m73 0l0-165c0-3-1-5-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-1 1-2 3-2 6l0 165c0 2 1 5 2 6 2 2 4 3 7 3l18 0c3 0 5-1 7-3 1-1 2-4 2-6z m73 0l0-165c0-3 0-5-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-1 1-2 3-2 6l0 165c0 2 1 5 2 6 2 2 4 3 7 3l18 0c3 0 5-1 7-3 2-1 2-4 2-6z m37-207l0 271-256 0 0-271c0-4 1-8 2-12 1-3 3-6 4-7 2-2 3-3 3-3l238 0c0 0 1 1 3 3 1 1 3 4 4 7 1 4 2 8 2 12z m-192 307l128 0-14 34c-1 1-3 2-5 3l-90 0c-2-1-4-2-5-3z m265-9l0-18c0-3-1-5-2-7-2-1-4-2-7-2l-27 0 0-271c0-16-5-30-14-41-9-12-20-17-32-17l-238 0c-12 0-23 5-32 16-9 11-14 25-14 41l0 272-27 0c-3 0-5 1-7 2-1 2-2 4-2 7l0 18c0 3 1 5 2 7 2 1 4 2 7 2l88 0 20 48c3 7 8 13 16 18 7 5 15 7 22 7l92 0c7 0 15-2 22-7 8-5 13-11 16-18l20-48 88 0c3 0 5-1 7-2 1-2 2-4 2-7z"/>
<glyph unicode="&#84;" d="M293 397c4 6 11 9 20 9 8 0 15-3 21-9 13-12 13-26 0-41 0 0-96-100-96-100 0 0 96-99 96-99 13-15 13-29 0-41-6-6-13-8-21-8-8 0-15 2-20 8 0 0-116 121-116 121-6 5-8 11-8 19 0 8 2 15 8 20 70 74 109 114 116 121"/>
<glyph unicode="&#85;" d="M219 397c0 0 116-121 116-121 5-5 8-12 8-20 0-8-3-14-8-19 0 0-116-121-116-121-5-6-12-8-20-8-9 0-15 2-21 8-12 12-12 26 0 41 0 0 95 99 95 99 0 0-95 100-95 100-12 15-12 29 0 41 6 6 13 9 21 9 9 0 15-3 20-9"/>
<glyph unicode="&#71;" d="M477 350c0-7-2-14-8-19l-206-207-39-39c-6-5-12-8-20-8-7 0-14 3-19 8l-142 142c-6 6-8 12-8 20 0 7 2 14 8 19l38 39c6 5 12 8 20 8 7 0 14-3 19-8l84-84 188 188c5 5 12 8 19 8 8 0 14-3 20-8l38-39c6-6 8-12 8-20z"/>
<glyph unicode="&#73;" d="M403 302c0 6-1 10-5 13l-26 26c-3 4-8 6-13 6-5 0-9-2-12-6l-117-116-65 64c-3 4-7 6-12 6-5 0-10-2-13-6l-26-25c-4-4-5-8-5-13 0-6 1-10 5-13l103-104c4-3 8-5 13-5 5 0 10 2 13 5l155 155c4 4 5 8 5 13z m72-46c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
<glyph unicode="&#86;" d="M141 256c0 0 0-46 0-46 0 0-103 82-103 82 0 0 103 87 103 87 0 0 0-51 0-51 0 0 281 0 281 0 14 0 26-5 36-15 10-10 16-22 16-37 0 0 0-143 0-143 0 0-72 0-72 0 0 0 0 123 0 123 0 0-261 0-261 0"/>
<glyph unicode="&#88;" d="M288 466c58 0 107-21 148-62 40-40 61-90 61-148 0-58-21-108-61-148-41-41-90-62-148-62-47 0-90 15-129 45 0 0 36 39 36 39 28-20 59-31 93-31 43 0 80 16 110 46 31 31 46 68 46 111 0 44-15 81-46 112-30 30-67 46-110 46-43 0-79-15-109-44-31-30-47-66-48-108 0 0 73 0 73 0 0 0-94-105-94-105 0 0-95 105-95 105 0 0 64 0 64 0 1 57 22 105 63 145 40 39 89 59 146 59m-19-97c0 0 36 0 36 0 0 0 0-105 0-105 0 0 67-66 67-66 0 0-26-26-26-26 0 0-77 77-77 77 0 0 0 120 0 120"/>
<glyph unicode="&#89;" d="M430 256c0-25 14-45 41-62-4-14-10-28-17-42-24 6-47-2-70-23-18-20-24-43-17-70-14-6-28-13-43-18-16 28-39 42-68 42-29 0-52-14-68-42-15 5-29 12-43 18 7 28 1 51-17 70-18 18-42 24-70 17-4 9-10 23-17 42 28 18 42 41 42 68 0 25-14 46-42 63 7 20 13 34 17 42 26-6 49 2 70 23 18 19 24 42 17 70 15 7 29 13 43 17 16-27 39-41 68-41 29 0 52 14 68 41 14-4 28-10 43-17-7-27-1-50 17-70 23-21 46-29 70-23 7-14 13-28 17-42-27-17-41-38-41-63m-174-93c26 0 48 9 66 27 18 18 27 40 27 66 0 26-9 48-27 67-18 18-40 27-66 27-26 0-48-9-66-27-18-19-27-41-27-67 0-26 9-48 27-66 18-18 40-27 66-27"/>
<glyph unicode="&#90;" d="M314 198c3-17 4-31 5-42 0-10-1-20-5-30-3-10-5-16-6-21-1-4-7-9-18-16-11-7-19-11-23-13-5-2-17-8-36-16-19-9-34-15-43-19-11-4-19-3-24 2-4 5-4 13-1 23 0 0 20 56 20 56 0 0-66 67-66 67 0 0-54-20-54-20-10-4-17-4-22 1-6 5-6 13-2 24 4 10 9 23 16 40 6 17 11 28 14 33 2 6 6 13 11 23 5 10 9 16 13 19 4 2 9 6 15 10 6 4 13 7 21 7 0 0 26 0 26 0 0 0 12-1 37-3 3 4 8 11 14 20 7 8 20 23 40 43 20 21 40 38 60 53 21 15 46 28 75 39 29 10 57 14 84 9 3 0 5-1 7-3 2-1 3-3 3-7 4-28 1-56-9-86-10-29-22-55-39-77-16-22-33-42-50-61-17-18-32-31-44-41 0 0-19-14-19-14m26 151c8-7 17-11 28-11 11 0 20 4 27 11 8 8 12 18 12 29 0 11-4 20-12 29-7 7-16 11-27 11-11 0-20-4-28-11-7-9-11-18-11-29 0-11 4-21 11-29"/>
<glyph unicode="&#103;" d="M107 6c-2-7-7-8-14-4-6 3-8 9-8 17 2 35 10 73 26 116-34 53-43 107-27 162 4-11 9-24 17-40 7-16 15-29 22-41 8-12 13-17 17-15 2 1 2 15 0 42-3 27-5 55-6 85-1 30 3 57 13 81 7 15 21 31 41 48 19 17 37 29 53 36-8-16-14-32-17-49-3-16-4-29-2-40 2-10 5-15 11-16 4 0 18 21 43 62 24 40 42 61 54 62 16 1 35-4 58-15 24-11 38-22 42-33 4-8 4-22 0-41-4-18-11-33-20-42-15-15-40-26-75-32-35-6-54-10-58-12-6-4-4-9 6-18 18-16 48-19 90-10-19-27-42-47-70-58-27-12-49-18-67-20-18-1-27-3-28-5-1-8 7-17 25-27 18-11 36-13 52-8-10-19-21-33-32-43-12-9-21-15-28-17-7-3-20-5-39-6-19-1-33-3-43-4 0 0-36-115-36-115"/>
<glyph unicode="&#104;" d="M474 268c5-3 7-7 7-12 0-5-2-9-7-11 0 0-190-127-190-127-8-5-14-6-19-3-5 2-8 9-8 18 0 0 0 247 0 247 0 9 3 16 8 18 5 3 11 2 19-3 0 0 190-127 190-127m-232 0c4-3 7-7 7-12 0-5-3-9-7-11 0 0-185-127-185-127-6-5-13-6-18-3-6 2-8 9-8 18 0 0 0 247 0 247 0 9 2 16 8 18 5 3 12 2 18-3 0 0 185-127 185-127"/>
<glyph unicode="&#97;" d="M478 233c8-17 11-34 7-49 0 0-17-94-17-94-1-7-4-13-10-18-6-5-12-7-20-7 0 0-364 0-364 0-8 0-15 2-20 7-6 5-9 11-10 18 0 0-18 94-18 94-2 17 0 34 8 49 0 0 80 192 80 192 8 16 20 24 37 24 0 0 54 0 54 0 0 0-11-105-11-105 0 0-68 0-68 0 0 0 130-107 130-107 0 0 131 107 131 107 0 0-70 0-70 0 0 0-9 105-9 105 0 0 52 0 52 0 17 0 30-8 38-24 0 0 80-192 80-192m-35-67c1 7-1 14-5 19-4 6-10 9-17 9 0 0-330 0-330 0-8 0-13-3-17-9-5-5-6-12-6-19 0 0 8-38 8-38 0-8 4-14 9-19 6-5 12-8 19-8 0 0 303 0 303 0 8 0 15 3 20 8 6 5 9 11 10 19 0 0 6 38 6 38"/>
<glyph unicode="&#105;" d="M256 492c65 0 120-24 166-70 46-46 70-101 70-166 0-65-24-120-70-166-46-46-101-70-166-70-65 0-120 24-166 70-46 46-70 101-70 166 0 65 24 120 70 166 46 46 101 70 166 70m0-420c51 0 94 18 130 54 36 36 54 79 54 130 0 51-18 95-54 131-36 35-79 53-130 53-51 0-94-18-130-53-36-36-54-80-54-131 0-51 18-94 54-130 36-36 79-54 130-54m46 283c0 0 0-105 0-105 0 0 57 0 57 0 0 0-103-97-103-97 0 0-103 97-103 97 0 0 57 0 57 0 0 0 0 105 0 105 0 0 92 0 92 0"/>
<glyph unicode="&#108;" d="M256 399c31 0 62-4 91-12 29-9 53-20 72-32 19-13 36-26 51-40 14-13 25-25 32-36 7-11 10-18 10-23 0-5-3-12-10-23-7-10-18-22-32-36-15-14-32-27-51-40-19-12-43-23-72-32-29-8-60-12-91-12-31 0-62 4-91 12-29 9-53 20-72 32-19 13-36 26-51 40-14 14-25 26-32 36-7 11-10 18-10 23 0 5 3 12 10 23 7 11 18 23 32 36 15 14 32 27 51 40 19 12 43 23 72 32 29 8 60 12 91 12m0-253c31 0 58 11 80 33 23 21 34 47 34 77 0 31-11 57-34 78-22 22-49 33-80 33-31 0-58-11-80-33-23-21-34-47-34-78 0-30 11-56 34-77 22-22 49-33 80-33m0 110c3-3 9-3 19-1 10 2 18 4 26 6 7 1 11 0 12-5 0-15-5-28-17-38-11-11-24-16-40-16-16 0-29 5-40 16-11 10-16 23-16 38 0 16 5 29 16 39 11 11 24 16 40 16 5 0 6-4 5-11-1-8-3-16-6-25-3-8-2-14 1-19"/>
<glyph unicode="&#114;" d="M64 73l174 0 0 329-183 0 0-320c0-2 1-4 3-6 1-2 4-3 6-3z m393 9l0 320-183 0 0-329 174 0c2 0 5 1 6 3 2 2 3 4 3 6z m37 348l0-348c0-12-5-23-14-32-9-9-19-13-32-13l-384 0c-13 0-23 4-32 13-9 9-14 20-14 32l0 348c0 12 5 23 14 32 9 9 19 13 32 13l384 0c13 0 23-4 32-13 9-9 14-20 14-32z"/>
<glyph unicode="&#117;" d="M254 174l33 33-44 43-33-33 0-16 28 0 0-27z m125 205c-3 3-6 3-9 0l-100-100c-3-3-3-6 0-9 3-3 6-3 9 0l100 100c3 3 3 6 0 9z m23-169l0-55c0-22-8-42-24-58-16-16-35-24-58-24l-238 0c-22 0-42 8-58 24-16 16-24 36-24 58l0 238c0 23 8 42 24 58 16 16 36 24 58 24l238 0c12 0 23-2 33-7 3-1 5-3 6-6 0-4-1-6-3-9l-14-14c-3-2-6-3-9-2-5 1-9 2-13 2l-238 0c-12 0-23-5-32-14-9-9-13-19-13-32l0-238c0-12 4-23 13-32 9-9 20-13 32-13l238 0c13 0 23 4 32 13 9 9 14 20 14 32l0 36c0 3 1 5 2 7l19 18c2 3 6 4 10 2 3-2 5-4 5-8z m-27 211l82-83-192-192-82 0 0 83z m127-38l-27-26-82 82 26 26c6 5 12 8 20 8 7 0 14-3 19-8l44-43c5-6 8-12 8-20 0-7-3-14-8-19z"/>
<glyph unicode="&#120;" d="M462 445l-412 0c-16 0-29-12-29-28l0-252c0-16 13-29 29-29l155 0 0-44-48 0c-5 0-8-4-8-8l0-9c0-5 3-8 8-8l194 0c4 0 8 3 8 8l0 9c0 4-4 8-8 8l-44 0 0 44 155 0c16 0 29 13 29 29l0 252c0 16-13 28-29 28z m-390-258l0 207 368 0 0-207z"/>
<glyph unicode="&#74;" d="M353 507c15 0 27-5 37-15 10-10 14-22 14-36 0 0 0-400 0-400 0-13-4-25-14-36-10-10-22-15-37-15 0 0-194 0-194 0-14 0-26 5-36 15-10 11-15 23-15 36 0 0 0 400 0 400 0 14 5 26 15 36 10 10 22 15 36 15 0 0 194 0 194 0m-97-481c10 0 19 2 26 7 6 5 10 11 10 18 0 8-4 14-10 19-7 4-16 7-26 7-10 0-18-3-25-8-7-5-11-11-11-18 0-7 4-13 11-18 7-5 15-7 25-7m108 76c0 0 0 338 0 338 0 0-216 0-216 0 0 0 0-338 0-338 0 0 216 0 216 0"/>
<glyph unicode="&#75;" d="M274 110c0 5-2 9-5 13-4 3-8 5-13 5-5 0-9-2-13-5-3-4-5-8-5-13 0-5 2-10 5-13 4-4 8-6 13-6 5 0 9 2 13 6 3 3 5 8 5 13z m110 45l0 275c0 2-1 4-3 6-2 2-4 3-6 3l-238 0c-2 0-4-1-6-3-2-2-3-4-3-6l0-275c0-2 1-4 3-6 2-2 4-3 6-3l238 0c2 0 4 1 6 3 2 2 3 4 3 6z m37 275l0-311c0-13-5-23-14-32-9-9-20-14-32-14l-238 0c-12 0-23 5-32 14-9 9-14 19-14 32l0 311c0 12 5 23 14 32 9 9 20 13 32 13l238 0c12 0 23-4 32-13 9-9 14-20 14-32z"/>
<glyph unicode="&#76;" d="M311 261l119 119-119 119 0-82-232 0 0-70 232 0z m-113 0l-119-119 119-119 0 86 232 0 0 70-232 0z"/>
</font></defs></svg>

After

Width:  |  Height:  |  Size: 24 KiB

BIN
admin/font/silverstripe.ttf Normal file

Binary file not shown.

Binary file not shown.

View File

@ -212,8 +212,7 @@
$('.cms-content-tools.collapsed').entwine({
// Expand CMS' centre pane, when the pane itself is clicked somewhere
onclick: function(e) {
this.getPanel().expandPanel();
this.expandPanel();
this._super(e);
}
});

View File

@ -179,18 +179,14 @@
* Store the preview options for this page.
*/
saveState : function(name, value) {
if(!window.localStorage) return;
window.localStorage.setItem('cms-preview-state-' + name, value);
if(this._supportsLocalStorage()) window.localStorage.setItem('cms-preview-state-' + name, value);
},
/**
* Load previously stored preferences
*/
loadState : function(name) {
if(!window.localStorage) return;
return window.localStorage.getItem('cms-preview-state-' + name);
if(this._supportsLocalStorage()) return window.localStorage.getItem('cms-preview-state-' + name);
},
/**
@ -276,6 +272,23 @@
this._super();
},
/**
* Detect and use localStorage if available. In IE11 windows 8.1 call to window.localStorage was throwing out an access denied error in some cases which was causing the preview window not to display correctly in the CMS admin area.
*/
_supportsLocalStorage: function() {
var uid = new Date;
var storage;
var result;
try {
(storage = window.localStorage).setItem(uid, uid);
result = storage.getItem(uid) == uid;
storage.removeItem(uid);
return result && storage;
} catch (exception) {
console.warn('localStorge is not available due to current browser / system settings.');
}
},
/**
* Set the preview to unavailable - could be still visible. This is purely visual.

View File

@ -178,6 +178,8 @@
var isAllowed = (
// Don't allow moving the root node
movedNode.data('id') !== 0
// Archived pages can't be moved
&& !movedNode.hasClass('status-archived')
// Only allow moving node inside the root container, not before/after it
&& (!isMovedOntoContainer || data.p == 'inside')
// Children are generally allowed on parent

View File

@ -5,7 +5,41 @@ jQuery.noConflict();
*/
(function($) {
window.ss = window.ss || {};
var windowWidth, windowHeight;
/**
* @func debounce
* @param func {function} - The callback to invoke after `wait` milliseconds.
* @param wait {number} - Milliseconds to wait.
* @param immediate {boolean} - If true the callback will be invoked at the start rather than the end.
* @return {function}
* @desc Returns a function that will not be called until it hasn't been invoked for `wait` seconds.
*/
window.ss.debounce = function (func, wait, immediate) {
var timeout, context, args;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
return function() {
var callNow = immediate && !timeout;
context = this;
args = arguments;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
$(window).bind('resize.leftandmain', function(e) {
// Entwine's 'fromWindow::onresize' does not trigger on IE8. Use synthetic event.
var cb = function() {$('.cms-container').trigger('windowresize');};
@ -110,38 +144,7 @@ jQuery.noConflict();
);
};
/**
* @func debounce
* @param func {function} - The callback to invoke after `wait` milliseconds.
* @param wait {number} - Milliseconds to wait.
* @param immediate {boolean} - If true the callback will be invoked at the start rather than the end.
* @return {function}
* @desc Returns a function that will not be called until it hasn't been invoked for `wait` seconds.
*/
var debounce = function (func, wait, immediate) {
var timeout, context, args;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
return function() {
var callNow = immediate && !timeout;
context = this;
args = arguments;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
var ajaxCompleteEvent = debounce(function (context) {
var ajaxCompleteEvent = window.ss.debounce(function () {
$(window).trigger('ajaxComplete');
}, 1000, true);
@ -1505,9 +1508,9 @@ jQuery.noConflict();
var statusMessage = function(text, type) {
text = jQuery('<div/>').text(text).html(); // Escape HTML entities in text
jQuery.noticeAdd({text: text, type: type});
jQuery.noticeAdd({text: text, type: type, stayTime: 5000, inEffect: {left: '0', opacity: 'show'}});
};
var errorMessage = function(text) {
jQuery.noticeAdd({text: text, type: 'error'});
jQuery.noticeAdd({text: text, type: 'error', stayTime: 5000, inEffect: {left: '0', opacity: 'show'}});
};

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/cs.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/cs.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('cs', {
"CMSMAIN.SELECTONEPAGE": "Prosím, vyberte nejméně 1 stránku",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete nezveřejnit?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete zveřejnit?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete vymazat?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Vybráno {num} stránek.\n\nSkutečně chcete archivovat tyto stránky?\n\nTyto stránky a její všechny podstránky budou nezveřejněny a odeslány do archívu.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Vybráno {num} stránek.\n\nSkutečně chcete obnovit?\n\nPodstránky archivovaných stránek budou obnoveny do nejvzšší úrovně, pokud tyto stránky budou také obnoveny.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně chcete vymazat tyto stránky z webu?",
"LeftAndMain.CONFIRMUNSAVED": "Určitě chcete opustit navigaci z této stránky?\n\nUPOZORNĚNÍ: Vaše změny nebyly uloženy.\n\nStlačte OK pro pokračovat, nebo Cancel, zůstanete na této stránce.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORNĚNÍ: Vaše změny nebyly uloženy.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Skutečně chcete smazat %s skupiny?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/de.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/de.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('de', {
"CMSMAIN.SELECTONEPAGE": "Bitte mindestens eine Seite auswählen",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie wirklich die Veröffentlichung zurücknehmen?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich veröffentlichen?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich löschen?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich archivieren?\n\nDiese Seiten und alle Unterseiten davon werden von der veröffentlichen Seite gelöscht und in das Archiv verschoben.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich von der veröfffentlichten Seite löschen?",
"LeftAndMain.CONFIRMUNSAVED": "Sind Sie sicher, dass Sie die Seite verlassen möchten?\n\nWARNUNG: Ihre Änderungen werden nicht gespeichert.\n\nDrücken Sie \"OK\" um fortzufahren, oder \"Abbrechen\" um auf dieser Seite zu bleiben.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNUNG: Ihre Änderungen wurden nicht gespeichert.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Möchten Sie wirklich %s Gruppen löschen?",

View File

@ -1,24 +1,23 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/en.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/en.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('en', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s groups?",
"ModelAdmin.SAVED": "Saved",
"ModelAdmin.REALLYDELETE": "Do you really want to delete?",
"ModelAdmin.DELETED": "Deleted",
"ModelAdmin.VALIDATIONERROR": "Validation Error",
"LeftAndMain.PAGEWASDELETED": "This page was deleted. To edit a page, select it from the left."
}
);
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s groups?",
"ModelAdmin.SAVED": "Saved",
"ModelAdmin.REALLYDELETE": "Do you really want to delete?",
"ModelAdmin.DELETED": "Deleted",
"ModelAdmin.VALIDATIONERROR": "Validation Error",
"LeftAndMain.PAGEWASDELETED": "This page was deleted. To edit a page, select it from the left."
});
}

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/eo.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/eo.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('eo', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Ĉu vi vere volas navigi for de ĉi tiu paĝo?\n\nAVERTO: Viaj ŝanĝoj ne estas konservitaj.\n\nPremu je Akcepti por daŭrigi, aŭ Nuligi por resti ĉe la aktuala paĝo.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "AVERTO: Viaj ŝanĝoj ne estas konservitaj.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Ĉu vi vere volas forigi %s grupojn?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/es.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/es.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('es', {
"CMSMAIN.SELECTONEPAGE": "Por favor, seleccione al menos una página",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Ud tiene {num} página(s) seleccionada(s).\n\n¿Realmente la(s) quiere retirar de publicación?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Ud tiene {num} página(s) seleccionada(s).\n\n¿Realmente la(s) quiere publicar?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Ud tiene {num} página(s) seleccionada(s).\n\n¿Realmente quiere eliminarla(s)?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Ud tiene {num} páginas seleccionadas.\n\n¿Está seguro de querer archivar estas páginas?\n\nEstas páginas y sus hijas se retirarán de publicación y se enviarán al archivo.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "¿Estás seguro que quieres navegar fuera de esta página?⏎\n⏎\nADVERTENCIA: Tus cambios no han sido guardados.⏎\n⏎\nPresionar OK para continuar o Cancelar para continuar en la página actual",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ADVERTENCIA: Tus cambios no han sido guardados.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "¿Realmente quieres eliminar el grupo %s?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/fi.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/fi.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('fi', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Haluatko varmasti poistua tältä sivulta?\n\nVAROITUS: Muutoksiasi ei ole tallennettu.\n\nPaina OK jatkaaksesi, tai Peruuta pysyäksesi nykyisellä sivulla.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "VAROITUS: Muutoksiasi ei ole tallennettu.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Haluatko varmasti poistaa %s ryhmät?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/fr.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/fr.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('fr', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Etes-vous sûr de vouloir quitter cette page ?\n\nATTENTION: Vos changements n'ont pas été sauvegardés.\n\nCliquez sur OK pour continuer, ou sur Annuler pour rester sur la page actuelle.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s groups?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/id.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/id.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('id', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Anda ingin tinggalkan laman ini?\n\nPERINGATAN: Perubahan tidak akan disimpan.\n\nTekan OK untuk lanjut, atau Batal untuk tetap di laman ini.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "PERINGATAN: Perubahan tidak akan disimpan.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Anda ingin menghapus kelompok %s?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/id_ID.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/id_ID.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('id_ID', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Anda ingin tinggalkan laman ini?\n\nPERINGATAN: Perubahan tidak akan disimpan.\n\nTekan OK untuk lanjut, atau Batal untuk tetap di laman ini.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "PERINGATAN: Perubahan tidak akan disimpan.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Anda ingin menghapus kelompok %s?",

View File

@ -1,16 +1,23 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/it.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/it.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('it', {
"CMSMAIN.SELECTONEPAGE": "Per favore selezionare almeno una pagina",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente nasconderle?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente pubblicarle?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente eliminarle?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Hai selezionato {num} pagina(e).\n\nSei sicuro di volerle archiviare?\n\nQueste pagine insieme a tutte le pagine figlio saranno spubblicate ed archiviate.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Hai selezionato {num} pagina(e).\n\nSei sicuri di volerle ripristinare?\n\nI figli delle pagine archiviate saranno ripristinati nel primo livello, a meno anche i genitori non vengano ripristinati.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente eliminare queste pagine dal sito live?",
"LeftAndMain.CONFIRMUNSAVED": "Siete sicuri di voler uscire da questa pagina?\n\nATTENZIONE: I vostri cambiamenti non sono stati salvati.\n\nCliccare OK per continuare, o su Annulla per rimanere sulla pagina corrente.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s groups?",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ATTENZIONE: le tue modifiche non sono state salvate.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Vuoi veramente eliminare %s gruppi?",
"ModelAdmin.SAVED": "Salvato",
"ModelAdmin.REALLYDELETE": "Si è sicuri di voler eliminare?",
"ModelAdmin.DELETED": "Eliminato",
"ModelAdmin.VALIDATIONERROR": "Validation Error",
"ModelAdmin.VALIDATIONERROR": "Errore di validazione",
"LeftAndMain.PAGEWASDELETED": "Questa pagina è stata eliminata. Per modificare questa pagine, selezionarla a sinistra."
});
}

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/ja.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/ja.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('ja', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "このページから移動しても良いですか?\n\n警告: あなたの変更は保存されていません.\n\n続行するにはOKを押してくださいキャンセルをクリックするとこのページにとどまります",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "警告: あなたの変更は保存されていません.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "%sグループを本当に削除しても良いですか?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/lt.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/lt.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('lt', {
"CMSMAIN.SELECTONEPAGE": "Prašome pasirinkti bent vieną puslapį",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite nebepublikuoti?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite publikuoti?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite ištrinti?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite archyvuoti šiuos puslapius?\n\nŠie puslapiai ir visi po jais esantys puslapiai bus nebepublikuojami ir suarchyvuoti.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite atstatyti?\n\nPuslapiai, esantys po suarchyvuotais puslapiais, bus atstatyti aukščiausiame lygyje, nebent šie puslapiai irgi bus atstatyti.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite ištrinti iš publikuotų puslapių?",
"LeftAndMain.CONFIRMUNSAVED": "Ar tikrai norite išeiti iš šio puslapio?\n\nDĖMESIO: Jūsų pakeitimai neišsaugoti.\n\nNorėdami tęsti, spauskite OK, jeigu norite likti, spauskite Cancel.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "DĖMESIO: Jūsų pakeitimai neišsaugoti.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Ar tikrai norite ištrinti %s grupes?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/mi.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/mi.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('mi', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Kei te hiahia whakatere atu i tēnei whārangi?\n\nWHAKATŪPATO: Kāore anō ō huringa kia tiakina.\n\nPēhi AE kia haere tonu, Whakakore rānei kia noho i te whārangi onāianei.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WHAKATŪPATO: Kāore anō ō huringa kia tiakina.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Kei te tino hiahia muku i te %s rōpū?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/nb.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/nb.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('nb', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Er du sikker på at du vil forlate denne siden?\n\nADVARSEL: Endringene din har ikke blitt lagret.\n\nTrykk OK for å fortsette eller Avbryt for å holde deg på samme side.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ADVARSEL: Endringene dine har ikke blitt lagret.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Vil du virkelig slette %s grupper?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/nl.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/nl.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('nl', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Weet u zeker dat u deze pagina wilt verlaten?\nWAARSCHUWING: Uw veranderingen zijn niet opgeslagen.\n\nKies OK om te verlaten, of Cancel om op de huidige pagina te blijven.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WAARSCHUWING: Uw veranderingen zijn niet opgeslagen",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Weet u zeker dat u deze groep %s wilt verwijderen?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/pl.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/pl.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('pl', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Czy na pewno chcesz kontynuować nawigację poza tą stronę?\n\nUWAGA: Twoje zmiany nie zostały zapisane.\n\nWciśnij OK aby kontynuować, wciśnij Anuluj aby pozostać na tej stronie.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UWAGA: Twoje zmiany nie zostały zapisane.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Czy na pewno chcesz usunąć %s grup?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/ro.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/ro.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('ro', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Sunteți sigur că doriți să părăsiți pagina?\n\nAVERTISMENT: Modificările nu au fost salvate.\n\nApăsați OK pentru a continua, sau Anulați pentru a rămâne pe pagina curentă.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "AVERTISMENT: Modificările nu au fost salvate.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Sigur doriți să ștergeți grupurile %s?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/ru.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/ru.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('ru', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Вы действительно хотите покинуть эту страницу?\n\nВНИМАНИЕ: Ваши изменения не были сохранены.\n\nНажмите ОК, чтобы продолжить или Отмена, чтобы остаться на текущей странице.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ВНИМАНИЕ: Ваши изменения не были сохранены",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Вы действительно хотите удалить %s групп?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sk.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sk.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sk', {
"CMSMAIN.SELECTONEPAGE": "Prosím, vyberte najmenej 1 stránku",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete nezverejniť?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete zverejniť?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete vymazať?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Vybrali ste {num} stránok.\n\nUrčite chcete archivovať tieto stránky?\n\nTieto stránky a jej všetky podstránky budú nezverejnené a odoslané do archívu.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Vybrali ste {num} stránok.\n\nSkutočne chcete obnoviť?\n\nPodstránky archivovaných stránok budú obnovené do najvyššej úrovne, pokiaľ tieto stránky budú tiež obnovené.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne chcete tieto stránky vymazať z webu?",
"LeftAndMain.CONFIRMUNSAVED": "Určite chcete opustiť navigáciu z tejto stránky?\n\nUPOZORNENIE: Vaše zmeny neboli uložené.\n\nStlačte OK pre pokračovať, alebo Cancel, ostanete na teto stránke.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORNENIE: Vaše zmeny neboli uložené.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Skutočne chcete zmazať % skupiny?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sl.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sl.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sl', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Res želite zapusitit stran?\n\nOPOZORILO: spremembe niso bile shranjene\n\nKliknite OK za nadaljevanje ali Prekliči, da ostanete na trenutni strani.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "OPOZORILO: spremembe niso bile shranjene.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Izbrišem %s skupin?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sr.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sr.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sr', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Да ли сте сигурни да желите да одете са ове странице?\n\nУПОЗОРЕЊЕ: Ваше измене још нису сачуване.\n\nПритисните У реду за наставак или Одустани да би сте остали на овој страници.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "УПОЗОРЕЊЕ: Ваше измене нису сачуване.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Да ли заиста желите да се избришете %s групе?",

View File

@ -0,0 +1,23 @@
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sr@latin.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sr@latin', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Da li ste sigurni da želite da odete sa ove stranice?\n\nUPOZORENjE: Vaše izmene još nisu sačuvane.\n\nPritisnite U redu za nastavak ili Odustani da bi ste ostali na ovoj stranici.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORENjE: Vaše izmene nisu sačuvane.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Da li zaista želite da se izbrišete %s grupe?",
"ModelAdmin.SAVED": "Sačuvano.",
"ModelAdmin.REALLYDELETE": "Da li zaista želite da izbrišete?",
"ModelAdmin.DELETED": "Izbrisano",
"ModelAdmin.VALIDATIONERROR": "Grešla pri proveri ispravnosti",
"LeftAndMain.PAGEWASDELETED": "Ova stranica je izbrisana. Da bi izmenili stranicu, izaberite je sa leve strane."
});
}

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sr_RS.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sr_RS.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sr_RS', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Да ли сте сигурни да желите да одете са ове странице?\n\nУПОЗОРЕЊЕ: Ваше измене још нису сачуване.\n\nПритисните У реду за наставак или Одустани да би сте остали на овој страници.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "УПОЗОРЕЊЕ: Ваше измене нису сачуване.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Да ли заиста желите да се избришете %s групе?",

View File

@ -0,0 +1,23 @@
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sr_RS@latin.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sr_RS@latin', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Da li ste sigurni da želite da odete sa ove stranice?\n\nUPOZORENjE: Vaše izmene još nisu sačuvane.\n\nPritisnite U redu za nastavak ili Odustani da bi ste ostali na ovoj stranici.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORENjE: Vaše izmene nisu sačuvane.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Da li zaista želite da se izbrišete %s grupe?",
"ModelAdmin.SAVED": "Sačuvano.",
"ModelAdmin.REALLYDELETE": "Da li zaista želite da izbrišete?",
"ModelAdmin.DELETED": "Izbrisano",
"ModelAdmin.VALIDATIONERROR": "Grešla pri proveri ispravnosti",
"LeftAndMain.PAGEWASDELETED": "Ova stranica je izbrisana. Da bi izmenili stranicu, izaberite je sa leve strane."
});
}

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete nezveřejnit?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete zveřejnit?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete vymazat?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcte archivovat?\n\nTyto stránky budou odstraněny z obou koncept a zveřejněné weby bez vyřazení historie.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Vybráno {num} stránek.\n\nSkutečně chcete archivovat tyto stránky?\n\nTyto stránky a její všechny podstránky budou nezveřejněny a odeslány do archívu.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Vybráno {num} stránek.\n\nSkutečně chcete obnovit?\n\nPodstránky archivovaných stránek budou obnoveny do nejvzšší úrovně, pokud tyto stránky budou také obnoveny.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně chcete vymazat tyto stránky z webu?",
"LeftAndMain.CONFIRMUNSAVED": "Určitě chcete opustit navigaci z této stránky?\n\nUPOZORNĚNÍ: Vaše změny nebyly uloženy.\n\nStlačte OK pro pokračovat, nebo Cancel, zůstanete na této stránce.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORNĚNÍ: Vaše změny nebyly uloženy.",

View File

@ -1,10 +1,11 @@
{
"CMSMAIN.SELECTONEPAGE": "Bitte mindestens eine Seite auswählen",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie wirklich die Veröffentlichung zurücknehmen?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich veröffentlichen?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich löschen?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich archivieren?\n\nDiese Seiten und alle Unterseiten davon werden von der veröffentlichen Seite gelöscht und in das Archiv verschoben.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Sie haben {num} Seite(n) ausgewählt.\n\nWollen Sie diese wirklich von der veröfffentlichten Seite löschen?",
"LeftAndMain.CONFIRMUNSAVED": "Sind Sie sicher, dass Sie die Seite verlassen möchten?\n\nWARNUNG: Ihre Änderungen werden nicht gespeichert.\n\nDrücken Sie \"OK\" um fortzufahren, oder \"Abbrechen\" um auf dieser Seite zu bleiben.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNUNG: Ihre Änderungen wurden nicht gespeichert.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Möchten Sie wirklich %s Gruppen löschen?",

View File

@ -3,8 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Ĉu vi vere volas navigi for de ĉi tiu paĝo?\n\nAVERTO: Viaj ŝanĝoj ne estas konservitaj.\n\nPremu je Akcepti por daŭrigi, aŭ Nuligi por resti ĉe la aktuala paĝo.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "AVERTO: Viaj ŝanĝoj ne estas konservitaj.",

View File

@ -1,9 +1,10 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.SELECTONEPAGE": "Por favor, seleccione al menos una página",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Ud tiene {num} página(s) seleccionada(s).\n\n¿Realmente la(s) quiere retirar de publicación?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Ud tiene {num} página(s) seleccionada(s).\n\n¿Realmente la(s) quiere publicar?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Ud tiene {num} página(s) seleccionada(s).\n\n¿Realmente quiere eliminarla(s)?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Ud tiene {num} páginas seleccionadas.\n\n¿Está seguro de querer archivar estas páginas?\n\nEstas páginas y sus hijas se retirarán de publicación y se enviarán al archivo.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "¿Estás seguro que quieres navegar fuera de esta página?⏎\n⏎\nADVERTENCIA: Tus cambios no han sido guardados.⏎\n⏎\nPresionar OK para continuar o Cancelar para continuar en la página actual",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ADVERTENCIA: Tus cambios no han sido guardados.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Haluatko varmasti poistua tältä sivulta?\n\nVAROITUS: Muutoksiasi ei ole tallennettu.\n\nPaina OK jatkaaksesi, tai Peruuta pysyäksesi nykyisellä sivulla.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "VAROITUS: Muutoksiasi ei ole tallennettu.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Etes-vous sûr de vouloir quitter cette page ?\n\nATTENTION: Vos changements n'ont pas été sauvegardés.\n\nCliquez sur OK pour continuer, ou sur Annuler pour rester sur la page actuelle.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Anda ingin tinggalkan laman ini?\n\nPERINGATAN: Perubahan tidak akan disimpan.\n\nTekan OK untuk lanjut, atau Batal untuk tetap di laman ini.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "PERINGATAN: Perubahan tidak akan disimpan.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Anda ingin tinggalkan laman ini?\n\nPERINGATAN: Perubahan tidak akan disimpan.\n\nTekan OK untuk lanjut, atau Batal untuk tetap di laman ini.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "PERINGATAN: Perubahan tidak akan disimpan.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente nasconderle?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente pubblicarle?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente eliminarle?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente archiviare?\n\nQueste pagine verranno rimosse sia dal sito bozza che dal sito pubblico lasciando intatta la cronologia.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Hai selezionato {num} pagina(e).\n\nSei sicuro di volerle archiviare?\n\nQueste pagine insieme a tutte le pagine figlio saranno spubblicate ed archiviate.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Hai selezionato {num} pagina(e).\n\nSei sicuri di volerle ripristinare?\n\nI figli delle pagine archiviate saranno ripristinati nel primo livello, a meno anche i genitori non vengano ripristinati.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente eliminare queste pagine dal sito live?",
"LeftAndMain.CONFIRMUNSAVED": "Siete sicuri di voler uscire da questa pagina?\n\nATTENZIONE: I vostri cambiamenti non sono stati salvati.\n\nCliccare OK per continuare, o su Annulla per rimanere sulla pagina corrente.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ATTENZIONE: le tue modifiche non sono state salvate.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "このページから移動しても良いですか?\n\n警告: あなたの変更は保存されていません.\n\n続行するにはOKを押してくださいキャンセルをクリックするとこのページにとどまります",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "警告: あなたの変更は保存されていません.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite nebepublikuoti?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite publikuoti?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite ištrinti?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite suarchyvuoti?\n\nŠie puslapiai bus pašalinti iš juodraščių ir publikuotų puslapių sąrašo, tačiau bus palikta visa pakeitimų istorija.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite archyvuoti šiuos puslapius?\n\nŠie puslapiai ir visi po jais esantys puslapiai bus nebepublikuojami ir suarchyvuoti.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite atstatyti?\n\nPuslapiai, esantys po suarchyvuotais puslapiais, bus atstatyti aukščiausiame lygyje, nebent šie puslapiai irgi bus atstatyti.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite ištrinti iš publikuotų puslapių?",
"LeftAndMain.CONFIRMUNSAVED": "Ar tikrai norite išeiti iš šio puslapio?\n\nDĖMESIO: Jūsų pakeitimai neišsaugoti.\n\nNorėdami tęsti, spauskite OK, jeigu norite likti, spauskite Cancel.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "DĖMESIO: Jūsų pakeitimai neišsaugoti.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Kei te hiahia whakatere atu i tēnei whārangi?\n\nWHAKATŪPATO: Kāore anō ō huringa kia tiakina.\n\nPēhi AE kia haere tonu, Whakakore rānei kia noho i te whārangi onāianei.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WHAKATŪPATO: Kāore anō ō huringa kia tiakina.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Er du sikker på at du vil forlate denne siden?\n\nADVARSEL: Endringene din har ikke blitt lagret.\n\nTrykk OK for å fortsette eller Avbryt for å holde deg på samme side.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ADVARSEL: Endringene dine har ikke blitt lagret.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Weet u zeker dat u deze pagina wilt verlaten?\nWAARSCHUWING: Uw veranderingen zijn niet opgeslagen.\n\nKies OK om te verlaten, of Cancel om op de huidige pagina te blijven.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WAARSCHUWING: Uw veranderingen zijn niet opgeslagen",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Czy na pewno chcesz kontynuować nawigację poza tą stronę?\n\nUWAGA: Twoje zmiany nie zostały zapisane.\n\nWciśnij OK aby kontynuować, wciśnij Anuluj aby pozostać na tej stronie.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UWAGA: Twoje zmiany nie zostały zapisane.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Sunteți sigur că doriți să părăsiți pagina?\n\nAVERTISMENT: Modificările nu au fost salvate.\n\nApăsați OK pentru a continua, sau Anulați pentru a rămâne pe pagina curentă.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "AVERTISMENT: Modificările nu au fost salvate.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Вы действительно хотите покинуть эту страницу?\n\nВНИМАНИЕ: Ваши изменения не были сохранены.\n\nНажмите ОК, чтобы продолжить или Отмена, чтобы остаться на текущей странице.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ВНИМАНИЕ: Ваши изменения не были сохранены",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete nezverejniť?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete zverejniť?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete vymazať?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete archívovať?\n\nTieto stránky budú odstránené z oboch koncept a zverejnené weby bez vyradenia histórie.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Vybrali ste {num} stránok.\n\nUrčite chcete archivovať tieto stránky?\n\nTieto stránky a jej všetky podstránky budú nezverejnené a odoslané do archívu.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Vybrali ste {num} stránok.\n\nSkutočne chcete obnoviť?\n\nPodstránky archivovaných stránok budú obnovené do najvyššej úrovne, pokiaľ tieto stránky budú tiež obnovené.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne chcete tieto stránky vymazať z webu?",
"LeftAndMain.CONFIRMUNSAVED": "Určite chcete opustiť navigáciu z tejto stránky?\n\nUPOZORNENIE: Vaše zmeny neboli uložené.\n\nStlačte OK pre pokračovať, alebo Cancel, ostanete na teto stránke.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORNENIE: Vaše zmeny neboli uložené.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Res želite zapusitit stran?\n\nOPOZORILO: spremembe niso bile shranjene\n\nKliknite OK za nadaljevanje ali Prekliči, da ostanete na trenutni strani.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "OPOZORILO: spremembe niso bile shranjene.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Да ли сте сигурни да желите да одете са ове странице?\n\nУПОЗОРЕЊЕ: Ваше измене још нису сачуване.\n\nПритисните У реду за наставак или Одустани да би сте остали на овој страници.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "УПОЗОРЕЊЕ: Ваше измене нису сачуване.",

View File

@ -0,0 +1,17 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Da li ste sigurni da želite da odete sa ove stranice?\n\nUPOZORENjE: Vaše izmene još nisu sačuvane.\n\nPritisnite U redu za nastavak ili Odustani da bi ste ostali na ovoj stranici.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORENjE: Vaše izmene nisu sačuvane.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Da li zaista želite da se izbrišete %s grupe?",
"ModelAdmin.SAVED": "Sačuvano.",
"ModelAdmin.REALLYDELETE": "Da li zaista želite da izbrišete?",
"ModelAdmin.DELETED": "Izbrisano",
"ModelAdmin.VALIDATIONERROR": "Grešla pri proveri ispravnosti",
"LeftAndMain.PAGEWASDELETED": "Ova stranica je izbrisana. Da bi izmenili stranicu, izaberite je sa leve strane."
}

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Да ли сте сигурни да желите да одете са ове странице?\n\nУПОЗОРЕЊЕ: Ваше измене још нису сачуване.\n\nПритисните У реду за наставак или Одустани да би сте остали на овој страници.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "УПОЗОРЕЊЕ: Ваше измене нису сачуване.",

View File

@ -0,0 +1,17 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Da li ste sigurni da želite da odete sa ove stranice?\n\nUPOZORENjE: Vaše izmene još nisu sačuvane.\n\nPritisnite U redu za nastavak ili Odustani da bi ste ostali na ovoj stranici.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORENjE: Vaše izmene nisu sačuvane.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Da li zaista želite da se izbrišete %s grupe?",
"ModelAdmin.SAVED": "Sačuvano.",
"ModelAdmin.REALLYDELETE": "Da li zaista želite da izbrišete?",
"ModelAdmin.DELETED": "Izbrisano",
"ModelAdmin.VALIDATIONERROR": "Grešla pri proveri ispravnosti",
"LeftAndMain.PAGEWASDELETED": "Ova stranica je izbrisana. Da bi izmenili stranicu, izaberite je sa leve strane."
}

View File

@ -1,9 +1,10 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.SELECTONEPAGE": "Var vänlig och välj minst en sida",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Du har valt {num} sida/sidor\n\nVill du verkligen avpublicera",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Du har valt {num} sida/sidor.\nVill du verkligen publicera dem.",
"CMSMAIN.BATCH_DELETE_PROMPT": "Du har valt {num} sida/sidor\n\nVill du verkligen radera dem.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Är du säker på att du vill lämna denna sida?\n\nVARNING: Dina ändringar har inte sparats.\n\nTryck OK för att lämna sidan eller Avbryt för att stanna på aktuell sida.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "您确定要离开此页面?\n警告您所做的更改尚未保存。\n请按“确定”继续或“取消”留在当前页面。\n",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "警告:您所做的更改尚未保存。",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sv.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/sv.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sv', {
"CMSMAIN.SELECTONEPAGE": "Var vänlig och välj minst en sida",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Du har valt {num} sida/sidor\n\nVill du verkligen avpublicera",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Du har valt {num} sida/sidor.\nVill du verkligen publicera dem.",
"CMSMAIN.BATCH_DELETE_PROMPT": "Du har valt {num} sida/sidor\n\nVill du verkligen radera dem.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Är du säker på att du vill lämna denna sida?\n\nVARNING: Dina ändringar har inte sparats.\n\nTryck OK för att lämna sidan eller Avbryt för att stanna på aktuell sida.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Vill du verkligen radera %s grupper?",

View File

@ -1,9 +1,16 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/zh.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from admin/javascript/lang/src/zh.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('zh', {
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "您确定要离开此页面?\n警告您所做的更改尚未保存。\n请按“确定”继续或“取消”留在当前页面。\n",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "警告:您所做的更改尚未保存。",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "您真的要删除 %s 小组吗?",

View File

@ -1,43 +1,165 @@
@charset "UTF-8";
@font-face {
font-family: 'fontello';
src: url('../font/fontello.eot?77203683');
src: url('../font/fontello.eot?77203683#iefix') format('embedded-opentype'),
url('../font/fontello.woff?77203683') format('woff'),
url('../font/fontello.ttf?77203683') format('truetype'),
url('../font/fontello.svg?77203683#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="font-icon-"],
[class*=" font-icon-"] {
&:before {
color: #66727d;
display: inline-block;
content: '';
width: 1em;
margin-top: 2px;
margin-right: .2em;
text-align: center;
text-decoration: inherit;
text-transform: none;
font-family: "fontello";
font-style: normal;
font-weight: normal;
font-variant: normal;
speak: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
font-family: "silverstripe";
src:url("../font/silverstripe.eot");
src:url("../font/silverstripe.eot?#iefix") format("embedded-opentype"),
url("../font/silverstripe.woff") format("woff"),
url("../font/silverstripe.ttf") format("truetype"),
url("../font/silverstripe.svg#silverstripe") format("svg");
font-weight: normal;
font-style: normal;
}
.font-icon-search:before { content: '\e800'; }
.font-icon-tree:before { content: '\e801'; }
.font-icon-list2:before { content: '\e802'; }
.font-icon-cog:before { content: '\e803'; }
.font-icon-check:before { content: '\e804'; }
.font-icon-plus-solid:before { content: '\e805'; }
.font-icon-list:before { content: '\e806'; }
.font-icon-plus:before { content: '\e807'; }
.font-icon-search2:before { content: '\e808'; }
.font-icon-pencil:before { content: '\e80b'; }
[class^="font-icon-"]:before,
[class*="font-icon-"]:before {
font-family: "silverstripe" !important;
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.font-icon-search:before {
content: "s";
}
.font-icon-upload:before {
content: "b";
}
.font-icon-sync:before {
content: "c";
}
.font-icon-print:before {
content: "d";
}
.font-icon-list:before {
content: "e";
}
.font-icon-plus-circled:before {
content: "f";
}
.font-icon-check-mark-2:before {
content: "k";
}
.font-icon-pencil:before {
content: "m";
}
.font-icon-book:before {
content: "n";
}
.font-icon-book-open:before {
content: "o";
}
.font-icon-plus:before {
content: "j";
}
.font-icon-icon-tree:before {
content: "p";
}
.font-icon-flow-tree:before {
content: "q";
}
.font-icon-info-circled:before {
content: "y";
}
.font-icon-chart-line:before {
content: "B";
}
.font-icon-graph-bar:before {
content: "E";
}
.font-icon-torsos-all:before {
content: "F";
}
.font-icon-torso:before {
content: "H";
}
.font-icon-picture:before {
content: "v";
}
.font-icon-chart-pie:before {
content: "A";
}
.font-icon-sitemap:before {
content: "C";
}
.font-icon-globe:before {
content: "P";
}
.font-icon-globe-1:before {
content: "R";
}
.font-icon-chat:before {
content: "t";
}
.font-icon-comment:before {
content: "w";
}
.font-icon-logout:before {
content: "z";
}
.font-icon-cancel:before {
content: "D";
}
.font-icon-cancel-circled:before {
content: "Q";
}
.font-icon-trash-bin:before {
content: "S";
}
.font-icon-left-open:before {
content: "T";
}
.font-icon-right-open:before {
content: "U";
}
.font-icon-check-mark:before {
content: "G";
}
.font-icon-check-mark-circle:before {
content: "I";
}
.font-icon-level-up:before {
content: "V";
}
.font-icon-back-in-time:before {
content: "X";
}
.font-icon-cog:before {
content: "Y";
}
.font-icon-rocket:before {
content: "Z";
}
.font-icon-install:before {
content: "a";
}
.font-icon-down-circled:before {
content: "i";
}
.font-icon-eye:before {
content: "l";
}
.font-icon-columns:before {
content: "r";
}
.font-icon-edit-write:before {
content: "u";
}
.font-icon-monitor:before {
content: "x";
}
.font-icon-mobile:before {
content: "J";
}
.font-icon-tablet:before {
content: "K";
}
.font-icon-resize:before {
content: "L";
}

View File

@ -583,6 +583,70 @@ form.small .field, .field.small {
&.ss-ui-button-loading {
opacity: 0.8;
}
/* font-icon buttons */
&[class*="font-icon-"],
&[class^="font-icon-"],
&.ss-ui-button-constructive[class*="font-icon-"] {
padding: 5px 8px;
margin-bottom: $grid-y*1.5;
vertical-align: middle;
box-shadow: none;
border: 0;
background: none;
text-shadow: none;
text-decoration: none;
font-weight: normal;
color: $color-text;
&:hover {
@include box-shadow(none);
background: #dee3e8;
color: $color-text;
border: 0;
}
&:focus {
@include box-shadow(none);
background: #dee3e8;
color: $color-text;
border: 0;
}
&:before {
font-size: 16px;
margin-right: 5px;
margin-top: 0;
vertical-align: middle;
}
&.ui-state-focus {
@include box-shadow(none);
}
&.active,
&:active {
@include box-shadow(0 0 3px rgba(191, 194, 196, .9) inset);
background: #dee3e8;
color: $color-text;
border: 0;
}
&.font-icon-search {
&:before {
margin-right: 2px;
}
}
.ui-button-text {
@include inline-block;
padding: 0;
}
.ui-icon {
display: none;
}
}
}
.ss-ui-buttonset {
@ -801,25 +865,21 @@ input.radio {
* </fieldset>
****************************************************************/
fieldset.switch-states{
padding:0 20px 0 0;
margin-right: 5px;
margin-right: 8px;
.switch{
@include box-shadow(inset 0 2px 6px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.1));
border: 2px solid lighten(#2d3035,65%);
@include border-radius(3px);
-webkit-animation: bugfix infinite 1s; //Bugfix for older Webkit, including mobile Webkit.
background:lighten(#2d3035,69%);
display: block;
height: 25px;
margin-top:3px;
padding:0 10px;
height: 24px;
position: relative;
width:100%;
z-index:5;
label{
@include hide-text-overflow;
@include text-shadow(0 1px 0 rgba(255,255,255,0.5));
color:lighten($color-text-dark,40%);
color:rgba($color-text-dark,0.5);
cursor: pointer;
@ -829,6 +889,7 @@ fieldset.switch-states{
line-height: 25px;
position:relative;
z-index:2;
min-width: 80px;
/* Make text unselectable in browsers that support that */
-webkit-touch-callout: none;
-webkit-user-select: none;
@ -844,7 +905,8 @@ fieldset.switch-states{
@include box-sizing('border-box');
@include hide-text-overflow;
display:inline-block;
padding:0 10px;
width: 100%;
text-align: center;
}
}
input {
@ -855,22 +917,15 @@ fieldset.switch-states{
&:checked + label {
@include transition(all 0.3s ease-out 0s);
color: #fff;
text-shadow: 0 -1px 0 darken($color-menu-button,10%);
}
}
.slide-button{
@include background-image(linear-gradient(
#2b9c32,
#64ab36
));
@include border-radius(3px);
@include box-shadow(inset 0 2px 6px rgba(0, 0, 0, 0.3), 0 1px 0px rgba(255, 255, 255, 0.2));
@include text-shadow(0 1px 0 rgba(255,255,255,0.5));
@include transition(all 0.3s ease-out 0s);
background-color: #2b9c32;
display:block;
height: 100%;
left:0;
height: 24px;
left: 0;
padding: 0;
position: absolute;
top: 0;

View File

@ -148,7 +148,7 @@
/* Alternative styles for the switch in old IE */
fieldset.switch-states{
padding-right: 5px;
padding-right: 20px;
.switch{
padding: 0;
width: 100%+32;

View File

@ -70,26 +70,23 @@
padding: $grid-y*1.5 0;
line-height: 16px;
font-size: $font-base-size - 1;
min-height: 28px;
.logout-link {
display: inline-block;
height: 28px;
width: 16px;
float: left;
margin: 0 8px 0 5px;
background: sprite($sprites32, logout) no-repeat;
background-position: 0 -766px;
text-indent: -9999em;
opacity:0.9;
font-size: 16px;
height: 16px;
padding: 6px 8px 6px 5px;
opacity: .9;
color: #fff;
&:hover, &:focus{
opacity:1;
opacity: 1;
text-decoration: none;
}
}
span {
padding-top: 6px;
padding: 6px 0 6px 26px;
}
}

View File

@ -16,10 +16,9 @@
&:before {
display:inline-block;
float:left;
content: '';
width: 23px;
height:17px;
width: 20px;
overflow: hidden;
color: $color-text-dark;
}
}
.icon-auto:before {
@ -49,9 +48,6 @@
.cms-navigator{
width: 100%;
}
.preview-selector.dropdown a.chzn-single{
text-indent:-200px;
}
/* Preview selectors. Overrides default chosen styles and applies its own */
.preview-selector {
@ -59,21 +55,27 @@
border-bottom:none;
position:relative;
@include box-shadow(none);
margin: 3px 0 0 4px;
margin: 2px 0 0 4px;
padding: 0;
height: 28px;
a.chzn-single {
width: 20px;
padding: 6px 5px 5px;
height: 18px;
margin: -3px 0 0;
width: 16px;
padding: 6px;
height: 16px;
margin: -2px 0 0;
filter: none; /* remove ie background */
background: none;
border: none;
@include box-shadow(none);
@include border-radius(3px);
&::before {
font-size: 18px;
margin-top: -1px;
margin-left: -1px;
}
&:hover, &.chzn-single-with-drop {
background-color: darken($color-widget-bg,6%);
@include box-shadow(0 0 3px rgba(0, 0, 0, 0.05) inset, 0 1px 0 $box-shadow-shine);
@ -130,6 +132,7 @@
&:before{
margin-right: 2px;
font-size: 16px;
}
&.description {
padding-top: 5px;

View File

@ -242,14 +242,6 @@ body.cms {
margin-top: 1px;
}
.font-icon-search {
margin-top: 1px;
&::before {
font-size: 1.3em;
}
}
.cms-content-tools {
.cms-panel-content {
padding-top: 0;
@ -319,60 +311,63 @@ body.cms {
* Icon buttons styles should always take presedence over Tab styles.
* Tabs should be refactored to use weaker selectors.
* ----------------------------------------------------------------- */
a.icon-button,
button.ss-ui-button.icon-button {
vertical-align: middle;
margin-right: 2px;
padding: .4em;
font-size: 1.2em;
letter-spacing: -3px;
text-indent: 0;
text-shadow: none;
line-height: 1em;
color: $color-text;
background-color: transparent;
background-image: none;
border: 0;
&:hover,
&:active,
&:focus {
border: 0;
box-shadow: none;
background-image: none;
text-decoration: none;
}
&:hover {
background-color: #d4dbe1;
}
&.active,
&:active {
background-color: #d4dbe1;
box-shadow: inset 0 0 3px rgba(191, 194, 196, .9);
}
.ui-button-text {
display: none;
}
// Context specific overrides for Tabs.
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active &.cms-panel-link,
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default &.cms-panel-link {
padding: 6px 8px;
.cms {
a.icon-button,
button.ss-ui-button.icon-button {
vertical-align: middle;
margin: 0 2px 0 0;
padding: 5px;
padding-right: 8px;
font-size: 14px;
letter-spacing: -3px;
text-indent: 0;
text-shadow: none;
line-height: 1em;
color: $color-text;
background-color: transparent;
background-image: none;
border: 0;
&:before {
margin-top: 2px;
&:hover,
&:active,
&:focus {
border: 0;
box-shadow: none;
background-image: none;
text-decoration: none;
}
&:hover {
background-color: #d4dbe1;
}
&.active,
&:active {
background-color: #d4dbe1;
box-shadow: inset 0 0 3px rgba(191, 194, 196, .9);
}
.ui-button-text {
display: none;
}
.ModelAdmin & {
margin-top: -11px;
}
}
}
.ModelAdmin & {
margin-top: -11px;
// Context specific overrides for Tabs.
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active a.icon-button.cms-panel-link,
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default a.icon-button.cms-panel-link {
padding: 6px 8px;
line-height: 1em;
background-color: transparent;
background-image: none;
border: 0;
&:before {
vertical-align: middle;
}
}
@ -399,7 +394,6 @@ button.ss-ui-button.icon-button {
&:hover {
background: $tab-panel-texture-color;
padding-bottom: 5px;
}
&.active:hover {
@ -429,14 +423,14 @@ button.ss-ui-button.icon-button {
+ .cms-tabset-icon.ui-state-default {
border-left: 1px solid #CDCCD0;
}
}
&:hover {
background: $tab-panel-texture-color;
}
&:hover {
background: $tab-panel-texture-color;
}
&.active:hover {
background: #d4dbe1;
&.ui-state-active:hover {
background: #d4dbe1;
}
}
.cms-tabset-icon.ui-state-active {
@ -444,6 +438,7 @@ button.ss-ui-button.icon-button {
box-shadow: inset 0 0 3px rgba(191, 194, 196, .9);
}
}
.cms-content-header-tabs & {
overflow: hidden;
}
@ -641,12 +636,6 @@ button.ss-ui-button.icon-button {
.icon-button-group {
margin-right: 16px;
}
.font-icon-search {
&::before {
font-size: 1.3em;
}
}
}
.cms-content-fields .ui-tabs-nav {
@ -811,20 +800,67 @@ button.ss-ui-button.icon-button {
.notice-item {
border: 0;
@include border-radius(3px);
font-family: inherit;
font-size: inherit;
padding: 8px 10px 8px 10px;
padding: 6px 24px 8px 10px;
word-wrap: break-word;
min-height: 60px;
height: auto;
border: 0;
border-left: 3px solid;
color: #666;
left: 300px;
background: #fff;
&.success,
&.good,
&.green {
border-color: $color-good;
}
&.notice,
&.info,
&.blue {
border-color: $color-notice;
}
&.warning,
&.caution,
&.yellow {
border-color: $color-warning;
}
&.bad,
&.error,
&.red {
border-color: $color-error;
}
p {
margin-bottom: 0;
}
}
.notice-item-close {
color: #333333;
background: url(../images/filter-icons.png) no-repeat 0 -20px;
width: 1px;
height: 1px;
overflow: hidden;
padding: 0px 0 20px 15px;
font-weight: normal;
width: 12px;
height: 16px;
color: #555;
font-size: 16px;
overflow: hidden;
top: 4px;
right: 4px;
padding: 2px;
opacity: .8;
&::before {
content: 'x';
}
&:hover {
opacity: 1;
}
}
@ -978,35 +1014,6 @@ button.ss-ui-button.icon-button {
}
}
.ss-ui-button {
margin-bottom: $grid-y*1.5;
}
.cms-actions-buttons-row {
clear: both;
.ss-ui-button,
.ss-ui-button:hover,
.ss-ui-button:active,
.ss-ui-button:focus {
color: $color-text;
border: 0;
background: none;
box-shadow: none;
text-shadow: none;
text-decoration: none;
font-weight: normal;
}
.ss-ui-button {
&.active,
&:active,
&:hover {
background-color: #dee3e8;
}
}
}
.cms-actions-tools-row {
clear: both;
}
@ -1187,12 +1194,28 @@ button.ss-ui-button.icon-button {
display: block;
margin: 0 0 8px;
padding: 10px 12px;
font-weight: normal;
font-weight: normal;
border: 1px $color-light-separator solid;
background: #fff; // for browsers that don't understand rgba
background: #fff; //for browsers that don't understand rgba
background: rgba(#fff,0.5);
text-shadow: none;
@include border-radius(3px);
}
.cms-tree-filtered {
position: absolute;
margin: 0;
width: 100%;
box-sizing: border-box;
margin-left: -$grid-x*2;
padding: $grid-y*2 $grid-x*2;
background: #D4E2EC;
text-shadow: none;
border: 0;
> strong,
> a {
font-size: 14px;
}
}
/**
@ -1745,11 +1768,14 @@ body.cms-dialog {
float:left;
position: relative;
label {
position: absolute;
left: 8px;
top: 13px;
font-weight: normal; color: #888;
label {
position: absolute;
left: 8px;
top: 13px;
font-weight: normal;
color: #888;
width: 35px;
padding-right: 0;
}
.middleColumn {

View File

@ -562,6 +562,8 @@
// Applied to trees when displaying filter / search results.
&.filtered-list {
margin-top: $grid-y;
li:not(.filtered-item) > a {
color: $color-text-disabled;
}

View File

@ -8,7 +8,7 @@
</div>
<div class="cms-login-status">
<a href="$LogoutURL" class="logout-link" title="<%t LeftAndMain_Menu_ss.LOGOUT 'Log out' %>"><%t LeftAndMain_Menu_ss.LOGOUT 'Log out' %></a>
<a href="$LogoutURL" class="logout-link font-icon-logout" title="<%t LeftAndMain_Menu_ss.LOGOUT 'Log out' %>"></a>
<% with $CurrentMember %>
<span>
<%t LeftAndMain_Menu_ss.Hello 'Hi' %>

View File

@ -4,16 +4,16 @@
<span id="preview-size-dropdown" class="preview-size-selector preview-selector field dropdown">
<select title="<%t SilverStripeNavigator.ViewDeviceWidth 'Select a preview width' %>" id="preview-size-dropdown-select" class="preview-dropdown dropdown nolabel" autocomplete="off" name="Action">
<option data-icon="icon-auto" data-description="<%t SilverStripeNavigator.Responsive 'Responsive' %>" class="icon-auto icon-view first" value="auto">
<option data-icon="font-icon-resize" data-description="<%t SilverStripeNavigator.Responsive 'Responsive' %>" class="font-icon-resize icon-view first" value="auto">
<%t SilverStripeNavigator.Auto 'Auto' %>
</option>
<option data-icon="icon-desktop" data-description="1024px <%t SilverStripeNavigator.Width 'width' %>" class="icon-desktop icon-view" value="desktop">
<option data-icon="font-icon-monitor" data-description="1024px <%t SilverStripeNavigator.Width 'width' %>" class="font-icon-monitor icon-view" value="desktop">
<%t SilverStripeNavigator.Desktop 'Desktop' %>
</option>
<option data-icon="icon-tablet" data-description="800px <%t SilverStripeNavigator.Width 'width' %>" class="icon-tablet icon-view" value="tablet">
<option data-icon="font-icon-tablet" data-description="800px <%t SilverStripeNavigator.Width 'width' %>" class="font-icon-tablet icon-view" value="tablet">
<%t SilverStripeNavigator.Tablet 'Tablet' %>
</option>
<option data-icon="icon-mobile" data-description="400px <%t SilverStripeNavigator.Width 'width' %>" class="icon-mobile icon-view last" value="mobile">
<option data-icon="font-icon-mobile" data-description="400px <%t SilverStripeNavigator.Width 'width' %>" class="font-icon-mobile icon-view last" value="mobile">
<%t SilverStripeNavigator.Mobile 'Mobile' %>
</option>
</select>

View File

@ -17,7 +17,7 @@ class LeftAndMainTest extends FunctionalTest {
// @todo fix controller stack problems and re-activate
//$this->autoFollowRedirection = false;
CMSMenu::populate_menu();
$this->resetMenu();
$this->backupCss = Config::inst()->get('LeftAndMain', 'extra_requirements_css');
$this->backupJs = Config::inst()->get('LeftAndMain', 'extra_requirements_javascript');
@ -34,6 +34,23 @@ class LeftAndMainTest extends FunctionalTest {
Requirements::set_combined_files_enabled(false);
}
/**
* Clear menu to default state as per LeftAndMain::init()
*/
protected function resetMenu() {
CMSMenu::clear_menu();
CMSMenu::populate_menu();
CMSMenu::add_link(
'Help',
_t('LeftAndMain.HELP', 'Help', 'Menu title'),
LeftAndMain::config()->help_link,
-2,
array(
'target' => '_blank'
)
);
}
public function tearDown() {
parent::tearDown();
@ -130,7 +147,8 @@ class LeftAndMainTest extends FunctionalTest {
$adminuser = $this->objFromFixture('Member','admin');
$this->session()->inst_set('loggedInAs', $adminuser->ID);
$menuItems = singleton('LeftAndMain')->MainMenu();
$this->resetMenu();
$menuItems = singleton('LeftAndMain')->MainMenu(false);
foreach($menuItems as $menuItem) {
$link = $menuItem->Link;
@ -159,6 +177,7 @@ class LeftAndMainTest extends FunctionalTest {
// anonymous user
$this->session()->inst_set('loggedInAs', null);
$this->resetMenu();
$menuItems = singleton('LeftAndMain')->MainMenu(false);
$this->assertEquals(
array_map($allValsFn, $menuItems->column('Code')),
@ -167,19 +186,25 @@ class LeftAndMainTest extends FunctionalTest {
);
// restricted cms user
$this->session()->inst_set('loggedInAs', $securityonlyuser->ID);
$this->logInAs($securityonlyuser);
$this->resetMenu();
$menuItems = singleton('LeftAndMain')->MainMenu(false);
$menuItems = array_map($allValsFn, $menuItems->column('Code'));
sort($menuItems);
$this->assertEquals(
$menuItems,
array('Help', 'SecurityAdmin'),
array('CMSProfileController', 'SecurityAdmin','Help'),
'Groups with limited access can only access the interfaces they have permissions for'
);
// all cms sections user
$this->session()->inst_set('loggedInAs', $allcmssectionsuser->ID);
$this->logInAs($allcmssectionsuser);
$this->resetMenu();
$menuItems = singleton('LeftAndMain')->MainMenu(false);
$this->assertContains('CMSProfileController',
array_map($allValsFn, $menuItems->column('Code')),
'Group with CMS_ACCESS_LeftAndMain permission can edit own profile'
);
$this->assertContains('SecurityAdmin',
array_map($allValsFn, $menuItems->column('Code')),
'Group with CMS_ACCESS_LeftAndMain permission can access all sections'
@ -190,7 +215,8 @@ class LeftAndMainTest extends FunctionalTest {
);
// admin
$this->session()->inst_set('loggedInAs', $adminuser->ID);
$this->logInAs($adminuser);
$this->resetMenu();
$menuItems = singleton('LeftAndMain')->MainMenu(false);
$this->assertContains(
'SecurityAdmin',
@ -270,6 +296,8 @@ class LeftAndMainTest_Object extends DataObject implements TestOnly {
'Sort' => 'Int',
);
private static $default_sort = '"Sort"';
private static $extensions = array(
'Hierarchy'
);

View File

@ -41,21 +41,29 @@
}
// declare varaibles
var options, noticeWrapAll, noticeItemOuter, noticeItemInner, noticeItemClose;
var options, noticeWrapAll, noticeItemOuter, noticeItemInner, noticeItemClose, hover = false;
options = jQuery.extend({}, defaults, options);
noticeWrapAll = (!jQuery('.notice-wrap').length) ? jQuery('<div></div>').addClass('notice-wrap').appendTo('body') : jQuery('.notice-wrap');
noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');
noticeItemInner = jQuery('<div></div>').hide().addClass('notice-item ' + options.type).appendTo(noticeWrapAll).html('<p>'+options.text+'</p>').animate(options.inEffect, options.inEffectDuration).wrap(noticeItemOuter);
noticeItemClose = jQuery('<div></div>').addClass('notice-item-close').prependTo(noticeItemInner).html('x').click(function() { jQuery.noticeRemove(noticeItemInner) });
if(!options.stay)
{
setTimeout(function()
{
jQuery.noticeRemove(noticeItemInner);
},
options.stayTime);
noticeItemInner.hover(function() {
hover = true;
}, function () {
hover = false;
});
if (!options.stay) {
setTimeout( function () {
var noticeHover = setInterval(function () {
if(!hover) {
jQuery.noticeRemove(noticeItemInner);
clearInterval(noticeHover);
}
}, 1000);
}, options.stayTime);
}
},

View File

@ -119,7 +119,6 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
$this->pushCurrent();
$this->urlParams = $request->allParams();
$this->setRequest($request);
$this->response = new SS_HTTPResponse();
$this->setDataModel($model);
$this->extend('onBeforeInit');
@ -134,10 +133,11 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
$this->extend('onAfterInit');
$response = $this->getResponse();
// If we had a redirection or something, halt processing.
if($this->response->isFinished()) {
if($response->isFinished()) {
$this->popCurrent();
return $this->response;
return $response;
}
$body = parent::handleRequest($request, $model);
@ -146,7 +146,8 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
Debug::message("Request handler returned SS_HTTPResponse object to $this->class controller;"
. "returning it without modification.");
}
$this->response = $body;
$response = $body;
$this->setResponse($response);
} else {
if($body instanceof Object && $body->hasMethod('getViewer')) {
@ -157,15 +158,15 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
$body = $body->getViewer($this->getAction())->process($body);
}
$this->response->setBody($body);
$response->setBody($body);
}
ContentNegotiator::process($this->response);
HTTP::add_cache_headers($this->response);
ContentNegotiator::process($response);
HTTP::add_cache_headers($response);
$this->popCurrent();
return $this->response;
return $response;
}
/**
@ -212,9 +213,23 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
* Can be used to set the status code and headers
*/
public function getResponse() {
if (!$this->response) {
$this->setResponse(new SS_HTTPResponse());
}
return $this->response;
}
/**
* Sets the SS_HTTPResponse object that this controller is building up.
*
* @param SS_HTTPResponse $response
* @return Controller
*/
public function setResponse(SS_HTTPResponse $response) {
$this->response = $response;
return $this;
}
protected $baseInitCalled = false;
/**
@ -454,10 +469,9 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
* @return SS_HTTPResponse
*/
public function redirect($url, $code=302) {
if(!$this->response) $this->response = new SS_HTTPResponse();
if($this->response->getHeader('Location') && $this->response->getHeader('Location') != $url) {
user_error("Already directed to " . $this->response->getHeader('Location')
if($this->getResponse()->getHeader('Location') && $this->getResponse()->getHeader('Location') != $url) {
user_error("Already directed to " . $this->getResponse()->getHeader('Location')
. "; now trying to direct to $url", E_USER_WARNING);
return;
}
@ -467,7 +481,7 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
$url = Director::baseURL() . $url;
}
return $this->response->redirect($url, $code);
return $this->getResponse()->redirect($url, $code);
}
/**
@ -515,7 +529,7 @@ class Controller extends RequestHandler implements TemplateGlobalProvider {
* return null;
*/
public function redirectedTo() {
return $this->response && $this->response->getHeader('Location');
return $this->getResponse() && $this->getResponse()->getHeader('Location');
}
/**

View File

@ -10,6 +10,9 @@
* @todo A getter for cookies that haven't been sent to the browser yet
* @todo Tests / a way to set the state without hacking with $_COOKIE
* @todo Store the meta information around cookie setting (path, domain, secure, etc)
*
* @package framework
* @subpackage misc
*/
class CookieJar implements Cookie_Backend {

View File

@ -4,6 +4,9 @@
* The Cookie_Backend interface for use with `Cookie::$inst`.
*
* See Cookie_DefaultBackend and Cookie
*
* @package framework
* @subpackage misc
*/
interface Cookie_Backend {

View File

@ -307,6 +307,9 @@ class HTTP {
/**
* Add the appropriate caching headers to the response, including If-Modified-Since / 304 handling.
* Note that setting HTTP::$cache_age will overrule any cache headers set by PHP's
* session_cache_limiter functionality. It is your responsibility to ensure only cacheable data
* is in fact cached, and HTTP::$cache_age isn't set when the HTTP body contains session-specific content.
*
* @param SS_HTTPResponse $body The SS_HTTPResponse object to augment. Omitted the argument or passing a string is
* deprecated; in these cases, the headers are output directly.
@ -346,6 +349,11 @@ class HTTP {
if($cacheAge > 0) {
$cacheControlHeaders['max-age'] = self::$cache_age;
// Set empty pragma to avoid PHP's session_cache_limiter adding conflicting caching information,
// defaulting to "nocache" on most PHP configurations (see http://php.net/session_cache_limiter).
// Since it's a deprecated HTTP 1.0 option, all modern HTTP clients and proxies should
// prefer the caching information indicated through the "Cache-Control" header.
$responseHeaders["Pragma"] = "";
// To do: User-Agent should only be added in situations where you *are* actually
@ -370,6 +378,11 @@ class HTTP {
// (http://support.microsoft.com/kb/323308)
// Note: this is also fixable by ticking "Do not save encrypted pages to disk" in advanced options.
$cacheControlHeaders['max-age'] = 3;
// Set empty pragma to avoid PHP's session_cache_limiter adding conflicting caching information,
// defaulting to "nocache" on most PHP configurations (see http://php.net/session_cache_limiter).
// Since it's a deprecated HTTP 1.0 option, all modern HTTP clients and proxies should
// prefer the caching information indicated through the "Cache-Control" header.
$responseHeaders["Pragma"] = "";
} else {
$cacheControlHeaders['no-cache'] = "true";

View File

@ -498,7 +498,7 @@ class Config {
}
}
$value = $nothing = null;
$nothing = null;
// Then the manifest values
foreach($this->manifests as $manifest) {

View File

@ -216,7 +216,6 @@ abstract class Object {
$tokens = token_get_all("<?php $classSpec");
$class = null;
$args = array();
$passedBracket = false;
// Keep track of the current bucket that we're putting data into
$bucket = &$args;

View File

@ -51,7 +51,6 @@ function getTempFolderUsername() {
function getTempParentFolder($base = null) {
if(!$base && defined('BASE_PATH')) $base = BASE_PATH;
$tempPath = '';
$worked = true;
// first, try finding a silverstripe-cache dir built off the base path

View File

@ -63,11 +63,8 @@ class SS_TemplateLoader {
*/
public function findTemplates($templates, $theme = null) {
$result = array();
$project = project();
foreach ((array) $templates as $template) {
$found = false;
if (strpos($template, '/')) {
list($type, $template) = explode('/', $template, 2);
} else {

View File

@ -13,6 +13,9 @@
*
* WARNING: This class is experimental and designed specifically for use pre-startup in main.php
* It will likely be heavily refactored before the release of 3.2
*
* @package framework
* @subpackage misc
*/
class ErrorControlChain {
public static $fatal_errors = null; // Initialised after class definition

View File

@ -9,6 +9,9 @@
*
* WARNING: This class is experimental and designed specifically for use pre-startup in main.php
* It will likely be heavily refactored before the release of 3.2
*
* @package framework
* @subpackage misc
*/
class ParameterConfirmationToken {

View File

@ -351,6 +351,27 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
* tearDown method that's called once per test class rather once per test method.
*/
public function tearDownOnce() {
// If we have made changes to the extensions present, then migrate the database schema.
if($this->extensionsToReapply || $this->extensionsToRemove) {
// @todo: This isn't strictly necessary to restore extensions, but only to ensure that
// Object::$extra_methods is properly flushed. This should be replaced with a simple
// flush mechanism for each $class.
//
// Remove extensions added for testing
foreach($this->extensionsToRemove as $class => $extensions) {
foreach($extensions as $extension) {
$class::remove_extension($extension);
}
}
// Reapply ones removed
foreach($this->extensionsToReapply as $class => $extensions) {
foreach($extensions as $extension) {
$class::add_extension($extension);
}
}
}
//unnest injector / config now that the test suite is over
// this will reset all the extensions on the object too (see setUpOnce)
Injector::unnest();
@ -400,7 +421,7 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
* Will collate all IDs form all fixtures if multiple fixtures are provided.
*
* @param string $className
* @return A map of fixture-identifier => object-id
* @return array A map of fixture-identifier => object-id
*/
protected function allFixtureIDs($className) {
return $this->getFixtureFactory()->getIds($className);

View File

@ -100,7 +100,8 @@ class TaskRunner extends Controller {
array_shift($taskClasses);
if($taskClasses) foreach($taskClasses as $class) {
if(!singleton($class)->isEnabled()) continue;
if (!$this->taskEnabled($class)) continue;
$desc = (Director::is_cli())
? Convert::html2raw(singleton($class)->getDescription())
: singleton($class)->getDescription();
@ -116,6 +117,21 @@ class TaskRunner extends Controller {
return $availableTasks;
}
/**
* @param string $class
* @return boolean
*/
protected function taskEnabled($class) {
$reflectionClass = new ReflectionClass($class);
if ($reflectionClass->isAbstract()) {
return false;
} else if (!singleton($class)->isEnabled()) {
return false;
}
return true;
}
}

View File

@ -46,7 +46,7 @@ class TeamCityListener implements PHPUnit_Framework_TestListener {
public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time) {
$class = get_class($test);
$message = $this->escape($e->getMessage());
$message = $this->escape(PHPUnit_Framework_TestFailure::exceptionToString($e));
$trace = $this->escape($e->getTraceAsString());
echo "##teamcity[testFailed type='failure' name='{$class}.{$test->getName()}' message='$message'"
. " details='$trace']\n";

View File

@ -82,9 +82,9 @@ class TestRunner extends Controller {
* top of the loader stacks.
*/
public static function use_test_manifest() {
$flush = true;
if(isset($_GET['flush']) && $_GET['flush'] === '0') {
$flush = false;
$flush = false;
if(isset($_GET['flush']) && ($_GET['flush'] === '1' || $_GET['flush'] == 'all')) {
$flush = true;
}
$classManifest = new SS_ClassManifest(

View File

@ -4,6 +4,9 @@
* Generic PhpUnitWrapper.
* Originally intended for use with Composer based installations, but will work
* with any fully functional autoloader.
*
* @package framework
* @subpackage dev
*/
class PhpUnitWrapper_Generic extends PhpUnitWrapper {

View File

@ -114,7 +114,7 @@ So, your deployment process, as it relates to Composer, should be as follows:
Modules and themes managed by composer should not be committed with your projects source code. For more details read [Should I commit the dependencies in my vendor directory?](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md).
Since SilverStripe modules are installed in to thier own folder, you have to manage your [.gitignore](http://git-scm.com/docs/gitignore) to ensure they are ignored from your repository.
Since SilverStripe modules are installed into their own folder, you have to manage your [.gitignore](http://git-scm.com/docs/gitignore) to ensure they are ignored from your repository.
Here is the default SilverStripe [.gitignore](http://git-scm.com/docs/gitignore) with the forum module ignored

View File

@ -89,20 +89,20 @@ Action methods can return one of four main things:
* We can manually create a response and return that to ignore any previous data.
*/
public function someaction(SS_HTTPRequest $request) {
$this->response = new SS_HTTPResponse();
$this->response->setStatusCode(400);
$this->response->setBody('invalid');
$this->setResponse(new SS_HTTPResponse());
$this->getResponse()->setStatusCode(400);
$this->getResponse()->setBody('invalid');
return $this->response;
return $this->getResponse();
}
/**
* Or, we can modify the response that is waiting to go out.
*/
public function anotheraction(SS_HTTPRequest $request) {
$this->response->setStatusCode(400);
$this->getResponse()->setStatusCode(400);
return $this->response;
return $this->getResponse();
}
/**
@ -118,13 +118,13 @@ Action methods can return one of four main things:
* We can send stuff to the browser which isn't HTML
*/
public function ajaxaction() {
$this->response->setBody(json_encode(array(
$this->getResponse()->setBody(json_encode(array(
'json' => true
)));
$this->response->addHeader("Content-type", "application/json");
$this->getResponse()->addHeader("Content-type", "application/json");
return $this->response.
return $this->getResponse().
}
For more information on how a URL gets mapped to an action see the [Routing](routing) documentation.

View File

@ -44,7 +44,7 @@ which will be filled when the user makes their request. Request parameters are a
and able to be pulled out from a controller using `$this->getRequest()->param($name)`.
<div class="info" markdown="1">
All Controllers have access to `$this->getRequest()` for the request object and `$this->response` for the response.
All Controllers have access to `$this->getRequest()` for the request object and `$this->getResponse()` for the response.
</div>
Here is what those parameters would look like for certain requests

View File

@ -187,7 +187,7 @@ Here is a summary of the callback parameter values based on some example shortco
$attributes => array();
$content => null;
$parser => ShortcodeParser instance,
$tagName => 'myshortcode')
$tagName => 'my_shortcode')
[my_shortcode,attribute="foo",other="bar"]

View File

@ -73,6 +73,10 @@ The `phpunit` binary should be used from the root directory of your website.
phpunit framework/tests '' flush=all
# Run tests with optional `$_GET` parameters (you need an empty second argument)
<div class="alert" markdown="1">
The manifest is not flushed when running tests. Add `flush=all` to the test command to do this (see above example.)
</div>
<div class="alert" markdown="1">
If phpunit is not installed globally on your machine, you may need to replace the above usage of `phpunit` with the full
path (e.g `vendor/bin/phpunit framework/tests`)

View File

@ -66,6 +66,36 @@ currently logged in member is assumed.
* On a request, $request->hasPermission("View", $member = null) can be called. See [datamodel](/topics/datamodel) for
information on request objects.
## Special cases
### ADMIN permissions
By default the config option `admin_implies_all` is true - this means that any user granted the `ADMIN` permission has
all other permissions granted to them. This is a type of cascading of permissions that is hard coded into the permission
system.
### CMS access permissions
Access to the CMS has a couple of special cases where permission codes can imply other permissions.
#### 1. Granting access to all CMS permissions
The `CMS_ACCESS_LeftAndMain` grants access to every single area of the CMS, without exception. Internally, this works by
adding the `CMS_ACCESS_LeftAndMain` code to the set of accepted codes when a `CMS_ACCESS_*` permission is required.
This works much like ADMIN permissions (see above)
#### 2. Checking for any access to the CMS
You can check if a user has access to the CMS by simply performing a check against `CMS_ACCESS`.
:::php
if (Permission::checkMember($member, 'CMS_ACCESS')) {
//user can access the CMS
}
Internally, this checks that the user has any of the defined `CMS_ACCESS_*` permissions.
## API Documentation
`[api:Permission]`

View File

@ -543,7 +543,7 @@ controller's `init()` method:
class MyController extends Controller {
public function init() {
parent::init();
$this->response->addHeader('X-Frame-Options', 'SAMEORIGIN');
$this->getResponse()->addHeader('X-Frame-Options', 'SAMEORIGIN');
}
}

View File

@ -360,7 +360,7 @@ without affecting the response body.
class MyController extends LeftAndMain {
class myaction() {
// ...
$this->response->addHeader('X-Controller', 'MyOtherController');
$this->getResponse()->addHeader('X-Controller', 'MyOtherController');
return $html;
}
}

View File

@ -376,7 +376,7 @@ PHP:
if(!$results) return new HTTPResponse("Not found", 404);
// Use HTTPResponse to pass custom status messages
$this->response->setStatusCode(200, "Found " . $results->Count() . " elements");
$this->getResponse()->setStatusCode(200, "Found " . $results->Count() . " elements");
// render all results with a custom template
$vd = new ViewableData();
@ -582,4 +582,4 @@ Example: JSpec Shopping cart test (from [visionmedia.github.com](http://visionme
## Related
* [Unobtrusive Javascript](http://www.onlinetools.org/articles/unobtrusivejavascript/chapter1.html)
* [Quirksmode: In-depth Javascript Resources](http://www.quirksmode.org/resources.html)
* [Quirksmode: In-depth Javascript Resources](http://www.quirksmode.org/resources.html)

View File

@ -2,12 +2,12 @@
## Contents
* [Major Changes](#major-changes)
* [Removed API](#deprecated-classesmethods-removed)
* [New API](#new-and-changed-api)
* [Bugfixes](#bugfixes)
* [Upgrading Notes](#upgrading-notes)
* [Changelog](#changelog)
* [Major Changes](3.2.0-beta1#major-changes)
* [Removed API](3.2.0-beta1#deprecated-classes-methods-removed)
* [New API](3.2.0-beta1#new-and-changed-api)
* [Bugfixes](3.2.0-beta1#bugfixes)
* [Upgrading Notes](3.2.0-beta1#upgrading-notes)
* [Changelog](3.2.0-beta1#changelog)
## Major changes

View File

@ -0,0 +1,42 @@
# 3.1.14-rc1
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### API Changes
* 2015-01-28 [782c4cb](https://github.com/silverstripe/silverstripe-framework/commit/782c4cbf6f5cde2fa4d45cdbd17552773a67f88f) Enable single-column fulltext filter search as fallback (Damian Mooyman)
### Bugfixes
* 2015-08-27 [899eb0b](https://github.com/silverstripe/silverstripe-framework/commit/899eb0b235859c843890c790e99c03f4fd4b825c) Use complete fieldlist for extracting data (Daniel Hensby)
* 2015-08-26 [2d4b743](https://github.com/silverstripe/silverstripe-framework/commit/2d4b743090935e7c10bd95e00398df7bfb5763af) Members can access their own profiles in CMS (Daniel Hensby)
* 2015-08-26 [0943b3b](https://github.com/silverstripe/silverstripe-framework/commit/0943b3b1a06e6c9130500532fd979c720b65c761) Recursion errors when sorting objects with circular dependencies (fixes #4464) (Loz Calver)
* 2015-08-20 [fc212e0](https://github.com/silverstripe/silverstripe-framework/commit/fc212e030c474d966ffb1821423ddcb3ae361b72) Fix illegalExtensions breaking tests. (Damian Mooyman)
* 2015-08-18 [8b638f5](https://github.com/silverstripe/silverstripe-framework/commit/8b638f56fb737dac18126c291297c87469eb7d0f) Using undefined var in ModelAdmin (Loz Calver)
* 2015-07-26 [5f5ce8a](https://github.com/silverstripe/silverstripe-framework/commit/5f5ce8a82c2bb1a29f9f8b7011d5cd990c34f128) Disable cache to prevent caching of build target (Damian Mooyman)
* 2015-07-16 [a3201d6](https://github.com/silverstripe/silverstripe-framework/commit/a3201d6ed9967179aa020802e6fb88d2a6a0e37e) $callerClass is undefined (Christopher Darling)
* 2015-07-08 [c7bd504](https://github.com/silverstripe/silverstripe-framework/commit/c7bd50427a4e0ad446502547b81648d78d354062) Fix cookie errors when running in CLI (Damian Mooyman)
* 2015-07-07 [5ace490](https://github.com/silverstripe/silverstripe-framework/commit/5ace4905c90be1373f49dbb0e1a579b279786a1c) Fix issue when SS_ALLOWED_HOSTS is run in CLI (Damian Mooyman)
* 2015-07-05 [a556b48](https://github.com/silverstripe/silverstripe-framework/commit/a556b4854a44b9dfe86c40140ec03d781d354d19) Fix of multiple i18nTextCollector issues: #3797, #3798, #3417 (Damian Mooyman)
* 2015-07-01 [6fabd01](https://github.com/silverstripe/silverstripe-framework/commit/6fabd0122be37faa671923b534a74e5684d58220) Fix potential XSS injection (Damian Mooyman)
* 2015-06-26 [d78d325](https://github.com/silverstripe/silverstripe-cms/commit/d78d3250736c5d2f48c5cfc1690fba8b98cc222b) RedirectorPage_Controller shouldn't attempt redirection if the response is finished (fixes #1230) (Loz Calver)
* 2015-06-18 [f7f92b3](https://github.com/silverstripe/silverstripe-installer/commit/f7f92b32260f31a5969dde4b1d8c55d81c289056) Invalid comment syntax for web.config (Daniel Hensby)
* 2015-06-16 [6169bf2](https://github.com/silverstripe/silverstripe-framework/commit/6169bf2760366b0aebf255c973803621472ce1fb) No longer caching has_one after ID change (Daniel Hensby)
* 2015-06-11 [6be0488](https://github.com/silverstripe/silverstripe-framework/commit/6be04887315522e5b95b83be1e301691441b985c) TreeDropdownField doesnt change label on unselect (Daniel Hensby)
* 2015-05-28 [0319f78](https://github.com/silverstripe/silverstripe-framework/commit/0319f7855bc4e8a6eb71d2766ac24a7d760d502e) Incorrect env setting in 3.1.13 (Damian Mooyman)
* 2015-05-22 [e0710ae](https://github.com/silverstripe/silverstripe-framework/commit/e0710ae4e4a03c191b841cc45a6c103a0e21ec7f) Fix DirectorTest failing when run with sake (Damian Mooyman)
* 2015-05-20 [94f6a13](https://github.com/silverstripe/silverstripe-framework/commit/94f6a137297d6638065583c388dffeeb9eccb55b) Fixed setting LastEdited for DataObject with class ancestry (Gregory Smirnov)
* 2015-05-20 [869e69a](https://github.com/silverstripe/silverstripe-framework/commit/869e69a9b2c1352e1fa6246432d9180eb81cf7e3) Clicking icon in site tree link fails (Jonathon Menz)
* 2015-05-20 [f9bdf61](https://github.com/silverstripe/silverstripe-framework/commit/f9bdf61b6f4cdd2f55ff2729a5b6be0a200f876a) Fixed handling of numbers in certain locales (Gregory Smirnov)
* 2015-05-19 [dbe2ad4](https://github.com/silverstripe/silverstripe-cms/commit/dbe2ad4f9fe818fe21755eff2ecf8d359c578736) Folder expansion icons (Jonathon Menz)
* 2015-05-19 [a56d08b](https://github.com/silverstripe/silverstripe-framework/commit/a56d08b1aeeb0a2dfc16e134ddc3bd7b699bd606) TreeDropdownField Folder expansion (Jonathon Menz)
* 2015-05-16 [c6bcfea](https://github.com/silverstripe/silverstripe-framework/commit/c6bcfea3e36a4211d2f69ff5c73db2fcab474ba8) FieldList::changeFieldOrder() leftovers discarded (Jonathon Menz)
* 2015-05-04 [1cca37c](https://github.com/silverstripe/silverstripe-framework/commit/1cca37c9082ef53f02633d1bdac27f4a815d4208) File::getFileType() was case sensitive (fixes #3631) (Loz Calver)
* 2015-04-01 [7ff131d](https://github.com/silverstripe/silverstripe-framework/commit/7ff131daa76d345cff90410469accdcca9049cf1) Fix default casted (boolean)false evaluating to true in templates (Damian Mooyman)
* 2014-12-31 [71a14c3](https://github.com/silverstripe/silverstripe-framework/commit/71a14c30352e69e4c0ac59e5ea72e1da0c79009b) Prevent url= querystring argument override (Damian Mooyman)
* 2014-10-25 [28be51c](https://github.com/silverstripe/silverstripe-framework/commit/28be51cab0b567b692632503e0f440d30a2fe09e) Config state leaking between unit tests (Loz Calver)
* 2014-09-20 [bbc1cb8](https://github.com/silverstripe/silverstripe-framework/commit/bbc1cb82702b678b21bef15394f067c146e47625) #3458 iframe transport multi file upload FIX #3343, FIX #3148 (Thierry François)
* 2014-05-25 [40c5b8b](https://github.com/silverstripe/silverstripe-framework/commit/40c5b8b6758676a3e2a5daf3c438a7720c49baaf) FulltextFilter did not work and was not usable (micmania1)
* 2014-03-24 [fd755a7](https://github.com/silverstripe/silverstripe-framework/commit/fd755a7ff9de69802f04763570f69e4c3b68c08c) ChangePasswordForm validation message should render HTML correctly. (Sean Harvey)

View File

@ -0,0 +1,15 @@
# 3.2.0-rc1
See [3.2.0](/changelogs/3.2.0) changelog for more information on what is new in 3.2
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Bugfixes
* 2015-08-24 [f7c1983](https://github.com/silverstripe/silverstripe-framework/commit/f7c19830d663ee05d81f7fa504b1ef043b8361fe) Fix JS error on clicking collapsed panel (Damian Mooyman)
* 2015-08-24 [6c17397](https://github.com/silverstripe/silverstripe-cms/commit/6c173973229acc198cb467ee369bab5af96b7f13) block adding children from archived pages (Damian Mooyman)
* 2015-08-21 [0f81d5e](https://github.com/silverstripe/silverstripe-framework/commit/0f81d5ece57a50c0daaf0d86c2faa977f323663b) Fix bulk actions making sitetree unclickable (Damian Mooyman)
* 2015-08-18 [8b638f5](https://github.com/silverstripe/silverstripe-framework/commit/8b638f56fb737dac18126c291297c87469eb7d0f) Using undefined var in ModelAdmin (Loz Calver)
* 2015-08-09 [cf9d2d1](https://github.com/silverstripe/silverstripe-framework/commit/cf9d2d12ac7fc6a2509ee70f8e6f304b3b232019) Fix duplicate primary key crash on duplicate (Damian Mooyman)
* 2015-08-07 [1f0602d](https://github.com/silverstripe/silverstripe-framework/commit/1f0602d42fd9e1c0a4268f3a51aa7f483100a935) Fixed regression from ClassInfo case-sensitivity fix. (Sam Minnee)

View File

@ -238,7 +238,7 @@ class File extends DataObject {
*/
public static function find($filename) {
// Get the base file if $filename points to a resampled file
$filename = preg_replace('/_resampled\/[^-]+-/', '', $filename);
$filename = Image::strip_resampled_prefix($filename);
// Split to folders and the actual filename, and traverse the structure.
$parts = explode("/", $filename);

View File

@ -78,6 +78,29 @@ class Filesystem extends Object {
}
}
/**
* Remove a directory, but only if it is empty.
*
* @param string $folder Absolute folder path
* @param boolean $recursive Remove contained empty folders before attempting to remove this one
* @return boolean True on success, false on failure.
*/
public static function remove_folder_if_empty($folder, $recursive = true) {
if (!is_readable($folder)) return false;
$handle = opendir($folder);
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
// if an empty folder is detected, remove that one first and move on
if($recursive && is_dir($entry) && self::remove_folder_if_empty($entry)) continue;
// if a file was encountered, or a subdirectory was not empty, return false.
return false;
}
}
// if we are still here, the folder is empty.
rmdir($folder);
return true;
}
/**
* Cleanup function to reset all the Filename fields. Visit File/fixfiles to call.
*/

View File

@ -714,8 +714,10 @@ class Form extends RequestHandler {
$extraFields = new FieldList();
$token = $this->getSecurityToken();
$tokenField = $token->updateFieldSet($this->fields);
if($tokenField) $tokenField->setForm($this);
if ($token) {
$tokenField = $token->updateFieldSet($this->fields);
if($tokenField) $tokenField->setForm($this);
}
$this->securityTokenAdded = true;
// add the "real" HTTP method if necessary (for PUT, DELETE and HEAD)
@ -1405,7 +1407,7 @@ class Form extends RequestHandler {
if(is_object($data)) $this->record = $data;
// dont include fields without data
$dataFields = $this->fields->dataFields();
$dataFields = $this->Fields()->dataFields();
if($dataFields) foreach($dataFields as $field) {
$name = $field->getName();

View File

@ -27,7 +27,7 @@ class HtmlEditorField extends TextareaField {
private static $sanitise_server_side = false;
protected $rows = 30;
/**
* @deprecated since version 4.0
*/
@ -47,7 +47,7 @@ class HtmlEditorField extends TextareaField {
* @param string $title The human-readable field label.
* @param mixed $value The value of the field.
* @param string $config HTMLEditorConfig identifier to be used. Default to the active one.
*/
*/
public function __construct($name, $title = null, $value = '', $config = null) {
parent::__construct($name, $title, $value);
@ -101,7 +101,7 @@ class HtmlEditorField extends TextareaField {
// Add default empty title & alt attributes.
if(!$img->getAttribute('alt')) $img->setAttribute('alt', '');
if(!$img->getAttribute('title')) $img->setAttribute('title', '');
// Use this extension point to manipulate images inserted using TinyMCE, e.g. add a CSS class, change default title
// $image is the image, $img is the DOM model
$this->extend('processImage', $image, $img);
@ -458,14 +458,13 @@ class HtmlEditorField_Toolbar extends RequestHandler {
// but GridField doesn't allow for this kind of metadata customization at the moment.
if($url = $request->getVar('FileURL')) {
if(Director::is_absolute_url($url) && !Director::is_site_url($url)) {
$url = $url;
$file = new File(array(
'Title' => basename($url),
'Filename' => $url
));
} else {
$url = Director::makeRelative($request->getVar('FileURL'));
$url = preg_replace('/_resampled\/[^-]+-/', '', $url);
$url = Image::strip_resampled_prefix($url);
$file = File::get()->filter('Filename', $url)->first();
if(!$file) $file = new File(array(
'Title' => basename($url),
@ -897,16 +896,17 @@ class HtmlEditorField_Embed extends HtmlEditorField_File {
$this->oembed = Oembed::get_oembed_from_url($url);
if(!$this->oembed) {
$controller = Controller::curr();
$controller->response->addHeader('X-Status',
$response = $controller->getResponse();
$response->addHeader('X-Status',
rawurlencode(_t(
'HtmlEditorField.URLNOTANOEMBEDRESOURCE',
"The URL '{url}' could not be turned into a media resource.",
"The given URL is not a valid Oembed resource; the embed element couldn't be created.",
array('url' => $url)
)));
$controller->response->setStatusCode(404);
$response->setStatusCode(404);
throw new SS_HTTPResponse_Exception($controller->response);
throw new SS_HTTPResponse_Exception($response);
}
}

View File

@ -82,13 +82,6 @@ class NumericField extends TextField {
return 'numeric text';
}
public function getAttributes() {
return array_merge(parent::getAttributes(), array(
'type' => 'number',
'step' => 'any' // allows entering float/decimal numbers like "1.2" instead of just integers
));
}
/**
* Validate this field
*

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/ar.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/ar.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/cs.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/cs.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/de.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/de.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/en.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/en.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/en_GB.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/en_GB.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/eo.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/eo.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/es.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/es.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/fi.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/fi.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/fr.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/fr.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/id.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/id.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/id_ID.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/id_ID.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/it.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/it.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/ja.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/ja.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/lt.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/lt.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/mi.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/mi.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/nb.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/nb.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/nl.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/nl.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/pl.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/pl.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/ru.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/ru.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sk.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/sk.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sl.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/sl.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sr.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/sr.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -0,0 +1,47 @@
// This file was generated by silverstripe/cow from javascript/lang/src/sr@latin.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sr@latin', {
"VALIDATOR.FIELDREQUIRED": "Molimo Vas da popunite \"%s\", obavezno je.",
"HASMANYFILEFIELD.UPLOADING": "Postavljanje... %s",
"TABLEFIELD.DELETECONFIRMMESSAGE": "Da li ste sigurni da želite da izbrišete ovaj zapis?",
"LOADING": "Učitavanje...",
"UNIQUEFIELD.SUGGESTED": "Promenjena vrednost na '%s' : %s",
"UNIQUEFIELD.ENTERNEWVALUE": "Morate unesti novu vrednost za ovo polje",
"UNIQUEFIELD.CANNOTLEAVEEMPTY": "Ovo polje ne sme biti prazno",
"RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "Znak '%s' ne možete koristiti u ovom polju",
"UPDATEURL.CONFIRM": "Da li želite da promenim URL na:\n\n\n%s/\n\nKlikni na U redu da bi URL bio promenjen, klikni na Odustani da bi ostalo:\n\n%s",
"UPDATEURL.CONFIRMURLCHANGED": "URL je promenjen na\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Izbriši datoteku",
"FILEIFRAMEFIELD.UNATTACHFILE": "Otkači datoteku",
"FILEIFRAMEFIELD.DELETEIMAGE": "Izbriši sliku",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Da li ste sigurni da želite da izbrišete ovu datoteku?",
"LeftAndMain.IncompatBrowserWarning": "Vaš veb pregledač nije kompatibilan sa interfejsom CMS-a. Molimo Vas da koristite Internet Explorer 7+, Google Chrome 10+ ili Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "Prilikom preuzimanja podataka sa servera došlo je do greške.\nPokušajte ponovo kasnije.",
"HtmlEditorField.SelectAnchor": "Izaberi sidro",
"UploadField.ConfirmDelete": "Da li ste sigurni da želite da izbrišete ovu datoteku sa datotečkog sistema servera?",
"UploadField.PHP_MAXFILESIZE": "Datoteka premašuje upload_max_filesize (php.ini direktiva)",
"UploadField.HTML_MAXFILESIZE": "Datoteka premašuje MAX_FILE_SIZE (HTML direktiva obrazaca)",
"UploadField.ONLYPARTIALUPLOADED": "Datoteka je samo delimično postavljena",
"UploadField.NOFILEUPLOADED": "Ni jedna datoteka nije postavljena",
"UploadField.NOTMPFOLDER": "Nedostaje privremena fascikla",
"UploadField.WRITEFAILED": "Upisivanje datoteke na disk nije uspelo",
"UploadField.STOPEDBYEXTENSION": "Postavljanje datoteke je zaustavnjeno za ekstenziju",
"UploadField.TOOLARGE": "Datoteka je prevelika",
"UploadField.TOOSMALL": "Datoteka je premala",
"UploadField.INVALIDEXTENSION": "Ekstenzija nije dozvoljena",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Maksimalan broj datoteka je premašen",
"UploadField.UPLOADEDBYTES": "Postavljeni bajtovi premašuju veličinu datoteke",
"UploadField.EMPTYRESULT": "Rezultat postavljanja je prazna datoteka",
"UploadField.LOADING": "Učitavanje...",
"UploadField.Editing": "Uređivanje...",
"UploadField.Uploaded": "Postavljeno",
"UploadField.OVERWRITEWARNING": "Datoteka sa istim imenom već postoji",
"TreeDropdownField.ENTERTOSEARCH": "Pritisnite Enter za pretraživanje",
"TreeDropdownField.OpenLink": "Otvori",
"TreeDropdownField.FieldTitle": "Izaberi",
"TreeDropdownField.SearchFieldTitle": "Izaberi ili Pronađi"
});
}

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sr_RS.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/sr_RS.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -0,0 +1,47 @@
// This file was generated by silverstripe/cow from javascript/lang/src/sr_RS@latin.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('sr_RS@latin', {
"VALIDATOR.FIELDREQUIRED": "Molimo Vas da popunite \"%s\", obavezno je.",
"HASMANYFILEFIELD.UPLOADING": "Postavljanje... %s",
"TABLEFIELD.DELETECONFIRMMESSAGE": "Da li ste sigurni da želite da izbrišete ovaj zapis?",
"LOADING": "Učitavanje...",
"UNIQUEFIELD.SUGGESTED": "Promenjena vrednost na '%s' : %s",
"UNIQUEFIELD.ENTERNEWVALUE": "Morate unesti novu vrednost za ovo polje",
"UNIQUEFIELD.CANNOTLEAVEEMPTY": "Ovo polje ne sme biti prazno",
"RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "Znak '%s' ne možete koristiti u ovom polju",
"UPDATEURL.CONFIRM": "Da li želite da promenim URL na:\n\n\n%s/\n\nKlikni na U redu da bi URL bio promenjen, klikni na Odustani da bi ostalo:\n\n%s",
"UPDATEURL.CONFIRMURLCHANGED": "URL je promenjen na\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Izbriši datoteku",
"FILEIFRAMEFIELD.UNATTACHFILE": "Otkači datoteku",
"FILEIFRAMEFIELD.DELETEIMAGE": "Izbriši sliku",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Da li ste sigurni da želite da izbrišete ovu datoteku?",
"LeftAndMain.IncompatBrowserWarning": "Vaš veb pregledač nije kompatibilan sa interfejsom CMS-a. Molimo Vas da koristite Internet Explorer 7+, Google Chrome 10+ ili Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "Prilikom preuzimanja podataka sa servera došlo je do greške.\nPokušajte ponovo kasnije.",
"HtmlEditorField.SelectAnchor": "Izaberi sidro",
"UploadField.ConfirmDelete": "Da li ste sigurni da želite da izbrišete ovu datoteku sa datotečkog sistema servera?",
"UploadField.PHP_MAXFILESIZE": "Datoteka premašuje upload_max_filesize (php.ini direktiva)",
"UploadField.HTML_MAXFILESIZE": "Datoteka premašuje MAX_FILE_SIZE (HTML direktiva obrazaca)",
"UploadField.ONLYPARTIALUPLOADED": "Datoteka je samo delimično postavljena",
"UploadField.NOFILEUPLOADED": "Ni jedna datoteka nije postavljena",
"UploadField.NOTMPFOLDER": "Nedostaje privremena fascikla",
"UploadField.WRITEFAILED": "Upisivanje datoteke na disk nije uspelo",
"UploadField.STOPEDBYEXTENSION": "Postavljanje datoteke je zaustavnjeno za ekstenziju",
"UploadField.TOOLARGE": "Datoteka je prevelika",
"UploadField.TOOSMALL": "Datoteka je premala",
"UploadField.INVALIDEXTENSION": "Ekstenzija nije dozvoljena",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Maksimalan broj datoteka je premašen",
"UploadField.UPLOADEDBYTES": "Postavljeni bajtovi premašuju veličinu datoteke",
"UploadField.EMPTYRESULT": "Rezultat postavljanja je prazna datoteka",
"UploadField.LOADING": "Učitavanje...",
"UploadField.Editing": "Uređivanje...",
"UploadField.Uploaded": "Postavljeno",
"UploadField.OVERWRITEWARNING": "Datoteka sa istim imenom već postoji",
"TreeDropdownField.ENTERTOSEARCH": "Pritisnite Enter za pretraživanje",
"TreeDropdownField.OpenLink": "Otvori",
"TreeDropdownField.FieldTitle": "Izaberi",
"TreeDropdownField.SearchFieldTitle": "Izaberi ili Pronađi"
});
}

View File

@ -0,0 +1,41 @@
{
"VALIDATOR.FIELDREQUIRED": "Molimo Vas da popunite \"%s\", obavezno je.",
"HASMANYFILEFIELD.UPLOADING": "Postavljanje... %s",
"TABLEFIELD.DELETECONFIRMMESSAGE": "Da li ste sigurni da želite da izbrišete ovaj zapis?",
"LOADING": "Učitavanje...",
"UNIQUEFIELD.SUGGESTED": "Promenjena vrednost na '%s' : %s",
"UNIQUEFIELD.ENTERNEWVALUE": "Morate unesti novu vrednost za ovo polje",
"UNIQUEFIELD.CANNOTLEAVEEMPTY": "Ovo polje ne sme biti prazno",
"RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "Znak '%s' ne možete koristiti u ovom polju",
"UPDATEURL.CONFIRM": "Da li želite da promenim URL na:\n\n\n%s/\n\nKlikni na U redu da bi URL bio promenjen, klikni na Odustani da bi ostalo:\n\n%s",
"UPDATEURL.CONFIRMURLCHANGED": "URL je promenjen na\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Izbriši datoteku",
"FILEIFRAMEFIELD.UNATTACHFILE": "Otkači datoteku",
"FILEIFRAMEFIELD.DELETEIMAGE": "Izbriši sliku",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Da li ste sigurni da želite da izbrišete ovu datoteku?",
"LeftAndMain.IncompatBrowserWarning": "Vaš veb pregledač nije kompatibilan sa interfejsom CMS-a. Molimo Vas da koristite Internet Explorer 7+, Google Chrome 10+ ili Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "Prilikom preuzimanja podataka sa servera došlo je do greške.\nPokušajte ponovo kasnije.",
"HtmlEditorField.SelectAnchor": "Izaberi sidro",
"UploadField.ConfirmDelete": "Da li ste sigurni da želite da izbrišete ovu datoteku sa datotečkog sistema servera?",
"UploadField.PHP_MAXFILESIZE": "Datoteka premašuje upload_max_filesize (php.ini direktiva)",
"UploadField.HTML_MAXFILESIZE": "Datoteka premašuje MAX_FILE_SIZE (HTML direktiva obrazaca)",
"UploadField.ONLYPARTIALUPLOADED": "Datoteka je samo delimično postavljena",
"UploadField.NOFILEUPLOADED": "Ni jedna datoteka nije postavljena",
"UploadField.NOTMPFOLDER": "Nedostaje privremena fascikla",
"UploadField.WRITEFAILED": "Upisivanje datoteke na disk nije uspelo",
"UploadField.STOPEDBYEXTENSION": "Postavljanje datoteke je zaustavnjeno za ekstenziju",
"UploadField.TOOLARGE": "Datoteka je prevelika",
"UploadField.TOOSMALL": "Datoteka je premala",
"UploadField.INVALIDEXTENSION": "Ekstenzija nije dozvoljena",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Maksimalan broj datoteka je premašen",
"UploadField.UPLOADEDBYTES": "Postavljeni bajtovi premašuju veličinu datoteke",
"UploadField.EMPTYRESULT": "Rezultat postavljanja je prazna datoteka",
"UploadField.LOADING": "Učitavanje...",
"UploadField.Editing": "Uređivanje...",
"UploadField.Uploaded": "Postavljeno",
"UploadField.OVERWRITEWARNING": "Datoteka sa istim imenom već postoji",
"TreeDropdownField.ENTERTOSEARCH": "Pritisnite Enter za pretraživanje",
"TreeDropdownField.OpenLink": "Otvori",
"TreeDropdownField.FieldTitle": "Izaberi",
"TreeDropdownField.SearchFieldTitle": "Izaberi ili Pronađi"
}

View File

@ -0,0 +1,41 @@
{
"VALIDATOR.FIELDREQUIRED": "Molimo Vas da popunite \"%s\", obavezno je.",
"HASMANYFILEFIELD.UPLOADING": "Postavljanje... %s",
"TABLEFIELD.DELETECONFIRMMESSAGE": "Da li ste sigurni da želite da izbrišete ovaj zapis?",
"LOADING": "Učitavanje...",
"UNIQUEFIELD.SUGGESTED": "Promenjena vrednost na '%s' : %s",
"UNIQUEFIELD.ENTERNEWVALUE": "Morate unesti novu vrednost za ovo polje",
"UNIQUEFIELD.CANNOTLEAVEEMPTY": "Ovo polje ne sme biti prazno",
"RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "Znak '%s' ne možete koristiti u ovom polju",
"UPDATEURL.CONFIRM": "Da li želite da promenim URL na:\n\n\n%s/\n\nKlikni na U redu da bi URL bio promenjen, klikni na Odustani da bi ostalo:\n\n%s",
"UPDATEURL.CONFIRMURLCHANGED": "URL je promenjen na\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Izbriši datoteku",
"FILEIFRAMEFIELD.UNATTACHFILE": "Otkači datoteku",
"FILEIFRAMEFIELD.DELETEIMAGE": "Izbriši sliku",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Da li ste sigurni da želite da izbrišete ovu datoteku?",
"LeftAndMain.IncompatBrowserWarning": "Vaš veb pregledač nije kompatibilan sa interfejsom CMS-a. Molimo Vas da koristite Internet Explorer 7+, Google Chrome 10+ ili Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "Prilikom preuzimanja podataka sa servera došlo je do greške.\nPokušajte ponovo kasnije.",
"HtmlEditorField.SelectAnchor": "Izaberi sidro",
"UploadField.ConfirmDelete": "Da li ste sigurni da želite da izbrišete ovu datoteku sa datotečkog sistema servera?",
"UploadField.PHP_MAXFILESIZE": "Datoteka premašuje upload_max_filesize (php.ini direktiva)",
"UploadField.HTML_MAXFILESIZE": "Datoteka premašuje MAX_FILE_SIZE (HTML direktiva obrazaca)",
"UploadField.ONLYPARTIALUPLOADED": "Datoteka je samo delimično postavljena",
"UploadField.NOFILEUPLOADED": "Ni jedna datoteka nije postavljena",
"UploadField.NOTMPFOLDER": "Nedostaje privremena fascikla",
"UploadField.WRITEFAILED": "Upisivanje datoteke na disk nije uspelo",
"UploadField.STOPEDBYEXTENSION": "Postavljanje datoteke je zaustavnjeno za ekstenziju",
"UploadField.TOOLARGE": "Datoteka je prevelika",
"UploadField.TOOSMALL": "Datoteka je premala",
"UploadField.INVALIDEXTENSION": "Ekstenzija nije dozvoljena",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Maksimalan broj datoteka je premašen",
"UploadField.UPLOADEDBYTES": "Postavljeni bajtovi premašuju veličinu datoteke",
"UploadField.EMPTYRESULT": "Rezultat postavljanja je prazna datoteka",
"UploadField.LOADING": "Učitavanje...",
"UploadField.Editing": "Uređivanje...",
"UploadField.Uploaded": "Postavljeno",
"UploadField.OVERWRITEWARNING": "Datoteka sa istim imenom već postoji",
"TreeDropdownField.ENTERTOSEARCH": "Pritisnite Enter za pretraživanje",
"TreeDropdownField.OpenLink": "Otvori",
"TreeDropdownField.FieldTitle": "Izaberi",
"TreeDropdownField.SearchFieldTitle": "Izaberi ili Pronađi"
}

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sv.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/sv.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -1,5 +1,5 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/zh.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
// This file was generated by silverstripe/cow from javascript/lang/src/zh.js.
// See https://github.com/tractorcow/cow for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {

View File

@ -229,10 +229,7 @@ af:
CANT_REORGANISE: 'Jy het nie toestemming om Top vlak bladsye te verander nie. Jou verandering is nie gestoor nie.'
DELETED: Was verwyder
DropdownBatchActionsDefault: Aksies
PAGETYPE: 'Bladsy tipe:'
PERMAGAIN: 'Jy is uit die IBS uitgeteken. As jy weer wil inteken, moet jy ''n gebruikersnaam en wagwoord onder in tik'
PERMALREADY: 'Ek is jammer, maar jy het nie toestemming om dié gedeelte van die IBS te besugtig nie. As jy as iemand anders wil inteken doen so hieronder'
PERMDEFAULT: 'Kies asseblief ''n kontroleer metode en sleutel jou sekuriteit''s besonderhede in'
PLEASESAVE: 'Stoor asseblief die bladsy: Die bladsy kon nie opgedateer word nie omdat dit nog nie gestoor is nie'
PreviewButton: Beskou
REORGANISATIONSUCCESSFUL: 'Die ''site tree'' is suksesvol geheorganiseer'

View File

@ -298,17 +298,13 @@ ar:
DELETED: تم الحذف.
DropdownBatchActionsDefault: أفعال
HELP: مساعدة
PAGETYPE: 'نوع الصفحة:'
PERMAGAIN: 'تم خروجك من النظام بنجاح. للدخول مرة أخرى أدحل البريد الإلكتروني و الرقم السري بالأسفل'
PERMALREADY: 'عذراً , لكن لا يمكنك الوصول لهذا القسم من النظام. يتوجب عليك الدخول بصلاحية أخرى'
PERMDEFAULT: 'أدخل البريد الإلكتروني و الرقم السري للوصول إلى نظام إدارة المحتوى'
PreviewButton: استعراض
REORGANISATIONSUCCESSFUL: 'تم إعادة تنظيم خريطة الموقع بنجاح'
SAVEDUP: تم الحفظ.
ShowAsList: 'عرض كقائمة'
TooManyPages: 'صفحات كثيرة جداً'
ValidationError: 'خطأ في عملية التحقق'
VersionUnknown: غير معروف
LeftAndMain_Menu_ss:
Hello: مرحباً
LOGOUT: 'تسجيل الخروج'
@ -386,7 +382,6 @@ ar:
Toggle: 'إظهار تعليمات التنسيق'
MemberImportForm:
Help1: '<p> استيراد مستخدمين بالداخل <em> ملف بصيغة CSV</em> (قيم مفصولة بفواصل).<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>المستخدمين الحاليين يتم مطابقتهم بواسطة خصائصهم الفريدة من نوعها <em>رمز</em> و يمكن تحديثهم بأى قيم جديدة من الملف المستورد</li>\n<li>يمكن تعيين مجموعات من <em>مجموعات</em> عمود. يتم تعريف المجموعات من قبل <em>رمز</em>خصائصها. و يمكن فصل مجموعات متعددة بواسطة فاصلة. لا يتم مسح عضوية المجموعة الحالية.</li>\n</ul></div>"
ResultCreated: '{عدد} الأعضاء الذين تم إنشاؤهم'
ResultDeleted: 'حذف %d أعضاء'
ResultNone: 'بدون تغيير'

View File

@ -216,14 +216,10 @@ bg:
DELETED: Изтрит
DropdownBatchActionsDefault: Действия
HELP: Помощ
PAGETYPE: 'Тип на страницата'
PERMAGAIN: 'Вие излязохте от CMS. Ако искате да влезете отново, моля, въведете потребителско име и парола.'
PERMALREADY: 'Съжалявам, но нямате достъп до тази част от CMS. Ако искате да влезете с друго потребителско име, моля, направете го по-долу'
PERMDEFAULT: 'Въведете имейл адреса и паролата си, за да влезете в CMS.'
PreviewButton: Преглед
REORGANISATIONSUCCESSFUL: 'Реорганизацията на дървото на сайта беше успешна.'
SAVEDUP: Записано
VersionUnknown: непозната
LeftAndMain_Menu_ss:
Hello: Здравей
LOGOUT: 'Излизане'

View File

@ -100,10 +100,7 @@ bs:
TITLE: 'Iframe za postavljanje slika'
LeftAndMain:
HELP: Pomoć
PAGETYPE: 'Tip stranice:'
PERMAGAIN: 'Odjavljeni ste sa CMS-a. Ukoliko se želite ponovo prijaviti, unesite korisničko ime i šifru ispod.'
PERMALREADY: 'Žao nam je ali ne možete pristupiti ovom dijelu CMS-a. Ako se želite prijaviti sa drugim korisnikom uradite to ispod'
PERMDEFAULT: 'Unesite vašu e-mail adresu i šifru kako biste pristupili CMS-u.'
Member:
BUTTONCHANGEPASSWORD: 'Promijeni šifru'
BUTTONLOGIN: 'Prijava'

View File

@ -119,10 +119,7 @@ ca:
TITLE: 'Iframe Carregador d''imatge'
LeftAndMain:
HELP: Ajuda
PAGETYPE: 'Tipus de pàgina:'
PERMAGAIN: 'Heu estat desconnectat del SGC. Si voleu entrar de nou, introduïu un nom d''usuari i contrasenya a sota'
PERMALREADY: 'Lamentant-ho molt, no podeu accedir a aquesta part del SGC. Si voleu entrar com a algú altre, feu-ho a sota'
PERMDEFAULT: 'Introduïu la vostra adreça de correu electrònic i la contrasenya per a entrar al SGC.'
LoginAttempt:
Email: 'Adreça de correu'
IP: 'Adreça IP'

View File

@ -70,10 +70,22 @@ cs:
ACCESSALLINTERFACES: 'Přístup ke všem sekcím CMS'
ACCESSALLINTERFACESHELP: 'Prepíše více specifické nastavení přístupu.'
SAVE: Uložit
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Zapomenuté heslo?'
BUTTONLOGIN: 'Přihlásit se zpět'
BUTTONLOGOUT: 'Odhlásit se'
PASSWORDEXPIRED: '<p>Vaše heslo expirovalo. <a target="_top" href="{link}">Prosím zvolte nové heslo.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Náhled webu'
CMSProfileController:
MENUTITLE: 'Můj profil'
CMSSecurity:
INVALIDUSER: '<p>Neplatný uživatel. <a target="_top" href="{link}">Prosím oveřte se zde</a> pro pokračování.</p>'
LoginMessage: '<p>Máte-li jakékoli neuložené práce, můžete se vrátit na místo, kde jste přestali, po přihlášení se zpět níže.</p>'
SUCCESS: Úspěch
SUCCESSCONTENT: '<p>Úspěšné přihlášení. Pokud nebudete automaticky přesměrován <a target="_top" href="{link}">klikněte sem</a></p>'
TimedOutTitleAnonymous: 'Čas Vašeho sezení vypršel.'
TimedOutTitleMember: 'Ahoj {name}!<br />Čas Vašeho sezení vypršel.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Vaše heslo bylo změněno pro'
CHANGEPASSWORDTEXT2: 'Nyní můžete použít následující přihlašovací údaje pro přihlášení:'
@ -85,18 +97,8 @@ cs:
YESANSWER: 'Ano'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v seznamu. {value} není platná volba'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Zapomenuté heslo?'
BUTTONLOGIN: 'Přihlásit se zpět'
BUTTONLOGOUT: 'Odhlásit se'
PASSWORDEXPIRED: '<p>Vaše heslo expirovalo. <a target="_top" href="{link}">Prosím zvolte nové heslo.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Neplatný uživatel. <a target="_top" href="{link}">Prosím oveřte se zde</a> pro pokračování.</p>'
LoginMessage: '<p>Máte-li jakékoli neuložené práce, můžete se vrátit na místo, kde jste přestali, po přihlášení se zpět níže.</p>'
SUCCESS: Úspěch
SUCCESSCONTENT: '<p>Úspěšné přihlášení. Pokud nebudete automaticky přesměrován <a target="_top" href="{link}">klikněte sem</a></p>'
TimedOutTitleAnonymous: 'Čas Vašeho sezení vypršel.'
TimedOutTitleMember: 'Ahoj {name}!<br />Čas Vašeho sezení vypršel.'
CheckboxSetField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v seznamu. ''{value}'' není platná volba'
ConfirmedPasswordField:
ATLEAST: 'Hesla musí být nejméně {min} znaků dlouhé.'
BETWEEN: 'Hesla musí být {min} až {max} znaků dlouhé.'
@ -191,6 +193,7 @@ cs:
TEXT2: 'odkaz na reset hesla'
TEXT3: pro
Form:
CSRF_EXPIRED_MESSAGE: 'Čas Vašeho sezení vypršel. Prosím znovu odešlete formulář.'
CSRF_FAILED_MESSAGE: 'Vypadá to, že to musí být technický problém. Kliněte prosím na tlačítko zpět, obnovte váš prohlížeč a zkuste opět.'
FIELDISREQUIRED: '{name} je požadováno'
SubmitBtnLabel: Jdi
@ -201,7 +204,6 @@ cs:
VALIDATIONSTRONGPASSWORD: 'Hesla musí obsahovat alespoň jednu číslici a jedno písmeno.'
VALIDATOR: Validátor
VALIDCURRENCY: 'Prosím zadejte platnou měnu'
CSRF_EXPIRED_MESSAGE: 'Čas Vašeho sezení vypršel. Prosím znovu odešlete formulář.'
FormField:
Example: 'např. %s'
NONE: žádný
@ -258,7 +260,6 @@ cs:
many_many_Members: Členové
GroupImportForm:
Help1: '<p>Import jedné nebo více skupin v <em>CSV</em> formátu (čárkou-oddělené hodnoty). <small><a href="#" class="toggle-advanced">Zobrazit rozšířené použití</a></small></p>'
Help2: "<div class=\"advanced\">\n\t<h4>Pokročilé použití</h4>\n\t<ul>\n\t<li>Povolené sloupce: <em>%s</em></li>\n\t<li>Existující skupiny jsou porovnány jejich unikátním <em>Code</em> hodnotou, a aktualizovány s novými hodnotami z\\nimportovaného souboru</li>\n\t<li>Hierarchie skupin může být tvořena použitím <em>ParentCode</em> sloupce.</li>\n\t<li>Kódy oprávnění mohou být přiřazeny <em>PermissionCode</em> sloupcem. Existující oprávnění nejsou smazána.</li>\n\t</ul>\n</div>"
ResultCreated: 'Vytvořeno {count} skupin'
ResultDeleted: 'Smazáno %d skupin'
ResultUpdated: 'Aktualizováno %d skupin'
@ -309,10 +310,10 @@ cs:
LINKOPENNEWWIN: 'Otevřít odkaz v novém okně?'
LINKTO: 'Odkázat na'
PAGE: Stránku
SUBJECT: 'Předmět emailu'
URL: URL
URLNOTANOEMBEDRESOURCE: 'URL ''{url}'' nemůže být vloženo do zdroje médií.'
UpdateMEDIA: 'Aktualizovat média'
SUBJECT: 'Předmět emailu'
Image:
PLURALNAME: Soubory
SINGULARNAME: Soubor
@ -326,10 +327,8 @@ cs:
DELETED: Smazáno.
DropdownBatchActionsDefault: Akcie
HELP: Nápověda
PAGETYPE: 'Typ stránky:'
PAGETYPE: 'Typ stránky'
PERMAGAIN: 'Byli jste odhlášeni z CMS. Pokud se chcete znovu přihlásit, zadejte níže své uživatelské jméno a heslo.'
PERMALREADY: 'Je nám líto, ale nemůžete vstoupit do této části CMS. Pokud se chcete přihlásit jako někdo jiný, udělejte tak níže'
PERMDEFAULT: 'Pro přístup do CMS zadejte Vaši e-mailovou adresu a heslo.'
PLEASESAVE: 'Uložte stránku, prosím. Tato stránka nemůže být aktualizována, protože ještě nebyla uložena.'
PreviewButton: Náhled
REORGANISATIONSUCCESSFUL: 'Strom webu reorganizován úspěšně.'
@ -337,7 +336,7 @@ cs:
ShowAsList: 'ukázat jako seznam'
TooManyPages: 'Příliš mnoho stránek'
ValidationError: 'Chyba platnosti'
VersionUnknown: Neznámý
VersionUnknown: neznámé
LeftAndMain_Menu_ss:
Hello: Ahoj
LOGOUT: 'Odhlásit se'
@ -418,7 +417,6 @@ cs:
Toggle: 'Ukázat nápovědu formátování'
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>'
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>"
ResultCreated: 'Vytvořeno {count} členů'
ResultDeleted: 'Smazáno %d členů'
ResultNone: 'Žádné změny'
@ -482,8 +480,8 @@ cs:
SINGULARNAME: Role
Title: Název
PermissionRoleCode:
PermsError: 'Nelze připojit kód "%s" s privilegovanými právy (vyžaduje ADMIN přístup)'
PLURALNAME: 'Kódy role oprávnění'
PermsError: 'Nelze připojit kód "%s" s privilegovanými právy (vyžaduje ADMIN přístup)'
SINGULARNAME: 'Kód role oprávnění'
Permissions:
PERMISSIONS_CATEGORY: 'Role a přístupová práva'
@ -585,5 +583,3 @@ cs:
UPLOADSINTO: 'uloží do /{path}'
Versioned:
has_many_Versions: Verze
CheckboxSetField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v seznamu. ''{value}'' není platná volba'

View File

@ -70,10 +70,22 @@ de:
ACCESSALLINTERFACES: 'Zugriff auf alle Bereiche des CMS'
ACCESSALLINTERFACESHELP: 'Hebt alle bereichspezifischen Berechtigungen auf.'
SAVE: Speichern
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Passwort vergessen?'
BUTTONLOGIN: 'Wieder einloggen'
BUTTONLOGOUT: 'Abmelden'
PASSWORDEXPIRED: '<p>Ihr Passwort ist abgelaufen. <a target="_top" href="{link}">Bitte wählen Sie ein neues Passwort.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Vorschau der Webseite'
CMSProfileController:
MENUTITLE: 'Mein Profil'
CMSSecurity:
INVALIDUSER: '<p>Ungültiger Benutzer. <a target="_top" href="{link}">Bitte melden Sie sich hier an</a> um fortzufahren.</p>'
LoginMessage: '<p>Wenn Sie ungespeicherte Arbeiten haben, können Sie wieder weiterarbeiten indem Sie sich unterhalb einloggen.</p>'
SUCCESS: Erfolg
SUCCESSCONTENT: '<p>Login erfolgreich. Falls Sie nicht automatisch weitergeleitet werden, bitte <a target="_top" href="{link}">hier klicken</a></p>'
TimedOutTitleAnonymous: 'Ihre Sitzung ist abgelaufen.'
TimedOutTitleMember: 'Hallo {name}!<br />Ihre Sitzung ist abgelaufen.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Sie haben Ihr Passwort geändert für'
CHANGEPASSWORDTEXT2: 'Sie können nun folgende Angaben benutzen um sich einzuloggen:'
@ -85,18 +97,8 @@ de:
YESANSWER: 'Ja'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. {value} ist kein gültiger Wert'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Passwort vergessen?'
BUTTONLOGIN: 'Wieder einloggen'
BUTTONLOGOUT: 'Abmelden'
PASSWORDEXPIRED: '<p>Ihr Passwort ist abgelaufen. <a target="_top" href="{link}">Bitte wählen Sie ein neues Passwort.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Ungültiger Benutzer. <a target="_top" href="{link}">Bitte melden Sie sich hier an</a> um fortzufahren.</p>'
LoginMessage: '<p>Wenn Sie ungespeicherte Arbeiten haben, können Sie wieder weiterarbeiten indem Sie sich unterhalb einloggen.</p>'
SUCCESS: Erfolg
SUCCESSCONTENT: '<p>Login erfolgreich. Falls Sie nicht automatisch weitergeleitet werden, bitte <a target="_top" href="{link}">hier klicken</a></p>'
TimedOutTitleAnonymous: 'Ihre Sitzung ist abgelaufen.'
TimedOutTitleMember: 'Hallo {name}!<br />Ihre Sitzung ist abgelaufen.'
CheckboxSetField:
SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. {value} ist kein gültiger Wert'
ConfirmedPasswordField:
ATLEAST: 'Passwörter müssen mindestens {min} Zeichen lang sein.'
BETWEEN: 'Passwörter müssen zwischen {min} und {max} Zeichen lang sein.'
@ -191,6 +193,7 @@ de:
TEXT2: 'Link zum Zurücksetzen des Passworts'
TEXT3: für
Form:
CSRF_EXPIRED_MESSAGE: 'Ihre Sitzung ist abgelaufen. Bitte schicken Sie das Formular erneut ab.'
CSRF_FAILED_MESSAGE: 'Es gab ein technisches Problem. Bitte versuchen Sie es erneut, nachdem sie die vorherige Seite neu geladen haben.'
FIELDISREQUIRED: '{name} muss ausgefüllt werden'
SubmitBtnLabel: Los
@ -201,7 +204,6 @@ de:
VALIDATIONSTRONGPASSWORD: 'Passwörter müssen mindestens eine Zahl und ein alphanumerisches Zeichen enthalten'
VALIDATOR: Prüfer
VALIDCURRENCY: 'Bitte geben Sie einen korrekten Betrag ein'
CSRF_EXPIRED_MESSAGE: 'Ihre Sitzung ist abgelaufen. Bitte schicken Sie das Formular erneut ab.'
FormField:
Example: 'z.B. %s'
NONE: keine
@ -258,7 +260,6 @@ de:
many_many_Members: Mitglieder
GroupImportForm:
Help1: '<p>Eine oder mehrere Gruppen 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 Gruppen werden anhand ihres eindeutigen <em>Code</em> identifiziert und um neue Einträge aus der Importdatei erweitert.</li>\\n\n<li>Hierarchien von Gruppen können über die Spalte <em>ParentCode</em> definiert werden.</li>\n<li>Berechtigungen können in der Spalte <em>PermissionCode</em> hinzugefügt werden. Schon zugewiesene Berechtigungen werden nicht entfernt.</li>\\n</ul>\\n</div>"
ResultCreated: '{count} Gruppe(n) wurden erstellt'
ResultDeleted: '%d Gruppe(n) gelöscht'
ResultUpdated: '%d Gruppe(n) aktualisiert'
@ -309,10 +310,10 @@ de:
LINKOPENNEWWIN: 'Verweis in neuem Fenster öffnen?'
LINKTO: 'Verweis zu'
PAGE: Seite
SUBJECT: 'E-Mail-Betreff'
URL: URL
URLNOTANOEMBEDRESOURCE: 'Die URL ''{url}'' konnte nicht in eine Medienquelle umgewandelt werden'
UpdateMEDIA: 'Medienobjekt aktualisieren'
SUBJECT: 'E-Mail-Betreff'
Image:
PLURALNAME: Dateien
SINGULARNAME: Datei
@ -326,10 +327,8 @@ de:
DELETED: Gelöscht.
DropdownBatchActionsDefault: Aktionen
HELP: Hilfe
PAGETYPE: 'Seitentyp:'
PAGETYPE: 'Seitentyp'
PERMAGAIN: 'Sie wurden aus dem System ausgeloggt. Falls Sie sich wieder einloggen möchten, geben Sie bitte Benutzernamen und Passwort im untenstehenden Formular an.'
PERMALREADY: 'Leider dürfen Sie diesen Teil des CMS nicht aufrufen. Wenn Sie sich als jemand anderes einloggen wollen, benutzen Sie bitte das nachstehende Formular.'
PERMDEFAULT: 'Bitte wählen Sie eine Authentifizierungsmethode und geben Sie Ihre Benutzerdaten für den Zugang zum CMS ein.'
PLEASESAVE: 'Diese Seite konnte nicht aktualisiert werden weil sie noch nicht gespeichert wurde - bitte speichern.'
PreviewButton: Vorschau
REORGANISATIONSUCCESSFUL: 'Der Seitenbaum wurde erfolgreich sortiert.'
@ -337,7 +336,7 @@ de:
ShowAsList: 'als Liste zeigen'
TooManyPages: 'Zu viele Seiten'
ValidationError: 'Eingabefehler'
VersionUnknown: Unbekannt
VersionUnknown: unbekannt
LeftAndMain_Menu_ss:
Hello: Hallo
LOGOUT: 'Abmelden'
@ -418,7 +417,6 @@ de:
Toggle: 'Hilfe zur Formatierung anzeigen'
MemberImportForm:
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>"
ResultCreated: '{count} Mitglied(er) wurde(n) erstellt'
ResultDeleted: '%d Mitglied(er) gelöscht'
ResultNone: 'Keine Änderungen'
@ -482,8 +480,8 @@ de:
SINGULARNAME: Rolle
Title: Titel
PermissionRoleCode:
PermsError: 'Kann Berechtigungen dem Code "%s" nicht hinzufügen (erfordert Administratorrechte)'
PLURALNAME: 'Berechtigungsrollencodes'
PermsError: 'Kann Berechtigungen dem Code "%s" nicht hinzufügen (erfordert Administratorrechte)'
SINGULARNAME: 'Berechtigungsrollencode'
Permissions:
PERMISSIONS_CATEGORY: 'Rollen und Zugriffsberechtigungen'
@ -585,5 +583,3 @@ de:
UPLOADSINTO: 'speichert nach /{path}'
Versioned:
has_many_Versions: Versionen
CheckboxSetField:
SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. {value} ist kein gültiger Wert'

View File

@ -260,7 +260,7 @@ en:
many_many_Members: Members
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>'
Help2: "<div class=\"advanced\">\n <h4>Advanced usage</h4>\n <ul>\n <li>Allowed columns: <em>%s</em></li>\n <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the\n imported file</li>\n <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li>\n <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not\n cleared.</li>\n </ul>\n</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'
ResultDeleted: 'Deleted %d groups'
ResultUpdated: 'Updated %d groups'
@ -330,8 +330,8 @@ en:
HELP: Help
PAGETYPE: 'Page type'
PERMAGAIN: 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.'
PERMALREADY: 'I''m sorry, but you can''t access that part of the CMS. If you want to log in as someone else, do so below'
PERMDEFAULT: 'Please choose an authentication method and enter your credentials to access the CMS.'
PERMALREADY: 'I''m sorry, but you can''t access that part of the CMS. If you want to log in as someone else, do so below.'
PERMDEFAULT: 'You must be logged in to access the administration area; please enter your credentials below.'
PLEASESAVE: 'Please Save Page: This page could not be updated because it hasn''t been saved yet.'
PreviewButton: Preview
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
@ -420,7 +420,7 @@ en:
Toggle: 'Show formatting help'
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>'
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"><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'
ResultDeleted: 'Deleted %d members'
ResultNone: 'No changes'

View File

@ -70,10 +70,22 @@ eo:
ACCESSALLINTERFACES: 'Aliro al ĉiuj interfacoj de CMS'
ACCESSALLINTERFACESHELP: 'Nuligas pli specifajn alirajn agordojn.'
SAVE: Konservi
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Ĉu forgesis pasvorton?'
BUTTONLOGIN: 'Ree ensaluti'
BUTTONLOGOUT: 'Adiaŭi'
PASSWORDEXPIRED: '<p>Via pasvorto finiĝis. <a target="_top" href="{link}">Bonvolu elekti novan.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Antaŭvido de retejo'
CMSProfileController:
MENUTITLE: 'Mia agordaro'
CMSSecurity:
INVALIDUSER: '<p>Nevalida uzanto. <a target="_top" href="{link}">Bonvolu aŭtentigi ĉi tie</a> por daŭrigi.</p>'
LoginMessage: '<p>Se vi havas nekonservitan laboraĵon vi povos reveni al kie vi paŭzis reensalutante sube.</p>'
SUCCESS: Sukseso
SUCCESSCONTENT: '<p>Ensaluto suksesis. Se vi ne aŭtomate alidirektiĝos, <a target="_top" href="{link}">alklaku ĉi tie</a></p>'
TimedOutTitleAnonymous: 'Via seanco eltempiĝis.'
TimedOutTitleMember: 'He, {name}!<br />Via seanco eltempiĝis.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Vi ŝanĝis vian pasvorton por'
CHANGEPASSWORDTEXT2: 'Nun vi povas uzi la jenan legitimaĵon por ensaluti:'
@ -85,18 +97,8 @@ eo:
YESANSWER: 'Jes'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Bonvolu elekti valoron el la listo donita. {value} ne estas valida agordo'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Ĉu forgesis pasvorton?'
BUTTONLOGIN: 'Ree ensaluti'
BUTTONLOGOUT: 'Adiaŭi'
PASSWORDEXPIRED: '<p>Via pasvorto finiĝis. <a target="_top" href="{link}">Bonvolu elekti novan.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Nevalida uzanto. <a target="_top" href="{link}">Bonvolu aŭtentigi ĉi tie</a> por daŭrigi.</p>'
LoginMessage: '<p>Se vi havas nekonservitan laboraĵon vi povos reveni al kie vi paŭzis reensalutante sube.</p>'
SUCCESS: Sukseso
SUCCESSCONTENT: '<p>Ensaluto suksesis. Se vi ne aŭtomate alidirektiĝos, <a target="_top" href="{link}">alklaku ĉi tie</a></p>'
TimedOutTitleAnonymous: 'Via seanco eltempiĝis.'
TimedOutTitleMember: 'He, {name}!<br />Via seanco eltempiĝis.'
CheckboxSetField:
SOURCE_VALIDATION: 'Bonvolu elekti valoron el la listo donita. {value} ne estas valida agordo'
ConfirmedPasswordField:
ATLEAST: 'Pasvorto devas esti almenaŭ {min} signojn longa.'
BETWEEN: 'Pasvorto devas esti inter {min} kaj {max} signojn longa.'
@ -191,6 +193,7 @@ eo:
TEXT2: 'pasvorta reagorda ligilo'
TEXT3: por
Form:
CSRF_EXPIRED_MESSAGE: 'Via seanco finiĝis. Bonvole resendu la formularon.'
CSRF_FAILED_MESSAGE: 'Ŝajne okazis teknika problemo. Bonvolu alklaki la retrobutonon, refreŝigi vian foliumilon, kaj reprovi.'
FIELDISREQUIRED: '{name} estas bezonata'
SubmitBtnLabel: Iri
@ -201,7 +204,6 @@ eo:
VALIDATIONSTRONGPASSWORD: 'Pasvorto devas havi almenaŭ unu signon kaj unu literon.'
VALIDATOR: Validigilo
VALIDCURRENCY: 'Bonvole enigu validan kurzon'
CSRF_EXPIRED_MESSAGE: 'Via seanco finiĝis. Bonvole resendu la formularon.'
FormField:
Example: 'ekz. %s'
NONE: neniu
@ -258,7 +260,6 @@ eo:
many_many_Members: Membroj
GroupImportForm:
Help1: '<p>Importi unu aŭ pliaj grupojn en formato <em>CSV</em> (perkome disigitaj valoroj values). <small><a href="#" class="toggle-advanced">Vidigi spertulan uzadon</a></small></p>'
Help2: "<div class=\"advanced\">\n\t<h4>Speciala uzado</h4>\n\t<ul>\n\t<li>Permesitaj kolumnoj: <em>%s</em></li>\n\t<li>Ekzistantaj grupoj kongruiĝas laŭ ilia unika valoro <em>Kodo</em>, kaj aktualiĝas per eventualaj novaj valoroj el la importita dosiero</li>\n\t<li>Grupaj hierarkioj estas kreeblaj uzante kolumnon <em>PraKodo</em>.</li>\n\t<li>Permesaj kodoj estas agordeblaj de la kolumno <em>PermesKodo</em>. Ekzistantaj permesaj kodoj ne vakiĝos.</li>\n\t</ul>\n</div>"
ResultCreated: 'Kreiĝis {count} grupoj'
ResultDeleted: 'Forigis %d grupojn'
ResultUpdated: 'Aktualigis %d grupojn'
@ -309,10 +310,10 @@ eo:
LINKOPENNEWWIN: 'Malfermi ligilon en nova fenestro?'
LINKTO: 'Ligilo al'
PAGE: Paĝo
SUBJECT: 'Temo de retpoŝto'
URL: URL
URLNOTANOEMBEDRESOURCE: 'La URL ''{url}'' ne estas konvertebla al memorilo.'
UpdateMEDIA: 'Ĝisdatigi memorilon'
SUBJECT: 'Temo de retpoŝto'
Image:
PLURALNAME: Dosieroj
SINGULARNAME: Dosiero
@ -326,10 +327,7 @@ eo:
DELETED: Forigita.
DropdownBatchActionsDefault: Agoj
HELP: Helpo
PAGETYPE: 'Tipo de paĝo:'
PERMAGAIN: 'Vin adiaŭis la CMS. Se vi volas denove saluti, enigu salutnomon kaj pasvorton malsupre.'
PERMALREADY: 'Bedaŭrinde vi ne povas aliri tiun parton de la CMS. Se vi volas saluti kiel iu alia, tiel faru sube'
PERMDEFAULT: 'Enigi vian retadreson kaj pasvorton por aliri al la CMS.'
PLEASESAVE: 'Bonvolu konservi paĝon: ne povis ĝisdatigi ĉi tiun paĝon ĉar ĝi ankoraŭ estas nekonservita.'
PreviewButton: Antaŭvido
REORGANISATIONSUCCESSFUL: 'Sukcese reorganizis la retejan arbon.'
@ -337,7 +335,6 @@ eo:
ShowAsList: 'vidigi kiel liston'
TooManyPages: 'Tro da paĝoj'
ValidationError: 'Validiga eraro'
VersionUnknown: Nekonata
LeftAndMain_Menu_ss:
Hello: Saluton
LOGOUT: 'Elsaluti'
@ -416,7 +413,6 @@ eo:
Toggle: 'Vidigi aranĝa helpo'
MemberImportForm:
Help1: '<p>Importi membrojn en <em>CSV-formato</em> (diskomaj valoroj ). <small><a href="#" class="toggle-advanced">Vidigi spertulan uzadon</a></small></p>'
Help2: "<div class=\"advanced\">\n⇥<h4>Spertula uzado</h4>\n⇥<ul>\n⇥<li>Permesitaj kolumnoj: <em>%s</em></li>\n⇥<li>Ekzistantaj uzuloj pariĝas per ilia unika atributo <em>Kodo</em>, kaj aktualiĝas per eventualaj valoroj el \n⇥la importita dosiero</li>\n⇥<li>Grupoj estas agordebla per kolumno <em>Grupoj</em>.</li>\n⇥<li>Grupoj estas identigeblaj per sia atributo <em>Kodo</em>. \nOpaj grupoj estu apartigitaj de komo. Ekzistantaj grupaj membrecoj \n⇥ne nuliĝas.</li>\n⇥</ul>\n</div>"
ResultCreated: 'Krei {count} membrojn'
ResultDeleted: 'Forigis %d membrojn'
ResultNone: 'Neniu ŝanĝo'
@ -480,8 +476,8 @@ eo:
SINGULARNAME: Rolo
Title: Titolo
PermissionRoleCode:
PermsError: 'Ne povas agordi kodon "%s" kun privilegiaj permesoj (bezonas ADMIN-aliron)'
PLURALNAME: 'Permesrolaj kodoj'
PermsError: 'Ne povas agordi kodon "%s" kun privilegiaj permesoj (bezonas ADMIN-aliron)'
SINGULARNAME: 'Permesrola kodo'
Permissions:
PERMISSIONS_CATEGORY: 'Roloj kaj aliraj permesoj'
@ -581,5 +577,3 @@ eo:
UPLOADSINTO: 'konservas en /{path}'
Versioned:
has_many_Versions: Versioj
CheckboxSetField:
SOURCE_VALIDATION: 'Bonvolu elekti valoron el la listo donita. {value} ne estas valida agordo'

View File

@ -11,7 +11,7 @@ es:
OWNER: Propietario
SIZE: 'Tamaño'
TITLE: Título
TYPE: 'Tipo'
TYPE: 'Tipo de archivo'
URL: URL
AssetUploadField:
ChooseFiles: 'Seleccione los archivos'
@ -60,6 +60,8 @@ es:
ERRORNOTREC: 'Ese nombre de usuario / contraseña no pudo ser reconocido.'
Boolean:
ANY: Cualquiera
NOANSWER: 'No'
YESANSWER: 'Sí'
CMSLoadingScreen_ss:
LOADING: Cargando...
REQUIREJS: 'El CMS requiere que tenga habilitado JavaScript .'
@ -68,16 +70,34 @@ es:
ACCESSALLINTERFACES: 'Acceder a todas las interfaces del CMS'
ACCESSALLINTERFACESHELP: 'Anula configuraciones de acceso más específicas.'
SAVE: Guardar
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: '¿Olvidó su contraseña?'
BUTTONLOGIN: 'Volver a iniciar sesión'
BUTTONLOGOUT: 'Cerrar Sesión'
PASSWORDEXPIRED: '<p>Su contraseña expiró. <a target="_top" href="{link}">Por favor, elija una nueva.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Previsualización'
CMSProfileController:
MENUTITLE: 'Mi Perfil'
CMSSecurity:
INVALIDUSER: '<p>Usuario inválido. <a target="_top" href="{link}">Por favor, vuelva a autenticar aquí</a> para continuar.</p>'
LoginMessage: '<p>Si Ud tiene cualquier trabajo sin guardar puede volver donde lo dejó, iniciando sesión más abajo.</p>'
SUCCESSCONTENT: '<p>Inicio de sesión exitoso. Si Ud no es automáticamente redireccionado, <a target="_top" href="{link}">haga clic aquí</a></p>'
TimedOutTitleAnonymous: 'Expiró su sesión.'
TimedOutTitleMember: 'Eh {name}!<br />Tu sesión expiró.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Has cambiado tu contraseña por'
CHANGEPASSWORDTEXT2: 'Ahora puede utilizar los siguientes datos de acreditación para iniciar sesión:'
EMAIL: Correo electrónico
HELLO: Hola
PASSWORD: Contraseña
CheckboxField:
NOANSWER: 'No'
YESANSWER: 'Sí'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Por favor, seleccionar un valor dentro de la lista provista. {value} no es una opcion válida'
CheckboxSetField:
SOURCE_VALIDATION: 'Por favor, seleccionar un valor dentro de la lista provista. {value} no es una opcion válida'
ConfirmedPasswordField:
ATLEAST: 'Las constraseñas deben tener al menos {min} caracteres de longitud.'
BETWEEN: 'Las contraseñas deben tener desde {min} a {max} caracteres de longitud.'
@ -124,6 +144,7 @@ es:
DropdownField:
CHOOSE: (Elegir)
CHOOSESEARCH: '(Seleccionar o Buscar)'
SOURCE_VALIDATION: 'Por favor, seleccionar un valor dentro de la lista provista. {value} no es una opcion válida'
EmailField:
VALIDATION: 'Introduzca una dirección de correo electrónico'
Enum:
@ -139,8 +160,8 @@ es:
GzType: 'Archivo comprimido GZIP'
HtlType: 'Archivo HTML'
HtmlType: 'Archivo HTML'
INVALIDEXTENSION: 'La extensión no es permitida (válidas: {extensions})'
INVALIDEXTENSIONSHORT: 'La extensión no es permitida'
INVALIDEXTENSION: 'La extensión no es permitida (válidas: {extensions})'
INVALIDEXTENSIONSHORT: 'La extensión no es permitida'
IcoType: 'Imagen Icon'
JpgType: 'Imagen JPEG - buena para fotos'
JsType: 'Archivo Javascript'
@ -171,7 +192,9 @@ es:
TEXT2: 'enlace para restablecer contraseña'
TEXT3: para
Form:
FIELDISREQUIRED: 'Se requiere este campo'
CSRF_EXPIRED_MESSAGE: 'Tu sesión ha expirado. Por favor re envíe el formulario'
CSRF_FAILED_MESSAGE: 'Parece que hubo un problema técnico. Por favor, haga clic en el botón Volver, recargue su navegador y vuelva a intentarlo.'
FIELDISREQUIRED: 'Se requiere {name} '
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'
@ -180,9 +203,8 @@ es:
VALIDATIONSTRONGPASSWORD: 'Las contraseñas deben tener al menos un dígito y un carácter alfanumérico'
VALIDATOR: Validador
VALIDCURRENCY: 'Por favor, introduzca una moneda válida.'
CSRF_EXPIRED_MESSAGE: 'Tu sesión ha expirado. Por favor re envíe el formulario'
FormField:
Example: 'Ejemplo'
Example: 'Ejemplo %s'
NONE: ninguna
GridAction:
DELETE_DESCRIPTION: Borrar
@ -213,18 +235,18 @@ es:
DeletePermissionsFailure: 'Sin permiso para borrar'
Deleted: 'Borrado %s %s'
Save: Guardar
Saved: 'Guardado'
Saved: 'Guardado {name} {link}'
GridFieldEditButton_ss:
EDIT: Editar
GridFieldItemEditView:
Go_back: 'Volver'
Group:
AddRole: 'Agregar rol'
AddRole: 'Agregar un rol para este grupo'
Code: 'Código de grupo'
DefaultGroupTitleAdministrators: Administradores
DefaultGroupTitleContentAuthors: 'Editores'
Description: Descripción
GroupReminder: 'Recordatorio'
GroupReminder: 'Si Ud elige un grupo padre, este grupo tomará todos sus roles'
HierarchyPermsError: 'No se puede asignar permisos privilegiados al grupo "% s" (requiere acceso de administrador)'
Locked: '¿Bloqueado?'
NoRoles: 'Sin roles'
@ -245,6 +267,8 @@ es:
HtmlEditorField:
ADDURL: 'Añadir URL'
ADJUSTDETAILSDIMENSIONS: 'Detalles &amp; dimensiones'
ANCHORSCANNOTACCESSPAGE: 'No se le permite acceder al contenido de la página destino.'
ANCHORSPAGENOTFOUND: 'No se encontró la página destino.'
ANCHORVALUE: Ancla
BUTTONADDURL: 'Agregar URL'
BUTTONINSERT: Insertar
@ -285,6 +309,7 @@ es:
LINKOPENNEWWIN: '¿Abrir enlace en una ventana nueva?'
LINKTO: 'Enlazar a'
PAGE: Página
SUBJECT: 'Asunto del Email'
URL: URL
URLNOTANOEMBEDRESOURCE: 'La URL ''{url}'' ''no se puede convertir en un recurso multimedia.'
UpdateMEDIA: 'Actualizar Media'
@ -301,20 +326,21 @@ es:
DELETED: Borrado
DropdownBatchActionsDefault: Acciones
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.'
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.'
PLEASESAVE: 'Por favor guarde la página: Esta página no se ha podido actualizar porque aún no ha sido guardada.'
PreviewButton: Vista previa
REORGANISATIONSUCCESSFUL: 'Reorganizado el árbol del sitio con éxito.'
SAVEDUP: Guardado
ShowAsList: 'Mostrar como lista'
TooManyPages: 'Muchas páginas'
ValidationError: 'Error de validación'
VersionUnknown: Versión desconocida
VersionUnknown: desconocido
LeftAndMain_Menu_ss:
Hello: Hola
LOGOUT: 'Finalizar la sesión'
ListboxField:
SOURCE_VALIDATION: 'Por favor, seleccione un valor dentro de la lista provista. %s no es una opcion válida'
LoginAttempt:
Email: 'Correo electrónico'
IP: 'Dirección IP'
@ -341,12 +367,13 @@ es:
ERRORPASSWORDNOTMATCH: 'Su contraseña actual no concuerda, por favor intente de nuevo.'
ERRORWRONGCRED: 'Los detalles provistos no parecen estar correctos. Por favor intentar nuevamente.'
FIRSTNAME: 'Nombre(s)'
INTERFACELANG: 'Lenguaje de la Interfaz'
INTERFACELANG: 'Idioma de la Interfaz'
INVALIDNEWPASSWORD: 'No podemos aceptar este password: {password}'
LOGGEDINAS: 'Estás conectado como {name}.'
NEWPASSWORD: 'Nueva Contraseña'
NoPassword: 'No hay contraseña para este usuario'
PASSWORD: Contraseña
PASSWORDEXPIRED: 'Su contraseña expiró. Por favor, elija una nueva.'
PLURALNAME: Miembros
REMEMBERME: '¿Recordarme la próxima vez?'
SINGULARNAME: Miembro
@ -389,7 +416,6 @@ es:
Toggle: 'Cambiar'
MemberImportForm:
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\">\\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: 'Creados {count} miembros'
ResultDeleted: 'Se eliminaron %d miembros'
ResultNone: 'No hay cambios'
@ -518,6 +544,8 @@ es:
Print: Imprimir
TableListField_PageControls_ss:
OF: de
TextField:
VALIDATEMAXLENGTH: 'El valor para {name} no puede exceder los {maxLength} caracteres de longitud'
TimeField:
VALIDATEFORMAT: 'Por favor, introduzca un formato de tiempo válido ({format})'
ToggleField:

View File

@ -132,10 +132,7 @@ es_AR:
TITLE: 'Subiendo Imagen Iframe'
LeftAndMain:
HELP: Ayuda
PAGETYPE: 'Tipo de página:'
PERMAGAIN: 'Haz sido desconectado del CMS. Si quieres volver a entrar, a continuación introduce tu nombre de usuario y contraseña.'
PERMALREADY: 'Lamentablemente no puedes ingresar a esta parte del CMS. Si quieres entrar como alguien distinto, haz eso a continuación'
PERMDEFAULT: 'Por favor elegir un método de autenticación e ingresar sus credenciales para acceder al CMS.'
LoginAttempt:
Email: 'Dirección Email'
IP: 'Dirección IP'

View File

@ -183,11 +183,7 @@ es_MX:
LeftAndMain:
DropdownBatchActionsDefault: Acciones
HELP: Ayuda
PAGETYPE: 'Tipo de página:'
PERMAGAIN: 'Usted ha sido desconectado del CMS. Si quiere volver a entrar, introduzca su nombre de usuario y contraseña.'
PERMALREADY: 'Lamentablemente no puedes ingresar a esta parte del CMS. Si quieres entrar como alguien distinto, hazlo a continuación'
PERMDEFAULT: 'Por favor, elija un método de autenticación e introduzca sus credenciales para acceder al CMS.'
VersionUnknown: desconocido
LoginAttempt:
Email: 'Dirección de Correo Electrónico'
IP: 'Dirección IP'

View File

@ -274,16 +274,12 @@ et_EE:
DELETED: Kustutatud.
DropdownBatchActionsDefault: Tegevused
HELP: Spikker
PAGETYPE: 'Lehekülje tüüp:'
PERMAGAIN: 'Oled Sisuhaldusest välja logitud. Kui soovite uuesti sisse logida sisestage kasutajanimi ja parool.'
PERMALREADY: 'Vabandust, aga sul pole lubatud sisuhaldussüsteemi selle osa juurde pääseda. Kui soovid kellegi teisena sisse logida, tee seda allpool.'
PERMDEFAULT: 'Sisesta oma e-posti aadress ja parool sisuhaldussüsteemi ligipääsemiseks.'
PreviewButton: Eelvaade
REORGANISATIONSUCCESSFUL: 'Saidipuu korraldati edukalt ümber.'
SAVEDUP: Salvestatud.
ShowAsList: 'kuva nimekirjana'
TooManyPages: 'Liiga palju lehekülgi'
VersionUnknown: Teadmata
LeftAndMain_Menu_ss:
Hello: Tere!
LOGOUT: 'Logi välja'

View File

@ -96,9 +96,7 @@ fa_IR:
URL: نشانی
LeftAndMain:
HELP: کمک
PAGETYPE: 'نوع صفحه'
PERMAGAIN: 'شما از سیستم مدیریت محتوا خارج شده اید.اگر میخواهید دوباره وارد شوید نام کاربری و رمز عبور خود را در قسمت زیر وارد کنید'
PERMALREADY: 'من متاسفم، شما نمی توانید به آن قسمت از سیستم مدیریت محتوا دسترسی پیدا کنید. اگر میخواهید به عنوان شخص دیگری وارد شوید از قسمت زیر تلاش کنید'
LoginAttempt:
Email: 'آدرس های ایمیل'
Member:

View File

@ -70,10 +70,22 @@ fi:
ACCESSALLINTERFACES: 'Pääsy kaikkiin CMS-osioihin'
ACCESSALLINTERFACESHELP: 'Ohittaa tarkemmat käyttöoikeudet.'
SAVE: Tallenna
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Unohditko salasanasi?'
BUTTONLOGIN: 'Kirjaudu takaisin sisään'
BUTTONLOGOUT: 'Kirjaudu ulos'
PASSWORDEXPIRED: '<p>Salasanasi on vanhentunut. <a target="_top" href="{link}">Valitse uusi.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Nettisivun esikatselu'
CMSProfileController:
MENUTITLE: 'Profiilini'
CMSSecurity:
INVALIDUSER: '<p>Virheellinen käyttäjä. <a target="_top" href="{link}">Ole hyvä ja tunnistaudu uudelleen</a> jatkaaksesi.</p>'
LoginMessage: '<p>Mikäli tallennus jäi tekemättä, voit kirjautua uudelleen ja jatkaa muokkausta.</p>'
SUCCESS: Onnistui
SUCCESSCONTENT: '<p>Kirjautuminen onnistui. Mikäli automaattinen edelleenohjaus ei toimi <a target="_top" href="{link}">klikkaa tästä</a></p>'
TimedOutTitleAnonymous: 'Istuntosi on vanhentunut.'
TimedOutTitleMember: 'Hei {name}!<br />Istuntosi on vanhentunut.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Vaihdoit salasanasi osoitteelle'
CHANGEPASSWORDTEXT2: 'Kirjautuaksesi sisään voit käyttää seuraavia tietoja:'
@ -85,18 +97,8 @@ fi:
YESANSWER: 'Kyllä'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Valitse arvo annetuista vaihtoehdoista. {value} ei kelpaa'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Unohditko salasanasi?'
BUTTONLOGIN: 'Kirjaudu takaisin sisään'
BUTTONLOGOUT: 'Kirjaudu ulos'
PASSWORDEXPIRED: '<p>Salasanasi on vanhentunut. <a target="_top" href="{link}">Valitse uusi.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Virheellinen käyttäjä. <a target="_top" href="{link}">Ole hyvä ja tunnistaudu uudelleen</a> jatkaaksesi.</p>'
LoginMessage: '<p>Mikäli tallennus jäi tekemättä, voit kirjautua uudelleen ja jatkaa muokkausta.</p>'
SUCCESS: Onnistui
SUCCESSCONTENT: '<p>Kirjautuminen onnistui. Mikäli automaattinen edelleenohjaus ei toimi <a target="_top" href="{link}">klikkaa tästä</a></p>'
TimedOutTitleAnonymous: 'Istuntosi on vanhentunut.'
TimedOutTitleMember: 'Hei {name}!<br />Istuntosi on vanhentunut.'
CheckboxSetField:
SOURCE_VALIDATION: 'Valitse arvo annetuista vaihtoehdoista. ''{value}'' ei kelpaa'
ConfirmedPasswordField:
ATLEAST: 'Salasanan on oltava vähintään {min} merkkiä pitkä.'
BETWEEN: 'Salasanan on oltava väh. {min} ja enintään {max} merkkiä pitkä.'
@ -191,6 +193,7 @@ fi:
TEXT2: 'salasanan vaihtolinkki'
TEXT3: henkilölle
Form:
CSRF_EXPIRED_MESSAGE: 'Istuntosi on umpeutunut. Lähetä lomake uudelleen.'
CSRF_FAILED_MESSAGE: 'On ilmeisesti tapahtunut tekninen virhe. Klikkaa selaimesi Takaisin-nappia, päivitä sivu ja yritä uudelleen.'
FIELDISREQUIRED: '{name} on pakollinen'
SubmitBtnLabel: Siirry
@ -201,7 +204,6 @@ fi:
VALIDATIONSTRONGPASSWORD: 'Salasanassa on oltava vähintään yksi numero ja yksi kirjain'
VALIDATOR: Tarkistin
VALIDCURRENCY: 'Ole hyvä ja valitse voimassa oleva valuutta'
CSRF_EXPIRED_MESSAGE: 'Istuntosi on umpeutunut. Lähetä lomake uudelleen.'
FormField:
Example: 'esim. %s'
NONE: Ei yhtään
@ -258,7 +260,6 @@ fi:
many_many_Members: Jäsenet
GroupImportForm:
Help1: '<p>Tuo yksi tai useampi ryhmä <em>CSV</em>-muotoisena (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 sarakkeet: <em>%s</em></li>\n<li>Olemassa olevat rhymes kohdistetaan niiden uniikin <em>Code</em> arvolla, ja päivitetään arvot tuodusta tiedostosta</li>\n<li>Ryhmien hierarkiat voidaan luoda <em>ParentCode</em> sarakkeessa.</li>\n<li>Oikeustasokoodit voidaan kohdistaa <em>PermissionCode</em> sarakkeessa. Olemassa olevia oikeuksia ei tyhjennetä.</li>\n</ul>\n</div>"
ResultCreated: 'Luotiin {count} ryhmä(ä)'
ResultDeleted: 'Poistettu %d ryhmää'
ResultUpdated: 'Päivitetty %d ryhmää'
@ -309,10 +310,10 @@ fi:
LINKOPENNEWWIN: 'Avataanko linkki uudessa ikkunassa?'
LINKTO: 'Linkki'
PAGE: Sivu
SUBJECT: 'Sähköpostin aihe'
URL: URL-osoite
URLNOTANOEMBEDRESOURCE: 'URL-osoitetteesta ''{url}'' ei voitu liittää mediaa'
UpdateMEDIA: 'Päivitä media'
SUBJECT: 'Sähköpostin aihe'
Image:
PLURALNAME: Tiedostot
SINGULARNAME: Tiedosto
@ -326,10 +327,7 @@ fi:
DELETED: Poistettu.
DropdownBatchActionsDefault: Toimenpiteet
HELP: Ohje
PAGETYPE: 'Sivutyyppi:'
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.'
PERMDEFAULT: 'Valitse tunnistustapa ja syötä tunnistetietosi CMS:ään.'
PLEASESAVE: 'Tallenna sivu: tätä sivua ei voida päivittää, koska sitä ei ole vielä tallennettu.'
PreviewButton: Esikatselu
REORGANISATIONSUCCESSFUL: 'Hakemistopuu järjestettiin uudelleen onnistuneesti.'
@ -337,7 +335,6 @@ fi:
ShowAsList: 'näytä listana'
TooManyPages: 'Liian monta sivua'
ValidationError: 'Virhe vahvistuksessa'
VersionUnknown: tuntematon
LeftAndMain_Menu_ss:
Hello: Hei
LOGOUT: 'Kirjaudu ulos'
@ -416,7 +413,6 @@ fi:
Toggle: 'Näytä muotoiluohjeet'
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>'
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>"
ResultCreated: 'Luotiin {count} käyttäjä(ä)'
ResultDeleted: 'Poistettu %d jäsentä'
ResultNone: 'Ei muutoksia'
@ -480,8 +476,8 @@ fi:
SINGULARNAME: Rooli
Title: Roolin nimi
PermissionRoleCode:
PermsError: 'Ei voida asettaa koodia "%s" annetuilla oikeuksilla (vaaditaan JÄRJESTELMÄNVALVOJAN oikeudet)'
PLURALNAME: 'Käyttöoikeuden roolin koodit'
PermsError: 'Ei voida asettaa koodia "%s" annetuilla oikeuksilla (vaaditaan JÄRJESTELMÄNVALVOJAN oikeudet)'
SINGULARNAME: 'Käyttöoikeiden roolin koodi'
Permissions:
PERMISSIONS_CATEGORY: 'Roolit ja käyttöoikeudet'
@ -581,5 +577,3 @@ fi:
UPLOADSINTO: 'tallentuu polkuun: /{path}'
Versioned:
has_many_Versions: Versiot
CheckboxSetField:
SOURCE_VALIDATION: 'Valitse arvo annetuista vaihtoehdoista. ''{value}'' ei kelpaa'

View File

@ -88,10 +88,7 @@ fo:
PAGE: Síða
LeftAndMain:
HELP: Leiðbeiningar
PAGETYPE: 'Slag av síðu:'
PERMAGAIN: 'Tú ert blivin útritaður av CMS skipanini. Um tú ynskir at innrita aftur, inntøppa so títt brúkaranavn og loyniorð niðanfyri:'
PERMALREADY: 'Tíanverri, tú hevur ikki atgongd til handan partin av CMS skipanini. Um tú ynskir at innrita sum onkur annar, so kann tú gera tað niðanfyri.'
PERMDEFAULT: 'Inntøppa tygara teldupost og loyniorð fyri at fáa atgongd til CMS skipanina.'
LoginAttempt:
Email: 'Teldupostur'
IP: 'IP adressa'

View File

@ -298,17 +298,13 @@ fr:
DELETED: Supprimé.
DropdownBatchActionsDefault: Actions
HELP: Aide
PAGETYPE: 'Type de page&nbsp;:'
PERMAGAIN: 'Vous avez été déconnecté du CMS. Si vous voulez vous reconnecter, entrez un nom d''utilisateur et un mot de passe ci-dessous.'
PERMALREADY: 'Désolé, mais vous ne pouvez pas accéder à cette partie du CMS. Si vous voulez changer d''identité, faites le ci-dessous'
PERMDEFAULT: 'Saisissez votre adresse de courriel et votre mot de passe pour accéder au CMS.'
PreviewButton: Aperçu
REORGANISATIONSUCCESSFUL: 'Larbre du site a été bien réorganisé.'
SAVEDUP: Enregistré.
ShowAsList: 'lister'
TooManyPages: 'Trop de pages'
ValidationError: 'Erreur de validation'
VersionUnknown: inconnu
LeftAndMain_Menu_ss:
Hello: Bonjour
LOGOUT: 'Déconnexion'
@ -386,7 +382,6 @@ fr:
Toggle: 'Afficher laide de mise en forme'
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>'
Help2: "<div class=\"advanced\">\n<h4>Utilisation avancée</h4>\n<ul>\n<li>Colonnes autorisées&nbsp;: <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 à laide 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. Lappartenance actuelle aux groupes nest pas modifiée.</li>\n</ul>\n</div>"
ResultCreated: '{count} membres créés'
ResultDeleted: '%d membres supprimés'
ResultNone: 'Aucun changements'

View File

@ -158,11 +158,7 @@ gl_ES:
LeftAndMain:
DropdownBatchActionsDefault: Accións
HELP: Axuda
PAGETYPE: 'Tipo de páxina:'
PERMAGAIN: 'Non tes unha sesión válida no CMS. Se queres volver entrar, insire o nome de usuario e contrasinal a continuación.'
PERMALREADY: 'Sintoo, pero non podes acceder a esta parte do CMS. Se queres iniciar sesión con outras credenciais, faino a continuación'
PERMDEFAULT: 'Escolle un método de autenticación e insire as túas credenciais para acceder o CMS.'
VersionUnknown: descoñecido
LoginAttempt:
Email: 'Enderezo Correo-e'
IP: 'Enderezo IP'

View File

@ -63,10 +63,7 @@ he_IL:
TITLE: 'מסגרת העלאת תמונה'
LeftAndMain:
HELP: עזרה
PAGETYPE: 'סוג העמוד'
PERMAGAIN: 'התנתקת מהמערכת. לחיבור מחדש נא להזין שם וסיסמה'
PERMALREADY: 'צר לנו, אך לא תוכל לגשת לחלק זה של מערכת ניהול התוכן. אם ברצונך להתחבר למערכת בתור משתמש אחר נא להשתמש בתיבה בעמוד זה'
PERMDEFAULT: 'נא לבחור בשיטת וידוא והזן פרטיך למערכת'
Member:
BUTTONCHANGEPASSWORD: 'שנה סיסמא'
BUTTONLOGIN: 'התחבר'

View File

@ -115,10 +115,7 @@ hr:
TITLE: 'Iframe za upload slike'
LeftAndMain:
HELP: Pomoć
PAGETYPE: 'Tip Stranice:'
PERMAGAIN: 'Odjavili ste se sa sustava. Želite li se ponovno prijaviti upišite korisničko ime i lozinku.'
PERMALREADY: 'Nažalost, ne možete pristupiti tom dijelu sustava. Želite li se prijaviti kao netko drugi učinite to ispod'
PERMDEFAULT: 'Odaberite metodu autorizacije te upišite svoje podatke za pristup sustavu.'
Member:
BUTTONCHANGEPASSWORD: 'Promjeni lozinku'
BUTTONLOGIN: 'Prijava'

View File

@ -67,10 +67,7 @@ hu:
TITLE: 'Képfeltöltő iframe'
LeftAndMain:
HELP: Segítség
PAGETYPE: 'Oldal típusa:'
PERMAGAIN: 'Kiléptetésre kerültél a CMS-ből. Ha újra be szeretnél lépni, add meg alább a felhasználóneved és jelszavad.'
PERMALREADY: 'Nincs jogosultságod a CMS ezen részének megtekintéséhez. Ha be szeretnél jelentkezni más felhasználóként, lejjebb megteheted.'
PERMDEFAULT: 'A CMS- be való belépéshez, kérünk válassz egy azonosítási módot, és írd be az azonosítási infomációkat.'
Member:
BUTTONCHANGEPASSWORD: 'Jelszó megváltoztatása'
BUTTONLOGIN: 'Bejelentkezés'

View File

@ -70,10 +70,22 @@ id:
ACCESSALLINTERFACES: 'Akses ke semua bagian CMS'
ACCESSALLINTERFACESHELP: 'Kesampingkan pengaturan akses yang spesifik.'
SAVE: Simpan
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Lupa kata kunci?'
BUTTONLOGIN: 'Masuk kembali'
BUTTONLOGOUT: 'Keluar'
PASSWORDEXPIRED: '<p>Kata kunci Anda telah kadaluarsa. <a target="_top" href="{link}">Mohon buat yang baru.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Pratinjau situs'
CMSProfileController:
MENUTITLE: 'Profil Saya'
CMSSecurity:
INVALIDUSER: '<p>Pengguna tidak dikenal. <a target="_top" href="{link}">Mohon otentikasi ulang di sini</a> untuk melanjutkan.</p>'
LoginMessage: '<p>Jika ada pekerjaan yang belum tersimpan, Anda dapat kembali dengan masuk di sini.</p>'
SUCCESS: Berhasil
SUCCESSCONTENT: '<p>Berhasil masuk. Jika tidak secara otomatis diarahkan, klik <a target="_top" href="{link}">di sini</a></p>'
TimedOutTitleAnonymous: 'Sesi Anda sudah habis.'
TimedOutTitleMember: 'Hai {name}!<br />Sesi Anda sudah habis.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Anda mengganti kata kunci menjadi'
CHANGEPASSWORDTEXT2: 'Anda sekarang dapat menggunakannya untuk masuk:'
@ -85,18 +97,8 @@ id:
YESANSWER: 'Ya'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Lupa kata kunci?'
BUTTONLOGIN: 'Masuk kembali'
BUTTONLOGOUT: 'Keluar'
PASSWORDEXPIRED: '<p>Kata kunci Anda telah kadaluarsa. <a target="_top" href="{link}">Mohon buat yang baru.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Pengguna tidak dikenal. <a target="_top" href="{link}">Mohon otentikasi ulang di sini</a> untuk melanjutkan.</p>'
LoginMessage: '<p>Jika ada pekerjaan yang belum tersimpan, Anda dapat kembali dengan masuk di sini.</p>'
SUCCESS: Berhasil
SUCCESSCONTENT: '<p>Berhasil masuk. Jika tidak secara otomatis diarahkan, klik <a target="_top" href="{link}">di sini</a></p>'
TimedOutTitleAnonymous: 'Sesi Anda sudah habis.'
TimedOutTitleMember: 'Hai {name}!<br />Sesi Anda sudah habis.'
CheckboxSetField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'
ConfirmedPasswordField:
ATLEAST: 'Kata kunci harus setidaknya terdiri dari {min} karakter.'
BETWEEN: 'Kata kunci harus terdiri dari minimal {min} sampai {max} karakter.'
@ -191,6 +193,7 @@ id:
TEXT2: 'tautan ganti kata kunci'
TEXT3: untuk
Form:
CSRF_EXPIRED_MESSAGE: 'Sesi Anda sudah habis. Mohon kirim ulang formulir.'
CSRF_FAILED_MESSAGE: 'Kemungkinan ada masalah teknis. Mohon klik tombol kembali, muat ulang browser, dan coba lagi.'
FIELDISREQUIRED: '{name} wajib diisi'
SubmitBtnLabel: Lanjut
@ -201,7 +204,6 @@ id:
VALIDATIONSTRONGPASSWORD: 'Kata kunci harus setidaknya terdiri dari satu angka dan satu karakter alfanumerik'
VALIDATOR: Validasi
VALIDCURRENCY: 'Mohon isikan mata uang yang benar'
CSRF_EXPIRED_MESSAGE: 'Sesi Anda sudah habis. Mohon kirim ulang formulir.'
FormField:
Example: 'misalnya %s'
NONE: tidak ada
@ -258,7 +260,6 @@ id:
many_many_Members: Pengguna
GroupImportForm:
Help1: '<p>Impor satu atau lebih kelompok di format <em>CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Tampilkan penggunaan mahir</a></small></p>'
Help2: "<div class=\"advanced\">\n\t<h4>Penggunaan mahir</h4>\n\t<ul>\n\t<li>Kolom yang dibolehkan: <em>%s</em></li>\n\t<li>Kelompok yang sudah terdata dihubungkan dengan nilai <em>Kode</em> uniknya, dan diperbarui dengan nilai apapun dari berkas yang diimpor</li>\n\t<li>Hirarki kelompok dapat dibuat dengan kolom <em>ParentCode</em>.</li>\n\t<li>Kode perijinan dapat dihubungkan dengan kolom <em>PermissionCode</em>. Perijinan yang sudah ada tidak akan terpengaruh.</li>\n\t</ul>\n</div>"
ResultCreated: '{count} kelompok dibuat'
ResultDeleted: '%d kelompok dihapus'
ResultUpdated: '%d kelompok diperbarui'
@ -309,10 +310,10 @@ id:
LINKOPENNEWWIN: 'Buka tautan di jendela baru?'
LINKTO: 'Tautan ke'
PAGE: Laman
SUBJECT: 'Subyek email'
URL: URL
URLNOTANOEMBEDRESOURCE: 'URL ''{url}'' tidak dapat dijadikan sumber daya media.'
UpdateMEDIA: 'Perbarui Media'
SUBJECT: 'Subyek email'
Image:
PLURALNAME: Berkas
SINGULARNAME: Berkas
@ -326,10 +327,7 @@ id:
DELETED: Terhapus.
DropdownBatchActionsDefault: Tindakan
HELP: Bantuan
PAGETYPE: 'Jenis laman:'
PERMAGAIN: 'Anda telah keluar dari situs. Jika ingin kembali masuk, isikan nama pengguna dan kata kunci di bawah ini.'
PERMALREADY: 'Maaf, Anda tidak dapat mengakses laman tersebut. Jika Anda ingin menggunakan akun lain, silakan masuk di sini'
PERMDEFAULT: 'Mohon pilih metode otentikasi dan isikan informasi login Anda.'
PLEASESAVE: 'Mohon Simpan Laman: Laman ini tidak dapat diperbarui karena belum disimpan.'
PreviewButton: Pratinjau
REORGANISATIONSUCCESSFUL: 'Pengaturan ulang struktur situs berhasil.'
@ -337,7 +335,6 @@ id:
ShowAsList: 'tampilkan sebagai daftar'
TooManyPages: 'Terlalu banyak laman'
ValidationError: 'Kesalahan validasi'
VersionUnknown: Tidak diketahui
LeftAndMain_Menu_ss:
Hello: Hai
LOGOUT: 'Keluar'
@ -416,8 +413,6 @@ id:
Toggle: 'Tampilkan bantuan pemformatan'
MemberImportForm:
Help1: '<p>Impor pengguna dalam <em>format CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Tampilkan penggunaan mahir</a></small></p>'
Help2: "<div class=\"advanced\">\n\t<h4>Penggunaan mahir</h4>\n\t<ul>\n\t<li>Kolom yang dibolehkan: <em>%s</em></li>\n\t<li>Pengguna yang sudah terdata dihubungkan dengan nilai <em>Kode</em> uniknya, \n\tdan diperbarui dengan nilai apapun dari berkas yang diimpor.</li>\n\t<li>Kelompok dapat dihubungkan dengan kolom <em>Kelompok</em>. Kelompok diidentifikasi dengan properti <em>Kode</em>-nya,\n\tkelompok ganda dapat dipisahkan dengan tanda koma. Kelompok yang sudah terdata tidak terpengaruh.</li>\n\t</ul>\n\
</div>"
ResultCreated: '{count} pengguna dibuat'
ResultDeleted: '%d pengguna dihapus'
ResultNone: 'Tidak ada pengubahan'
@ -481,8 +476,8 @@ id:
SINGULARNAME: Peran
Title: Judul
PermissionRoleCode:
PermsError: 'Tidak dapat menghubungkan kode "%s" dengan perijinan khusus (memerlukan akses PENGELOLA)'
PLURALNAME: 'Kode Perijinan Peran'
PermsError: 'Tidak dapat menghubungkan kode "%s" dengan perijinan khusus (memerlukan akses PENGELOLA)'
SINGULARNAME: 'Kode Perijinan Peran'
Permissions:
PERMISSIONS_CATEGORY: 'Perijinan peran dan akses'
@ -582,5 +577,3 @@ id:
UPLOADSINTO: 'disimpan ke /{path}'
Versioned:
has_many_Versions: Versi
CheckboxSetField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'

View File

@ -70,10 +70,22 @@ id_ID:
ACCESSALLINTERFACES: 'Akses ke semua bagian CMS'
ACCESSALLINTERFACESHELP: 'Kesampingkan pengaturan akses yang spesifik.'
SAVE: Simpan
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Lupa kata kunci?'
BUTTONLOGIN: 'Masuk kembali'
BUTTONLOGOUT: 'Keluar'
PASSWORDEXPIRED: '<p>Kata kunci Anda telah kadaluarsa. <a target="_top" href="{link}">Mohon buat yang baru.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Pratinjau situs'
CMSProfileController:
MENUTITLE: 'Profil Saya'
CMSSecurity:
INVALIDUSER: '<p>Pengguna tidak dikenal. <a target="_top" href="{link}">Mohon otentikasi ulang di sini</a> untuk melanjutkan.</p>'
LoginMessage: '<p>Jika ada pekerjaan yang belum tersimpan, Anda dapat kembali dengan masuk di sini.</p>'
SUCCESS: Berhasil
SUCCESSCONTENT: '<p>Berhasil masuk. Jika tidak secara otomatis diarahkan, klik <a target="_top" href="{link}">di sini</a></p>'
TimedOutTitleAnonymous: 'Sesi Anda sudah habis.'
TimedOutTitleMember: 'Hai {name}!<br />Sesi Anda sudah habis.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Anda mengganti kata kunci menjadi'
CHANGEPASSWORDTEXT2: 'Anda sekarang dapat menggunakannya untuk masuk:'
@ -85,18 +97,8 @@ id_ID:
YESANSWER: 'Ya'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Lupa kata kunci?'
BUTTONLOGIN: 'Masuk kembali'
BUTTONLOGOUT: 'Keluar'
PASSWORDEXPIRED: '<p>Kata kunci Anda telah kadaluarsa. <a target="_top" href="{link}">Mohon buat yang baru.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Pengguna tidak dikenal. <a target="_top" href="{link}">Mohon otentikasi ulang di sini</a> untuk melanjutkan.</p>'
LoginMessage: '<p>Jika ada pekerjaan yang belum tersimpan, Anda dapat kembali dengan masuk di sini.</p>'
SUCCESS: Berhasil
SUCCESSCONTENT: '<p>Berhasil masuk. Jika tidak secara otomatis diarahkan, klik <a target="_top" href="{link}">di sini</a></p>'
TimedOutTitleAnonymous: 'Sesi Anda sudah habis.'
TimedOutTitleMember: 'Hai {name}!<br />Sesi Anda sudah habis.'
CheckboxSetField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'
ConfirmedPasswordField:
ATLEAST: 'Kata kunci harus setidaknya terdiri dari {min} karakter.'
BETWEEN: 'Kata kunci harus terdiri dari minimal {min} sampai {max} karakter.'
@ -191,6 +193,7 @@ id_ID:
TEXT2: 'tautan ganti kata kunci'
TEXT3: untuk
Form:
CSRF_EXPIRED_MESSAGE: 'Sesi Anda sudah habis. Mohon kirim ulang formulir.'
CSRF_FAILED_MESSAGE: 'Kemungkinan ada masalah teknis. Mohon klik tombol kembali, muat ulang browser, dan coba lagi.'
FIELDISREQUIRED: '{name} wajib diisi'
SubmitBtnLabel: Lanjut
@ -201,7 +204,6 @@ id_ID:
VALIDATIONSTRONGPASSWORD: 'Kata kunci harus setidaknya terdiri dari satu angka dan satu karakter alfanumerik'
VALIDATOR: Validasi
VALIDCURRENCY: 'Mohon isikan mata uang yang benar'
CSRF_EXPIRED_MESSAGE: 'Sesi Anda sudah habis. Mohon kirim ulang formulir.'
FormField:
Example: 'misalnya %s'
NONE: tidak ada
@ -258,7 +260,6 @@ id_ID:
many_many_Members: Pengguna
GroupImportForm:
Help1: '<p>Impor satu atau lebih kelompok di format <em>CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Tampilkan penggunaan mahir</a></small></p>'
Help2: "<div class=\"advanced\">\n\t<h4>Penggunaan mahir</h4>\n\t<ul>\n\t<li>Kolom yang dibolehkan: <em>%s</em></li>\n\t<li>Kelompok yang sudah terdata dihubungkan dengan nilai <em>Kode</em> uniknya, dan diperbarui dengan nilai apapun dari berkas yang diimpor</li>\n\t<li>Hirarki kelompok dapat dibuat dengan kolom <em>ParentCode</em>.</li>\n\t<li>Kode perijinan dapat dihubungkan dengan kolom <em>PermissionCode</em>. Perijinan yang sudah ada tidak akan terpengaruh.</li>\n\t</ul>\n</div>"
ResultCreated: '{count} kelompok dibuat'
ResultDeleted: '%d kelompok dihapus'
ResultUpdated: '%d kelompok diperbarui'
@ -309,10 +310,10 @@ id_ID:
LINKOPENNEWWIN: 'Buka tautan di jendela baru?'
LINKTO: 'Tautan ke'
PAGE: Laman
SUBJECT: 'Subyek email'
URL: URL
URLNOTANOEMBEDRESOURCE: 'URL ''{url}'' tidak dapat dijadikan sumber daya media.'
UpdateMEDIA: 'Perbarui Media'
SUBJECT: 'Subyek email'
Image:
PLURALNAME: Berkas
SINGULARNAME: Berkas
@ -326,10 +327,7 @@ id_ID:
DELETED: Terhapus.
DropdownBatchActionsDefault: Tindakan
HELP: Bantuan
PAGETYPE: 'Jenis laman:'
PERMAGAIN: 'Anda telah keluar dari situs. Jika ingin kembali masuk, isikan nama pengguna dan kata kunci di bawah ini.'
PERMALREADY: 'Maaf, Anda tidak dapat mengakses laman tersebut. Jika Anda ingin menggunakan akun lain, silakan masuk di sini'
PERMDEFAULT: 'Mohon pilih metode otentikasi dan isikan informasi login Anda.'
PLEASESAVE: 'Mohon Simpan Laman: Laman ini tidak dapat diperbarui karena belum disimpan.'
PreviewButton: Pratinjau
REORGANISATIONSUCCESSFUL: 'Pengaturan ulang struktur situs berhasil.'
@ -337,7 +335,6 @@ id_ID:
ShowAsList: 'tampilkan sebagai daftar'
TooManyPages: 'Terlalu banyak laman'
ValidationError: 'Kesalahan validasi'
VersionUnknown: Tidak diketahui
LeftAndMain_Menu_ss:
Hello: Hai
LOGOUT: 'Keluar'
@ -416,8 +413,6 @@ id_ID:
Toggle: 'Tampilkan bantuan pemformatan'
MemberImportForm:
Help1: '<p>Impor pengguna dalam <em>format CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Tampilkan penggunaan mahir</a></small></p>'
Help2: "<div class=\"advanced\">\n\t<h4>Penggunaan mahir</h4>\n\t<ul>\n\t<li>Kolom yang dibolehkan: <em>%s</em></li>\n\t<li>Pengguna yang sudah terdata dihubungkan dengan nilai <em>Kode</em> uniknya, \n\tdan diperbarui dengan nilai apapun dari berkas yang diimpor.</li>\n\t<li>Kelompok dapat dihubungkan dengan kolom <em>Kelompok</em>. Kelompok diidentifikasi dengan properti <em>Kode</em>-nya,\n\tkelompok ganda dapat dipisahkan dengan tanda koma. Kelompok yang sudah terdata tidak terpengaruh.</li>\n\t</ul>\n\
</div>"
ResultCreated: '{count} pengguna dibuat'
ResultDeleted: '%d pengguna dihapus'
ResultNone: 'Tidak ada pengubahan'
@ -481,8 +476,8 @@ id_ID:
SINGULARNAME: Peran
Title: Judul
PermissionRoleCode:
PermsError: 'Tidak dapat menghubungkan kode "%s" dengan perijinan khusus (memerlukan akses PENGELOLA)'
PLURALNAME: 'Kode Perijinan Peran'
PermsError: 'Tidak dapat menghubungkan kode "%s" dengan perijinan khusus (memerlukan akses PENGELOLA)'
SINGULARNAME: 'Kode Perijinan Peran'
Permissions:
PERMISSIONS_CATEGORY: 'Perijinan peran dan akses'
@ -582,5 +577,3 @@ id_ID:
UPLOADSINTO: 'disimpan ke /{path}'
Versioned:
has_many_Versions: Versi
CheckboxSetField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'

View File

@ -70,10 +70,22 @@ it:
ACCESSALLINTERFACES: 'Accesso a tutte le sezioni del CMS'
ACCESSALLINTERFACESHELP: 'Annulla le impostazioni di accesso più specifiche.'
SAVE: Salva
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Password dimenticata?'
BUTTONLOGIN: 'Accedi nuovamente'
BUTTONLOGOUT: 'Scollegati'
PASSWORDEXPIRED: '<p>La tua password è scaduta. <a target="_top" href="{link}">Per favore selezionarne una nuova.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Preview del sito'
CMSProfileController:
MENUTITLE: 'Il mio Profilo'
CMSSecurity:
INVALIDUSER: '<p>Utente non valido. <a target="_top" href="{link}">Per favore autenticarsi di nuovo</a> per continuare.</p>'
LoginMessage: '<p>Se hai del lavoro non salvato puo tornare a dove eri accedendo nuovamente da qui sotto.</p>'
SUCCESS: Successo
SUCCESSCONTENT: '<p>Accesso eseguito. Se non sarai ridirezionato automaticamente, <a target="_top" href="{link}">cliccare qui</a></p>'
TimedOutTitleAnonymous: 'La tua sessione è scaduta.'
TimedOutTitleMember: 'Ciao {name}!<br />La tua sessione è scaduta.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Hai cambiato la password per'
CHANGEPASSWORDTEXT2: 'Ora puoi utilizzare le seguenti credenziali per accedere:'
@ -85,18 +97,8 @@ it:
YESANSWER: 'Sì'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. {value} non è un''opzione valida'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Password dimenticata?'
BUTTONLOGIN: 'Accedi nuovamente'
BUTTONLOGOUT: 'Scollegati'
PASSWORDEXPIRED: '<p>La tua password è scaduta. <a target="_top" href="{link}">Per favore selezionarne una nuova.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Utente non valido. <a target="_top" href="{link}">Per favore autenticarsi di nuovo</a> per continuare.</p>'
LoginMessage: '<p>Se hai del lavoro non salvato puo tornare a dove eri accedendo nuovamente da qui sotto.</p>'
SUCCESS: Successo
SUCCESSCONTENT: '<p>Accesso eseguito. Se non sarai ridirezionato automaticamente, <a target="_top" href="{link}">cliccare qui</a></p>'
TimedOutTitleAnonymous: 'La tua sessione è scaduta.'
TimedOutTitleMember: 'Ciao {name}!<br />La tua sessione è scaduta.'
CheckboxSetField:
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. ''{value}'' non è un''opzione valida'
ConfirmedPasswordField:
ATLEAST: 'La password deve essere lunga almeno {min} caratteri.'
BETWEEN: 'La password deve essere lunga da {min} a {max} caratteri.'
@ -191,6 +193,7 @@ it:
TEXT2: 'Link per l''azzeramento della password'
TEXT3: per
Form:
CSRF_EXPIRED_MESSAGE: 'La tua sessione è scaduta. Per favore ritrasmettere la form.'
CSRF_FAILED_MESSAGE: 'Sembra che ci sia stato un problema tecnico. Per favore cliccare sul pulsante "indietro", ricaricare la pagina e riprovare.'
FIELDISREQUIRED: '{name} è richiesto'
SubmitBtnLabel: Vai
@ -201,7 +204,6 @@ it:
VALIDATIONSTRONGPASSWORD: 'Le password devono avere almeno un numero e un carattere alfanumerico.'
VALIDATOR: Valiidatore
VALIDCURRENCY: 'Inserisci una valuta valida'
CSRF_EXPIRED_MESSAGE: 'La tua sessione è scaduta. Per favore ritrasmettere la form.'
FormField:
Example: 'es. %s'
NONE: nessuno
@ -258,7 +260,6 @@ it:
many_many_Members: Membri
GroupImportForm:
Help1: '<p>Importa gruppi in formato <em>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>I gruppi esistenti sono identificati dalla proprietà univoca <em>Code</em> e aggiornati con i nuovi valori dal file importato.</li>\n<li>Gerarchie di gruppi possono essere create usando la colonna <em>ParentCode</em>.</li>\n<li>I codici di permesso possono essere assegnati con la colonna <em>ParentCode</em>. I permessi esistenti non saranno azzerati.</li>\n</ul>\n</div>"
ResultCreated: 'Creati {count} gruppi'
ResultDeleted: 'Eliminati %d gruppi'
ResultUpdated: 'Aggiornati %d gruppi'
@ -309,10 +310,10 @@ it:
LINKOPENNEWWIN: 'Apri il link in una nuova finestra?'
LINKTO: 'Collega a'
PAGE: Pagina
SUBJECT: 'Oggetto email'
URL: URL
URLNOTANOEMBEDRESOURCE: 'L''URL ''{url}'' non può essere convertito in una risorsa media.'
UpdateMEDIA: 'Aggiorna Media'
SUBJECT: 'Oggetto email'
Image:
PLURALNAME: Files
SINGULARNAME: File
@ -326,10 +327,8 @@ it:
DELETED: Eliminato.
DropdownBatchActionsDefault: Azioni
HELP: Aiuto
PAGETYPE: 'Tipo di pagina:'
PAGETYPE: 'Tipo di pagina'
PERMAGAIN: 'Sei stato disconnesso dal CMS. Se desideri autenticarti nuovamente, inserisci qui sotto nome utente e password.'
PERMALREADY: 'Siamo spiacenti, ma non puoi accedere a questa sezione del CMS. Se desideri autenticarti come qualcun altro, fallo qui sotto.'
PERMDEFAULT: 'Inserisci il tuo indirizzo email e password per accedere al CMS.'
PLEASESAVE: 'Per favore salvare la pagina: potrebbe non venire aggiornata perché non è ancora stata salvata.'
PreviewButton: Anteprima
REORGANISATIONSUCCESSFUL: 'Albero del sito riorganizzato con successo.'
@ -418,7 +417,6 @@ it:
Toggle: 'Mostra aiuto per la formattazione'
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>'
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 dal 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>, più gruppi devono essere separati da virgola. L'appartenenza esistente a gruppi non viene cancellata.</li>\n</ul>\n</div>"
ResultCreated: 'Creati {count} utenti'
ResultDeleted: 'Eliminati %d utenti'
ResultNone: 'Nessun cambiamento'
@ -482,8 +480,8 @@ it:
SINGULARNAME: Ruolo
Title: Titolo
PermissionRoleCode:
PermsError: 'Non posso assegnare permessi privilegiati al codice "%s" (richiede accesso ADMIN)'
PLURALNAME: 'Codici di ruolo'
PermsError: 'Non posso assegnare permessi privilegiati al codice "%s" (richiede accesso ADMIN)'
SINGULARNAME: 'Codice Ruolo'
Permissions:
PERMISSIONS_CATEGORY: 'Ruoli e permessi d''accesso'
@ -585,5 +583,3 @@ it:
UPLOADSINTO: 'salva in /{path}'
Versioned:
has_many_Versions: Versioni
CheckboxSetField:
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. ''{value}'' non è un''opzione valida'

View File

@ -296,17 +296,13 @@ ja:
DELETED: 削除しました。
DropdownBatchActionsDefault: アクション
HELP: ヘルプ
PAGETYPE: 'ページの種類:'
PERMAGAIN: 'ログアウトしました。再度ログインする場合は下にユーザー名とパスワードを入力してください。'
PERMALREADY: '申し訳ございません。ご指定になられたCMSの箇所にはアクセスいただけません。別ユーザーとしてログインをされたい場合は、下記より行えます。'
PERMDEFAULT: '認証方法を選択し、CMSにアクセスするために利用する認証情報を入力してください。'
PreviewButton: プレビュー
REORGANISATIONSUCCESSFUL: 'サイトツリーの再編集に成功しました。'
SAVEDUP: 保存済み
ShowAsList: 'リストとして表示する'
TooManyPages: 'あまりにも多くのページ'
ValidationError: '確認エラー'
VersionUnknown: 不明
LeftAndMain_Menu_ss:
Hello: こんにちは!
LOGOUT: 'ログアウト'
@ -384,7 +380,6 @@ ja:
Toggle: '設定のヘルプを表示'
MemberImportForm:
Help1: '<p><em>CSVフォーマット</em>(コンマ区切り)でユーザーを取り込みます。 <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>既存のユーザーは独自の<em>コード</ em>プロパティにより照合されて、インポートしたファイルからの新しい数値でアップデートされます。</li>\n<li>グループは<em>グループの</em>列によって割り当てられることができる。 グループは独自の<em>コード</em> プロパティによって識別され、複数のグループはコンマによって分割することができる。 既存のグループメンバーはクリアされていない。</li>\n</ul>\n</div>"
ResultCreated: '{count}メンバーを作成しました'
ResultDeleted: '%d人のメンバーを削除しました'
ResultNone: '変更なし'

View File

@ -70,10 +70,22 @@ lt:
ACCESSALLINTERFACES: 'Patekti į visas TVS dalis'
ACCESSALLINTERFACESHELP: 'Perrašo konkretesnes nuostatas.'
SAVE: Išsaugoti
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Pamiršote slaptažodį?'
BUTTONLOGIN: 'Prisijungti'
BUTTONLOGOUT: 'Atsijungti'
PASSWORDEXPIRED: '<p>Jūsų slaptažodžio galiojimas pasibaigė. <a target="_top" href="{link}">Prašome sukurti naują.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Puslapio peržiūra'
CMSProfileController:
MENUTITLE: 'Mano profilis'
CMSSecurity:
INVALIDUSER: '<p>Blogas vartotojas. Norėdami tęsti, prašome <a target="_top" href="{link}">prisijungti</a> iš naujo.</p>'
LoginMessage: '<p>Jei dar neišsaugojote padarytus pakeitimus, jūs galėsite tęsti darbą, prisijungę žemiau esančioje formoje.</p>'
SUCCESS: Sėkmingai
SUCCESSCONTENT: '<p>Sėkmingai prisijungėte. Jeigu jūsų automatiškai nenukreipia, <a target="_top" href="{link}">spauskite čia</a></p>'
TimedOutTitleAnonymous: 'Jūsų prisijungimo galiojimas pasibaigė.'
TimedOutTitleMember: 'Sveiki, {name}!<br />Jūsų prisijungimo galiojimas pasibaigė.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Jūs pakeitėte slaptažodį'
CHANGEPASSWORDTEXT2: 'Nuo šiol galite naudoti šiuos prisijungimo duomenis:'
@ -85,18 +97,8 @@ lt:
YESANSWER: 'Taip'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Prašome pasirinkti reikšmę iš pateikto sąrašo. ''{value}'' yra negalima reikšmė.'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Pamiršote slaptažodį?'
BUTTONLOGIN: 'Prisijungti'
BUTTONLOGOUT: 'Atsijungti'
PASSWORDEXPIRED: '<p>Jūsų slaptažodžio galiojimas pasibaigė. <a target="_top" href="{link}">Prašome sukurti naują.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Blogas vartotojas. Norėdami tęsti, prašome <a target="_top" href="{link}">prisijungti</a> iš naujo.</p>'
LoginMessage: '<p>Jei dar neišsaugojote padarytus pakeitimus, jūs galėsite tęsti darbą, prisijungę žemiau esančioje formoje.</p>'
SUCCESS: Sėkmingai
SUCCESSCONTENT: '<p>Sėkmingai prisijungėte. Jeigu jūsų automatiškai nenukreipia, <a target="_top" href="{link}">spauskite čia</a></p>'
TimedOutTitleAnonymous: 'Jūsų prisijungimo galiojimas pasibaigė.'
TimedOutTitleMember: 'Sveiki, {name}!<br />Jūsų prisijungimo galiojimas pasibaigė.'
CheckboxSetField:
SOURCE_VALIDATION: 'Prašome pasirinkti reikšmę iš pateikto sąrašo. ''{value}'' yra negalima reikšmė.'
ConfirmedPasswordField:
ATLEAST: 'Slaptažodžiai privalo būti bent {min} simbolių ilgio.'
BETWEEN: 'Slaptažodžiai privalo būti nuo {min} iki {max} simbolių ilgio.'
@ -191,6 +193,7 @@ lt:
TEXT2: 'slaptažodžio atstatymo nuoroda'
TEXT3: svetainei
Form:
CSRF_EXPIRED_MESSAGE: 'Jūsų prisijungimas nebegalioja. Prašome iš naujo išsaugoti duomenis.'
CSRF_FAILED_MESSAGE: 'Iškilo techninė problema. Prašome paspausti mygtuką Atgal, perkraukite naršyklės langą ir bandykite vėl.'
FIELDISREQUIRED: '{name} yra privalomas'
SubmitBtnLabel: Vykdyti
@ -201,7 +204,6 @@ lt:
VALIDATIONSTRONGPASSWORD: 'Slaptažodžiai privalo būti sudaryti panaudojant bent vieną skaitmenį ir bent vieną raidę'
VALIDATOR: Tikrintojas
VALIDCURRENCY: 'Prašome suvesti teisingą valiutą'
CSRF_EXPIRED_MESSAGE: 'Jūsų prisijungimas nebegalioja. Prašome iš naujo išsaugoti duomenis.'
FormField:
Example: 'pvz. %s'
NONE: nėra
@ -258,7 +260,7 @@ lt:
many_many_Members: Vartotojai
GroupImportForm:
Help1: '<p>Importuoti vieną ar kelias grupes <em>CSV</em> formatu (kableliu atskirtos reikšmės). <small><a href="#" class="toggle-advanced">Rodyti detalesnį aprašymą</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Sudėtingesni pasirinkimai</h4>\n<ul>\n<li>Galimi stulpeliai: <em>%s</em></li>\n<li>Esamos grupės yra surišamos su jų unikalia <em>Code</em> reikšme ir atnaujinamos duomenimis iš importuojamos bylos</li>\n<li>Grupių hierarchija gali būti sukurta naudojant <em>ParentCode</em> stulpelį.</li>\n<li>Leidimų kodai gali būti priskirti naudojant <em>PermissionCode</em> stulpelį. Esami leidimai nebus pakeisti.</li>\n</ul>\n</div>"
Help2: '<div class="advanced"><h4>Detalesnis aprašymas</h4><ul><li>Galimi stulpeliai: <em>%s</em></li><li>Esamos grupės yra surandamos su jų unikalia <em>Code</em> reikšme ir atnaujinamos duomenimis iš importuojamos bylos.</li><li>Grupių hierarchija gali būti sukurta naudojant <em>ParentCode</em> stulpelį.</li><li>Leidimų kodai gali būti priskirti naudojant <em>PermissionCode</em> stulpelį. Esami leidimai nebus pakeisti.</li></ul></div>'
ResultCreated: 'Sukurta {count} grupių'
ResultDeleted: 'Ištrinta %d grupių'
ResultUpdated: 'Atnaujinta %d grupių'
@ -309,10 +311,10 @@ lt:
LINKOPENNEWWIN: 'Atidaryti nuorodą naujame lange?'
LINKTO: 'Nuoroda į'
PAGE: Puslapis
SUBJECT: 'El. laiško tema'
URL: URL adresas
URLNOTANOEMBEDRESOURCE: 'Nepavyko URL nuorodos ''{url}'' panaudoti media turiniui.'
UpdateMEDIA: 'Atnaujinti media'
SUBJECT: 'El. laiško tema'
Image:
PLURALNAME: Bylos
SINGULARNAME: Byla
@ -326,10 +328,10 @@ lt:
DELETED: Ištrinta.
DropdownBatchActionsDefault: Veiksmai
HELP: Pagalba
PAGETYPE: 'Puslapio tipas: '
PAGETYPE: 'Puslapio tipas'
PERMAGAIN: 'Jūs atsijungėte. Norėdami vėl prisijungti, įveskite savo duomenis į žemiau esančius laukelius.'
PERMALREADY: 'Deja, Jūs negalite patekti į šią TVS dalį. Jeigu norite prisijungti kitu vartotoju, tai atlikite žemiau'
PERMDEFAULT: 'Pasirinkite prisijungimo būdą ir suveskite prisijungimo duomenis'
PERMALREADY: 'Deja, bet Jūs negalite patekti į šią TVS dalį. Jeigu norite prisijungti kitu vartotoju, tai atlikite žemiau.'
PERMDEFAULT: 'Jūs turite būti prisijungę, norėdami pasiekti administravimo zoną; prašome suvesti prisijungimo duomenis į žemiau esančius laukelius.'
PLEASESAVE: 'Prašome išsaugoti puslapį: Šis puslapis negali būti atnaujintas, nes jis dar nėra išsaugotas.'
PreviewButton: Peržiūra
REORGANISATIONSUCCESSFUL: 'Puslapių medis pertvarkytas sėkmingai.'
@ -337,7 +339,7 @@ lt:
ShowAsList: 'rodyti kaip sąrašą'
TooManyPages: 'Per daug puslapių'
ValidationError: 'Tikrinimo klaida'
VersionUnknown: Nežinoma
VersionUnknown: nežinoma
LeftAndMain_Menu_ss:
Hello: Sveiki
LOGOUT: 'Atsijungti'
@ -418,7 +420,7 @@ lt:
Toggle: 'Rodyti formatavimo aprašymą'
MemberImportForm:
Help1: '<p>Importuoti vartotojus <em>CSV</em> formatu (kableliu atskirtos reikšmės). <small><a href="#" class="toggle-advanced">Rodyti detalesnį aprašymą</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Detalesnis aprašymas</h4>\n<ul>\n<li>Galimi stulpeliai: <em>%s</em></li>\n<li>Esami vartotojai yra surišamos su jų unikalia <em>Code</em> reikšme ir atnaujinami duomenimis iš importuojamos bylos</li>\n<li>Grupės gali būti priskirtus naudojant <em>Groups</em> stulpelį. Grupės yra atpažįstamos pagal <em>Code</em> stulpelį, kelios grupės nurodomos per kablelį. Jau priskirtos grupės nebus pakeistos.</li>\n</ul>\n</div>"
Help2: '<div class="advanced"><h4>Detalesnis aprašymas</h4><ul><li>Galimi stulpeliai: <em>%s</em></li><li>Esami vartotojai yra surandami su jų unikalia <em>Code</em> reikšme ir atnaujinami duomenimis iš importuojamos bylos.</li><li>Grupės gali būti priskirtos naudojant <em>Groups</em> column. stulpelį. Grupės yra atpažįstamos pagal <em>Code</em> stulpelį, kelios grupės nurodomos per kablelį. Jau priskirtos vartotojui grupės nebus pakeistos.</li></ul></div>'
ResultCreated: 'Sukurta {count} vartotojų'
ResultDeleted: 'Ištrinta %d vartotojų'
ResultNone: 'Nėra jokių pakeitimų'
@ -482,8 +484,8 @@ lt:
SINGULARNAME: Rolė
Title: Pavadinimas
PermissionRoleCode:
PermsError: 'Nepavyko priskirto kodo "%s" su priskirtais leidimais (būtina ADMIN prieiga)'
PLURALNAME: 'Leidimų rolių kodai'
PermsError: 'Nepavyko priskirto kodo "%s" su priskirtais leidimais (būtina ADMIN prieiga)'
SINGULARNAME: 'Leidimų rolių kodai'
Permissions:
PERMISSIONS_CATEGORY: 'Rolės ir priėjimo leidimai'
@ -585,5 +587,3 @@ lt:
UPLOADSINTO: 'saugo į /{path}'
Versioned:
has_many_Versions: Versijos
CheckboxSetField:
SOURCE_VALIDATION: 'Prašome pasirinkti reikšmę iš pateikto sąrašo. ''{value}'' yra negalima reikšmė.'

View File

@ -298,17 +298,13 @@ mi:
DELETED: I mukua
DropdownBatchActionsDefault: Ngā Mahi
HELP: Āwhina
PAGETYPE: 'Momo whārangi:'
PERMAGAIN: 'Kua takiputaina atu koe i te CMS. Ki te pīrangi koe ki te takiuru atu anō, tāurutia tētahi ingoa kaiwhakamahi me te kupuhipa i raro.'
PERMALREADY: 'Aroha mai, kāore e taea te whakauru i tērā wāhanga o te CMS. Ki te pīrangi koe ki te takiuru atu mā tētahi atu ingoa, whakamahia ki raro nei.'
PERMDEFAULT: 'Whiriwhiria tētahi aratuka motuhēhēnga me te tāuru i ō taipitopito tuakiri ki te uru ki te CMS.'
PreviewButton: Arokite
REORGANISATIONSUCCESSFUL: 'Kua momoho te whakaraupapa anō i te rākau pae'
SAVEDUP: Kua Tiakina
ShowAsList: 'whakaaturia hei rārangi'
TooManyPages: 'He nui rawa ngā whārangi'
ValidationError: 'Hapa manatoko'
VersionUnknown: tē mōhiotia
LeftAndMain_Menu_ss:
Hello: Kia ora
LOGOUT: 'Takiputa'
@ -386,7 +382,6 @@ mi:
Toggle: 'Whakaaturia te āwhina whakahōputu'
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>'
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>"
ResultCreated: 'I hangaia e {count} ngā mema'
ResultDeleted: 'Kua mukua e %d ngā mema'
ResultNone: 'Kāore he huringa'

View File

@ -300,17 +300,13 @@ nb:
DELETED: Slettet.
DropdownBatchActionsDefault: Handlinger
HELP: Hjelp
PAGETYPE: 'Side-type'
PERMAGAIN: 'Du har blitt logget ut av publiseringssystemet. Hvis du vil logge deg på igjen, skriv inn brukernavn og passord under.'
PERMALREADY: 'Beklager, men du har ikke tilgang til denne delen av publiseringssystemet. Hvis du vil logge inn som en annen bruker, gjør det nedenfor.'
PERMDEFAULT: 'Vennligst velg en autentiseringsmetode og skriv inn brukernavn og passord for å få tilgang til publiseringssystemet.'
PreviewButton: Forhåndsvisning
REORGANISATIONSUCCESSFUL: 'Omorganisering av sidetreet vellykket'
SAVEDUP: Lagret.
ShowAsList: 'vis som liste'
TooManyPages: 'For mange sider'
ValidationError: 'Valideringsfeil'
VersionUnknown: Ukjent
LeftAndMain_Menu_ss:
Hello: Hei
LOGOUT: 'Logg ut'
@ -388,7 +384,6 @@ nb:
Toggle: 'Vis formateringshjelp'
MemberImportForm:
Help1: '<p>Importer brukere i <em>CSV-format</em> (verdier adskilt med komma). <small><a href="#" class="toggle-advanced">Vis avanserte alternativer</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Avanserte alternativer</h4>\n<ul>\n<li>Tillatte kolonner: <em>%s</em></li>\n<li>Eksisterende brukere blir matchet mot deres unike <em>Code</em> og oppdatert med nye verdier fra den importerte filen.</li>\n<li>Grupper kan angis med <em>Groups</em>-kolonnen. Grupper er identifisert ved deres <em>Code</em>. Grupper kan adskilles med komma. Eksisterende gruppemedlemskap blir ikke fjernet.</li>\n</ul>\n</div>"
ResultCreated: 'Opprettet {count} medlemmer'
ResultDeleted: 'Slettet %d medlemmer'
ResultNone: 'Ingen endringer'

View File

@ -171,6 +171,7 @@ nl:
TEXT2: 'wachtwoord reset link'
TEXT3: voor
Form:
CSRF_EXPIRED_MESSAGE: 'Uw sessie is verlopen. Verzend het formulier opnieuw.'
FIELDISREQUIRED: '{name} is verplicht'
SubmitBtnLabel: Versturen
VALIDATIONCREDITNUMBER: 'Gelieve uw credit card number {number} juist in te vullen'
@ -180,7 +181,6 @@ nl:
VALIDATIONSTRONGPASSWORD: 'Wachtwoorden moeten bestaan uit minstens één cijfer en één alfanumeriek karakter.'
VALIDATOR: Validator
VALIDCURRENCY: 'Vul een geldige munteenheid in'
CSRF_EXPIRED_MESSAGE: 'Uw sessie is verlopen. Verzend het formulier opnieuw.'
FormField:
Example: 'bv. %s'
NONE: geen
@ -301,17 +301,13 @@ nl:
DELETED: Verwijderd.
DropdownBatchActionsDefault: Acties
HELP: Help
PAGETYPE: 'Pagina type: '
PERMAGAIN: 'U bent uitgelogd uit het CMS. Als u weer wilt inloggen vul dan uw gebruikersnaam en wachtwoord hieronder in.'
PERMALREADY: 'Helaas, dat deel van het CMS is niet toegankelijk voor u. Hieronder kunt u als iemand anders inloggen.'
PERMDEFAULT: 'Geef uw e-mailadres en wachtwoord in om in te loggen op het CMS.'
PreviewButton: Voorbeeld
REORGANISATIONSUCCESSFUL: 'Menu-indeling is aangepast'
SAVEDUP: Opgeslagen.
ShowAsList: 'laat als lijst zien'
TooManyPages: 'Te veel pagina''s'
ValidationError: 'Validatiefout'
VersionUnknown: Onbekend
LeftAndMain_Menu_ss:
Hello: Hallo
LOGOUT: 'Uitloggen'
@ -389,7 +385,6 @@ nl:
Toggle: 'Toon opmaak hulp'
MemberImportForm:
Help1: '<p>Importeer leden in <em>CSV</em>-formaat (comma-separated values). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Geavanceerd gebruik</h4>\n<ul>\n<li>Toegestane kolommen: <em>%s</em></li>\n<li>Bestaande groepen worden geïdentificeerd door middel van hun unieke <em>Code</em>-waarde, en aangepast met de nieuwe waarden vanuit het geïmporteerde bestand</li>\n<li>Groepshiërarchiën kunnen aangemaakt worden door een <em>ParentCode</em>-kolom te gebruiken</li>\n<li>Toegangscodeskunnen toegewezen worden met de <em>PermissionCode</em> kolom. Bestaande toegangscodes worden niet verwijderd.</li>\n</ul>\n</div>"
ResultCreated: '{count} leden aangemaakt'
ResultDeleted: '%d leden verwijderd'
ResultNone: 'Geen wijzingen'

View File

@ -300,17 +300,13 @@ pl:
DELETED: Usunięto.
DropdownBatchActionsDefault: Akcje
HELP: Pomoc
PAGETYPE: 'Rodzaj strony:'
PERMAGAIN: 'Zostałeś wylogowany z CMSa. Jeśli chcesz zalogować się ponownie, wpisz login i hasło 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.'
PreviewButton: Podgląd
REORGANISATIONSUCCESSFUL: 'Pomyślnie zreorganizowano drzewo serwisu.'
SAVEDUP: Zapisano.
ShowAsList: 'pokaż jako listę'
TooManyPages: 'Zbyt wiele stron'
ValidationError: 'Błąd walidacji'
VersionUnknown: Nieznany
LeftAndMain_Menu_ss:
Hello: Witaj
LOGOUT: 'Wyloguj się'
@ -388,7 +384,6 @@ pl:
Toggle: 'Pokaż pomoc formatowania'
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>'
Help2: "<div class=\"advanced\">\n⇥<h4>Użycie zaawansowane</h4>\n⇥<ul>\n⇥<li>Rozpoznawane pola: <em>%s</em></li>\n⇥<li>Istniejący użytkownicy zostaną uaktualnieni nowymi wartościami z importowanego pliku. Dopasowanie nastąpi poprzez porównanie z unikalną wartością w polu <em>Code</em>.</li>\n⇥<li>Grupy mogą zostać przydzielone przy użyciu pola <em>Groups</em>. Do grup należy odnieść się poprzez ich własność <em>Code</em>. Jeśli dodawanych jest wiele grup, należy je oddzielić przecinkiem. Istniejące przynależności do grup nie zostaną usunięte.</li>\n⇥</ul>\n</div>"
ResultCreated: 'Utworzono {count} użytkowników'
ResultDeleted: 'Usunięto %d użytkowników'
ResultNone: 'Bez zmian'

View File

@ -144,7 +144,6 @@ pt:
LeftAndMain:
DropdownBatchActionsDefault: Ações
HELP: Ajuda
PAGETYPE: 'Tipo de página: '
PERMAGAIN: 'Saiu do CMS. Se se deseja autenticar novamente insira as suas credenciais abaixo.'
LoginAttempt:
Email: 'Endereço de Email'

View File

@ -119,10 +119,7 @@ pt_BR:
TITLE: 'Upload de imagem'
LeftAndMain:
HELP: Ajuda
PAGETYPE: 'Tipo de página:'
PERMAGAIN: 'Você foi desconectado do CMS. Se você quiser entrar novamente, digite um nome de usuário e senha abaixo.'
PERMALREADY: 'Sinto muito, mas você não pode acessar essa parte do CMS. Se você quiser entrar como outra pessoa, faça-o abaixo.'
PERMDEFAULT: 'Por favor, entre com seu e-mail e senha para entrar no sistema.'
LoginAttempt:
Email: 'Endereço de E-mail'
IP: 'Endereço IP'

View File

@ -171,6 +171,7 @@ ru:
TEXT2: 'ссылка переустановки пароля'
TEXT3: для
Form:
CSRF_EXPIRED_MESSAGE: 'Срок действия сеанса истек. Пожалуйста, отправьте данные формы еще раз.'
FIELDISREQUIRED: 'Поле {$name} является обязательным'
SubmitBtnLabel: Выбрать
VALIDATIONCREDITNUMBER: 'Пожалуйста, убедитесь, что номер кредитной карты {number} задан правильно'
@ -180,7 +181,6 @@ ru:
VALIDATIONSTRONGPASSWORD: 'Пароль должен содержать как минимум одну цифру и один буквенно-цифровой символ.'
VALIDATOR: Валидатор
VALIDCURRENCY: 'Пожалуйста, укажите валюту правильно'
CSRF_EXPIRED_MESSAGE: 'Срок действия сеанса истек. Пожалуйста, отправьте данные формы еще раз.'
FormField:
Example: 'например, %s'
NONE: не выбрано
@ -300,17 +300,13 @@ ru:
DELETED: Удалено.
DropdownBatchActionsDefault: Действия
HELP: Помощь
PAGETYPE: 'Тип страницы:'
PERMAGAIN: 'Вы вышли из Системы Управления Сайтом. Если Вы хотите войти снова, введите внизу имя пользователя и пароль.'
PERMALREADY: 'Извините, у вас нет доступа к этому разделу Системы Управления. Если Вы хотите войти под другой учетной записью, сделайте это ниже'
PERMDEFAULT: 'Введите ваши адрес электр. почты и пароль для доступа к системе.'
PreviewButton: Просмотр
REORGANISATIONSUCCESSFUL: 'Древесная структура сайта успешно реорганизована.'
SAVEDUP: Сохранено.
ShowAsList: 'в виде списка'
TooManyPages: 'Слишком много страниц'
ValidationError: 'Ошибка проверки'
VersionUnknown: Неизвестно
LeftAndMain_Menu_ss:
Hello: Здравствуйте
LOGOUT: 'Выход'
@ -388,7 +384,6 @@ ru:
Toggle: 'Отобразить справку по форматированию'
MemberImportForm:
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>"
ResultCreated: 'Создано {count} участников'
ResultDeleted: 'Удалено %d участников'
ResultNone: 'Изменений нет'

View File

@ -78,10 +78,7 @@ si:
TITLE: 'පිංතූර අප්ලෝඩ් කරන Iframe ඵක'
LeftAndMain:
HELP: උදවි
PAGETYPE: 'පිටු වර්ගය'
PERMAGAIN: 'ඹබ CMS ඵකෙන් ඉවත් වී ඇත. නැවත ඇතුල් වීමට නම හා මුරපදය යොදන්න'
PERMALREADY: 'සමාවන්න ඔබට මෙම කොටස පරිශීලනය කල නොහැක. පහතින් වෙනත් නමකින් ඇතුල් වන්න'
PERMDEFAULT: 'හදුනාගැනීමේ ක්රමයක් තෝරා ඹබගේ දත්ත ඇතුල් කරන්න'
Member:
BUTTONCHANGEPASSWORD: 'මුර පදය අලුත් කරන්න'
BUTTONLOGIN: 'ඇතුල්වන්න'

View File

@ -70,10 +70,22 @@ sk:
ACCESSALLINTERFACES: 'Pristup do všetkých častí CMS.'
ACCESSALLINTERFACESHELP: 'Prepisuje viac špecifických nastavení prístupu.'
SAVE: Uložiť
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Zabudnuté heslo?'
BUTTONLOGIN: 'Prihlásiť sa späť'
BUTTONLOGOUT: 'Odhlásiť sa'
PASSWORDEXPIRED: '<p>Vaše heslo bolo expirované. <a target="_top" href="{link}">Prosím zvoľte nové heslo.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Náhľad webu'
CMSProfileController:
MENUTITLE: 'Môj profil'
CMSSecurity:
INVALIDUSER: '<p>Neplatný užívateľ. <a target="_top" href="{link}">Prosím overte sa znovu tu</a> pre pokračovanie.</p>'
LoginMessage: '<p>Ak máte akúkoľvek neuloženú prácu, môžete sa vrátiť na miesto, kde ste prestali, prihlásením sa späť nižšie.</p>'
SUCCESS: Úspešné
SUCCESSCONTENT: '<p>Úspešné prihlásenie. Ak nebudete automaticky presmerovaní <a target="_top" href="{link}">kliknite tu</a></p>'
TimedOutTitleAnonymous: 'Čas Vášho sedenia vypršal.'
TimedOutTitleMember: 'Ahoj {name}!<br />Čas Vášho sedenia vypršal.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Vaše heslo bolo zmenené pre'
CHANGEPASSWORDTEXT2: 'Teraz môžete použiť nasledujúce prihlasovacie údaje na prihlásenie:'
@ -85,18 +97,8 @@ sk:
YESANSWER: 'Áno'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v zozname. {value} nie je platná voľba'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Zabudnuté heslo?'
BUTTONLOGIN: 'Prihlásiť sa späť'
BUTTONLOGOUT: 'Odhlásiť sa'
PASSWORDEXPIRED: '<p>Vaše heslo bolo expirované. <a target="_top" href="{link}">Prosím zvoľte nové heslo.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Neplatný užívateľ. <a target="_top" href="{link}">Prosím overte sa znovu tu</a> pre pokračovanie.</p>'
LoginMessage: '<p>Ak máte akúkoľvek neuloženú prácu, môžete sa vrátiť na miesto, kde ste prestali, prihlásením sa späť nižšie.</p>'
SUCCESS: Úspešné
SUCCESSCONTENT: '<p>Úspešné prihlásenie. Ak nebudete automaticky presmerovaní <a target="_top" href="{link}">kliknite tu</a></p>'
TimedOutTitleAnonymous: 'Čas Vášho sedenia vypršal.'
TimedOutTitleMember: 'Ahoj {name}!<br />Čas Vášho sedenia vypršal.'
CheckboxSetField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v zozname. ''{value}'' nie je platná voľba'
ConfirmedPasswordField:
ATLEAST: 'Heslá musia byť nejmenej {min} znakov dlhé.'
BETWEEN: 'Heslá musia byť {min} až {max} znakov dlhé.'
@ -191,6 +193,7 @@ sk:
TEXT2: 'odkaz na resetovanie hesla'
TEXT3: pre
Form:
CSRF_EXPIRED_MESSAGE: 'Čas Vášho sedenia vypršal. Prosím znova odošlite formulár.'
CSRF_FAILED_MESSAGE: 'Vyzerá to, že to musí být technický problem. Kliknite prosím na tlačítko späť, obnovte váš prehliadač, a skúste opäť.'
FIELDISREQUIRED: '{name} je požadované'
SubmitBtnLabel: Choď
@ -201,7 +204,6 @@ sk:
VALIDATIONSTRONGPASSWORD: 'Heslá musia obsahovať aspoň jednu číslicu a jedno písmeno'
VALIDATOR: Validácia
VALIDCURRENCY: 'Prosím zadajte platnú menu'
CSRF_EXPIRED_MESSAGE: 'Čas Vášho sedenia vypršal. Prosím znova odošlite formulár.'
FormField:
Example: 'napr. %s'
NONE: žiadne
@ -258,7 +260,6 @@ sk:
many_many_Members: Členovia
GroupImportForm:
Help1: 'Importovať jednu alebo viac skupín v CSV formáte (čiarkov oddelené hodnoty). Zobraziť pokročilé použitie'
Help2: "<div class=\"advanced\">\n\t<h4>Pokročilé použitie</h4>\n\t<ul>\n\t<li>Povolené stĺpce: <em>%s</em></li>\n\t<li>Existujúce skupiny sú porovnávané s ich unikátnou <em>Code</em> hodnotou, a aktualizované s novými hodnotami z importovaného súbory</li>\n\t<li>Skupina hierarchií môže byť tvorená použitím <em>ParentCode</em> stĺpce.</li>\n\t<li>Kódy oprávnení môžu byť priradené <em>PermissionCode</em> stĺpcom. Existujúce oprávnenia nie sú smazáné.</li>\n\t</ul>\n</div>"
ResultCreated: 'Vytvorených {count} skupín'
ResultDeleted: 'Zmazané %d skupiny'
ResultUpdated: 'Aktualizované %d skupiny'
@ -309,10 +310,10 @@ sk:
LINKOPENNEWWIN: 'Otvoriť odkaz v novom okne?'
LINKTO: 'Odkázať na'
PAGE: Stránku
SUBJECT: 'Predmet emailu'
URL: URL
URLNOTANOEMBEDRESOURCE: 'URL ''{url}'' nemôže byť vložené do zdroja médií.'
UpdateMEDIA: 'Aktualizovať média'
SUBJECT: 'Predmet emailu'
Image:
PLURALNAME: Súbory
SINGULARNAME: Súbor
@ -326,10 +327,8 @@ sk:
DELETED: Zmazané.
DropdownBatchActionsDefault: Akcie
HELP: Pomoc
PAGETYPE: 'Typ stránky:'
PAGETYPE: 'Typ stránky'
PERMAGAIN: 'Boli ste odhlásený'
PERMALREADY: 'Je mi ľúto, ale nemáte prístup k tejto časti CMS. Ak sa chcete prihlásiť ako niekto iný, urobte tak nižšie'
PERMDEFAULT: 'Vyberte si prosím metódu autentifikácie a zadajte svoje prístupové údaje k CMS.'
PLEASESAVE: 'Uložte stránku, prosím. Táto stránka nemôže byť aktualizovaná, pretože eště nebola uložená.'
PreviewButton: Náhľad
REORGANISATIONSUCCESSFUL: 'Strom webu bol reorganizovaný úspešne.'
@ -337,7 +336,7 @@ sk:
ShowAsList: 'ukázať ako zoznam'
TooManyPages: 'Príliž veľa stránok'
ValidationError: 'Chyba platnosti'
VersionUnknown: Neznáme
VersionUnknown: neznámé
LeftAndMain_Menu_ss:
Hello: Ahoj
LOGOUT: 'Odhlásiť sa'
@ -418,7 +417,6 @@ sk:
Toggle: 'Ukázať nápovedu formátovania'
MemberImportForm:
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>"
ResultCreated: 'Vytvorených {count} členov'
ResultDeleted: 'Zmazaných %d členov'
ResultNone: 'Žiadne zmeny'
@ -482,8 +480,8 @@ sk:
SINGULARNAME: Úloha
Title: Názov
PermissionRoleCode:
PermsError: 'Nie je možné pripojiť kód "%s" s privilegovanými právami (vyžaduje ADMIN prístup)'
PLURALNAME: 'Kódy právomocí úloh'
PermsError: 'Nie je možné pripojiť kód "%s" s privilegovanými právami (vyžaduje ADMIN prístup)'
SINGULARNAME: 'Kód právomocí úloh'
Permissions:
PERMISSIONS_CATEGORY: 'Úlohy a prístupové práva'
@ -585,5 +583,3 @@ sk:
UPLOADSINTO: 'uloží do /{path}'
Versioned:
has_many_Versions: verzie
CheckboxSetField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v zozname. ''{value}'' nie je platná voľba'

View File

@ -166,6 +166,7 @@ sl:
TEXT2: 'povezava za ponastavitev gesla'
TEXT3: za
Form:
CSRF_EXPIRED_MESSAGE: 'Vaša seja je potekla. Prosimo ponovno oddajte obrazec '
FIELDISREQUIRED: '{name} je potrebno'
SubmitBtnLabel: Naprej
VALIDATIONCREDITNUMBER: 'Prosim, preverite, da ste vnesli številko kreditne kartice {number} pravilno.'
@ -175,7 +176,6 @@ sl:
VALIDATIONSTRONGPASSWORD: 'Geslo naj vsebuje vsaj eno črko in vsaj eno številko.'
VALIDATOR: Preverjanje
VALIDCURRENCY: 'Prosim, vnesite pravo valuto.'
CSRF_EXPIRED_MESSAGE: 'Vaša seja je potekla. Prosimo ponovno oddajte obrazec '
FormField:
Example: 'npr. %s'
NONE: brez
@ -286,17 +286,13 @@ sl:
DELETED: Izbrisano.
DropdownBatchActionsDefault: Dejanja
HELP: Pomoč
PAGETYPE: 'Tip strani:'
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'
PERMDEFAULT: 'Izberite način avtentikacije in vpišite svoje podatke za dostop do CMS-vmesnika.'
PreviewButton: Predogled
REORGANISATIONSUCCESSFUL: 'Struktura spletnega mesta je bila uspešno spremenjena.'
SAVEDUP: Shranjeno.
ShowAsList: 'pokaži kot seznam'
TooManyPages: 'Preveč strani'
ValidationError: 'Napaka pri potrjevanju'
VersionUnknown: Neznano
LeftAndMain_Menu_ss:
Hello: Pozdravljeni,
LOGOUT: 'Odjava'

View File

@ -300,17 +300,13 @@ sr:
DELETED: Избрисано
DropdownBatchActionsDefault: Акције
HELP: Помоћ
PAGETYPE: 'Тип странице'
PERMAGAIN: 'Одјављени сте са CMS-а. Уколико желите да се поново пријавите, унесите корисничко име и лозинку.'
PERMALREADY: 'Не можете да приступите овом делу CMS-а. Ако желите да се пријавите као неко други, урадите то испод'
PERMDEFAULT: 'Изаберите методу аутентификације и унесите податке за приступ CMS-у.'
PreviewButton: Претходни преглед
REORGANISATIONSUCCESSFUL: 'Стабло сајта је успешно реорганизовано.'
SAVEDUP: Сачувано.
ShowAsList: 'прикажи у виду листе'
TooManyPages: 'Превише страница'
ValidationError: 'Грешла при провери исправности'
VersionUnknown: Непознато
LeftAndMain_Menu_ss:
Hello: Здраво
LOGOUT: 'Одјави се'
@ -388,7 +384,6 @@ sr:
Toggle: 'Прикажи помоћ за форматирање'
MemberImportForm:
Help1: '<p>Увези кориснике у <em>CSV</em> формату (зарезима раздвојене вредности). <small><a href="#" class="toggle-advanced">Прикажи напредно коришћење</a></small></p>'
Help2: "<div class=\"advanced\"> <h4>Напредно коришћење</h4> <ul> <li>Дозвољене колоне: <em>%s</em></li> <li>Постојеће корисници се препознају по сопственом јединственом својству <em>Кôд</em> и ажурирају новим вредностима из увезене датотеке</li> <li>Групе могу бити додељене помоћу колоне <em>Групе</em>. Групе се идентификују путем њиховог својства <em>Кôд</em>, а више група се раздваја зарезом. Постојеће чланство у групама се не брише.</li>\n</ul></div>"
ResultCreated: 'Креирано {count} чланова'
ResultDeleted: 'Избрисано %d чланова'
ResultNone: 'Без промена'

View File

@ -300,17 +300,13 @@ sr@latin:
DELETED: Izbrisano
DropdownBatchActionsDefault: Akcije
HELP: Pomoć
PAGETYPE: 'Tip stranice'
PERMAGAIN: 'Odjavljeni ste sa CMS-a. Ukoliko želite da se ponovo prijavite, unesite korisničko ime i lozinku.'
PERMALREADY: 'Ne možete da pristupite ovom delu CMS-a. Ako želite da se prijavite kao neko drugi, uradite to ispod'
PERMDEFAULT: 'Izaberite metodu autentifikacije i unesite podatke za pristup CMS-u.'
PreviewButton: Prethodni pregled
REORGANISATIONSUCCESSFUL: 'Stablo sajta je uspešno reorganizovano.'
SAVEDUP: Sačuvano.
ShowAsList: 'prikaži u vidu liste'
TooManyPages: 'Previše stranica'
ValidationError: 'Grešla pri proveri ispravnosti'
VersionUnknown: Nepoznato
LeftAndMain_Menu_ss:
Hello: Zdravo
LOGOUT: 'Odjavi se'
@ -388,7 +384,6 @@ sr@latin:
Toggle: 'Prikaži pomoć za formatiranje'
MemberImportForm:
Help1: '<p>Uvezi korisnike u <em>CSV</em> formatu (zarezima razdvojene vrednosti). <small><a href="#" class="toggle-advanced">Prikaži napredno korišćenje</a></small></p>'
Help2: "<div class=\"advanced\"> <h4>Napredno korišćenje</h4> <ul> <li>Dozvoljene kolone: <em>%s</em></li> <li>Postojeće korisnici se prepoznaju po sopstvenom jedinstvenom svojstvu <em>Kôd</em> i ažuriraju novim vrednostima iz uvezene datoteke</li> <li>Grupe mogu biti dodeljene pomoću kolone <em>Grupe</em>. Grupe se identifikuju putem njihovog svojstva <em>Kôd</em>, a više grupa se razdvaja zarezom. Postojeće članstvo u grupama se ne briše.</li>\n</ul></div>"
ResultCreated: 'Kreirano {count} članova'
ResultDeleted: 'Izbrisano %d članova'
ResultNone: 'Bez promena'

View File

@ -300,17 +300,13 @@ sr_RS:
DELETED: Избрисано
DropdownBatchActionsDefault: Акције
HELP: Помоћ
PAGETYPE: 'Тип странице'
PERMAGAIN: 'Одјављени сте са CMS-а. Уколико желите да се поново пријавите, унесите корисничко име и лозинку.'
PERMALREADY: 'Не можете да приступите овом делу CMS-а. Ако желите да се пријавите као неко други, урадите то испод'
PERMDEFAULT: 'Изаберите методу аутентификације и унесите податке за приступ CMS-у.'
PreviewButton: Претходни преглед
REORGANISATIONSUCCESSFUL: 'Стабло сајта је успешно реорганизовано.'
SAVEDUP: Сачувано.
ShowAsList: 'прикажи у виду листе'
TooManyPages: 'Превише страница'
ValidationError: 'Грешла при провери исправности'
VersionUnknown: Непознато
LeftAndMain_Menu_ss:
Hello: Здраво
LOGOUT: 'Одјави се'
@ -388,7 +384,6 @@ sr_RS:
Toggle: 'Прикажи помоћ за форматирање'
MemberImportForm:
Help1: '<p>Увези кориснике у <em>CSV</em> формату (зарезима раздвојене вредности). <small><a href="#" class="toggle-advanced">Прикажи напредно коришћење</a></small></p>'
Help2: "<div class=\"advanced\"> <h4>Напредно коришћење</h4> <ul> <li>Дозвољене колоне: <em>%s</em></li> <li>Постојеће корисници се препознају по сопственом јединственом својству <em>Кôд</em> и ажурирају новим вредностима из увезене датотеке</li> <li>Групе могу бити додељене помоћу колоне <em>Групе</em>. Групе се идентификују путем њиховог својства <em>Кôд</em>, а више група се раздваја зарезом. Постојеће чланство у групама се не брише.</li>\n</ul></div>"
ResultCreated: 'Креирано {count} чланова'
ResultDeleted: 'Избрисано %d чланова'
ResultNone: 'Без промена'

548
lang/sr_RS@latin.yml Normal file
View File

@ -0,0 +1,548 @@
sr_RS@latin:
AssetAdmin:
NEWFOLDER: Nova fascikla
SHOWALLOWEDEXTS: 'Prikaži dozvoljene ekstenzije'
AssetTableField:
CREATED: 'Prvo dostavljeno'
DIM: Dimenzije
FILENAME: Ime datoteke
FOLDER: Fascikla
LASTEDIT: 'Poslednje promenjeno'
OWNER: Vlasnik
SIZE: 'Veličina'
TITLE: Naslov
TYPE: 'Tip'
URL: URL
AssetUploadField:
ChooseFiles: 'Izaberi datoteke'
DRAGFILESHERE: 'Prevuci datoteke ovde'
DROPAREA: 'Područje za ispuštanje'
EDITALL: 'Izmeni sve'
EDITANDORGANIZE: 'Izmeni i organizuj'
EDITINFO: 'Izmeni datoteke'
FILES: Datoteke
FROMCOMPUTER: 'Izaberite datoteke sa Vašeg računara'
FROMCOMPUTERINFO: 'Postavi sa Vašeg računara'
TOTAL: Ukupno
TOUPLOAD: 'Izaberite datoteke za postavljanje...'
UPLOADINPROGRESS: 'Molimo Vas da sačekate... Postavljanje je u toku'
UPLOADOR: ILI
BBCodeParser:
ALIGNEMENT: Poravnanje
ALIGNEMENTEXAMPLE: 'poravnat uz desnu stranu'
BOLD: 'Podebljan tekst'
BOLDEXAMPLE: Podebljano
CODE: 'Blok kôda'
CODEDESCRIPTION: 'Blok neformatizovanog kôda'
CODEEXAMPLE: 'Blok kôda'
COLORED: 'Obojen tekst'
COLOREDEXAMPLE: 'plavi tekst'
EMAILLINK: 'Veza e-pošte'
EMAILLINKDESCRIPTION: 'Napravite link do adrese e-pošte'
IMAGE: Slika
IMAGEDESCRIPTION: 'Prikaži sliku u mojoj poruci'
ITALIC: 'Iskošen tekst'
ITALICEXAMPLE: Iskošeno
LINK: 'Link veb sajta'
LINKDESCRIPTION: 'Link do drugog veb sajta ili URL'
STRUCK: 'Precrtan tekst'
STRUCKEXAMPLE: Precrtano
UNDERLINE: 'Podvučen tekst'
UNDERLINEEXAMPLE: Podvučeno
UNORDERED: 'Neuređena lista'
UNORDEREDDESCRIPTION: 'Neuređena lista'
UNORDEREDEXAMPLE1: 'stavka 1 neuređene liste'
BackLink_Button_ss:
Back: Nazad
BasicAuth:
ENTERINFO: 'Unesite korisničko ime i lozinku.'
ERRORNOTADMIN: 'Ovaj korisnik nije administrator.'
ERRORNOTREC: 'To korisničko ime / lozinka nije prepoznato'
Boolean:
ANY: Bilo koja
CMSLoadingScreen_ss:
LOADING: Učitavanje...
REQUIREJS: 'CMS zahteva omogućen JavaScript.'
CMSMain:
ACCESS: 'Pristup ''{title}'' sekciji'
ACCESSALLINTERFACES: 'Pristup svim sekcijama CMS-a'
ACCESSALLINTERFACESHELP: 'Nadjačava specifičnija podešavanja pristupa.'
SAVE: Sačuvaj
CMSPageHistoryController_versions_ss:
PREVIEW: 'Prethodni pregled veb sajta'
CMSProfileController:
MENUTITLE: 'Moj profil'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Promenili ste svoju lozinku za '
CHANGEPASSWORDTEXT2: 'Sada možete da koristite sledeće podatke za prijavljivanje:'
EMAIL: E-pošta
HELLO: Zdravo
PASSWORD: Lozinka
ConfirmedPasswordField:
ATLEAST: 'Lozinka mora sadržati najmanje {min} znakova.'
BETWEEN: 'Lozinka mora sadržati najmanje {min}, a najviše {max} znakova.'
MAXIMUM: 'Lozinka može sadržati najviše {max} znakova.'
SHOWONCLICKTITLE: 'Promeni lozinku'
ContentController:
NOTLOGGEDIN: 'Niste prijavljeni'
CreditCardField:
FIRST: prvi
FOURTH: četvrti
SECOND: drugi
THIRD: treći
CurrencyField:
CURRENCYSYMBOL: din.
DataObject:
PLURALNAME: 'Objekti podataka'
SINGULARNAME: 'Objekat podataka'
Date:
DAY: dan
DAYS: dan/a
HOUR: sat
HOURS: sata/a
LessThanMinuteAgo: 'manje od minute'
MIN: minut
MINS: minuta
MONTH: mesec
MONTHS: meseci
SEC: sekunda
SECS: sekundi
TIMEDIFFAGO: '{difference} ranije'
TIMEDIFFIN: 'kroz {difference}'
YEAR: godina
YEARS: godinâ
DateField:
NOTSET: 'nije podešeno'
TODAY: danas
VALIDDATEFORMAT2: 'Molimo Vas da unesete ispravan format datuma ({format})'
VALIDDATEMAXDATE: 'Datum ne sme biti posle ({date})'
VALIDDATEMINDATE: 'Datum ne sme biti pre ({date})'
DatetimeField:
NOTSET: 'nije podešeno'
Director:
INVALID_REQUEST: 'Pogrešan zahtev'
DropdownField:
CHOOSE: (izaberite)
CHOOSESEARCH: '(Izaberi ili Pronađi)'
EmailField:
VALIDATION: 'Unesite adresu e-pošte'
Enum:
ANY: Bilo koji
File:
AviType: 'AVI video datotoeka'
Content: Sadržaj
CssType: 'CSS datoteka'
DmgType: 'Apple slika diska'
DocType: 'Word dokument'
Filename: Ime datoteke
GifType: 'GIF slika - dobro za dijagrame'
GzType: 'GZIP arhiva'
HtlType: 'HTML datoteka'
HtmlType: 'HTML datoteka'
INVALIDEXTENSION: 'Ekstenzija nije dozvoljena (dozvoljene: {extensions})'
INVALIDEXTENSIONSHORT: 'Ekstenzija nije dozvoljena'
IcoType: 'Ikona'
JpgType: 'JPEG slika - dobro za fotografije'
JsType: 'Javascript datoteka'
Mp3Type: 'MP3 audio datoteka'
MpgType: 'MPEG video datoteka'
NOFILESIZE: 'Datoteka je veličine 0 B.'
NOVALIDUPLOAD: 'Datoteka za prenos nije valjana'
Name: Ime
PLURALNAME: Datoteke
PdfType: 'Adobe Acrobat PDF datoteka'
PngType: 'PNG slika - dobar format opšte namene'
SINGULARNAME: Datoteka
TOOLARGE: 'Datoteka je prevelika; maksimalna dozvoljena veličina je {size}'
TOOLARGESHORT: 'Veličina datoteke premašuje {size}'
TiffType: 'Označeni format slike'
Title: Naslov
WavType: 'WAV audio datoteka'
XlsType: 'Excel dokument'
ZipType: 'ZIP arhiva'
Filesystem:
SYNCRESULTS: 'Sinhronizacija je završena: {createdcount} stavki je kreirano, {deletedcount} stavki je izbrisano'
Folder:
PLURALNAME: Fascikle
SINGULARNAME: Fascikla
ForgotPasswordEmail_ss:
HELLO: Zdravo
TEXT1: 'Evo ga Vaš'
TEXT2: 'link za resetovanje lozinke'
TEXT3: za
Form:
FIELDISREQUIRED: '{name} je obavezno'
SubmitBtnLabel: Idi
VALIDATIONCREDITNUMBER: 'Uverite se da ste ispravno uneli {number} broj kreditne kartice'
VALIDATIONNOTUNIQUE: 'Uneta vrednost nije jedinstvena'
VALIDATIONPASSWORDSDONTMATCH: 'Lozinke se ne poklapaju'
VALIDATIONPASSWORDSNOTEMPTY: 'Polja za lozinke ne smeju da budu prazna'
VALIDATIONSTRONGPASSWORD: 'Lozinke moraju ra sadrže bar jednu cifru i bar jedan alfanumerički znak'
VALIDATOR: Proverivač ispravnosti
VALIDCURRENCY: 'Unesite ispravnu valutu'
FormField:
Example: 'npr. %s'
NONE: bez
GridAction:
DELETE_DESCRIPTION: Izbriši
Delete: Izbriši
UnlinkRelation: Raskini link
GridField:
Add: 'Dodaj {name}'
Filter: Filter
FilterBy: 'Filtriraj po'
Find: Pronađi
LEVELUP: 'Nivo iznad'
LinkExisting: 'Postojanje linka'
NewRecord: 'Novi %s'
NoItemsFound: 'Nijedna stavka nije pronađena'
PRINTEDAT: 'Odštampano'
PRINTEDBY: 'Odštampao'
PlaceHolder: 'Pronađi {type}'
PlaceHolderWithLabels: 'Pronađi {type} po {name}'
RelationSearch: 'Pretraživanje relacije'
ResetFilter: Vrati u pređašnje stanje
GridFieldAction_Delete:
DeletePermissionsFailure: 'Nemate dozvolu za brisanje'
EditPermissionsFailure: 'Nemate dozvolu da raskinete link sa zapisom'
GridFieldDetailForm:
CancelBtn: Odustani
Create: Kreiraj
Delete: Izbriši
DeletePermissionsFailure: 'Nemate pravo brisanja'
Deleted: 'Izbrisano %s %s'
Save: Sačuvaj
Saved: 'Sačuvano {name} {link}'
GridFieldEditButton_ss:
EDIT: Izmeni
GridFieldItemEditView:
Go_back: 'Vrati se nazad'
Group:
AddRole: 'Dodaj ulogu za ovu grupu'
Code: 'Kôd grupe'
DefaultGroupTitleAdministrators: Administratori
DefaultGroupTitleContentAuthors: 'Autori sadržaja'
Description: Opis
GroupReminder: 'Ako izaberete roditeljsku grupu, ova grupa će preuzeti sve njene uloge'
HierarchyPermsError: 'Nije moguće dodeliti roditeljsku grupu "%s" sa privilegovanim dozvolama (zahteva Administratorski pristup)'
Locked: 'Zaključano?'
NoRoles: 'Uloge nisu pronađene'
PLURALNAME: Grupe
Parent: 'Roditeljska grupa'
RolesAddEditLink: 'Upravljaj ulogama'
SINGULARNAME: Grupa
Sort: 'Poredak sortiranja'
has_many_Permissions: Dozvole
many_many_Members: Članovi
GroupImportForm:
Help1: '<p>Uvezi jednu ili više grupa u <em>CSV</em> formatu (zarezima razdvojene vrednosti). <small><a href="#" class="toggle-advanced">Prikaži napredno korišćenje</a></small></p>'
ResultCreated: 'Kreirano {count} grupa'
ResultDeleted: 'Izbrisao %d grupa'
ResultUpdated: 'Ažurirano %d grupa'
Hierarchy:
InfiniteLoopNotAllowed: 'Otkrivena je beskonačna petlja u okviru "{type}" hijerarhije. Promenite roditelja da bi ste razrešili situaciju'
HtmlEditorField:
ADDURL: 'Dodaj URL'
ADJUSTDETAILSDIMENSIONS: 'Detalji &amp; dimenzije'
ANCHORVALUE: Sidro
BUTTONADDURL: 'Dodaj URL'
BUTTONINSERT: Umetni
BUTTONINSERTLINK: 'Umetni link'
BUTTONREMOVELINK: 'Ukloni link'
BUTTONUpdate: Ažuriraj
CAPTIONTEXT: 'Tekst oznake'
CSSCLASS: 'Poravnanje / stil'
CSSCLASSCENTER: 'Centrirano, samo za sebe.'
CSSCLASSLEFT: 'Sa leve strane, sa tekstom prelomljenim okolo.'
CSSCLASSLEFTALONE: 'Sa leve strane, samo za sebe'
CSSCLASSRIGHT: 'Sa desne strane, sa tekstom prelomljenim okolo.'
DETAILS: Detalji
EMAIL: 'Adresa e-pošte'
FILE: Datoteka
FOLDER: Fascikla
FROMCMS: 'Iz CMS-a'
FROMCOMPUTER: 'Sa Vašeg računara'
FROMWEB: 'Sa veba'
FindInFolder: 'Pronađi u fascikli'
IMAGEALT: 'Alternativni tekst (alt)'
IMAGEALTTEXT: 'Alternativni tekst (alt) - prikazuje se ako slika ne može biti prikazana'
IMAGEALTTEXTDESC: 'Prikazuje se čitačima ekrana ili ako slika ne može biti prikazana'
IMAGEDIMENSIONS: Dimenzije
IMAGEHEIGHTPX: Visina
IMAGETITLE: 'Tekst naslova (tooltip) - za dodatne informacije o slici'
IMAGETITLETEXT: 'Tekst naslova (tooltip)'
IMAGETITLETEXTDESC: 'Za dodatne informacije o slici'
IMAGEWIDTHPX: Širina
INSERTMEDIA: 'Umetni medijski resurs'
LINK: 'Link'
LINKANCHOR: 'Sidro na ovoj strani'
LINKDESCR: 'Opis linka'
LINKEMAIL: 'Adresa e-pošte'
LINKEXTERNAL: 'drugi vebsajt'
LINKFILE: 'Preuzmi datoteku'
LINKINTERNAL: 'stranu na sajtu'
LINKOPENNEWWIN: 'Otvoriti link u novom prozoru?'
LINKTO: 'Poveži na'
PAGE: Stranica
URL: URL
URLNOTANOEMBEDRESOURCE: 'URL ''{url}'' ne može biti pretvoren u medijski resurs.'
UpdateMEDIA: 'Ažuriraj medijski resurs'
Image:
PLURALNAME: Datoteke
SINGULARNAME: Datoteka
Image_Cached:
PLURALNAME: Datoteke
SINGULARNAME: Datoteka
Image_iframe_ss:
TITLE: 'Iframe za dostavljanje slika'
LeftAndMain:
CANT_REORGANISE: 'Nemate pravo da menjate stranice vršnog nivoa. Vaše izmene nisu sačuvane.'
DELETED: Izbrisano
DropdownBatchActionsDefault: Akcije
HELP: Pomoć
PERMAGAIN: 'Odjavljeni ste sa CMS-a. Ukoliko želite da se ponovo prijavite, unesite korisničko ime i lozinku.'
PreviewButton: Prethodni pregled
REORGANISATIONSUCCESSFUL: 'Stablo sajta je uspešno reorganizovano.'
SAVEDUP: Sačuvano.
ShowAsList: 'prikaži u vidu liste'
TooManyPages: 'Previše stranica'
ValidationError: 'Grešla pri proveri ispravnosti'
LeftAndMain_Menu_ss:
Hello: Zdravo
LOGOUT: 'Odjavi se'
LoginAttempt:
Email: 'Adresa e-pošte'
IP: 'IP adresa'
PLURALNAME: 'Pokušaji prijave'
SINGULARNAME: 'Pokušaj prijave'
Status: Status
Member:
ADDGROUP: 'Dodaj grupu'
BUTTONCHANGEPASSWORD: 'Izmeni lozinku'
BUTTONLOGIN: 'Prijavi se'
BUTTONLOGINOTHER: 'Prijavite se kao neko drugi'
BUTTONLOSTPASSWORD: 'Zaboravio sam lozinku'
CANTEDIT: 'Nemate dozvolu da uradite to'
CONFIRMNEWPASSWORD: 'Potvrdite novu lozinku'
CONFIRMPASSWORD: 'Potvrdite lozinku'
DATEFORMAT: 'Format datuma'
DefaultAdminFirstname: 'Podrazumevani administrator'
DefaultDateTime: podrazumevano
EMAIL: E-pošta
EMPTYNEWPASSWORD: 'Nova lozinka ne može biti prazna. Pokušajte ponovo.'
ENTEREMAIL: 'Unesite adresu e-pošte da bi ste dobili link za resetovanje lozinke.'
ERRORLOCKEDOUT2: 'Vaš nalog je privremeno suspendovan zbog velikog broja neuspešnih pokušaja prijave. Pokušajte ponovo za {count} minuta.'
ERRORNEWPASSWORD: 'Nova lozinka koju ste uneli se ne poklapa. Pokušajte ponovo.'
ERRORPASSWORDNOTMATCH: 'Vaša trenutna lozinka se ne poklapa. Pokušajte ponovo.'
ERRORWRONGCRED: 'Pruženi detalji izgleda nisu korektni. Pokušajte ponovo.'
FIRSTNAME: 'Ime'
INTERFACELANG: 'Jezik interfejsa'
INVALIDNEWPASSWORD: 'Nismo mogli da prihvatimo lozinku: {password}'
LOGGEDINAS: 'Prijavljeni ste kao {name}.'
NEWPASSWORD: 'Nova lozinka'
NoPassword: 'Ne postoji lozinka za tog člana.'
PASSWORD: Lozinka
PLURALNAME: Članovi
REMEMBERME: 'Zapamti me za sledeći put'
SINGULARNAME: Član
SUBJECTPASSWORDCHANGED: 'Vaša lozinka je promenjena'
SUBJECTPASSWORDRESET: 'Link za resetovanje Vaše lozinke'
SURNAME: Prezime
TIMEFORMAT: 'Format vremena'
VALIDATIONMEMBEREXISTS: 'Već postoji član sa ovom adresom e-pošte'
ValidationIdentifierFailed: 'Nije moguće prepisati preko postojećeg člana #{id} sa istim identifikatorom ({name} = {value}))'
WELCOMEBACK: 'Dobro došli ponovo, {firstname}'
YOUROLDPASSWORD: 'Vaša stara lozinka'
belongs_many_many_Groups: Grupe
db_LastVisited: 'Datum poslednje posete'
db_Locale: 'Lokalitet interfejsa'
db_LockedOutUntil: 'Zaključan do'
db_NumVisit: 'Broj poseta'
db_Password: Lozinka
db_PasswordExpiry: 'Datum isteka lozinke'
MemberAuthenticator:
TITLE: 'Pošalji lozinku'
MemberDatetimeOptionsetField:
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
Custom: Prilagođen
DATEFORMATBAD: 'Neispravan format datuma'
DAYNOLEADING: 'Dan u mesecu bez vodeće nule'
DIGITSDECFRACTIONSECOND: 'Jedna ili više cifara koje predstaljaju deseti deo sekunde'
FOURDIGITYEAR: 'Četvorocifrena godina'
FULLNAMEMONTH: 'Puno ime meseca (npr. Jun)'
HOURNOLEADING: 'Sati bez vodeće nule'
MINUTENOLEADING: 'Minute bez vodeće nule'
MONTHNOLEADING: 'Mesec bez vodeće nule'
Preview: Prethodni pregled
SHORTMONTH: 'Kratko ime meseca (npr. Sept)'
TWODIGITDAY: 'Dvocifreni dan meseca'
TWODIGITHOUR: 'Dve cifre sati (00 do 23)'
TWODIGITMINUTE: 'Dve cifre minuta (00 do 59)'
TWODIGITMONTH: 'Dvocifreni mesec (01=Januar itd)'
TWODIGITSECOND: 'Dve cifre sekundi (00 do 59)'
TWODIGITYEAR: 'Dvocifrena godina'
Toggle: 'Prikaži pomoć za formatiranje'
MemberImportForm:
Help1: '<p>Uvezi korisnike u <em>CSV</em> formatu (zarezima razdvojene vrednosti). <small><a href="#" class="toggle-advanced">Prikaži napredno korišćenje</a></small></p>'
ResultCreated: 'Kreirano {count} članova'
ResultDeleted: 'Izbrisano %d članova'
ResultNone: 'Bez promena'
ResultUpdated: 'Ažurirano {count} članova'
MemberPassword:
PLURALNAME: 'Lozinke članova'
SINGULARNAME: 'Lozinka člana'
MemberTableField:
APPLY_FILTER: 'Primeni filter'
ModelAdmin:
DELETE: Izbriši
DELETEDRECORDS: 'Izbrisano {count} zapisa'
EMPTYBEFOREIMPORT: 'Premesti podatke'
IMPORT: 'Uvezi iz CSV'
IMPORTEDRECORDS: 'Uvezeno {count} zapisa'
NOCSVFILE: 'Izaberite CSV datoteku za uvoz'
NOIMPORT: 'Nema ničega za uvoz'
RESET: Vrati u pređašnje stanje
Title: 'Modeli podataka'
UPDATEDRECORDS: 'Ažurirano {count} zapisa'
ModelAdmin_ImportSpec_ss:
IMPORTSPECFIELDS: 'Kolone baze podataka'
IMPORTSPECLINK: 'Prikaži specifikaciju za %s'
IMPORTSPECRELATIONS: Relacije
IMPORTSPECTITLE: 'Specifikacija za %s'
ModelAdmin_Tools_ss:
FILTER: Filter
IMPORT: Uvezi
ModelSidebar_ss:
IMPORT_TAB_HEADER: Uvezi
SEARCHLISTINGS: Pretraga
MoneyField:
FIELDLABELAMOUNT: Iznos
FIELDLABELCURRENCY: Valuta
NullableField:
IsNullLabel: 'je Null'
NumericField:
VALIDATION: '''{value}'' nije broj. Samo brojevi mogu biti prihvaćeni za ovo polje'
Pagination:
Page: Stranica
View: Pregled
PasswordValidator:
LOWCHARSTRENGTH: 'Pojačajte lozinku dodavanjem nekih od sledećih znakova: %s'
PREVPASSWORD: 'Već ste koristili navedenu lozinku u prošlosti. Stoga, izaberite drugu lozinku'
TOOSHORT: 'Lozinka je prekratka. Lozinka mora sadržati bar %s znakova'
Permission:
AdminGroup: Administrator
CMS_ACCESS_CATEGORY: 'Pristup CMS-u'
FULLADMINRIGHTS: 'Puna administrativna prava'
FULLADMINRIGHTS_HELP: 'Nadjačava sve druge dodeljene dozvole.'
PLURALNAME: Dozvole
SINGULARNAME: Dozvola
PermissionCheckboxSetField:
AssignedTo: 'dodeljeno "{title}"'
FromGroup: 'nasleđeno od grupe "{title}"'
FromRole: 'nasleđeno od uloge "{title}"'
FromRoleOnGroup: 'nasleđeno iz uloge "%s" za grupu "%s"'
PermissionRole:
OnlyAdminCanApply: 'Može primenjivati samo administrator'
PLURALNAME: Uloge
SINGULARNAME: Uloga
Title: Naslov
PermissionRoleCode:
PermsError: 'Nije moguće dodeliti kôd "%s" sa privilegovanim dozvolama (zahteva Administratorski pristup)'
SINGULARNAME: 'Kôd uloge za dozvole'
Permissions:
PERMISSIONS_CATEGORY: 'Uloge i prava pristupa'
UserPermissionsIntro: 'Dodavanjem ovog korisnika u grupu biće prilagođena i njegova prava pristupa. Podrobnija objašnjenja o pravima pristupa za pojedinačne grupe možete pronaći u sekciji "Grupe".'
PhoneNumberField:
VALIDATION: 'Unesite ispravan broj telefona'
Security:
ALREADYLOGGEDIN: 'Nemate dozvolu za pristup ovoj strani. Ukoliko imate drugi nalog kojim možete da pristupite ovoj strani, prijavite se.'
BUTTONSEND: 'Pošalji mi link za resetovanje lozinke'
CHANGEPASSWORDBELOW: 'Ovde možete da promenite svoju lozinku.'
CHANGEPASSWORDHEADER: 'Promeni moju lozinku'
ENTERNEWPASSWORD: 'Unesite novu lozinku.'
ERRORPASSWORDPERMISSION: 'Morate da budete prijavljeni da biste promenili svoju lozinku!'
LOGGEDOUT: 'Odjavljeni ste. Ukoliko želite da se ponovo prijavite, unesite svoje podatke.'
LOGIN: 'Prijavljivanje'
NOTEPAGESECURED: 'Ova strana je obezbeđena. Unesite svoje podatke i mi ćemo vam poslati sadržaj.'
NOTERESETLINKINVALID: '<p>Link za resetovanje lozinke je pogrešan ili je isteklo vreme za njegovo korišćenje.</p><p>Možete da zahtevate novi <a href="{link1}">ovde</a> ili da promenite Vašu lozinku nakon što se <a href="{link2}">prijavite</a>.</p>'
NOTERESETPASSWORD: 'Unesite svoju adresu e-pošte i mi ćemo vam poslati link pomoću kojeg možete da promenite svoju lozinku'
PASSWORDSENTHEADER: 'Link za resetovanje lozinke poslat je na adresu e-pošte: ''{email}'''
PASSWORDSENTTEXT: 'Hvala Vam! Link za resetovanje lozinke je poslat ne adresu e-pošte ''{email}''. Poruka će stići primaocu samo ako postoji registrovan nalog sa tom adresom e-pošte.'
SecurityAdmin:
ACCESS_HELP: 'Omogućava špregled, dodavanje i izmene korisnika, kao i dodeljivanje prava pristupa i uloga korisnicima.'
APPLY_ROLES: 'Dodaj uloge grupama'
APPLY_ROLES_HELP: 'Mogućnost izmena ulogâ grupâ. Zahteva dozvolu za pristup odeljku "Korisnici".'
EDITPERMISSIONS: 'Upravljaj pravima pristupa grupâ'
EDITPERMISSIONS_HELP: 'Mogućnost menjanja Prava pristupa i IP adresa grupâ. Zahteva dozvolu za pristup odeljku "Bezbednost".'
GROUPNAME: 'Ime grupe'
IMPORTGROUPS: 'Uvezi grupe'
IMPORTUSERS: 'Uvezi korisnike'
MEMBERS: Članovi
MENUTITLE: Bezbednost
MemberListCaution: 'Pažnja: Uklanjanje članova iz ove liste ukloniće ih iz svih grupa i iz baze podataka'
NEWGROUP: 'Nova grupa'
PERMISSIONS: Dozvole
ROLES: Uloge
ROLESDESCRIPTION: 'Uloge su predefinisani skupovi ovlašćenja i mogu biti dodeljene grupama.<br />Nasleđuju se od roditeljskih grupa ako je potrebno.'
TABROLES: Uloge
Users: Korisnici
SecurityAdmin_MemberImportForm:
BtnImport: 'Uvezi iz CSV'
FileFieldLabel: 'CSV datoteka <small>(Dozvoljene ekstenzije: *.csv)</small>'
SilverStripeNavigator:
Auto: Auto
ChangeViewMode: 'Promeni môd pregleda'
Desktop: Radna površina
DualWindowView: 'Dvostruki prozor'
Edit: Izmeni
EditView: 'Môd izmena'
Mobile: Mobilno
PreviewState: 'Stanje prethodnog pregleda'
PreviewView: 'Môd prethodnog pregleda'
Responsive: Prilagodljiv
SplitView: 'Razdeljeni môd'
Tablet: Tablet
ViewDeviceWidth: 'Izaberite širinu prethodnog pregleda'
Width: širina
SiteTree:
TABMAIN: Glavno
TableListField:
CSVEXPORT: 'Izvezi u CSV'
Print: Štampaj
TableListField_PageControls_ss:
OF: od
TimeField:
VALIDATEFORMAT: 'Unesite ispravan format vremena ({format})'
ToggleField:
LESS: manje
MORE: više
UploadField:
ATTACHFILE: 'Priključi datoteku'
ATTACHFILES: 'Priključi datoteke'
AttachFile: 'Priključi datoteku(e)'
CHOOSEANOTHERFILE: 'Izaberi drugu datoteku'
CHOOSEANOTHERINFO: 'Zameni ovu datoteku drugom sa servera'
DELETE: 'Izbriši iz datoteka'
DELETEINFO: 'Trajno izbriši ovu datoteku sa servera'
DOEDIT: Sačuvaj
DROPFILE: 'ispusti datoteku'
DROPFILES: 'ispusti datoteke'
Dimensions: Dimenzije
EDIT: Izmeni
EDITINFO: 'Izmeni ovu datoteku'
FIELDNOTSET: 'Informacije o datoteci nisu pronađene'
FROMCOMPUTER: 'Sa Vašeg računara'
FROMCOMPUTERINFO: 'Izaberi među datotekama'
FROMFILES: 'Iz datoteka'
HOTLINKINFO: 'Napomena: ova slika će biti ubačena pomoću hotlinka. Uverite se da imate ovlašćenje kreatora origilanog sajta da uradite to.'
MAXNUMBEROFFILES: 'Maksimalan broj datoteka ({count}) je premašen.'
MAXNUMBEROFFILESONE: 'Može postaviti samo jednu datoteku'
MAXNUMBEROFFILESSHORT: 'Može postaviti samo {count} datoteka'
OVERWRITEWARNING: 'Datoteka sa istim imenom već postoji'
REMOVE: Ukloni
REMOVEINFO: 'Uklonu ovu datoteku odavde, ali je ne briši sa servera'
STARTALL: 'Započni sve'
Saved: Sačuvano.
UPLOADSINTO: 'postalja u /{path}'
Versioned:
has_many_Versions: Verzije

View File

@ -70,10 +70,21 @@ sv:
ACCESSALLINTERFACES: 'Tillgång till alla CMS-sektioner'
ACCESSALLINTERFACESHELP: 'Ersätter mer specifika behörighetsinställningar.'
SAVE: Spara
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Glömt lösenord?'
BUTTONLOGIN: 'Logga in igen'
BUTTONLOGOUT: 'Logga ut'
PASSWORDEXPIRED: '<p>Ditt lösenard har gått ut. <a target="_top" href="{link}">Vänligen ange ett nytt.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Förhandsgranska sida'
CMSProfileController:
MENUTITLE: 'Min Profil'
CMSSecurity:
INVALIDUSER: '<p>Ogiltig användare. <a target="_top" href="{link}">Vänligen ange dina inloggnings-uppgifter igen</a> för att fortsätta.</p>'
LoginMessage: '<p>Om du har osparade ändringar kan du fortsätta där du slutade genom att logga in igen nedan.</p>'
SUCCESSCONTENT: '<p>Inloggningen lyckades. <a target="_top" href="{link}">Klicka här</a> om du inte skickas vidare automatiskt.</p>'
TimedOutTitleAnonymous: 'Din session har upphört.'
TimedOutTitleMember: 'Hej {name}!<br />Din session har upphört.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Du har ändrat ditt lösenord för'
CHANGEPASSWORDTEXT2: 'Du kan nu använda följande uppgifter för att logga in:'
@ -85,17 +96,8 @@ sv:
YESANSWER: 'Ja'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Vänligen välj att värde i listan. {value} är inget giltigt val'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Glömt lösenord?'
BUTTONLOGIN: 'Logga in igen'
BUTTONLOGOUT: 'Logga ut'
PASSWORDEXPIRED: '<p>Ditt lösenard har gått ut. <a target="_top" href="{link}">Vänligen ange ett nytt.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Ogiltig användare. <a target="_top" href="{link}">Vänligen ange dina inloggnings-uppgifter igen</a> för att fortsätta.</p>'
LoginMessage: '<p>Om du har osparade ändringar kan du fortsätta där du slutade genom att logga in igen nedan.</p>'
SUCCESSCONTENT: '<p>Inloggningen lyckades. <a target="_top" href="{link}">Klicka här</a> om du inte skickas vidare automatiskt.</p>'
TimedOutTitleAnonymous: 'Din session har upphört.'
TimedOutTitleMember: 'Hej {name}!<br />Din session har upphört.'
CheckboxSetField:
SOURCE_VALIDATION: 'Vänligen välj att värde i listan. {value} är inget giltigt val'
ConfirmedPasswordField:
ATLEAST: 'Lösenord måste vara minst {min} tecken långa.'
BETWEEN: 'Lösenord måste vara {min} till {max} tecken långa.'
@ -190,6 +192,7 @@ sv:
TEXT2: 'Återställningslänk för lösenord'
TEXT3: för
Form:
CSRF_EXPIRED_MESSAGE: 'Din session har upphört. Var god och skicka in formuläret på nytt.'
CSRF_FAILED_MESSAGE: 'Ett tekniskt fel uppstod. Var god klicka på bakåt-knappen, ladda om sidan i webbläsaren och försök igen'
FIELDISREQUIRED: '{name} är obligatoriskt'
SubmitBtnLabel: Kör
@ -200,7 +203,6 @@ sv:
VALIDATIONSTRONGPASSWORD: 'Lösenord måste innehålla minst en siffra och en bokstav.'
VALIDATOR: Validator
VALIDCURRENCY: 'Var vänlig ange en korrekt valuta'
CSRF_EXPIRED_MESSAGE: 'Din session har upphört. Var god och skicka in formuläret på nytt.'
FormField:
Example: 't.ex. %s'
NONE: ingen
@ -307,10 +309,10 @@ sv:
LINKOPENNEWWIN: 'Öppna länk i nytt fönster?'
LINKTO: 'Länka till'
PAGE: Sida
SUBJECT: 'Ämne'
URL: URL
URLNOTANOEMBEDRESOURCE: 'URLen ''{url}'' gick inte att omvandla till ett media.'
UpdateMEDIA: 'Uppdatera media'
SUBJECT: 'Ämne'
Image:
PLURALNAME: Filer
SINGULARNAME: Fil
@ -324,10 +326,7 @@ sv:
DELETED: Raderad
DropdownBatchActionsDefault: Åtgärder
HELP: Hjälp
PAGETYPE: 'Sidtyp'
PERMAGAIN: 'Du har blivit utloggad. Om du vill logga in igen anger du dina uppgifter nedan.'
PERMALREADY: 'Tyvärr så har du inte tillträde till den delen av CMSet. Om du vill logga in med en annan användare kan du göra det nedan'
PERMDEFAULT: 'Var god välj en inloggningsmetod och fyll i dina uppgifter för att logga in i CMSet.'
PLEASESAVE: 'Var god spara sidan. Den kan inte uppdateras eftersom den har inte sparats ännu.'
PreviewButton: Förhandsgranska
REORGANISATIONSUCCESSFUL: 'Omorganisationen av sidträdet luyckades.'
@ -335,7 +334,7 @@ sv:
ShowAsList: 'visa som lista'
TooManyPages: 'För många sidor'
ValidationError: 'Valideringsfel'
VersionUnknown: okänd
VersionUnknown: Okänd
LeftAndMain_Menu_ss:
Hello: Hej
LOGOUT: 'Logga ut'
@ -414,7 +413,6 @@ sv:
Toggle: 'Visa fomateringshjälp'
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>'
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>"
ResultCreated: 'Skapade {count} medlemmar'
ResultDeleted: 'Raderade %d medlemmar'
ResultNone: 'Inga ändringar'
@ -578,5 +576,3 @@ sv:
UPLOADSINTO: 'sparas till /{path}'
Versioned:
has_many_Versions: Versioner
CheckboxSetField:
SOURCE_VALIDATION: 'Vänligen välj att värde i listan. {value} är inget giltigt val'

View File

@ -205,10 +205,7 @@ th:
LeftAndMain:
DropdownBatchActionsDefault: การกระทำ
HELP: ช่วยเหลือ
PAGETYPE: 'ชนิดหน้าเว็บ:'
PERMAGAIN: 'คุณได้ออกจากระบบของ CMS แล้ว หากคุณต้องการเข้าสู่ระบบอีกครั้ง กรุณากรอกชื่อผู้ใช้งานและรหัสผ่านของคุณด้านล่าง'
PERMALREADY: 'ขออภัย, คุณไม่สามารถเข้าใช้งานในส่วนนี้ของ CMS ได้ หากคุณต้องการเข้าสู่ระบบในชื่ออื่นได้จากด้านล่าง'
PERMDEFAULT: 'กรุณาเลือกวิธีการยืนยันตัวบุคคลและกรอกข้อมูลประจำตัวเพื่อเข้าใช้งาน CMS'
LeftAndMain_Menu_ss:
Hello: สวัสดีค่ะ
LOGOUT: 'ออกจากระบบ'

View File

@ -133,10 +133,7 @@ tr:
LeftAndMain:
DELETED: Silinmiş.
HELP: Yardım
PAGETYPE: 'Sayfa tipi:'
PERMAGAIN: 'İYS yönetiminden çıkış yaptınız. Eğer tekrar giriş yapmak isterseniz, aşağıya kullanıcı adı ve şifrenizi giriniz.'
PERMALREADY: 'Üzgünüm ama İYS''nin bu bölümüne erişim hakkınız yok. Başka bir kullanıcı olarak giriş yapmak istiyorsanız aşağıdan bunu yapabilirsiniz'
PERMDEFAULT: 'İYS erişimi için eposta adresinizi ve parolanızı giriniz.e kolaylık sağlama'
PreviewButton: Önizleme
SAVEDUP: Kaydedildi.
LoginAttempt:

View File

@ -138,10 +138,7 @@ uk:
TITLE: 'АйФрейм завантаження зображення'
LeftAndMain:
HELP: Допомога
PAGETYPE: 'Тип сторінки:'
PERMAGAIN: 'Ви вийшли з системи. Якщо Ви хочете повторно ідентифікуватися, введіть дані нижче.'
PERMALREADY: 'Вибачте, та Ви не маєте доступу до цієї чатини системи. Якщо Ви хочете ідентифікуватися як хтось інший, зробіть це нижче '
PERMDEFAULT: 'Будь ласка, оберіть метод ідентифікації та введіть дані доступу до системи.'
LeftAndMain_Menu_ss:
Hello: Привіт
LOGOUT: 'Вилогуватися'

View File

@ -300,17 +300,13 @@ zh:
DELETED: 已删除。
DropdownBatchActionsDefault: 动作
HELP: 帮助
PAGETYPE: '页面类型'
PERMAGAIN: '您已经退出 CMS。如果您想再次登录请在下面输入用户名和密码。'
PERMALREADY: '抱歉,您不能访问 CMS 的这一部分。如果您想以不同的身份登录,请在下面进行操作'
PERMDEFAULT: '请选择一种认证方法并输入您的凭据以访问 CMS。'
PreviewButton: 预览
REORGANISATIONSUCCESSFUL: '重新组织网站地图已成功'
SAVEDUP: 已保存。
ShowAsList: '以列表方式展示'
TooManyPages: '页面数目过多'
ValidationError: '验证错误'
VersionUnknown: 位置
LeftAndMain_Menu_ss:
Hello: 您好
LOGOUT: '退出'
@ -388,7 +384,6 @@ zh:
Toggle: '显示格式帮助'
MemberImportForm:
Help1: '<p>采用 <em>CSV 格式</em> 导入用户(逗号分隔值)<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>通过独有的 <em>代码</em> 属性对现有用户进行配对并使用导入文件中任何新的值更新他们。</li>\n <li>群组可通过 <em>组别</em> 栏目进行分类。群组通过他们的<em>代码</em> 属性进行识别,\n多个群组可用逗号隔开。现有的群组分配情况不会被清除。</li>\n </ul>\n</div>"
ResultCreated: '已创建 {count} 位成员'
ResultDeleted: '已删除 %d 位成员'
ResultNone: '无更改'

View File

@ -69,10 +69,7 @@ zh_CN:
TITLE: '图象上传内嵌框架Iframe'
LeftAndMain:
HELP: 帮助
PAGETYPE: '网页类型'
PERMAGAIN: '您于CMS的登录已被注销请在下面输入用户名和密码重新登录。'
PERMALREADY: '对不起您无权登录CMS的这一部分。如果您要用另外的帐号请在下面登录。'
PERMDEFAULT: '请先选择一种验证方法并输入您的权限信息以登录CMS。'
Member:
BUTTONCHANGEPASSWORD: '更改密码'
BUTTONLOGIN: '登录'

View File

@ -55,10 +55,7 @@ zh_TW:
TITLE: '圖片上載iFrame'
LeftAndMain:
HELP: 說明
PAGETYPE: '網頁類型:'
PERMAGAIN: '您已被登出,請在下面重新登入。'
PERMALREADY: '抱歉,您沒有權力使用這個部分。您可以用別的帳號登入。'
PERMDEFAULT: '請選擇一個認證方法並登入。'
Member:
BUTTONCHANGEPASSWORD: '更改密碼'
BUTTONLOGIN: '登入'

View File

@ -422,10 +422,15 @@ class ArrayList extends ViewableData implements SS_List, SS_Filterable, SS_Sorta
throw new InvalidArgumentException("Bad arguments passed to sort()");
}
// Store the original keys of the items as a sort fallback, so we can preserve the original order in the event
// that array_multisort is unable to work out a sort order for them. This also prevents array_multisort trying
// to inspect object properties which can result in errors with circular dependencies
$originalKeys = array_keys($this->items);
// This the main sorting algorithm that supports infinite sorting params
$multisortArgs = array();
$values = array();
foreach($columnsToSort as $column => $direction ) {
foreach($columnsToSort as $column => $direction) {
// The reason these are added to columns is of the references, otherwise when the foreach
// is done, all $values and $direction look the same
$values[$column] = array();
@ -442,6 +447,8 @@ class ArrayList extends ViewableData implements SS_List, SS_Filterable, SS_Sorta
$multisortArgs[] = &$sortDirection[$column];
}
$multisortArgs[] = &$originalKeys;
$list = clone $this;
// As the last argument we pass in a reference to the items that all the sorting will be applied upon
$multisortArgs[] = &$list->items;

View File

@ -725,7 +725,7 @@ class Hierarchy extends DataExtension {
$children = $baseClass::get()
->filter('ParentID', (int)$this->owner->ID)
->sort('Sort', 'ASC');
->sort('"Sort"', 'ASC');
if ($afterNode) {
$children = $children->filter('Sort:GreaterThan', $afterNode->Sort);
}

View File

@ -93,6 +93,17 @@ class Image extends File implements Flushable {
return self::config()->backend;
}
/**
* Retrieve the original filename from the path of a transformed image.
* Any other filenames pass through unchanged.
*
* @param string $path
* @return string
*/
public static function strip_resampled_prefix($path) {
return preg_replace('/_resampled\/(.+\/|[^-]+-)/', '', $path);
}
/**
* Set up template methods to access the transformations generated by 'generate' methods.
*/
@ -114,6 +125,7 @@ class Image extends File implements Flushable {
$urlLink .= "<label class='left'>"._t('AssetTableField.URL','URL')."</label>";
$urlLink .= "<span class='readonly'><a href='{$this->Link()}'>{$this->RelativeLink()}</a></span>";
$urlLink .= "</div>";
// todo: check why the above code is here, since $urlLink is not used?
//attach the addition file information for an image to the existing FieldGroup create in the parent class
$fileAttributes = $fields->fieldByName('Root.Main.FilePreview')->fieldByName('FilePreviewData');
@ -708,11 +720,7 @@ class Image extends File implements Flushable {
call_user_func_array(array($this, "generateFormattedImage"), $args);
}
$cached = new Image_Cached($cacheFile);
// Pass through the title so the templates can use it
$cached->Title = $this->Title;
// Pass through the parent, to store cached images in correct folder.
$cached->ParentID = $this->ParentID;
$cached = new Image_Cached($cacheFile, false, $this);
return $cached;
}
}
@ -726,12 +734,25 @@ class Image extends File implements Flushable {
public function cacheFilename($format) {
$args = func_get_args();
array_shift($args);
// Note: $folder holds the *original* file, while the Image we're working with
// may be a formatted image in a child directory (this happens when we're chaining formats)
$folder = $this->ParentID ? $this->Parent()->Filename : ASSETS_DIR . "/";
$format = $format . Convert::base64url_encode($args);
$filename = $format . "-" . $this->Name;
$patterns = $this->getFilenamePatterns($this->Name);
if (!preg_match($patterns['FullPattern'], $filename)) {
$filename = $format . "/" . $this->Name;
$pattern = $this->getFilenamePatterns($this->Name);
// Any previous formats need to be derived from this Image's directory, and prepended to the new filename
$prepend = array();
preg_match_all($pattern['GeneratorPattern'], $this->Filename, $matches, PREG_SET_ORDER);
foreach($matches as $formatdir) {
$prepend[] = $formatdir[0];
}
$filename = implode($prepend) . $filename;
if (!preg_match($pattern['FullPattern'], $filename)) {
throw new InvalidArgumentException('Filename ' . $filename
. ' that should be used to cache a resized image is invalid');
}
@ -855,9 +876,9 @@ class Image extends File implements Flushable {
$generateFuncs = implode('|', $generateFuncs);
$base64url_match = "[a-zA-Z0-9_~]*={0,2}";
return array(
'FullPattern' => "/^((?P<Generator>{$generateFuncs})(?P<Args>" . $base64url_match . ")\-)+"
'FullPattern' => "/^((?P<Generator>{$generateFuncs})(?P<Args>" . $base64url_match . ")\/)+"
. preg_quote($filename) . "$/i",
'GeneratorPattern' => "/(?P<Generator>{$generateFuncs})(?P<Args>" . $base64url_match . ")\-/i"
'GeneratorPattern' => "/(?P<Generator>{$generateFuncs})(?P<Args>" . $base64url_match . ")\//i"
);
}
@ -871,40 +892,35 @@ class Image extends File implements Flushable {
$folder = $this->ParentID ? $this->Parent()->Filename : ASSETS_DIR . '/';
$cacheDir = Director::getAbsFile($folder . '_resampled/');
// Find all paths with the same filename as this Image (the path contains the transformation info)
if(is_dir($cacheDir)) {
if($handle = opendir($cacheDir)) {
while(($file = readdir($handle)) !== false) {
// ignore all entries starting with a dot
if(substr($file, 0, 1) != '.' && is_file($cacheDir . $file)) {
$cachedFiles[] = $file;
}
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($cacheDir));
foreach($files as $path => $file){
if ($file->getFilename() == $this->Name) {
$cachedFiles[] = $path;
}
closedir($handle);
}
}
$pattern = $this->getFilenamePatterns($this->Name);
foreach($cachedFiles as $cfile) {
if(preg_match($pattern['FullPattern'], $cfile, $matches)) {
if(Director::fileExists($cacheDir . $cfile)) {
$subFilename = substr($cfile, 0, -1 * strlen($this->Name));
preg_match_all($pattern['GeneratorPattern'], $subFilename, $subMatches, PREG_SET_ORDER);
$generatorArray = array();
foreach ($subMatches as $singleMatch) {
$generatorArray[] = array('Generator' => $singleMatch['Generator'],
'Args' => Convert::base64url_decode($singleMatch['Args']));
}
// Using array_reverse is important, as a cached image will
// have the generators settings in the filename in reversed
// order: the last generator given in the filename is the
// first that was used. Later resizements are prepended
$generatedImages[] = array ( 'FileName' => $cacheDir . $cfile,
'Generators' => array_reverse($generatorArray) );
}
// Reconstruct the image transformation(s) from the format-folder(s) in the path
// (if chained, they contain the transformations in the correct order)
foreach($cachedFiles as $cf_path) {
preg_match_all($pattern['GeneratorPattern'], $cf_path, $matches, PREG_SET_ORDER);
$generatorArray = array();
foreach ($matches as $singleMatch) {
$generatorArray[] = array(
'Generator' => $singleMatch['Generator'],
'Args' => Convert::base64url_decode($singleMatch['Args'])
);
}
$generatedImages[] = array(
'FileName' => $cf_path,
'Generators' => $generatorArray
);
}
return $generatedImages;
@ -951,8 +967,14 @@ class Image extends File implements Flushable {
$numDeleted = 0;
$generatedImages = $this->getGeneratedImages();
foreach($generatedImages as $singleImage) {
unlink($singleImage['FileName']);
$path = $singleImage['FileName'];
unlink($path);
$numDeleted++;
do {
$path = dirname($path);
}
// remove the folder if it's empty (and it's not the assets folder)
while(!preg_match('/assets$/', $path) && Filesystem::remove_folder_if_empty($path));
}
return $numDeleted;
@ -1040,8 +1062,9 @@ class Image_Cached extends Image {
* @param boolean $isSingleton This this to true if this is a singleton() object, a stub for calling methods.
* Singletons don't have their defaults set.
*/
public function __construct($filename = null, $isSingleton = false) {
public function __construct($filename = null, $isSingleton = false, Image $sourceImage = null) {
parent::__construct(array(), $isSingleton);
if ($sourceImage) $this->update($sourceImage->toMap());
$this->ID = -1;
$this->Filename = $filename;
}

View File

@ -32,6 +32,7 @@ class URLSegmentFilter extends Object {
'/\s|\+/u' => '-', // remove whitespace/plus
'/[_.]+/u' => '-', // underscores and dots to dashes
'/[^A-Za-z0-9\-]+/u' => '', // remove non-ASCII chars, only allow alphanumeric and dashes
'/\/+/u' => '-', // remove forward slashes in case multibyte is allowed (and ASCII chars aren't removed)
'/[\-]{2,}/u' => '-', // remove duplicate dashes
'/^[\-]+/u' => '', // Remove all leading dashes
'/[\-]+$/u' => '' // Remove all trailing dashes

View File

@ -181,7 +181,7 @@ abstract class DBSchemaManager {
return (bool) $this->schemaUpdateTransaction;
}
// Transactional schema altering functions - they don't do anyhting except for update schemaUpdateTransaction
// Transactional schema altering functions - they don't do anything except for update schemaUpdateTransaction
/**
* Instruct the schema manager to record a table creation to later execute

View File

@ -5,6 +5,9 @@
*
* By default streams unbuffered data, but seek(), rewind(), or numRecords() will force the statement to
* buffer itself and sacrifice any potential performance benefit.
*
* @package framework
* @subpackage model
*/
class MySQLStatement extends SS_Query {

View File

@ -1,11 +1,14 @@
<?php
/**
* @package framework
* @subpackage model
*/
/**
* Object representing a SQL SELECT query.
* The various parts of the SQL query can be manipulated individually.
*
* @package framework
* @subpackage model
* @deprecated since version 4.0
*/
class SQLQuery extends SQLSelect {

View File

@ -2,6 +2,8 @@
/**
* Provides a security interface functionality within the cms
* @package framework
* @subpackage security
*/
class CMSSecurity extends Security {
@ -107,8 +109,9 @@ class CMSSecurity extends Security {
'Message displayed to user if their session cannot be restored',
array('link' => $loginURLATT)
);
$this->response->setStatusCode(200);
$this->response->setBody(<<<PHP
$response = $this->getResponse();
$response->setStatusCode(200);
$response->setBody(<<<PHP
<!DOCTYPE html>
<html><body>
$message
@ -118,7 +121,8 @@ setTimeout(function(){top.location.href = "$loginURLJS";}, 0);
</body></html>
PHP
);
return $this->response;
$this->setResponse($response);
return $response;
}
protected function preLogin() {
@ -126,7 +130,7 @@ PHP
if(!$this->getTargetMember()) {
return $this->redirectToExternalLogin();
}
return parent::preLogin();
}
@ -150,7 +154,7 @@ PHP
public static function enabled() {
// Disable shortcut
if(!static::config()->reauth_enabled) return false;
// Count all cms-supported methods
$authenticators = Authenticator::get_authenticators();
foreach($authenticators as $authenticator) {
@ -205,7 +209,7 @@ PHP
array('link' => $backURL)
)
));
return $controller->renderWith($this->getTemplatesFor('success'));
}
}

View File

@ -163,16 +163,35 @@ class Permission extends DataObject implements TemplateGlobalProvider {
$memberID = (is_object($member)) ? $member->ID : $member;
}
// Turn the code into an array as we may need to add other permsissions to the set we check
if(!is_array($code)) $code = array($code);
if($arg == 'any') {
$adminImpliesAll = (bool)Config::inst()->get('Permission', 'admin_implies_all');
// Cache the permissions in memory
if(!isset(self::$cache_permissions[$memberID])) {
self::$cache_permissions[$memberID] = self::permissions_for_member($memberID);
}
// If $admin_implies_all was false then this would be inefficient, but that's an edge
// case and this keeps the code simpler
if(!is_array($code)) $code = array($code);
if(Config::inst()->get('Permission', 'admin_implies_all')) $code[] = "ADMIN";
foreach ($code as $permCode) {
if ($permCode === 'CMS_ACCESS') {
foreach (self::$cache_permissions[$memberID] as $perm) {
//if they have admin rights OR they have an explicit access to the CMS then give permission
if (($adminImpliesAll && $perm == 'ADMIN') || substr($perm, 0, 11) === 'CMS_ACCESS_') {
return true;
}
}
}
elseif (substr($permCode, 0, 11) === 'CMS_ACCESS_') {
//cms_access_leftandmain means access to all CMS areas
$code[] = 'CMS_ACCESS_LeftAndMain';
break;
}
}
// if ADMIN has all privileges, then we need to push that code in
if($adminImpliesAll) {
$code[] = "ADMIN";
}
// Multiple $code values - return true if at least one matches, ie, intersection exists
return (bool)array_intersect($code, self::$cache_permissions[$memberID]);

View File

@ -305,7 +305,7 @@ class Security extends Controller implements TemplateGlobalProvider {
parent::init();
// Prevent clickjacking, see https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options
$this->response->addHeader('X-Frame-Options', 'SAMEORIGIN');
$this->getResponse()->addHeader('X-Frame-Options', 'SAMEORIGIN');
}
public function index() {
@ -391,7 +391,7 @@ class Security extends Controller implements TemplateGlobalProvider {
$member = Member::currentUser();
if($member) $member->logOut();
if($redirect && (!$this->response || !$this->response->isFinished())) {
if($redirect && (!$this->getResponse()->isFinished())) {
$this->redirectBack();
}
}
@ -406,7 +406,7 @@ class Security extends Controller implements TemplateGlobalProvider {
// Event handler for pre-login, with an option to let it break you out of the login form
$eventResults = $this->extend('onBeforeSecurityLogin');
// If there was a redirection, return
if($this->redirectedTo()) return $this->response;
if($this->redirectedTo()) return $this->getResponse();
// If there was an SS_HTTPResponse object returned, then return that
if($eventResults) {
foreach($eventResults as $result) {
@ -528,13 +528,13 @@ class Security extends Controller implements TemplateGlobalProvider {
Session::clear('Security.Message');
// only display tabs when more than one authenticator is provided
// to save bandwidth and reduce the amount of custom styling needed
// to save bandwidth and reduce the amount of custom styling needed
if(count($forms) > 1) {
$content = $this->generateLoginFormSet($forms);
} else {
$content = $forms[0]->forTemplate();
}
// Finally, customise the controller to add any form messages and the form.
$customisedController = $controller->customise(array(
"Content" => $message,

View File

@ -4,6 +4,9 @@ namespace SilverStripe\Framework\Injector;
/**
* A factory which is used for creating service instances.
*
* @package framework
* @subpackage injector
*/
interface Factory {

View File

@ -1,9 +1,9 @@
<span id="$SelectID" class="preview-mode-selector preview-selector field dropdown">
<select title="<%t SilverStripeNavigator.ChangeViewMode 'Change view mode' %>" id="$SelectID-select" class="preview-dropdown dropdown nolabel no-change-track" autocomplete="off" name="Action">
<option data-icon="icon-split" class="icon-split icon-view first" value="split"><%t SilverStripeNavigator.SplitView 'Split mode' %></option>
<option data-icon="icon-preview" class="icon-preview icon-view" value="preview"><%t SilverStripeNavigator.PreviewView 'Preview mode' %></option>
<option data-icon="icon-edit" class="icon-edit icon-view last" value="content"><%t SilverStripeNavigator.EditView 'Edit mode' %></option>
<option data-icon="font-icon-columns" class="font-icon-columns icon-view first" value="split"><%t SilverStripeNavigator.SplitView 'Split mode' %></option>
<option data-icon="font-icon-eye" class="font-icon-eye icon-view" value="preview"><%t SilverStripeNavigator.PreviewView 'Preview mode' %></option>
<option data-icon="font-icon-edit-write" class="font-icon-edit-write icon-view last" value="content"><%t SilverStripeNavigator.EditView 'Edit mode' %></option>
<!-- Dual window not implemented yet -->
<!--
<option data-icon="icon-window" class="icon-window icon-view last" value="window"><%t SilverStripeNavigator.DualWindowView 'Dual Window' %></option>

View File

@ -17,8 +17,8 @@ class FakeController extends Controller {
'/'
);
$this->setRequest($request);
$this->response = new SS_HTTPResponse();
$this->setResponse(new SS_HTTPResponse());
$this->init();
}

View File

@ -365,10 +365,11 @@ class RestfulServiceTest_Controller extends Controller implements TestOnly {
<body>$body</body>
</test>
XML;
$this->response->setBody($out);
$this->response->addHeader('Content-type', 'text/xml');
$response = $this->getResponse();
$response->setBody($out);
$response->addHeader('Content-type', 'text/xml');
return $this->response;
return $response;
}
public function invalid() {
@ -390,11 +391,11 @@ XML;
</test>
XML;
$this->response->setBody($out);
$this->response->setStatusCode(400);
$this->response->addHeader('Content-type', 'text/xml');
$this->getResponse()->setBody($out);
$this->getResponse()->setStatusCode(400);
$this->getResponse()->addHeader('Content-type', 'text/xml');
return $this->response;
return $this->getResponse();
}
/**

View File

@ -32,7 +32,7 @@ class CMSProfileControllerTest extends FunctionalTest {
}
public function testMemberEditsOwnProfile() {
$member = $this->objFromFixture('Member', 'user1');
$member = $this->objFromFixture('Member', 'user3');
$this->session()->inst_set('loggedInAs', $member->ID);
$response = $this->post('admin/myprofile/EditForm', array(
@ -46,9 +46,9 @@ class CMSProfileControllerTest extends FunctionalTest {
'Password[_ConfirmPassword]' => 'password',
));
$member = $this->objFromFixture('Member', 'user1');
$member = $this->objFromFixture('Member', 'user3');
$this->assertEquals($member->FirstName, 'JoeEdited', 'FirstName field was changed');
$this->assertEquals('JoeEdited', $member->FirstName, 'FirstName field was changed');
}
public function testExtendedPermissionsStopEditingOwnProfile() {

View File

@ -1,27 +1,38 @@
Permission:
admin:
Code: ADMIN
cmsmain:
Code: CMS_ACCESS_LeftAndMain
leftandmain:
Code: CMS_ACCESS_CMSMain
admin:
Code: ADMIN
cmsmain:
Code: CMS_ACCESS_LeftAndMain
leftandmain:
Code: CMS_ACCESS_CMSMain
test:
Code: CMS_ACCESS_TestController
Group:
admins:
Title: Administrators
Permissions: =>Permission.admin
cmsusers:
Title: CMS Users
Permissions: =>Permission.cmsmain, =>Permission.leftandmain
admins:
Title: Administrators
Permissions: =>Permission.admin
cmsusers:
Title: CMS Users
Permissions: =>Permission.cmsmain, =>Permission.leftandmain
test:
Title: Test group
Permissions: =>Permission.test
Member:
admin:
FirstName: Admin
Email: admin@user.com
Groups: =>Group.admins
user1:
FirstName: Joe
Email: user1@user.com
Groups: =>Group.cmsusers
user2:
FirstName: Steve
Email: user2@user.com
Groups: =>Group.cmsusers
admin:
FirstName: Admin
Email: admin@user.com
Groups: =>Group.admins
user1:
FirstName: Joe
Email: user1@user.com
Groups: =>Group.cmsusers
user2:
FirstName: Steve
Email: user2@user.com
Groups: =>Group.cmsusers
user3:
FirstName: Files
Email: user3@example.com
Groups: =>Group.test

View File

@ -0,0 +1,55 @@
<?php
/**
* @package framework
* @subpackage tests
*/
class TaskRunnerTest extends SapphireTest {
public function testTaskEnabled() {
$runner = new TaskRunner();
$method = new ReflectionMethod($runner, 'taskEnabled');
$method->setAccessible(true);
$this->assertTrue($method->invoke($runner, 'TaskRunnerTest_EnabledTask'),
'Enabled task incorrectly marked as disabled');
$this->assertFalse($method->invoke($runner, 'TaskRunnerTest_DisabledTask'),
'Disabled task incorrectly marked as enabled');
$this->assertFalse($method->invoke($runner, 'TaskRunnerTest_AbstractTask'),
'Disabled task incorrectly marked as enabled');
$this->assertTrue($method->invoke($runner, 'TaskRunnerTest_ChildOfAbstractTask'),
'Enabled task incorrectly marked as disabled');
}
}
class TaskRunnerTest_EnabledTask extends BuildTask {
protected $enabled = true;
public function run($request) {
// NOOP
}
}
class TaskRunnerTest_DisabledTask extends BuildTask {
protected $enabled = false;
public function run($request) {
// NOOP
}
}
abstract class TaskRunnerTest_AbstractTask extends BuildTask {
protected $enabled = true;
public function run($request) {
// NOOP
}
}
class TaskRunnerTest_ChildOfAbstractTask extends TaskRunnerTest_AbstractTask {
protected $enabled = true;
public function run($request) {
// NOOP
}
}

View File

@ -628,6 +628,26 @@ class FormTest extends FunctionalTest {
$messageEls[0]->asXML()
);
}
public function testGetExtraFields()
{
$form = new FormTest_ExtraFieldsForm(
new FormTest_Controller(),
'Form',
new FieldList(new TextField('key1')),
new FieldList()
);
$data = array(
'key1' => 'test',
'ExtraFieldCheckbox' => false,
);
$form->loadDataFrom($data);
$formData = $form->getData();
$this->assertEmpty($formData['ExtraFieldCheckbox']);
}
protected function getStubForm() {
return new Form(
@ -780,41 +800,57 @@ class FormTest_ControllerWithSecurityToken extends Controller implements TestOnl
}
class FormTest_ControllerWithStrictPostCheck extends Controller implements TestOnly {
class FormTest_ControllerWithStrictPostCheck extends Controller implements TestOnly
{
private static $allowed_actions = array('Form');
private static $allowed_actions = array('Form');
protected $template = 'BlankPage';
protected $template = 'BlankPage';
public function Link($action = null) {
return Controller::join_links(
'FormTest_ControllerWithStrictPostCheck',
$this->getRequest()->latestParam('Action'),
$this->getRequest()->latestParam('ID'),
$action
);
}
public function Link($action = null)
{
return Controller::join_links(
'FormTest_ControllerWithStrictPostCheck',
$this->request->latestParam('Action'),
$this->request->latestParam('ID'),
$action
);
}
public function Form() {
$form = new Form(
$this,
'Form',
new FieldList(
new EmailField('Email')
),
new FieldList(
new FormAction('doSubmit')
)
);
$form->setFormMethod('POST');
$form->setStrictFormMethodCheck(true);
$form->disableSecurityToken(); // Disable CSRF protection for easier form submission handling
public function Form()
{
$form = new Form(
$this,
'Form',
new FieldList(
new EmailField('Email')
),
new FieldList(
new FormAction('doSubmit')
)
);
$form->setFormMethod('POST');
$form->setStrictFormMethodCheck(true);
$form->disableSecurityToken(); // Disable CSRF protection for easier form submission handling
return $form;
}
return $form;
}
public function doSubmit($data, $form, $request)
{
$form->sessionMessage('Test save was successful', 'good');
return $this->redirectBack();
}
}
class FormTest_ExtraFieldsForm extends Form implements TestOnly {
public function getExtraFields() {
$fields = parent::getExtraFields();
$fields->push(new CheckboxField('ExtraFieldCheckbox', 'Extra Field Checkbox', 1));
return $fields;
}
public function doSubmit($data, $form, $request) {
$form->sessionMessage('Test save was successful', 'good');
return $this->redirectBack();
}
}

View File

@ -89,7 +89,7 @@ class HtmlEditorFieldTest extends FunctionalTest {
$this->assertEquals(20, (int)$xml[0]['height'], 'Height tag of resized image is set.');
$neededFilename = 'assets/_resampled/ResizedImage' . Convert::base64url_encode(array(10,20)) .
'-HTMLEditorFieldTest_example.jpg';
'/HTMLEditorFieldTest_example.jpg';
$this->assertEquals($neededFilename, (string)$xml[0]['src'], 'Correct URL of resized image is set.');
$this->assertTrue(file_exists(BASE_PATH.DIRECTORY_SEPARATOR.$neededFilename), 'File for resized image exists');

View File

@ -187,8 +187,10 @@ class NumericFieldTest extends SapphireTest {
$field = new NumericField('Number');
$html = $field->Field();
$this->assertContains('type="number"', $html, 'number type set');
$this->assertContains('step="any"', $html, 'step value set to any');
// @todo - Revert to number one day when html5 number supports proper localisation
// See https://github.com/silverstripe/silverstripe-framework/pull/4565
$this->assertContains('type="text"', $html, 'number type not set');
}
}

View File

@ -425,6 +425,29 @@ class ArrayListTest extends SapphireTest {
$this->assertEquals($list->last()->ID, 3, 'Bert.3 should be last in the list');
}
/**
* Check that we don't cause recursion errors with array_multisort() and circular dependencies
*/
public function testSortWithCircularDependencies() {
$itemA = new stdClass;
$childA = new stdClass;
$itemA->child = $childA;
$childA->parent = $itemA;
$itemA->Sort = 1;
$itemB = new stdClass;
$childB = new stdClass;
$itemB->child = $childB;
$childB->parent = $itemB;
$itemB->Sort = 1;
$items = new ArrayList;
$items->add($itemA);
$items->add($itemB);
// This call will trigger a fatal error if there are issues with circular dependencies
$items->sort('Sort');
}
/**
* $list->filter('Name', 'bob'); // only bob in the list
*/

View File

@ -125,7 +125,6 @@ class ImageTest extends SapphireTest {
* of the output image do not resample the file.
*/
public function testReluctanceToResampling() {
$image = $this->objFromFixture('Image', 'imageWithoutTitle');
$this->assertTrue($image->isSize(300, 300));
@ -290,23 +289,24 @@ class ImageTest extends SapphireTest {
$this->assertContains($argumentString, $imageThird->getFullPath(),
'Image contains background color for padded resizement');
$imageThirdPath = $imageThird->getFullPath();
$filesInFolder = $folder->find(dirname($imageThirdPath));
$resampledFolder = dirname($image->getFullPath()) . "/_resampled";
$filesInFolder = $folder->find($resampledFolder);
$this->assertEquals(3, count($filesInFolder),
'Image folder contains only the expected number of images before regeneration');
$imageThirdPath = $imageThird->getFullPath();
$hash = md5_file($imageThirdPath);
$this->assertEquals(3, $image->regenerateFormattedImages(),
'Cached images were regenerated in the right number');
$this->assertEquals($hash, md5_file($imageThirdPath), 'Regeneration of third image is correct');
/* Check that no other images exist, to ensure that the regeneration did not create other images */
$this->assertEquals($filesInFolder, $folder->find(dirname($imageThirdPath)),
$this->assertEquals($filesInFolder, $folder->find($resampledFolder),
'Image folder contains only the expected image files after regeneration');
}
public function testRegenerateImages() {
$image = $this->objFromFixture('Image', 'imageWithMetacharacters');
$image = $this->objFromFixture('Image', 'imageWithoutTitle');
$image_generated = $image->ScaleWidth(200);
$p = $image_generated->getFullPath();
$this->assertTrue(file_exists($p), 'Resized image exists after creation call');
@ -316,12 +316,25 @@ class ImageTest extends SapphireTest {
$this->assertTrue(file_exists($p), 'Resized image exists after regeneration call');
}
/**
* Test that propertes from the source Image are inherited by resampled images
*/
public function testPropertyInheritance() {
$testString = 'This is a test';
$origImage = $this->objFromFixture('Image', 'imageWithTitle');
$origImage->TestProperty = $testString;
$resampled = $origImage->ScaleWidth(10);
$this->assertEquals($resampled->TestProperty, $testString);
$resampled2 = $resampled->ScaleWidth(5);
$this->assertEquals($resampled2->TestProperty, $testString);
}
/**
* Tests that cached images are regenerated properly after a cached file is renamed with new arguments
* ToDo: This doesn't seem like something that is worth testing - what is the point of this?
*/
public function testRegenerateImagesWithRenaming() {
$image = $this->objFromFixture('Image', 'imageWithMetacharacters');
$image = $this->objFromFixture('Image', 'imageWithoutTitle');
$image_generated = $image->ScaleWidth(200);
$p = $image_generated->getFullPath();
$this->assertTrue(file_exists($p), 'Resized image exists after creation call');
@ -331,6 +344,7 @@ class ImageTest extends SapphireTest {
$newArgumentString = Convert::base64url_encode(array(300));
$newPath = str_replace($oldArgumentString, $newArgumentString, $p);
if(!file_exists(dirname($newPath))) mkdir(dirname($newPath));
$newRelative = str_replace($oldArgumentString, $newArgumentString, $image_generated->getFileName());
rename($p, $newPath);
$this->assertFalse(file_exists($p), 'Resized image does not exist at old path after renaming');
@ -343,7 +357,7 @@ class ImageTest extends SapphireTest {
}
public function testGeneratedImageDeletion() {
$image = $this->objFromFixture('Image', 'imageWithMetacharacters');
$image = $this->objFromFixture('Image', 'imageWithoutTitle');
$image_generated = $image->ScaleWidth(200);
$p = $image_generated->getFullPath();
$this->assertTrue(file_exists($p), 'Resized image exists after creation call');
@ -356,7 +370,7 @@ class ImageTest extends SapphireTest {
* Tests that generated images with multiple image manipulations are all deleted
*/
public function testMultipleGenerateManipulationCallsImageDeletion() {
$image = $this->objFromFixture('Image', 'imageWithMetacharacters');
$image = $this->objFromFixture('Image', 'imageWithoutTitle');
$firstImage = $image->ScaleWidth(200);
$firstImagePath = $firstImage->getFullPath();
@ -375,7 +389,7 @@ class ImageTest extends SapphireTest {
* Tests path properties of cached images with multiple image manipulations
*/
public function testPathPropertiesCachedImage() {
$image = $this->objFromFixture('Image', 'imageWithMetacharacters');
$image = $this->objFromFixture('Image', 'imageWithoutTitle');
$firstImage = $image->ScaleWidth(200);
$firstImagePath = $firstImage->getRelativePath();
$this->assertEquals($firstImagePath, $firstImage->Filename);
@ -385,6 +399,33 @@ class ImageTest extends SapphireTest {
$this->assertEquals($secondImagePath, $secondImage->Filename);
}
/**
* Tests the static function Image::strip_resampled_prefix, to ensure that
* the original filename can be extracted from the path of transformed images,
* both in current and previous formats
*/
public function testStripResampledPrefix() {
$orig_image = $this->objFromFixture('Image', 'imageWithoutTitleContainingDots');
// current format (3.3+). Example:
// assets/ImageTest/_resampled/ScaleHeightWzIwMF0=/ScaleWidthWzQwMF0=/test.image.with.dots.png;
$firstImage = $orig_image->ScaleWidth(200);
$secondImage = $firstImage->ScaleHeight(200);
$paths_1 = $firstImage->Filename;
$paths_2 = $secondImage->Filename;
// 3.2 format (did not work for multiple transformations)
$paths_3 = 'assets/ImageTest/_resampled/ScaleHeightWzIwMF0=-test.image.with.dots.png';
// 3.1 (and earlier) format (did not work for multiple transformations)
$paths_4 = 'assets/ImageTest/_resampled/ScaleHeight200-test.image.with.dots.png';
$this->assertEquals($orig_image->Filename, Image::strip_resampled_prefix($paths_1));
$this->assertEquals($orig_image->Filename, Image::strip_resampled_prefix($paths_2));
$this->assertEquals($orig_image->Filename, Image::strip_resampled_prefix($paths_3));
$this->assertEquals($orig_image->Filename, Image::strip_resampled_prefix($paths_4));
}
/**
* Test all generate methods
*/

View File

@ -55,6 +55,15 @@ class URLSegmentFilterTest extends SapphireTest {
);
}
public function testReplacesForwardSlashesWithAllowMultiByteOption() {
$f = new URLSegmentFilter();
$f->setAllowMultibyte(true);
$this->assertEquals(
urlencode('this-that'),
$f->filter('this/that')
);
}
public function testReplacements() {
$f = new URLSegmentFilter();
$this->assertEquals(

View File

@ -14,7 +14,7 @@ class PermissionTest extends SapphireTest {
}
public function testGetCodesUngrouped() {
$codes = Permission::get_codes(null, false);
$codes = Permission::get_codes(false);
$this->assertArrayHasKey('SITETREE_VIEW_ALL', $codes);
}
@ -23,6 +23,31 @@ class PermissionTest extends SapphireTest {
$this->assertTrue(Permission::checkMember($member, "SITETREE_VIEW_ALL"));
}
public function testCMSAccess() {
$members = Member::get()->byIDs($this->allFixtureIDs('Member'));
foreach ($members as $member) {
$this->assertTrue(Permission::checkMember($member, 'CMS_ACCESS'));
}
$member = new Member();
$member->update(array(
'FirstName' => 'No CMS',
'Surname' => 'Access',
'Email' => 'no-access@example.com',
));
$member->write();
$this->assertFalse(Permission::checkMember($member, 'CMS_ACCESS'));
}
public function testLeftAndMainAccessAll() {
//add user and group
$member = $this->objFromFixture('Member', 'leftandmain');
$this->assertTrue(Permission::checkMember($member, "CMS_ACCESS_MyAdmin"));
$this->assertTrue(Permission::checkMember($member, "CMS_ACCESS_AssetAdmin"));
$this->assertTrue(Permission::checkMember($member, "CMS_ACCESS_SecurityAdmin"));
}
public function testPermissionAreInheritedFromOneRole() {
$member = $this->objFromFixture('Member', 'author');
$this->assertTrue(Permission::checkMember($member, "CMS_ACCESS_MyAdmin"));
@ -39,7 +64,7 @@ class PermissionTest extends SapphireTest {
$this->assertFalse(Permission::checkMember($member, "SITETREE_VIEW_ALL"));
}
function testPermissionsForMember() {
public function testPermissionsForMember() {
$member = $this->objFromFixture('Member', 'access');
$permissions = Permission::permissions_for_member($member->ID);
$this->assertEquals(4, count($permissions));

View File

@ -1,52 +1,63 @@
PermissionRole:
author:
Title: Author
access:
Title: Access Administrator
author:
Title: Author
access:
Title: Access Administrator
PermissionRoleCode:
author1:
Role: =>PermissionRole.author
Code: CMS_ACCESS_MyAdmin
author2:
Role: =>PermissionRole.author
Code: CMS_ACCESS_AssetAdmin
access1:
Role: =>PermissionRole.access
Code: CMS_ACCESS_SecurityAdmin
access2:
Role: =>PermissionRole.access
Code: EDIT_PERMISSIONS
author1:
Role: =>PermissionRole.author
Code: CMS_ACCESS_MyAdmin
author2:
Role: =>PermissionRole.author
Code: CMS_ACCESS_AssetAdmin
access1:
Role: =>PermissionRole.access
Code: CMS_ACCESS_SecurityAdmin
access2:
Role: =>PermissionRole.access
Code: EDIT_PERMISSIONS
Member:
author:
FirstName: Test
Surname: Author
access:
FirstName: Test
Surname: Access Administrator
globalauthor:
FirstName: Test
Surname: Global Author
author:
FirstName: Test
Surname: Author
access:
FirstName: Test
Surname: Access Administrator
globalauthor:
FirstName: Test
Surname: Global Author
leftandmain:
FirstName: Left
Surname: AndMain
Email: leftandmain@example.com
Group:
author:
Title: Authors
Members: =>Member.author
Roles: =>PermissionRole.author
access:
Title: Access Administrators + Authors
Members: =>Member.access
Roles: =>PermissionRole.access,=>PermissionRole.author
globalauthor:
Parent: =>Group.author
Title: Global Authors
Members: =>Member.globalauthor
author:
Title: Authors
Members: =>Member.author
Roles: =>PermissionRole.author
access:
Title: Access Administrators + Authors
Members: =>Member.access
Roles: =>PermissionRole.access,=>PermissionRole.author
globalauthor:
Parent: =>Group.author
Title: Global Authors
Members: =>Member.globalauthor
leftandmain:
Title: LeftAndMain
Members: =>Member.leftandmain
Permission:
extra1:
Code: SITETREE_VIEW_ALL
Group: =>Group.author
globalauthor:
Code: SITETREE_EDIT_ALL
Group: =>Group.globalauthor
extra1:
Code: SITETREE_VIEW_ALL
Group: =>Group.author
globalauthor:
Code: SITETREE_EDIT_ALL
Group: =>Group.globalauthor
leftandmain:
Code: CMS_ACCESS_LeftAndMain
Group: =>Group.leftandmain

View File

@ -79,7 +79,7 @@ class SecurityTest extends FunctionalTest {
// Controller that doesn't attempt redirections
$controller = new SecurityTest_NullController();
$controller->response = new SS_HTTPResponse();
$controller->setResponse(new SS_HTTPResponse());
Security::permissionFailure($controller, array('default' => 'Oops, not allowed'));
$this->assertEquals('Oops, not allowed', Session::get('Security.Message.message'));
@ -104,12 +104,12 @@ class SecurityTest extends FunctionalTest {
Config::inst()->update('Security', 'default_message_set',
array('default' => 'default', 'alreadyLoggedIn' => 'You are already logged in!'));
Security::permissionFailure($controller);
$this->assertContains('You are already logged in!', $controller->response->getBody(),
$this->assertContains('You are already logged in!', $controller->getResponse()->getBody(),
'Custom permission failure message was ignored');
Security::permissionFailure($controller,
array('default' => 'default', 'alreadyLoggedIn' => 'One-off failure message'));
$this->assertContains('One-off failure message', $controller->response->getBody(),
$this->assertContains('One-off failure message', $controller->getResponse()->getBody(),
"Message set passed to Security::permissionFailure() didn't override Config values");
Config::unnest();
@ -130,7 +130,7 @@ class SecurityTest extends FunctionalTest {
}
return $response;
}
public function testAutomaticRedirectionOnLogin() {
// BackURL with permission error (not authenticated) should not redirect
if($member = Member::currentUser()) $member->logOut();