Merge remote-tracking branch 'origin/3.1'

Conflicts:
	lang/ja_JP.yml
	lang/lt.yml
	lang/pl.yml
This commit is contained in:
Ingo Schommer 2013-02-18 14:18:27 +01:00
commit c09bca6fac
39 changed files with 566 additions and 451 deletions

View File

@ -5,7 +5,6 @@ php:
env: env:
- TESTDB=MYSQL - TESTDB=MYSQL
- TESTDB=PGSQL
matrix: matrix:
exclude: exclude:

View File

@ -753,7 +753,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
// Don't allow navigating into children nodes on filtered lists // Don't allow navigating into children nodes on filtered lists
$fields = array( $fields = array(
'getTreeTitle' => _t('SiteTree.PAGETITLE', 'Page Title'), 'getTreeTitle' => _t('SiteTree.PAGETITLE', 'Page Title'),
'Created' => _t('SiteTree.CREATED', 'Date Created'), 'singular_name' => _t('SiteTree.PAGETYPE'),
'LastEdited' => _t('SiteTree.LASTUPDATED', 'Last Updated'), 'LastEdited' => _t('SiteTree.LASTUPDATED', 'Last Updated'),
); );
$gridField->getConfig()->getComponentByType('GridFieldSortableHeader')->setFieldSorting(array('getTreeTitle' => 'Title')); $gridField->getConfig()->getComponentByType('GridFieldSortableHeader')->setFieldSorting(array('getTreeTitle' => 'Title'));

View File

@ -15,6 +15,8 @@ class CMSPageHistoryController extends CMSMain {
static $allowed_actions = array( static $allowed_actions = array(
'VersionsForm', 'VersionsForm',
'CompareVersionsForm',
'show',
'compare' 'compare'
); );
@ -74,6 +76,16 @@ class CMSPageHistoryController extends CMSMain {
return $negotiator->respond($request); return $negotiator->respond($request);
} }
public function getSilverStripeNavigator() {
$record = $this->getRecord($this->currentPageID(), $this->request->param('VersionID'));
if($record) {
$navigator = new SilverStripeNavigator($record);
return $navigator->renderWith($this->getTemplatesWithSuffix('_SilverStripeNavigator'));
} else {
return false;
}
}
/** /**
* Returns the read only version of the edit form. Detaches all {@link FormAction} * Returns the read only version of the edit form. Detaches all {@link FormAction}
@ -112,11 +124,6 @@ class CMSPageHistoryController extends CMSMain {
$fields = $fields->makeReadonly(); $fields = $fields->makeReadonly();
foreach($fields->dataFields() as $field) {
$field->dontEscape = true;
$field->reserveNL = true;
}
if($compareID) { if($compareID) {
$link = Controller::join_links( $link = Controller::join_links(
$this->Link('show'), $this->Link('show'),

View File

@ -301,7 +301,12 @@ class ContentController extends Controller {
$surname = Convert::raw2xml($member->Surname); $surname = Convert::raw2xml($member->Surname);
$logInMessage = _t('ContentController.LOGGEDINAS', 'Logged in as') ." {$firstname} {$surname} - <a href=\"Security/logout\">". _t('ContentController.LOGOUT', 'Log out'). "</a>"; $logInMessage = _t('ContentController.LOGGEDINAS', 'Logged in as') ." {$firstname} {$surname} - <a href=\"Security/logout\">". _t('ContentController.LOGOUT', 'Log out'). "</a>";
} else { } else {
$logInMessage = _t('ContentController.NOTLOGGEDIN', 'Not logged in') ." - <a href=\"Security/login\">". _t('ContentController.LOGIN', 'Login') ."</a>"; $logInMessage = sprintf(
'%s - <a href="%s">%s</a>' ,
_t('ContentController.NOTLOGGEDIN', 'Not logged in') ,
Config::inst()->get('Security', 'login_url'),
_t('ContentController.LOGIN', 'Login') ."</a>"
);
} }
$viewPageIn = _t('ContentController.VIEWPAGEIN', 'View Page in:'); $viewPageIn = _t('ContentController.VIEWPAGEIN', 'View Page in:');

View File

@ -182,6 +182,36 @@ class SilverStripeNavigatorItem extends ViewableData {
public function canView($member = null) { public function canView($member = null) {
return true; return true;
} }
/**
* Counts as "archived" if the current record is a different version from both live and draft.
*
* @return boolean
*/
public function isArchived() {
if(!$this->record->hasExtension('Versioned')) return false;
if(!isset($this->record->_cached_isArchived)) {
$baseTable = ClassInfo::baseDataClass($this->record->class);
$currentDraft = Versioned::get_one_by_stage(
$baseTable,
'Stage',
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
);
$currentLive = Versioned::get_one_by_stage(
$baseTable,
'Live',
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
);
$this->record->_cached_isArchived = (
(!$currentDraft || ($currentDraft && $this->record->Version != $currentDraft->Version))
&& (!$currentLive || ($currentLive && $this->record->Version != $currentLive->Version))
);
}
return $this->record->_cached_isArchived;
}
} }
/** /**
@ -198,7 +228,7 @@ class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
_t('ContentController.CMS', 'CMS') _t('ContentController.CMS', 'CMS')
); );
} }
public function getTitle() { public function getTitle() {
return _t('ContentController.CMS', 'CMS', 'Used in navigation. Should be a short label'); return _t('ContentController.CMS', 'CMS', 'Used in navigation. Should be a short label');
} }
@ -208,13 +238,13 @@ class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
} }
public function isActive() { public function isActive() {
return (Controller::curr() instanceof CMSMain); return (Controller::curr() instanceof LeftAndMain);
} }
public function canView($member = null) { public function canView($member = null) {
return ( return (
// Don't show in CMS // Don't show in CMS
!(Controller::curr() instanceof CMSMain) !(Controller::curr() instanceof LeftAndMain)
// Don't follow redirects in preview, they break the CMS editing form // Don't follow redirects in preview, they break the CMS editing form
&& !($this->record instanceof RedirectorPage) && !($this->record instanceof RedirectorPage)
); );
@ -246,7 +276,12 @@ class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
} }
public function getLink() { public function getLink() {
return Controller::join_links($this->record->PreviewLink(), '?stage=Stage'); $date = Versioned::current_archived_date();
return Controller::join_links(
$this->record->PreviewLink(),
'?stage=Stage',
$date ? '?archiveDate=' . $date : null
);
} }
public function canView($member = null) { public function canView($member = null) {
@ -262,6 +297,7 @@ class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
return ( return (
Versioned::current_stage() == 'Stage' Versioned::current_stage() == 'Stage'
&& !(ClassInfo::exists('SiteTreeFutureState') && SiteTreeFutureState::get_future_datetime()) && !(ClassInfo::exists('SiteTreeFutureState') && SiteTreeFutureState::get_future_datetime())
&& !$this->isArchived()
); );
} }
@ -312,7 +348,10 @@ class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem {
} }
public function isActive() { public function isActive() {
return (!Versioned::current_stage() || Versioned::current_stage() == 'Live'); return (
(!Versioned::current_stage() || Versioned::current_stage() == 'Live')
&& !$this->isArchived()
);
} }
protected function getLivePage() { protected function getLivePage() {
@ -336,9 +375,9 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
$this->recordLink = $this->record->PreviewLink(); $this->recordLink = $this->record->PreviewLink();
return "<a class=\"ss-ui-button\" href=\"$this->recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Preview version') ."</a>"; return "<a class=\"ss-ui-button\" href=\"$this->recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Preview version') ."</a>";
} }
public function getTitle() { public function getTitle() {
return _t('ContentController.VERSION', 'Version').': '.$this->record->LastEdited; return _t('SilverStripeNavigator.ARCHIVED', 'Archived');
} }
public function getMessage() { public function getMessage() {
@ -350,7 +389,7 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
} }
public function getLink() { public function getLink() {
return $this->record->PreviewLink() . '?archiveDate=' . $this->record->LastEdited; return $this->record->PreviewLink() . '?archiveDate=' . urlencode($this->record->LastEdited);
} }
public function canView($member = null) { public function canView($member = null) {
@ -363,32 +402,7 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
} }
public function isActive() { public function isActive() {
return (Versioned::current_archived_date()); return $this->isArchived();
} }
/**
* Counts as "archived" if the current record is a different version from both live and draft.
*
* @return boolean
*/
public function isArchived() {
if(!$this->record->hasExtension('Versioned')) return false;
$baseTable = ClassInfo::baseDataClass($this->record->class);
$currentDraft = Versioned::get_one_by_stage(
$baseTable,
'Stage',
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
);
$currentLive = Versioned::get_one_by_stage(
$baseTable,
'Live',
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
);
return (
(!$currentDraft || ($currentDraft && $this->record->Version != $currentDraft->Version))
&& (!$currentLive || ($currentLive && $this->record->Version != $currentLive->Version))
);
} }
}

View File

@ -15,7 +15,7 @@ class SiteTreeURLSegmentField extends TextField {
/** /**
* @var string * @var string
*/ */
protected $helpText, $urlPrefix; protected $helpText, $urlPrefix, $urlSuffix;
static $allowed_actions = array( static $allowed_actions = array(
'suggest' 'suggest'
@ -25,6 +25,16 @@ class SiteTreeURLSegmentField extends TextField {
return rawurldecode($this->value); return rawurldecode($this->value);
} }
public function getAttributes() {
return array_merge(
parent::getAttributes(),
array(
'data-prefix' => $this->getURLPrefix(),
'data-suffix' => '?stage=Stage'
)
);
}
public function Field($properties = array()) { public function Field($properties = array()) {
Requirements::javascript(CMS_DIR . '/javascript/SiteTreeURLSegmentField.js'); Requirements::javascript(CMS_DIR . '/javascript/SiteTreeURLSegmentField.js');
Requirements::add_i18n_javascript(CMS_DIR . '/javascript/lang', false, true); Requirements::add_i18n_javascript(CMS_DIR . '/javascript/lang', false, true);
@ -85,9 +95,20 @@ class SiteTreeURLSegmentField extends TextField {
return $this->urlPrefix; return $this->urlPrefix;
} }
public function getURLSuffix() {
return $this->urlSuffix;
}
public function setURLSuffix($suffix) {
$this->urlSuffix = $suffix;
}
public function Type() { public function Type() {
return 'text urlsegment'; return 'text urlsegment';
} }
public function getURL() {
return Controller::join_links($this->getURLPrefix(), $this->Value(), $this->getURLSuffix());
}
} }

View File

@ -21,7 +21,7 @@ class ErrorPage extends Page {
"ShowInMenus" => 0, "ShowInMenus" => 0,
"ShowInSearch" => 0 "ShowInSearch" => 0
); );
static $allowed_children = array(); static $allowed_children = array();
static $description = 'Custom content for different error cases (e.g. "Page not found")'; static $description = 'Custom content for different error cases (e.g. "Page not found")';
@ -39,6 +39,8 @@ class ErrorPage extends Page {
static public function response_for($statusCode) { static public function response_for($statusCode) {
// first attempt to dynamically generate the error page // first attempt to dynamically generate the error page
if($errorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = $statusCode")) { if($errorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = $statusCode")) {
Requirements::clear();
Requirements::clear_combined_files();
return ModelAsController::controller_for($errorPage)->handleRequest(new SS_HTTPRequest('GET', ''), DataModel::inst()); return ModelAsController::controller_for($errorPage)->handleRequest(new SS_HTTPRequest('GET', ''), DataModel::inst());
} }
@ -57,7 +59,7 @@ class ErrorPage extends Page {
return $response; return $response;
} }
} }
/** /**
* Ensures that there is always a 404 page * Ensures that there is always a 404 page
* by checking if there's an instance of * by checking if there's an instance of
@ -72,65 +74,84 @@ class ErrorPage extends Page {
if(!file_exists(ASSETS_PATH)) { if(!file_exists(ASSETS_PATH)) {
mkdir(ASSETS_PATH); mkdir(ASSETS_PATH);
} }
$pageNotFoundErrorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = '404'");
$pageNotFoundErrorPageExists = ($pageNotFoundErrorPage && $pageNotFoundErrorPage->exists()) ? true : false;
$pageNotFoundErrorPagePath = self::get_filepath_for_errorcode(404);
if(!($pageNotFoundErrorPageExists && file_exists($pageNotFoundErrorPagePath))) {
if(!$pageNotFoundErrorPageExists) {
$pageNotFoundErrorPage = new ErrorPage();
$pageNotFoundErrorPage->ErrorCode = 404;
$pageNotFoundErrorPage->Title = _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found');
$pageNotFoundErrorPage->Content = _t('ErrorPage.DEFAULTERRORPAGECONTENT', '<p>Sorry, it seems you were trying to access a page that doesn\'t exist.</p><p>Please check the spelling of the URL you were trying to access and try again.</p>');
$pageNotFoundErrorPage->write();
$pageNotFoundErrorPage->publish('Stage', 'Live');
}
// Ensure a static error page is created from latest error page content
$response = Director::test(Director::makeRelative($pageNotFoundErrorPage->Link()));
$written = null;
if($fh = fopen($pageNotFoundErrorPagePath, 'w')) {
$written = fwrite($fh, $response->getBody());
fclose($fh);
}
if($written) {
DB::alteration_message('404 error page created', 'created');
} else {
DB::alteration_message(sprintf('404 error page could not be created at %s. Please check permissions', $pageNotFoundErrorPagePath), 'error');
}
}
$serverErrorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = '500'");
$serverErrorPageExists = ($serverErrorPage && $serverErrorPage->exists()) ? true : false;
$serverErrorPagePath = self::get_filepath_for_errorcode(500);
if(!($serverErrorPageExists && file_exists($serverErrorPagePath))) {
if(!$serverErrorPageExists) {
$serverErrorPage = new ErrorPage();
$serverErrorPage->ErrorCode = 500;
$serverErrorPage->Title = _t('ErrorPage.DEFAULTSERVERERRORPAGETITLE', 'Server error');
$serverErrorPage->Content = _t('ErrorPage.DEFAULTSERVERERRORPAGECONTENT', '<p>Sorry, there was a problem with handling your request.</p>');
$serverErrorPage->write();
$serverErrorPage->publish('Stage', 'Live');
}
// Ensure a static error page is created from latest error page content
$response = Director::test(Director::makeRelative($serverErrorPage->Link()));
$written = null;
if($fh = fopen($serverErrorPagePath, 'w')) {
$written = fwrite($fh, $response->getBody());
fclose($fh);
}
if($written) { $defaultPages = $this->getDefaultRecords();
DB::alteration_message('500 error page created', 'created');
} else { foreach($defaultPages as $defaultData) {
DB::alteration_message(sprintf('500 error page could not be created at %s. Please check permissions', $serverErrorPagePath), 'error'); $code = $defaultData['ErrorCode'];
$page = DataObject::get_one(
'ErrorPage',
sprintf("\"ErrorCode\" = '%s'", $code)
);
$pageExists = ($page && $page->exists());
$pagePath = self::get_filepath_for_errorcode($code);
if(!($pageExists && file_exists($pagePath))) {
if(!$pageExists) {
$page = new ErrorPage($defaultData);
$page->write();
$page->publish('Stage', 'Live');
}
// Ensure a static error page is created from latest error page content
$response = Director::test(Director::makeRelative($page->Link()));
$written = null;
if($fh = fopen($pagePath, 'w')) {
$written = fwrite($fh, $response->getBody());
fclose($fh);
}
if($written) {
DB::alteration_message(
sprintf('%s error page created', $code),
'created'
);
} else {
DB::alteration_message(
sprintf(
'%s error page could not be created at %s. Please check permissions',
$code,
$pagePath
),
'error'
);
}
} }
} }
} }
} }
/**
* Returns an array of arrays, each of which defines
* properties for a new ErrorPage record.
*
* @return Array
*/
protected function getDefaultRecords() {
$data = array(
array(
'ErrorCode' => 404,
'Title' => _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found'),
'Content' => _t(
'ErrorPage.DEFAULTERRORPAGECONTENT',
'<p>Sorry, it seems you were trying to access a page that doesn\'t exist.</p>'
. '<p>Please check the spelling of the URL you were trying to access and try again.</p>'
)
),
array(
'ErrorCode' => 500,
'Title' => _t('ErrorPage.DEFAULTSERVERERRORPAGETITLE', 'Server error'),
'Content' => _t(
'ErrorPage.DEFAULTSERVERERRORPAGECONTENT',
'<p>Sorry, there was a problem with handling your request.</p>'
)
)
);
$this->extend('getDefaultRecords', $data);
return $data;
}
public function getCMSFields() { public function getCMSFields() {
$fields = parent::getCMSFields(); $fields = parent::getCMSFields();

View File

@ -577,14 +577,14 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$page = parent::duplicate(false); $page = parent::duplicate(false);
$page->Sort = 0; $page->Sort = 0;
$this->extend('onBeforeDuplicate', $page); $this->invokeWithExtensions('onBeforeDuplicate', $page);
if($doWrite) { if($doWrite) {
$page->write(); $page->write();
$page = $this->duplicateManyManyRelations($this, $page); $page = $this->duplicateManyManyRelations($this, $page);
} }
$this->extend('onAfterDuplicate', $page); $this->invokeWithExtensions('onAfterDuplicate', $page);
return $page; return $page;
} }
@ -1653,7 +1653,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
if($table == 'SiteTree_Live') { if($table == 'SiteTree_Live') {
$publishedClass = $origPublished['ClassName']; $publishedClass = $origPublished['ClassName'];
$origPublishedObj = new $publishedClass($origPublished); $origPublishedObj = new $publishedClass($origPublished);
$this->extend('onRenameLinkedAsset', $origPublishedObj); $this->invokeWithExtensions('onRenameLinkedAsset', $origPublishedObj);
} }
} }
} }
@ -1829,11 +1829,8 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
(self::nested_urls() && $this->ParentID ? $this->Parent()->RelativeLink(true) : null) (self::nested_urls() && $this->ParentID ? $this->Parent()->RelativeLink(true) : null)
); );
$url = (strlen($baseLink) > 36) ? "..." .substr($baseLink, -32) : $baseLink;
$urlsegment = new SiteTreeURLSegmentField("URLSegment", $this->fieldLabel('URLSegment')); $urlsegment = new SiteTreeURLSegmentField("URLSegment", $this->fieldLabel('URLSegment'));
$urlsegment->setURLPrefix($url); $urlsegment->setURLPrefix($baseLink);
$helpText = (self::nested_urls() && count($this->Children())) ? $this->fieldLabel('LinkChangeNote') : ''; $helpText = (self::nested_urls() && count($this->Children())) ? $this->fieldLabel('LinkChangeNote') : '';
if(!URLSegmentFilter::$default_allow_multibyte) { if(!URLSegmentFilter::$default_allow_multibyte) {
$helpText .= $helpText ? '<br />' : ''; $helpText .= $helpText ? '<br />' : '';
@ -2265,7 +2262,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
if(!$this->canDeleteFromLive()) return false; if(!$this->canDeleteFromLive()) return false;
if(!$this->ID) return false; if(!$this->ID) return false;
$this->extend('onBeforeUnpublish'); $this->invokeWithExtensions('onBeforeUnpublish', $this);
$origStage = Versioned::current_stage(); $origStage = Versioned::current_stage();
Versioned::reading_stage('Live'); Versioned::reading_stage('Live');
@ -2295,7 +2292,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$this->write(); $this->write();
} }
$this->extend('onAfterUnpublish'); $this->invokeWithExtensions('onAfterUnpublish', $this);
return true; return true;
} }
@ -2304,6 +2301,8 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Revert the draft changes: replace the draft content with the content on live * Revert the draft changes: replace the draft content with the content on live
*/ */
public function doRevertToLive() { public function doRevertToLive() {
$this->invokeWithExtensions('onBeforeRevertToLive', $this);
$this->publish("Live", "Stage", false); $this->publish("Live", "Stage", false);
// Use a clone to get the updates made by $this->publish // Use a clone to get the updates made by $this->publish
@ -2316,7 +2315,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$page->write(); $page->write();
} }
$this->extend('onAfterRevertToLive'); $this->invokeWithExtensions('onAfterRevertToLive', $this);
} }
/** /**

View File

@ -19,14 +19,14 @@ class SiteTreeFolderExtension extends DataExtension {
} }
foreach($classes as $className) { foreach($classes as $className) {
$query = singleton($className)->extendedSQL(); $query = new DataQuery($className);
$ids = $query->execute()->column(); $ids = $query->execute()->column();
if(!count($ids)) continue; if(!count($ids)) continue;
foreach(singleton($className)->has_one() as $relName => $joinClass) { foreach(singleton($className)->has_one() as $relName => $joinClass) {
if($joinClass == 'Image' || $joinClass == 'File') { if($joinClass == 'Image' || $joinClass == 'File') {
$fieldName = $relName .'ID'; $fieldName = $relName .'ID';
$query = singleton($className)->extendedSQL("$fieldName > 0"); $query = DataList::create($className)->where("$fieldName > 0");
$query->distinct = true; $query->distinct = true;
$query->select(array($fieldName)); $query->select(array($fieldName));
$usedFiles = array_merge($usedFiles, $query->execute()->column()); $usedFiles = array_merge($usedFiles, $query->execute()->column());

View File

@ -142,7 +142,19 @@ class FilesystemPublisher extends StaticPublisher {
} }
} }
/**
* Uses {@link Director::test()} to perform in-memory HTTP requests
* on the passed-in URLs.
*
* @param array $urls Relative URLs
* @return array Result, keyed by URL. Keys:
* - "statuscode": The HTTP status code
* - "redirect": A redirect location (if applicable)
* - "path": The filesystem path where the cache has been written
*/
public function publishPages($urls) { public function publishPages($urls) {
$result = array();
// Do we need to map these? // Do we need to map these?
// Detect a numerically indexed arrays // Detect a numerically indexed arrays
if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls); if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls);
@ -167,8 +179,9 @@ class FilesystemPublisher extends StaticPublisher {
$files = array(); $files = array();
$i = 0; $i = 0;
$totalURLs = sizeof($urls); $totalURLs = sizeof($urls);
foreach($urls as $url => $path) { foreach($urls as $url => $path) {
$origUrl = $url;
$result[$origUrl] = array('statuscode' => null, 'redirect' => null, 'path' => null);
if(self::$static_base_url) Director::setBaseURL(self::$static_base_url); if(self::$static_base_url) Director::setBaseURL(self::$static_base_url);
$i++; $i++;
@ -189,6 +202,10 @@ class FilesystemPublisher extends StaticPublisher {
if(Director::is_relative_url($url)) $url = Director::absoluteURL($url); if(Director::is_relative_url($url)) $url = Director::absoluteURL($url);
$response = Director::test(str_replace('+', ' ', $url)); $response = Director::test(str_replace('+', ' ', $url));
if($response) {
$result[$origUrl]['statuscode'] = $response->getStatusCode();
}
Requirements::clear(); Requirements::clear();
singleton('DataObject')->flushCache(); singleton('DataObject')->flushCache();
@ -214,6 +231,7 @@ class FilesystemPublisher extends StaticPublisher {
if(is_object($response)) { if(is_object($response)) {
if($response->getStatusCode() == '301' || $response->getStatusCode() == '302') { if($response->getStatusCode() == '301' || $response->getStatusCode() == '302') {
$absoluteURL = Director::absoluteURL($response->getHeader('Location')); $absoluteURL = Director::absoluteURL($response->getHeader('Location'));
$result[$origUrl]['redirect'] = $response->getHeader('Location');
$content = "<meta http-equiv=\"refresh\" content=\"2; URL=$absoluteURL\">"; $content = "<meta http-equiv=\"refresh\" content=\"2; URL=$absoluteURL\">";
} else { } else {
$content = $response->getBody(); $content = $response->getBody();
@ -231,7 +249,7 @@ class FilesystemPublisher extends StaticPublisher {
); );
} }
$files[] = array( $files[$origUrl] = array(
'Content' => $content, 'Content' => $content,
'Folder' => dirname($path).'/', 'Folder' => dirname($path).'/',
'Filename' => basename($path), 'Filename' => basename($path),
@ -268,17 +286,22 @@ class FilesystemPublisher extends StaticPublisher {
if($this->fileExtension == 'php') SSViewer::setOption('rewriteHashlinks', true); if($this->fileExtension == 'php') SSViewer::setOption('rewriteHashlinks', true);
$base = BASE_PATH . "/$this->destFolder"; $base = BASE_PATH . "/$this->destFolder";
foreach($files as $file) { foreach($files as $origUrl => $file) {
Filesystem::makeFolder("$base/$file[Folder]"); Filesystem::makeFolder("$base/$file[Folder]");
$path = "$base/$file[Folder]$file[Filename]";
$result[$origUrl]['path'] = $path;
if(isset($file['Content'])) { if(isset($file['Content'])) {
$fh = fopen("$base/$file[Folder]$file[Filename]", "w"); $fh = fopen($path, "w");
fwrite($fh, $file['Content']); fwrite($fh, $file['Content']);
fclose($fh); fclose($fh);
} else if(isset($file['Copy'])) { } else if(isset($file['Copy'])) {
copy($file['Copy'], "$base/$file[Folder]$file[Filename]"); copy($file['Copy'], $path);
} }
} }
return $result;
} }
/** /**

View File

@ -22,10 +22,11 @@
/** ------------------------------------------------------------------ URLSegment field ----------------------------------------------------------------- */ /** ------------------------------------------------------------------ URLSegment field ----------------------------------------------------------------- */
.field.urlsegment.loading { background: url(../images/loading.gif) no-repeat 162px 8px; } .field.urlsegment.loading { background: url(../images/loading.gif) no-repeat 162px 8px; }
.field.urlsegment .prefix, .field.urlsegment .preview { padding-top: 8px; display: inline-block; } .field.urlsegment .preview { padding-top: 8px; display: inline-block; }
.field.urlsegment .prefix { color: #777; } .field.urlsegment input.text { width: 250px; }
.field.urlsegment .cancel, .field.urlsegment .update, .field.urlsegment .edit { margin-left: 7px; } .field.urlsegment input.text, .field.urlsegment .cancel, .field.urlsegment .update, .field.urlsegment .edit { margin-right: 8px; }
.field.urlsegment .help { margin-left: 0; } .field.urlsegment .help { margin-left: 0; }
.field.urlsegment .edit-holder { display: none; }
#Form_EditForm #Title .update { margin-left: 7px; } #Form_EditForm #Title .update { margin-left: 7px; }

View File

@ -27,20 +27,19 @@
self.data('OrigVal', self.val()); self.data('OrigVal', self.val());
var form = self.parents('form'); var form = self.closest('form');
var url_segment = $('.field.urlsegment', form).find(':text'); var urlSegmentInput = $('input:text[name=URLSegment]', form);
var live_link = $('input[name=LiveLink]', form); var liveLinkInput = $('input[name=LiveLink]', form);
self._addActions();
if(url_segment.length > 0) { if (urlSegmentInput.length > 0) {
self._addActions();
this.bind('change', function(e) { this.bind('change', function(e) {
var origTitle = self.data('OrigVal'); var origTitle = self.data('OrigVal');
var title = self.val(); var title = self.val();
self.data('OrigVal', title); self.data('OrigVal', title);
// Criteria for defining a "new" page // Criteria for defining a "new" page
if ((url_segment.val().indexOf('new') == 0) && live_link.val() == '') { if ((urlSegmentInput.val().indexOf('new') == 0) && liveLinkInput.val() == '') {
self.updateURLSegment(title); self.updateURLSegment(title);
} else { } else {
$('.update', self.parent()).show(); $('.update', self.parent()).show();
@ -83,9 +82,10 @@
* (String) title * (String) title
*/ */
updateURLSegment: function(title) { updateURLSegment: function(title) {
var url_segment_field = $('.field.urlsegment', this.parents('form')); var urlSegmentInput = $('input:text[name=URLSegment]', this.closest('form'));
var urlSegmentField = urlSegmentInput.closest('.field.urlsegment');
var updateURLFromTitle = $('.update', this.parent()); var updateURLFromTitle = $('.update', this.parent());
url_segment_field.update(title); urlSegmentField.update(title);
if (updateURLFromTitle.is(':visible')) { if (updateURLFromTitle.is(':visible')) {
updateURLFromTitle.hide(); updateURLFromTitle.hide();
} }

View File

@ -2,215 +2,125 @@
$.entwine('ss', function($) { $.entwine('ss', function($) {
/** /**
* Class: .field.urlsegment * Class: .field.urlsegment
* *
* Input validation on the URLSegment field * Provides enhanced functionality (read-only/edit switch) and
* input validation on the URLSegment field
*/ */
$('.field.urlsegment:not(.readonly)').entwine({ $('.field.urlsegment:not(.readonly)').entwine({
/** // Roughly matches the field width including edit button
* Constructor: onmatch MaxPreviewLength: 55,
*/
Ellipsis: '...',
onmatch : function() { onmatch : function() {
// Only initialize the field if it contains an editable field. // Only initialize the field if it contains an editable field.
// This ensures we don't get bogus previews on readonly fields. // This ensures we don't get bogus previews on readonly fields.
if(this.find(':text').length) { if(this.find(':text').length) this.toggleEdit(false);
this._addActions(); // add elements and actions for editing this.redraw();
this.edit(); // toggle
this._autoInputWidth(); // set width of input field
}
this._super(); this._super();
}, },
onunmatch: function() {
this._super(); redraw: function() {
var field = this.find(':text'),
url = field.data('prefix') + field.val(),
previewUrl = url;
// Truncate URL if required (ignoring the suffix, retaining the full value)
if(url.length > this.getMaxPreviewLength()) {
previewUrl = this.getEllipsis() + url.substr(url.length - this.getMaxPreviewLength(), url.length);
}
// Transfer current value to holder
this.find('.preview').attr('href', url + field.data('suffix')).text(previewUrl);
}, },
/** /**
* Function: edit * @param Boolean
*
* Toggles the edit state of the field
*
* Return URLSegemnt val()
*
* Parameters:
* (Bool) auto (optional, triggers a second toggle)
*/ */
edit: function(auto) { toggleEdit: function(toggle) {
var field = this.find(':text');
var field = this.find(':text'),
holder = this.find('.preview'), this.find('.preview-holder')[toggle ? 'hide' : 'show']();
edit = this.find('.edit'), this.find('.edit-holder')[toggle ? 'show' : 'hide']();
update = this.find('.update'),
cancel = this.find('.cancel'), if(toggle) {
help = this.find('.help'); field.data("origval", field.val()); //retain current value for cancel
field.focus();
// transfer current value to holder
holder.text(field.val());
// toggle elements
if (field.is(':visible')) {
update.hide();
cancel.hide();
field.hide();
holder.show();
edit.show();
help.hide();
} else {
edit.hide();
holder.hide();
field.show();
update.show();
cancel.show();
help.show();
} }
// field updated from another fields value
// reset to original state
if (auto) this.edit();
return field.val();
}, },
/** /**
* Function: update
*
* Commits the change of the URLSegment to the field * Commits the change of the URLSegment to the field
* Optional: pass in (String) * Optional: pass in (String) to update the URLSegment
* to update the URLSegment
*/ */
update: function() { update: function() {
var self = this, var self = this,
field = this.find(':text'), field = this.find(':text'),
holder = this.find('.preview'), currentVal = field.data('origval'),
currentVal = holder.text(), title = arguments[0],
updateVal, updateVal = (title && title !== "") ? title : field.val();
title = arguments[0];
if (title && title !== "") {
updateVal = title;
} else {
updateVal = field.val();
}
if (currentVal != updateVal) { if (currentVal != updateVal) {
self.addClass('loading'); this.addClass('loading');
self.suggest(updateVal, function(data) { this.suggest(updateVal, function(data) {
var newVal = decodeURIComponent(data.value); field.val(decodeURIComponent(data.value));
field.val(newVal); self.toggleEdit(false);
self.edit(title);
self.removeClass('loading'); self.removeClass('loading');
self.redraw();
}); });
} else { } else {
self.edit(); this.toggleEdit(false);
this.redraw();
} }
}, },
/** /**
* Function: cancel
*
* Cancels any changes to the field * Cancels any changes to the field
*
* Return URLSegemnt val()
*
*/ */
cancel: function() { cancel: function() {
var field = this.find(':text'), var field = this.find(':text');
holder = this.find('.preview'); field.val(field.data("origval"));
field.val(holder.text()); this.toggleEdit(false);
this.edit();
return field.val();
}, },
/** /**
* Function: suggest
*
* Return a value matching the criteria. * Return a value matching the criteria.
* *
* Parameters: * @param (String)
* (String) val * @param (Function)
* (Function) callback
*/ */
suggest: function(val, callback) { suggest: function(val, callback) {
var field = this.find(':text'), urlParts = $.path.parseUrl(this.closest('form').attr('action')), var field = this.find(':text'),
urlParts = $.path.parseUrl(this.closest('form').attr('action')),
url = urlParts.hrefNoSearch + '/field/' + field.attr('name') + '/suggest/?value=' + encodeURIComponent(val); url = urlParts.hrefNoSearch + '/field/' + field.attr('name') + '/suggest/?value=' + encodeURIComponent(val);
if(urlParts.search) url += '&' + urlParts.search.replace(/^\?/, ''); if(urlParts.search) url += '&' + urlParts.search.replace(/^\?/, '');
$.get( $.get(url, function(data) {callback.apply(this, arguments);});
url, }
function(data) {callback.apply(this, arguments);} });
);
$('.field.urlsegment .edit').entwine({
}, onclick: function(e) {
e.preventDefault();
/** this.closest('.field').toggleEdit(true);
* Function: _addActions }
* });
* Utility to add edit buttons and actions
* $('.field.urlsegment .update').entwine({
*/ onclick: function(e) {
_addActions: function() { e.preventDefault();
var self = this, this.closest('.field').update();
field = this.find(':text'), }
preview, });
editAction,
updateAction, $('.field.urlsegment .cancel').entwine({
cancelAction; onclick: function(e) {
e.preventDefault();
// element to display non-editable text this.closest('.field').cancel();
preview = $('<span />', {
'class': 'preview'
});
// edit button
editAction = $('<button />', {
'class': 'ss-ui-button ss-ui-button-small edit',
'text': ss.i18n._t('URLSEGMENT.Edit', 'Edit'),
'click': function(e) {
e.preventDefault();
self.edit();
self.find(':text').focus();
}
});
// update button
updateAction = $('<button />', {
'class': 'update ss-ui-button-small',
'text': ss.i18n._t('URLSEGMENT.OK', 'OK'),
'click': function(e) {
e.preventDefault();
self.update();
}
});
// cancel button
cancelAction = $('<button />', {
'class': 'cancel ss-ui-action-minor ss-ui-button-small',
'href': '#',
'text': ss.i18n._t('URLSEGMENT.Cancel', 'Cancel'),
'click': function(e) {
e.preventDefault();
self.cancel();
}
});
// insert elements
preview.insertAfter('.prefix');
editAction.insertAfter(field);
cancelAction.insertAfter(field);
updateAction.insertAfter(field);
},
/**
* Function: _autoInputWidth
*
* Sets the width of input so it lines up with the other fields
*/
_autoInputWidth: function() {
var field = this.find(':text');
field.width((field.width() + 15) - this.find('.prefix').width());
} }
}); });
}); });
}(jQuery)); }(jQuery));

39
javascript/lang/nl_NL.js Normal file
View File

@ -0,0 +1,39 @@
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('nl_NL', {
'CMSMAIN.WARNINGSAVEPAGESBEFOREADDING' : "U moet de pagina opslaan voordat u kinderen kan toevoegen",
'CMSMAIN.CANTADDCHILDREN' : "Je kunt geen kinderen toevoegen aan de geselecteerde knoop",
'CMSMAIN.ERRORADDINGPAGE' : 'Fout toevoegen pagina',
'CMSMAIN.FILTEREDTREE' : 'Gefilterd om alleen aangepaste paginas te tonen',
'CMSMAIN.ERRORFILTERPAGES' : 'Kon niet filteren om alleen paginas <br />%s te tonen.',
'CMSMAIN.ERRORUNFILTER' : 'Ongefilterde structuur',
'CMSMAIN.PUBLISHINGPAGES' : 'Paginas aan het publiceren...',
'CMSMAIN.SELECTONEPAGE' : "Selecteer minstens 1 pagina.",
'CMSMAIN.ERRORPUBLISHING' : 'Verwijder gepubliceerde paginas',
'CMSMAIN.REALLYDELETEPAGES' : "Wil je echt de geselecteerde %s pagina's verwijderen?",
'CMSMAIN.DELETINGPAGES' : 'Paginas verwijderen...',
'CMSMAIN.ERRORDELETINGPAGES': 'Fout bij verwijderen paginas',
'CMSMAIN.PUBLISHING' : 'Publiceren...',
'CMSMAIN.RESTORING': 'Herstellen...',
'CMSMAIN.ERRORREVERTING': 'Error reverting to live content',
'CMSMAIN.SAVING' : 'opslaan...',
'CMSMAIN.SELECTMOREPAGES' : "Je hebt pagina(s) %s geselecteerd. \n\nWil je deze actie uitvoeren?",
'CMSMAIN.ALERTCLASSNAME': 'Het paginatype wordt aangepast na opslaan van de pagina',
'CMSMAIN.URLSEGMENTVALIDATION': 'URLs kunnen alleen bestaan uit letters, cijfers en koppeltekens.',
'AssetAdmin.BATCHACTIONSDELETECONFIRM': "Wil je deze mappen %s verwijderen?",
'AssetTableField.REALLYDELETE': 'Wil je de geselecteerde bestanden verwijderen??',
'AssetTableField.MOVING': 'Verplaats %s bestand(en)',
'CMSMAIN.AddSearchCriteria': 'Voeg criteria toe',
'WidgetAreaEditor.TOOMANY': 'Sorry, je hebt de maximaal aantal widgets bereikt',
'AssetAdmin.ConfirmDelete': 'Wil je deze map verwijderen en alle bestanden??',
'Folder.Name': 'Mapnaam',
'Tree.AddSubPage': 'Voeg nieuwe pagina toe',
'Tree.EditPage': 'Aanpassen',
'CMSMain.ConfirmRestoreFromLive': "Do you really want to copy the published content to the draft site?",
'CMSMain.RollbackToVersion': "Do you really want to roll back to version #%s of this page?",
'URLSEGMENT.Edit': 'Aanpassen',
'URLSEGMENT.OK': 'OK',
'URLSEGMENT.Cancel': 'Annuleren'
});
}

View File

@ -63,7 +63,7 @@ cs:
CMSBatchActions: CMSBatchActions:
DELETED_DRAFT_PAGES: 'Smazáno %d stránek z konceptu webu, %d selhání' DELETED_DRAFT_PAGES: 'Smazáno %d stránek z konceptu webu, %d selhání'
DELETED_PAGES: 'Odstraněno %d stránek z veřejného webu, %d selhání' DELETED_PAGES: 'Odstraněno %d stránek z veřejného webu, %d selhání'
DELETE_DRAFT_PAGES: 'Smazáno z konceptu webu' DELETE_DRAFT_PAGES: 'Smazat z konceptu webu'
DELETE_PAGES: 'Smazat ze zveřejněného webu' DELETE_PAGES: 'Smazat ze zveřejněného webu'
PUBLISHED_PAGES: 'Zveřejněných %d stránek, %d selhání' PUBLISHED_PAGES: 'Zveřejněných %d stránek, %d selhání'
PUBLISH_PAGES: Zveřejnit PUBLISH_PAGES: Zveřejnit
@ -307,7 +307,7 @@ cs:
Content: Obsah Content: Obsah
DEFAULTABOUTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </p>' DEFAULTABOUTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </p>'
DEFAULTABOUTTITLE: 'O nás' DEFAULTABOUTTITLE: 'O nás'
DEFAULTCONTACTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </ p>' DEFAULTCONTACTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </p>'
DEFAULTCONTACTTITLE: 'Kontaktujte nás' DEFAULTCONTACTTITLE: 'Kontaktujte nás'
DEFAULTHOMECONTENT: '<p>Vítejte v CMS SilverStripe! Toto je úvodní stránka. Tuto i jiné stránky můžete změnit <a href="admin/">přihlášením do systému</a>. Můžete také navštívit <a href="http://doc.silverstripe.com">vývojářskou dokumentaci (EN)</a>, nebo <a href="http://doc.silverstripe.com/doku.php?id=tutorials">návody (EN)</a></p>' DEFAULTHOMECONTENT: '<p>Vítejte v CMS SilverStripe! Toto je úvodní stránka. Tuto i jiné stránky můžete změnit <a href="admin/">přihlášením do systému</a>. Můžete také navštívit <a href="http://doc.silverstripe.com">vývojářskou dokumentaci (EN)</a>, nebo <a href="http://doc.silverstripe.com/doku.php?id=tutorials">návody (EN)</a></p>'
DEFAULTHOMETITLE: 'Úvodní strana' DEFAULTHOMETITLE: 'Úvodní strana'
@ -318,7 +318,7 @@ cs:
DependtPageColumnLinkType: 'Typ odkazu' DependtPageColumnLinkType: 'Typ odkazu'
DependtPageColumnURL: URL DependtPageColumnURL: URL
EDITANYONE: 'Kdokoliv, kdo se do CMS může přihlásit' EDITANYONE: 'Kdokoliv, kdo se do CMS může přihlásit'
EDITHEADER: 'Kdo může editovat tuto stránku?' EDITHEADER: 'Kdo může tuto stránku editovat?'
EDITONLYTHESE: 'Jenom tito lidé (vyberte ze seznamu)' EDITONLYTHESE: 'Jenom tito lidé (vyberte ze seznamu)'
EDITORGROUPS: 'Editor skupin' EDITORGROUPS: 'Editor skupin'
EDIT_ALL_DESCRIPTION: 'Může editovat jakoukoli stránku webu, obcházeje bezpečnostní specifikaci stránky' EDIT_ALL_DESCRIPTION: 'Může editovat jakoukoli stránku webu, obcházeje bezpečnostní specifikaci stránky'
@ -368,7 +368,7 @@ cs:
VIEW_ALL_DESCRIPTION: 'Může vidět jakoukoli stránku webu, obcházeje bezpečnostní specifikaci stránky' VIEW_ALL_DESCRIPTION: 'Může vidět jakoukoli stránku webu, obcházeje bezpečnostní specifikaci stránky'
VIEW_ALL_HELP: 'Možnost zobrazit libovolnou stránku na webu, bez ohledu na nastavení na kartě Přístup. Vyžaduje povolení "Přístup k obsahu webu"' VIEW_ALL_HELP: 'Možnost zobrazit libovolnou stránku na webu, bez ohledu na nastavení na kartě Přístup. Vyžaduje povolení "Přístup k obsahu webu"'
VIEW_DRAFT_CONTENT: 'Zobrazit obsah konceptu' VIEW_DRAFT_CONTENT: 'Zobrazit obsah konceptu'
VIEW_DRAFT_CONTENT_HELP: 'Vztahuje se na prohlížení stránek mimo CMS, v koncept módu. Užitečné pro externí spolupracovníky bez přístupu do CMS.' VIEW_DRAFT_CONTENT_HELP: 'Vztahuje se na prohlížení stránek mimo CMS, v koncept módu. Užitečné pro externí spolupracovníky bez přístupu do CMS.'
Viewers: 'Skupiny návštěvníků' Viewers: 'Skupiny návštěvníků'
Visibility: Viditelnost Visibility: Viditelnost
has_one_Parent: 'Rodičovská stránka' has_one_Parent: 'Rodičovská stránka'

View File

@ -121,28 +121,28 @@ da:
CMSPageEditController: CMSPageEditController:
MENUTITLE: 'Rediger side' MENUTITLE: 'Rediger side'
CMSPageHistoryController: CMSPageHistoryController:
COMPAREMODE: 'Sammenlign (Vælg to)' COMPAREMODE: 'Sammenligningstilstand (vælg to)'
COMPAREVERSIONS: 'Sammenlign versioner' COMPAREVERSIONS: 'Sammenlign versioner'
COMPARINGVERSION: 'Sammenligner versionerne {version1} og {version2}.' COMPARINGVERSION: 'Sammenligner versionerne {version1} og {version2}.'
MENUTITLE: Historik MENUTITLE: Historik
REVERTTOTHISVERSION: 'Genskab denne version' REVERTTOTHISVERSION: 'Genskab denne version'
SHOWUNPUBLISHED: 'Vis ikke publicerede versioner' SHOWUNPUBLISHED: 'Vis versioner der ikke er udgivne'
SHOWVERSION: 'Vis version' SHOWVERSION: 'Vis version'
VIEW: Visning VIEW: Visning
VIEWINGVERSION: 'Lige nu vises version {version}.' VIEWINGVERSION: 'Lige nu vises version {version}.'
CMSPageHistoryController_versions.ss: CMSPageHistoryController_versions.ss:
AUTHOR: Forfatter AUTHOR: Forfatter
NOTPUBLISHED: 'Ikke publiseret' NOTPUBLISHED: 'Ikke udgivet'
PUBLISHER: Udgiver PUBLISHER: Udgiver
UNKNOWN: Ukendt UNKNOWN: Ukendt
WHEN: Hvornår WHEN: Hvornår
CMSPageSettingsController: CMSPageSettingsController:
MENUTITLE: 'Rediger siden' MENUTITLE: 'Rediger side'
CMSPagesController: CMSPagesController:
GalleryView: 'Galleri visning' GalleryView: Gallerivisning
ListView: 'Liste visning' ListView: Listevisning
MENUTITLE: Sider MENUTITLE: Sider
TreeView: 'Træ visning' TreeView: Trævisning
CMSPagesController_ContentToolbar.ss: CMSPagesController_ContentToolbar.ss:
ENABLEDRAGGING: 'Træk&slip' ENABLEDRAGGING: 'Træk&slip'
MULTISELECT: Multivalg MULTISELECT: Multivalg
@ -242,10 +242,10 @@ da:
OTHERURL: 'Andet websteds URL' OTHERURL: 'Andet websteds URL'
PLURALNAME: 'Videresendende sider' PLURALNAME: 'Videresendende sider'
REDIRECTTO: 'Omdiriger til' REDIRECTTO: 'Omdiriger til'
REDIRECTTOEXTERNAL: 'En anden hjemmeside' REDIRECTTOEXTERNAL: 'Et andet websted'
REDIRECTTOPAGE: 'En side på din hjemmeside' REDIRECTTOPAGE: 'En side på dit websted'
SINGULARNAME: 'Viderestillende side' SINGULARNAME: 'Viderestillende side'
YOURPAGE: 'Side på din hjemmeside' YOURPAGE: 'Side på dit websted'
ReportAdmin: ReportAdmin:
MENUTITLE: Rapporter MENUTITLE: Rapporter
ReportTitle: Titel ReportTitle: Titel
@ -379,8 +379,8 @@ da:
HelpChars: 'Specialkarakterer bliver automatisk konverteret eller fjernet.' HelpChars: 'Specialkarakterer bliver automatisk konverteret eller fjernet.'
StaticExporter: StaticExporter:
BASEURL: 'Base URL' BASEURL: 'Base URL'
EXPORTTO: 'Eksporter til mappen' EXPORTTO: 'Eksporter til den mappe'
NAME: 'Statisk eksporter' NAME: 'Statisk eksportør'
TableListField: TableListField:
SELECT: 'Vælg:' SELECT: 'Vælg:'
TableListField.ss: TableListField.ss:

View File

@ -39,7 +39,7 @@ de:
BrokenLinksReport: BrokenLinksReport:
Any: Alle Any: Alle
BROKENLINKS: 'Defekte Links' BROKENLINKS: 'Defekte Links'
CheckSite: 'Seite überprüfen' CheckSite: 'Site überprüfen'
CheckSiteDropdownDraft: Vorschau-Site CheckSiteDropdownDraft: Vorschau-Site
CheckSiteDropdownPublished: 'Veröffentlichte Site' CheckSiteDropdownPublished: 'Veröffentlichte Site'
ColumnDateLastModified: 'Zuletzt geändert' ColumnDateLastModified: 'Zuletzt geändert'
@ -54,8 +54,8 @@ de:
ReasonDropdown: 'Zu überprüfendes Problem' ReasonDropdown: 'Zu überprüfendes Problem'
ReasonDropdownBROKENFILE: 'Defekte Datei' ReasonDropdownBROKENFILE: 'Defekte Datei'
ReasonDropdownBROKENLINK: 'Defekter Link' ReasonDropdownBROKENLINK: 'Defekter Link'
ReasonDropdownRPBROKENLINK: 'Weiterleitungen, die auf eine nicht vorhandene Seite verweisen' ReasonDropdownRPBROKENLINK: 'Weiterleitung, die auf eine nicht vorhandene Seite verweist'
ReasonDropdownVPBROKENLINK: 'Virtuelle Seiten, die auf eine nicht vorhandene Seite verweisen' ReasonDropdownVPBROKENLINK: 'Virtuelle Seite, die auf eine nicht vorhandene Seite verweist'
RedirectorNonExistent: 'Weiterleitung, die auf eine nicht vorhandene Seite verweist' RedirectorNonExistent: 'Weiterleitung, die auf eine nicht vorhandene Seite verweist'
VirtualPageNonExistent: 'Virtuelle Seite, die auf eine nicht vorhandene Seite verweist' VirtualPageNonExistent: 'Virtuelle Seite, die auf eine nicht vorhandene Seite verweist'
CMSAddPageController: CMSAddPageController:
@ -87,7 +87,7 @@ de:
ListFiltered: 'Gefilterte Liste' ListFiltered: 'Gefilterte Liste'
MENUTITLE: 'Seite bearbeiten' MENUTITLE: 'Seite bearbeiten'
NEWPAGE: 'Neue {pagetype}' NEWPAGE: 'Neue {pagetype}'
PAGENOTEXISTS: 'Diese Seite wurde nicht gefunden' PAGENOTEXISTS: 'Diese Seite existiert nicht'
PAGES: Seiten PAGES: Seiten
PAGETYPEANYOPT: Alle PAGETYPEANYOPT: Alle
PAGETYPEOPT: Seitentyp PAGETYPEOPT: Seitentyp
@ -96,9 +96,9 @@ de:
PUBALLFUN2: 'Dieser Button bewirkt dasselbe wie auf jeder Seite "veröffentlichen" zu wählen. Sie sollten diese Funktion nutzen, wenn grössere Inhaltsänderungen stattgefunden haben, zum Beispiel wenn die Seite erstellt wurde.' PUBALLFUN2: 'Dieser Button bewirkt dasselbe wie auf jeder Seite "veröffentlichen" zu wählen. Sie sollten diese Funktion nutzen, wenn grössere Inhaltsänderungen stattgefunden haben, zum Beispiel wenn die Seite erstellt wurde.'
PUBPAGES: 'Abgeschlossen: {count} Seiten wurden veröffentlicht' PUBPAGES: 'Abgeschlossen: {count} Seiten wurden veröffentlicht'
PageAdded: 'Seite erfolgreich erstellt' PageAdded: 'Seite erfolgreich erstellt'
REMOVED: 'Lösche ''%s''%s von der Live-Seite' REMOVED: '''%s''%s von der Live-Seite gelöscht'
REMOVEDPAGE: '''{title}'' wurde von der veröffentlichten Site entfernt' REMOVEDPAGE: '''{title}'' wurde von der veröffentlichten Site entfernt'
REMOVEDPAGEFROMDRAFT: 'Lösche ''%s'' von der Entwurfs-Seite' REMOVEDPAGEFROMDRAFT: 'Lösche ''%s'' von der Entwurfs-Site'
RESTORE: Wiederherstellen RESTORE: Wiederherstellen
RESTORED: '''{title}'' wurde wiederhergestellt' RESTORED: '''{title}'' wurde wiederhergestellt'
ROLLBACK: 'Diese Version wiederherstellen' ROLLBACK: 'Diese Version wiederherstellen'
@ -107,7 +107,7 @@ de:
SAVE: Speichern SAVE: Speichern
SAVEDRAFT: 'Entwurf speichern' SAVEDRAFT: 'Entwurf speichern'
TabContent: Inhalt TabContent: Inhalt
TabHistory: Verlauf TabHistory: Historie
TabSettings: Einstellungen TabSettings: Einstellungen
TreeFiltered: 'Seitenbaum gefiltert' TreeFiltered: 'Seitenbaum gefiltert'
TreeFilteredClear: 'Filter zurücksetzen' TreeFilteredClear: 'Filter zurücksetzen'
@ -171,7 +171,7 @@ de:
DRAFT_SITE_ACCESS_RESTRICTION: 'Sie müssen sich mit Ihrem CMS Passwort einloggen, um den Entwurf oder den archivierten Inhalt zu sehen. <a href="%s">Zurück zur veröffentlichten Seite.</a>' DRAFT_SITE_ACCESS_RESTRICTION: 'Sie müssen sich mit Ihrem CMS Passwort einloggen, um den Entwurf oder den archivierten Inhalt zu sehen. <a href="%s">Zurück zur veröffentlichten Seite.</a>'
Email: E-Mail Email: E-Mail
INSTALL_SUCCESS: 'Die Installation war erfolgreich!' INSTALL_SUCCESS: 'Die Installation war erfolgreich!'
InstallFilesDeleted: 'Die Installationsdateien wurden erfolgreich entfernt.' InstallFilesDeleted: 'Die Installationsdateien wurden erfolgreich gelöscht.'
InstallSecurityWarning: 'Zu Ihrer Sicherheit löschen Sie jetzt bitte die Installationsdateien, es sei denn Sie möchten zu einem späteren Zeitpunkt erneut installieren. (<em>Dies erfordert den Administrator-Zugang (siehe oben)</em>). Der Webserver benötigt nun nur noch Schreibrechte auf das "assets" Verzeichnis und Sie können die Schreibrechte für alle anderen Ordner entfernen. <a href="{link}" style="text-align: center;">Die Installationsdaten jetzt löschen.</a> ' InstallSecurityWarning: 'Zu Ihrer Sicherheit löschen Sie jetzt bitte die Installationsdateien, es sei denn Sie möchten zu einem späteren Zeitpunkt erneut installieren. (<em>Dies erfordert den Administrator-Zugang (siehe oben)</em>). Der Webserver benötigt nun nur noch Schreibrechte auf das "assets" Verzeichnis und Sie können die Schreibrechte für alle anderen Ordner entfernen. <a href="{link}" style="text-align: center;">Die Installationsdaten jetzt löschen.</a> '
InstallSuccessCongratulations: 'SilverStripe wurde erfolgreich installiert!' InstallSuccessCongratulations: 'SilverStripe wurde erfolgreich installiert!'
LOGGEDINAS: 'Angemeldet als' LOGGEDINAS: 'Angemeldet als'
@ -281,7 +281,7 @@ de:
SINGULARNAME: Seitenkonfiguration SINGULARNAME: Seitenkonfiguration
SITENAMEDEFAULT: 'Name Ihrer Website' SITENAMEDEFAULT: 'Name Ihrer Website'
SITETAGLINE: 'Ihr Websiteslogan' SITETAGLINE: 'Ihr Websiteslogan'
SITETITLE: 'Titel der Internetseite' SITETITLE: 'Titel der Site'
TABACCESS: Zugriff TABACCESS: Zugriff
TABMAIN: Hauptteil TABMAIN: Hauptteil
TAGLINEDEFAULT: 'Ihr Websiteslogan' TAGLINEDEFAULT: 'Ihr Websiteslogan'
@ -393,13 +393,13 @@ de:
TO: bis TO: bis
VIEWFIRST: Erster VIEWFIRST: Erster
VIEWLAST: Letzter VIEWLAST: Letzter
VIEWNEXT: 'Zeige nächste' VIEWNEXT: Nächster
VIEWPREVIOUS: Vorheriger VIEWPREVIOUS: Vorheriger
TreeTools: TreeTools:
DisplayLabel: 'Anzeigen:' DisplayLabel: 'Anzeigen:'
ViewArchivedEmail.ss: ViewArchivedEmail.ss:
CANACCESS: 'Sie können unter folgendem Verweis auf die archivierte Seite zugreifen:' CANACCESS: 'Sie können unter folgendem Verweis auf die archivierte Seite zugreifen:'
HAVEASKED: 'Sie haben darum gebeten, den Inhalt unserer Seite zu sehen, am' HAVEASKED: 'Sie haben darum gebeten, den Inhalt unserer Site zu sehen, am'
VirtualPage: VirtualPage:
CHOOSE: 'Wählen Sie eine Seite, auf die Sie verweisen möchten' CHOOSE: 'Wählen Sie eine Seite, auf die Sie verweisen möchten'
DESCRIPTION: 'Zeigt den Inhalt einer anderen Seite' DESCRIPTION: 'Zeigt den Inhalt einer anderen Seite'

View File

@ -93,7 +93,7 @@ en:
PUBALLFUN2: "Pressing this button will do the equivalent of going to every page and pressing \"publish\". It's\n intended to be used after there have been massive edits of the content, such as when the site was\n first built." PUBALLFUN2: "Pressing this button will do the equivalent of going to every page and pressing \"publish\". It's\n intended to be used after there have been massive edits of the content, such as when the site was\n first built."
PUBPAGES: 'Done: Published {count} pages' PUBPAGES: 'Done: Published {count} pages'
PageAdded: 'Successfully created page' PageAdded: 'Successfully created page'
REMOVED: 'Deleted ''{title}''{description} from live site' REMOVED: 'Deleted ''%s''%s from live site'
REMOVEDPAGE: 'Removed ''{title}'' from the published site' REMOVEDPAGE: 'Removed ''{title}'' from the published site'
REMOVEDPAGEFROMDRAFT: 'Removed ''%s'' from the draft site' REMOVEDPAGEFROMDRAFT: 'Removed ''%s'' from the draft site'
RESTORE: Restore RESTORE: Restore
@ -138,6 +138,7 @@ en:
MENUTITLE: Pages MENUTITLE: Pages
TreeView: 'Tree View' TreeView: 'Tree View'
CMSPagesController_ContentToolbar.ss: CMSPagesController_ContentToolbar.ss:
ENABLEDRAGGING: 'Drag''n''drop'
MULTISELECT: Multi-selection MULTISELECT: Multi-selection
CMSPagesController_Tools.ss: CMSPagesController_Tools.ss:
FILTER: Filter FILTER: Filter
@ -388,6 +389,8 @@ en:
VIEWLAST: 'View last' VIEWLAST: 'View last'
VIEWNEXT: 'View next' VIEWNEXT: 'View next'
VIEWPREVIOUS: 'View previous' VIEWPREVIOUS: 'View previous'
TreeTools:
DisplayLabel: 'Display:'
ViewArchivedEmail.ss: ViewArchivedEmail.ss:
CANACCESS: 'You can access the archived site at this link:' CANACCESS: 'You can access the archived site at this link:'
HAVEASKED: 'You have asked to view the content of our site on' HAVEASKED: 'You have asked to view the content of our site on'

View File

@ -164,7 +164,7 @@ et_EE:
ContentControl: ContentControl:
NOTEWONTBESHOWN: 'Märkus. Seda teadet ei kuvata lehe külastajatele' NOTEWONTBESHOWN: 'Märkus. Seda teadet ei kuvata lehe külastajatele'
ContentController: ContentController:
ARCHIVEDSITE: 'Preview version' ARCHIVEDSITE: 'Eelvaate versioon'
ARCHIVEDSITEFROM: 'Arhiveeritud sait asukohast' ARCHIVEDSITEFROM: 'Arhiveeritud sait asukohast'
CMS: CMS CMS: CMS
DRAFTSITE: 'Mustandi sait' DRAFTSITE: 'Mustandi sait'
@ -277,8 +277,8 @@ et_EE:
EDITHEADER: 'Kes saavad sellel saidil lehti redigeerida?' EDITHEADER: 'Kes saavad sellel saidil lehti redigeerida?'
EDIT_PERMISSION: 'Saidi konfiguratsiooni haldamine' EDIT_PERMISSION: 'Saidi konfiguratsiooni haldamine'
EDIT_PERMISSION_HELP: 'Võimalus redigeerida üldiseid juurdepääsuseadeid / kõrgema taseme lehe õigusi.' EDIT_PERMISSION_HELP: 'Võimalus redigeerida üldiseid juurdepääsuseadeid / kõrgema taseme lehe õigusi.'
PLURALNAME: 'Site Configs' PLURALNAME: 'Saidi konfiguratsioonid'
SINGULARNAME: 'Site Config' SINGULARNAME: 'Saidi konfiguratsioon'
SITENAMEDEFAULT: 'Teie saidi nimi' SITENAMEDEFAULT: 'Teie saidi nimi'
SITETAGLINE: 'Saidi reklaamlause' SITETAGLINE: 'Saidi reklaamlause'
SITETITLE: 'Saidi pealkiri' SITETITLE: 'Saidi pealkiri'

View File

@ -196,7 +196,7 @@ fi:
SINGULARNAME: Virhesivu SINGULARNAME: Virhesivu
400: '400 - Virheellinen Pyyntö' 400: '400 - Virheellinen Pyyntö'
401: '401 - Luvaton' 401: '401 - Luvaton'
403: '403 . Kielletty' 403: '403 - Kielletty'
404: '404 - Ei löytynyt' 404: '404 - Ei löytynyt'
405: '405 - Menetelmä ei sallittu' 405: '405 - Menetelmä ei sallittu'
406: '406 - Ei hyväksyttävä' 406: '406 - Ei hyväksyttävä'

View File

@ -79,10 +79,10 @@ hu:
ChoosePageParentMode: 'Choose where to create this page' ChoosePageParentMode: 'Choose where to create this page'
ChoosePageType: 'Válassza ki az oldal típusát' ChoosePageType: 'Válassza ki az oldal típusát'
Create: Létrehozni Create: Létrehozni
DELETE: 'Törlés a vázlat oldalról' DELETE: 'Vázlat törlése'
DELETEFP: 'Törlés a publikus oldalról' DELETEFP: Törlés
DESCREMOVED: 'and {count} descendants' DESCREMOVED: 'and {count} descendants'
EMAIL: E-mail EMAIL: Email
EditTree: 'Edit Tree' EditTree: 'Edit Tree'
ListFiltered: 'Filtered list.' ListFiltered: 'Filtered list.'
MENUTITLE: 'Oldal szerkesztése' MENUTITLE: 'Oldal szerkesztése'
@ -295,7 +295,7 @@ hu:
ACCESSONLYTHESE: 'Csak ezen emberek (válassz a listából)' ACCESSONLYTHESE: 'Csak ezen emberek (válassz a listából)'
ADDEDTODRAFTHELP: 'Az oldal jelenleg még nincs publikálva.' ADDEDTODRAFTHELP: 'Az oldal jelenleg még nincs publikálva.'
ADDEDTODRAFTSHORT: Vázlat ADDEDTODRAFTSHORT: Vázlat
ALLOWCOMMENTS: 'A megjegyzések engedélyezve legyenek az oldalon?' ALLOWCOMMENTS: 'Megjegyzések engedélyezése ezen az oldalon?'
APPEARSVIRTUALPAGES: 'This content also appears on the virtual pages in the {title} sections.' APPEARSVIRTUALPAGES: 'This content also appears on the virtual pages in the {title} sections.'
BUTTONCANCELDRAFT: 'Piszkozaton végzett változtatások visszavonása' BUTTONCANCELDRAFT: 'Piszkozaton végzett változtatások visszavonása'
BUTTONCANCELDRAFTDESC: 'Piszkozat törlése, és vissztérés a jelenleg publikált oldalra' BUTTONCANCELDRAFTDESC: 'Piszkozat törlése, és vissztérés a jelenleg publikált oldalra'
@ -407,4 +407,4 @@ hu:
HEADER: 'Ez egy virtuális oldal' HEADER: 'Ez egy virtuális oldal'
PLURALNAME: 'Virtual Pags' PLURALNAME: 'Virtual Pags'
PageTypNotAllowedOnRoot: 'Original page type "{type}" is not allowed on the root level for this virtual page' PageTypNotAllowedOnRoot: 'Original page type "{type}" is not allowed on the root level for this virtual page'
SINGULARNAME: 'Virtuális Oldal' SINGULARNAME: 'Virtuális oldal'

View File

@ -48,7 +48,7 @@ it:
ColumnURL: URL ColumnURL: URL
HasBrokenFile: 'ha un file non funzionante' HasBrokenFile: 'ha un file non funzionante'
HasBrokenLink: 'ha un link non funzionante' HasBrokenLink: 'ha un link non funzionante'
HasBrokenLinkAndFile: 'ha un link ed un file non funzionante' HasBrokenLinkAndFile: 'ha link e file non funzionanti'
HoverTitleEditPage: 'Modifica pagina' HoverTitleEditPage: 'Modifica pagina'
PageName: 'Nome pagina' PageName: 'Nome pagina'
ReasonDropdown: 'Problemi da verificare' ReasonDropdown: 'Problemi da verificare'
@ -64,11 +64,11 @@ it:
DELETED_DRAFT_PAGES: 'Eliminate %d pagine dal sito bozza, %d non a buon fine' DELETED_DRAFT_PAGES: 'Eliminate %d pagine dal sito bozza, %d non a buon fine'
DELETED_PAGES: 'Eliminate %d pagine dal sito pubblicato, %d non a buon fine' DELETED_PAGES: 'Eliminate %d pagine dal sito pubblicato, %d non a buon fine'
DELETE_DRAFT_PAGES: 'Elimina dal sito bozza' DELETE_DRAFT_PAGES: 'Elimina dal sito bozza'
DELETE_PAGES: 'Eliminato dal sito pubblicato' DELETE_PAGES: 'Eliminata dal sito pubblicato'
PUBLISHED_PAGES: 'Pubblicate %d pagine, %d non a buon fine' PUBLISHED_PAGES: 'Pubblicate %d pagine, %d non a buon fine'
PUBLISH_PAGES: Pubblica PUBLISH_PAGES: Pubblica
UNPUBLISHED_PAGES: '%d pagine non pubblicate' UNPUBLISHED_PAGES: '%d pagine non pubblicate'
UNPUBLISH_PAGES: 'Pubblicazione annullata' UNPUBLISH_PAGES: 'Non pubblicare'
CMSFileAddController: CMSFileAddController:
MENUTITLE: Files MENUTITLE: Files
CMSMain: CMSMain:

View File

@ -112,7 +112,7 @@ ja_JP:
TreeFiltered: フィルタリングされたツリー TreeFiltered: フィルタリングされたツリー
TreeFilteredClear: フィルタを解除 TreeFilteredClear: フィルタを解除
CMSMain_left.ss: CMSMain_left.ss:
'APPLY FILTER': 'Apply Filter' 'APPLY FILTER': フィルタを適用
RESET: リセット RESET: リセット
CMSPageAddController: CMSPageAddController:
MENUTITLE: 'ページを追加' MENUTITLE: 'ページを追加'
@ -240,11 +240,11 @@ ja_JP:
HASBEENSETUP: '転送URLを含むページには、転送先がない状態で設定されています。' HASBEENSETUP: '転送URLを含むページには、転送先がない状態で設定されています。'
HEADER: このページをユーザーを変更して他のページにしますか? HEADER: このページをユーザーを変更して他のページにしますか?
OTHERURL: 他のウェブサイトのURL OTHERURL: 他のウェブサイトのURL
PLURALNAME: 'Redirector Pags' PLURALNAME: リダイレクトページ
REDIRECTTO: 変更は REDIRECTTO: 変更は
REDIRECTTOEXTERNAL: 他のウェブサイト REDIRECTTOEXTERNAL: 他のウェブサイト
REDIRECTTOPAGE: 貴方のウェブサイトを表示します REDIRECTTOPAGE: 貴方のウェブサイトを表示します
SINGULARNAME: 'Redirector Page' SINGULARNAME: リダイレクトページ
YOURPAGE: 貴方のウェブサイトを表示します YOURPAGE: 貴方のウェブサイトを表示します
ReportAdmin: ReportAdmin:
MENUTITLE: レポート MENUTITLE: レポート
@ -259,7 +259,7 @@ ja_JP:
BROKENFILES: 壊れているファイルがあるページ BROKENFILES: 壊れているファイルがあるページ
BROKENLINKS: 'Pages with broken links' BROKENLINKS: 'Pages with broken links'
BROKENREDIRECTORPAGES: 'RedirectorPages pointing to deleted pages' BROKENREDIRECTORPAGES: 'RedirectorPages pointing to deleted pages'
BROKENVIRTUALPAGES: 'VirtualPages pointing to deleted pages' BROKENVIRTUALPAGES: '削除されたページを参照している仮想ページ'
BrokenLinksGroupTitle: 壊れているリンクのレポート BrokenLinksGroupTitle: 壊れているリンクのレポート
ContentGroupTitle: 'Content reports' ContentGroupTitle: 'Content reports'
EMPTYPAGES: 空のページ EMPTYPAGES: 空のページ
@ -311,7 +311,7 @@ ja_JP:
DEFAULTCONTACTTITLE: 連絡はこちらまで DEFAULTCONTACTTITLE: 連絡はこちらまで
DEFAULTHOMECONTENT: '<p>SilverStripeへようこそこれはデフォルトのホームページです。このページを編集するには、<a href="admin/">CMS</a>にアクセスしてください。<a href="http://doc.silverstripe.org">開発者向けドキュメント</a>や、<a href="http://doc.silverstripe.org/doku.php?id=tutorials">チュートリアル</a>もご覧いただけます。</p>' DEFAULTHOMECONTENT: '<p>SilverStripeへようこそこれはデフォルトのホームページです。このページを編集するには、<a href="admin/">CMS</a>にアクセスしてください。<a href="http://doc.silverstripe.org">開発者向けドキュメント</a>や、<a href="http://doc.silverstripe.org/doku.php?id=tutorials">チュートリアル</a>もご覧いただけます。</p>'
DEFAULTHOMETITLE: 'ホーム' DEFAULTHOMETITLE: 'ホーム'
DELETEDPAGEHELP: 'Page is no longer published' DELETEDPAGEHELP: 'このページは今は公開されていません。'
DELETEDPAGESHORT: 削除済 DELETEDPAGESHORT: 削除済
DEPENDENT_NOTE: 'The following pages depend on this page. This includes virtual pages, redirector pages, and pages with content links.' DEPENDENT_NOTE: 'The following pages depend on this page. This includes virtual pages, redirector pages, and pages with content links.'
DESCRIPTION: 通常のコンテンツページ DESCRIPTION: 通常のコンテンツページ
@ -329,7 +329,7 @@ ja_JP:
INHERIT: 親ページを受け継ぐ INHERIT: 親ページを受け継ぐ
LASTUPDATED: 最終更新日時 LASTUPDATED: 最終更新日時
LINKCHANGENOTE: このページのリンクを変更するとすべての子ページのリンクに影響を与える可能性があります。 LINKCHANGENOTE: このページのリンクを変更するとすべての子ページのリンクに影響を与える可能性があります。
MENUTITLE: 操作レベル MENUTITLE: メニュー表示
METADESC: 説明 METADESC: 説明
METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).' METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).'
METAEXTRA: 'メタタグをカスタム' METAEXTRA: 'メタタグをカスタム'
@ -398,7 +398,7 @@ ja_JP:
TreeTools: TreeTools:
DisplayLabel: 'Display:' DisplayLabel: 'Display:'
ViewArchivedEmail.ss: ViewArchivedEmail.ss:
CANACCESS: 'You can access the archived site at this link:' CANACCESS: アーカイブされたサイトには次のリンクでアクセス可能です:
HAVEASKED: 'You have asked to view the content of our site on' HAVEASKED: 'You have asked to view the content of our site on'
VirtualPage: VirtualPage:
CHOOSE: 'リンクするページを選択してください' CHOOSE: 'リンクするページを選択してください'

View File

@ -4,7 +4,7 @@ lt:
ActionAdd: 'Pridėti aplanką' ActionAdd: 'Pridėti aplanką'
AppCategoryArchive: Archyvas AppCategoryArchive: Archyvas
AppCategoryAudio: Garsas AppCategoryAudio: Garsas
AppCategoryDocument: Document AppCategoryDocument: Dokumentas
AppCategoryFlash: Flash AppCategoryFlash: Flash
AppCategoryImage: Paveikslėlis AppCategoryImage: Paveikslėlis
AppCategoryVideo: Video AppCategoryVideo: Video
@ -170,17 +170,17 @@ lt:
DRAFTSITE: 'Juodraštinė svetainė' DRAFTSITE: 'Juodraštinė svetainė'
DRAFT_SITE_ACCESS_RESTRICTION: 'Jūs turite prisijungti su savo TVS slaptažodžiu, kad galėtumėte peržiūrėti juodraščio arba archyvo turinį.<a href="%s">Spauskite čia, norėdami grįžti į svetainę</a>.' DRAFT_SITE_ACCESS_RESTRICTION: 'Jūs turite prisijungti su savo TVS slaptažodžiu, kad galėtumėte peržiūrėti juodraščio arba archyvo turinį.<a href="%s">Spauskite čia, norėdami grįžti į svetainę</a>.'
Email: 'E. paštas' Email: 'E. paštas'
INSTALL_SUCCESS: 'Installation Successful!' INSTALL_SUCCESS: 'Įdiegimas sėkmingas!'
InstallFilesDeleted: 'Įdiegimo bylos sėkmingai pašalintos' InstallFilesDeleted: 'Įdiegimo bylos sėkmingai pašalintos'
InstallSecurityWarning: 'Saugumo sumetimais Jūs turėtumėte ištrinti įdiegimo bylas, nebent vėliau Jūs planuojate iš naujo diegti (<em>bus reikalinga administravimo prieiga, žiūrėkite viršuje</em>). Web paslaugos programa turi gauti rašymo teises "assets" aplankui, kitiems aplankams tokių teisių nereikia. <a href="{link}" style="text-align: center;">Spauskite čia jei norite ištrinti įdiegimo bylas</a>' InstallSecurityWarning: 'Saugumo sumetimais Jūs turėtumėte ištrinti įdiegimo bylas, nebent vėliau Jūs planuojate iš naujo diegti (<em>bus reikalinga administravimo prieiga, žiūrėkite viršuje</em>). Web paslaugos programa turi gauti rašymo teises "assets" aplankui, kitiems aplankams tokių teisių nereikia. <a href="{link}" style="text-align: center;">Spauskite čia jei norite ištrinti įdiegimo bylas</a>'
InstallSuccessCongratulations: 'SilverStripe has been successfully installed!' InstallSuccessCongratulations: 'SilverStripe buvo sėkmingai įdiegta!'
LOGGEDINAS: 'Prisijungėte kaip ' LOGGEDINAS: 'Prisijungėte kaip '
LOGIN: Prisijungti LOGIN: Prisijungti
LOGOUT: Atsijungti LOGOUT: Atsijungti
NOTLOGGEDIN: Neprisijungęs NOTLOGGEDIN: Neprisijungęs
PUBLISHEDSITE: 'Publikuojama svetainė' PUBLISHEDSITE: 'Publikuojama svetainė'
Password: Slaptažodis Password: Slaptažodis
PostInstallTutorialIntro: 'This website is a simplistic version of a SilverStripe 3 site. To extend this, please take a look at {link}.' PostInstallTutorialIntro: 'Šis puslapis yra supaprastinta SilverStripe 3 tinklapio versija. Norėdami išplėsti jo funkcionalumą, apsilankykite {link}.'
StartEditing: 'Jūs galite pradėti redaguoti svetainės turinį, atidarydami <a href="{link}">TVS</a>.' StartEditing: 'Jūs galite pradėti redaguoti svetainės turinį, atidarydami <a href="{link}">TVS</a>.'
UnableDeleteInstall: 'Nepajėgiame ištrinti įdiegimo bylų. Prašome pašalinti bylas rankiniu būdu.' UnableDeleteInstall: 'Nepajėgiame ištrinti įdiegimo bylų. Prašome pašalinti bylas rankiniu būdu.'
VIEWPAGEIN: 'Peržiūrėti puslapį:' VIEWPAGEIN: 'Peržiūrėti puslapį:'
@ -192,8 +192,8 @@ lt:
DEFAULTSERVERERRORPAGETITLE: 'Tarnybinės stoties klaida' DEFAULTSERVERERRORPAGETITLE: 'Tarnybinės stoties klaida'
DESCRIPTION: 'Savitas turinys, skirtingai klaidai apibrėžti (Pvz.: "Puslapis nerastas")' DESCRIPTION: 'Savitas turinys, skirtingai klaidai apibrėžti (Pvz.: "Puslapis nerastas")'
ERRORFILEPROBLEM: 'Klaida atveriant rašymui bylą "{filename}". Prašome patikrinti bylos leidimus.' ERRORFILEPROBLEM: 'Klaida atveriant rašymui bylą "{filename}". Prašome patikrinti bylos leidimus.'
PLURALNAME: 'Error Pags' PLURALNAME: 'Klaidos puslapiai'
SINGULARNAME: 'Error Page' SINGULARNAME: 'Klaidos puslapis'
400: '400 - Bloga užklausa' 400: '400 - Bloga užklausa'
401: '401 - Leidimas neduotas' 401: '401 - Leidimas neduotas'
403: '403 - Uždrausta' 403: '403 - Uždrausta'
@ -202,8 +202,8 @@ lt:
406: '406 - nepriimtina' 406: '406 - nepriimtina'
407: '407 - reikalinga proxy autentifikacija' 407: '407 - reikalinga proxy autentifikacija'
408: '408 - baigėsi užklausai skirtas laikas' 408: '408 - baigėsi užklausai skirtas laikas'
409: '409 - konfliktas' 409: '409 - Konfliktas'
410: '410 - gone' 410: '410 - Nebėra'
411: '411 - reikalingas ilgis' 411: '411 - reikalingas ilgis'
412: '412 - išankstinė klaida' 412: '412 - išankstinė klaida'
413: '413 - per didelė užklausa' 413: '413 - per didelė užklausa'
@ -240,11 +240,11 @@ lt:
HASBEENSETUP: 'Nukreipimo puslapis nustatytas be jokio nukreipimo.' HASBEENSETUP: 'Nukreipimo puslapis nustatytas be jokio nukreipimo.'
HEADER: 'Šis puslapis nukreips lankytojus į kitą puslapį' HEADER: 'Šis puslapis nukreips lankytojus į kitą puslapį'
OTHERURL: 'Kitos svetainės URL adresas' OTHERURL: 'Kitos svetainės URL adresas'
PLURALNAME: 'Redirector Pags' PLURALNAME: 'Nukreipimo puslapiai'
REDIRECTTO: 'Nukreipti į' REDIRECTTO: 'Nukreipti į'
REDIRECTTOEXTERNAL: 'Kita svetainė' REDIRECTTOEXTERNAL: 'Kita svetainė'
REDIRECTTOPAGE: 'Puslapis Jūsų svetainėje' REDIRECTTOPAGE: 'Puslapis Jūsų svetainėje'
SINGULARNAME: 'Redirector Page' SINGULARNAME: 'Nukreipimo puslapis'
YOURPAGE: 'Puslapį Jūsų svetainėje' YOURPAGE: 'Puslapį Jūsų svetainėje'
ReportAdmin: ReportAdmin:
MENUTITLE: Ataskaitos MENUTITLE: Ataskaitos
@ -277,8 +277,8 @@ lt:
EDITHEADER: 'Kas gali redaguoti šį puslapį?' EDITHEADER: 'Kas gali redaguoti šį puslapį?'
EDIT_PERMISSION: 'Tvarkyti svetainės parametrus' EDIT_PERMISSION: 'Tvarkyti svetainės parametrus'
EDIT_PERMISSION_HELP: 'Galimybė tvarkyti globalias priėjimo, pagrindinio puslapio teises.' EDIT_PERMISSION_HELP: 'Galimybė tvarkyti globalias priėjimo, pagrindinio puslapio teises.'
PLURALNAME: 'Site Configs' PLURALNAME: 'Svetainės konfigūracijos'
SINGULARNAME: 'Site Config' SINGULARNAME: 'Svetainės konfigūracija'
SITENAMEDEFAULT: 'Jūsų Svetainės Pavadinimas' SITENAMEDEFAULT: 'Jūsų Svetainės Pavadinimas'
SITETAGLINE: 'Svetainės šūkis' SITETAGLINE: 'Svetainės šūkis'
SITETITLE: 'Svetainės pavadinimas' SITETITLE: 'Svetainės pavadinimas'
@ -296,12 +296,12 @@ lt:
ADDEDTODRAFTHELP: 'Puslapis dar nebuvo publikuotas' ADDEDTODRAFTHELP: 'Puslapis dar nebuvo publikuotas'
ADDEDTODRAFTSHORT: Juodraštis ADDEDTODRAFTSHORT: Juodraštis
ALLOWCOMMENTS: 'Ar leisti komentuoti šį puslapį?' ALLOWCOMMENTS: 'Ar leisti komentuoti šį puslapį?'
APPEARSVIRTUALPAGES: 'This content also appears on the virtual pages in the {title} sections.' APPEARSVIRTUALPAGES: 'Šis turinys taip pat matomas virtualiuose puslapiuose, {title} skyriuose.'
BUTTONCANCELDRAFT: 'Atšaukti juodraščio pakeitimus' BUTTONCANCELDRAFT: 'Atšaukti juodraščio pakeitimus'
BUTTONCANCELDRAFTDESC: 'Ištrinti juodraštį ir grįžti prie šiuo metu publikuojamo puslapio' BUTTONCANCELDRAFTDESC: 'Ištrinti juodraštį ir grįžti prie šiuo metu publikuojamo puslapio'
BUTTONSAVEPUBLISH: 'Išsaugoti ir publikuoti' BUTTONSAVEPUBLISH: 'Išsaugoti ir publikuoti'
BUTTONUNPUBLISH: Nebepublikuoti BUTTONUNPUBLISH: Nebepublikuoti
BUTTONUNPUBLISHDESC: 'Pašalinti šį puslapį iš publikuojamų' BUTTONUNPUBLISHDESC: 'Pašalinti šį puslapį iš publikuojamos svetainės'
CREATED: 'Sukūrimo data' CREATED: 'Sukūrimo data'
Comments: Komentarai Comments: Komentarai
Content: Turinys Content: Turinys
@ -331,21 +331,21 @@ lt:
LINKCHANGENOTE: 'Keičiant šio puslapio nuorodą, keisis ir jam priklausančių puslapių nuorodos.' LINKCHANGENOTE: 'Keičiant šio puslapio nuorodą, keisis ir jam priklausančių puslapių nuorodos.'
MENUTITLE: 'Navigacijos pavadinimas' MENUTITLE: 'Navigacijos pavadinimas'
METADESC: 'Meta aprašymas' METADESC: 'Meta aprašymas'
METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).' METADESCHELP: 'Paieškos varikliai naudoja šį turinį paieškos rezultatų atvaizdavimui (tačiau jis neturės įtakos rezultatų reitingui).'
METAEXTRA: 'Naudotojo meta žymės' METAEXTRA: 'Naudotojo meta žymės'
METAEXTRAHELP: 'HTML tags for additional meta information. For example &lt;meta name="customName" content="your custom content here" /&gt;' METAEXTRAHELP: 'HTML žymos papildomai meta informacijai. Pavyzdžiui: &lt;meta name="tavoPavadinimas" content="tavo turinys čia" /&gt;'
MODIFIEDONDRAFTHELP: 'Puslapyje yra nepublikuoto turinio' MODIFIEDONDRAFTHELP: 'Puslapyje yra nepublikuoto turinio'
MODIFIEDONDRAFTSHORT: Pakeistas MODIFIEDONDRAFTSHORT: Pakeistas
MetadataToggle: Metaduomenys MetadataToggle: Metaduomenys
OBSOLETECLASS: 'This page is of obsolete type {type}. Saving will reset it''s type and you may lose data' OBSOLETECLASS: 'Šis puslapis yra nebenaudojamo tipo {type}. Išsaugojimas iš naujo nustatys jo tipą, ko pasekoje galite prarasti duomenis'
PAGELOCATION: 'Puslapio vieta' PAGELOCATION: 'Puslapio vieta'
PAGETITLE: 'Puslapio pavadinimas' PAGETITLE: 'Puslapio pavadinimas'
PAGETYPE: 'Puslapio tipas' PAGETYPE: 'Puslapio tipas'
PARENTID: 'Tėvinis puslapis' PARENTID: 'Tėvinis puslapis'
PARENTTYPE: 'Puslapio vieta' PARENTTYPE: 'Puslapio vieta'
PARENTTYPE_ROOT: 'Pagrindinis puslapis' PARENTTYPE_ROOT: 'Pagrindinis puslapis'
PARENTTYPE_SUBPAGE: 'Puslapis išplečiantis pagrindinį (pasirinkite žemiau)' PARENTTYPE_SUBPAGE: 'Puslapis po tėviniu puslapiu'
PERMISSION_GRANTACCESS_DESCRIPTION: 'Kontroliuoti kurios grupės gali matyti ir redaguoti specialius puslapius' PERMISSION_GRANTACCESS_DESCRIPTION: 'Valdyti turinio redagavimo teises'
PERMISSION_GRANTACCESS_HELP: 'Leisti nustatyti puslapiui galiojančias specifines teises, "Puslapiai" skiltyje.' PERMISSION_GRANTACCESS_HELP: 'Leisti nustatyti puslapiui galiojančias specifines teises, "Puslapiai" skiltyje.'
PLURALNAME: Puslapiai PLURALNAME: Puslapiai
PageTypNotAllowedOnRoot: 'Puslapio tipas "{type}" neleidžiamas šakniniame lygmenyje' PageTypNotAllowedOnRoot: 'Puslapio tipas "{type}" neleidžiamas šakniniame lygmenyje'
@ -355,8 +355,8 @@ lt:
REMOVE_INSTALL_WARNING: 'Perspėjimas: Saugumo sumetimais Jūs turėtumėte pašalinti install.php bylą iš SilverStripe.' REMOVE_INSTALL_WARNING: 'Perspėjimas: Saugumo sumetimais Jūs turėtumėte pašalinti install.php bylą iš SilverStripe.'
REORGANISE_DESCRIPTION: 'Gali keisti svetainės struktūrą' REORGANISE_DESCRIPTION: 'Gali keisti svetainės struktūrą'
REORGANISE_HELP: 'Perrikiuoti puslapius naudojant Tempti/Mesti būdą.' REORGANISE_HELP: 'Perrikiuoti puslapius naudojant Tempti/Mesti būdą.'
SHOWINMENUS: 'Ar rodyti meniu?' SHOWINMENUS: 'Ar įtraukti į rodomą meniu?'
SHOWINSEARCH: 'Ar rodyti paieškoje' SHOWINSEARCH: 'Rodyti paieškoje?'
SINGULARNAME: Puslapis SINGULARNAME: Puslapis
TABBEHAVIOUR: Elgsena TABBEHAVIOUR: Elgsena
TABCONTENT: 'Pagrindinis turinys' TABCONTENT: 'Pagrindinis turinys'
@ -364,7 +364,7 @@ lt:
TOPLEVEL: 'Svetainės turinys (aukščiausias lygmuo)' TOPLEVEL: 'Svetainės turinys (aukščiausias lygmuo)'
TOPLEVELCREATORGROUPS: 'Aukščiausio lygmens kūrėjai' TOPLEVELCREATORGROUPS: 'Aukščiausio lygmens kūrėjai'
URLSegment: 'URL dalis' URLSegment: 'URL dalis'
VIEWERGROUPS: 'Lankytojų grupė' VIEWERGROUPS: 'Lankytojų grupės'
VIEW_ALL_DESCRIPTION: 'Gali peržiūrėti bet kurį puslapį svetainėje, apeinant puslapio peržiūros teises' VIEW_ALL_DESCRIPTION: 'Gali peržiūrėti bet kurį puslapį svetainėje, apeinant puslapio peržiūros teises'
VIEW_ALL_HELP: 'Galimybė peržiūrėti bet kurį puslapį svetainėje, nepriklausomai nuo "Priėjimo/Leidimų" skyriaus nustatymų. Būtinas leidimas "Prieiti prie svetainės turinio"' VIEW_ALL_HELP: 'Galimybė peržiūrėti bet kurį puslapį svetainėje, nepriklausomai nuo "Priėjimo/Leidimų" skyriaus nustatymų. Būtinas leidimas "Prieiti prie svetainės turinio"'
VIEW_DRAFT_CONTENT: 'Peržiūrėti juodraščio turinį' VIEW_DRAFT_CONTENT: 'Peržiūrėti juodraščio turinį'

View File

@ -75,7 +75,7 @@ nl:
ACCESS: 'Toegang tot het ''{title}'' gedeelte' ACCESS: 'Toegang tot het ''{title}'' gedeelte'
ACCESS_HELP: 'Bevoegdheid voor bekijken van pagina tak en inhoudssecties. Bekijk- en bewerkingstoestemmingen kunnen worden toegekend door pagina specifieke menu''s en het aparte "Inhoudsmachtigingen".' ACCESS_HELP: 'Bevoegdheid voor bekijken van pagina tak en inhoudssecties. Bekijk- en bewerkingstoestemmingen kunnen worden toegekend door pagina specifieke menu''s en het aparte "Inhoudsmachtigingen".'
AddNew: 'Voeg nieuwe pagina toe' AddNew: 'Voeg nieuwe pagina toe'
AddNewButton: 'Voeg nieuwe toe' AddNewButton: Nieuw
ChoosePageParentMode: 'Kies waar u deze pagina wilt creëren' ChoosePageParentMode: 'Kies waar u deze pagina wilt creëren'
ChoosePageType: 'Kies een pagina type' ChoosePageType: 'Kies een pagina type'
Create: Creëer Create: Creëer
@ -158,7 +158,7 @@ nl:
CMSSiteTreeFilter_ChangedPages: CMSSiteTreeFilter_ChangedPages:
Title: 'Gewijzigde pagina''s' Title: 'Gewijzigde pagina''s'
CMSSiteTreeFilter_DeletedPages: CMSSiteTreeFilter_DeletedPages:
Title: 'Alle pagina\\''s, inclusief verwijderde' Title: 'Alle pagina''s (inclusief verwijderde)'
CMSSiteTreeFilter_Search: CMSSiteTreeFilter_Search:
Title: 'Alle pagina''s' Title: 'Alle pagina''s'
ContentControl: ContentControl:
@ -258,7 +258,7 @@ nl:
SideReport: SideReport:
BROKENFILES: 'Pagina''s met verbroken bestanden' BROKENFILES: 'Pagina''s met verbroken bestanden'
BROKENLINKS: 'Pagina''s met verbroken verwijzingen' BROKENLINKS: 'Pagina''s met verbroken verwijzingen'
BROKENREDIRECTORPAGES: 'RedirectorPages dit naar verwijderde pagina''s verwijzen' BROKENREDIRECTORPAGES: 'RedirectorPages die naar verwijderde pagina''s verwijzen'
BROKENVIRTUALPAGES: 'VirtuelePagina''s die naar verwijderde pagina''s verwijzen' BROKENVIRTUALPAGES: 'VirtuelePagina''s die naar verwijderde pagina''s verwijzen'
BrokenLinksGroupTitle: 'Verbroken verwijzingen raportage' BrokenLinksGroupTitle: 'Verbroken verwijzingen raportage'
ContentGroupTitle: Inhoudsrapportages ContentGroupTitle: Inhoudsrapportages

View File

@ -167,8 +167,8 @@ pl:
ARCHIVEDSITE: 'Podgląd wersji' ARCHIVEDSITE: 'Podgląd wersji'
ARCHIVEDSITEFROM: 'Zarchiwizowana witryna od' ARCHIVEDSITEFROM: 'Zarchiwizowana witryna od'
CMS: 'System Zarządzania Treścią' CMS: 'System Zarządzania Treścią'
DRAFTSITE: 'Strona nieopublikowana' DRAFTSITE: 'Szkic witryny'
DRAFT_SITE_ACCESS_RESTRICTION: 'Musisz zalogować się za pomocą swojego hasła do CMSa, aby obejrzeć brudnopis i zarchiwizowaną treść. <a href="%s">Kliknij tutaj aby powrócić do opublikowanej strony.</a>' DRAFT_SITE_ACCESS_RESTRICTION: 'Musisz zalogować się za pomocą swojego hasła do CMSa, aby obejrzeć nieopublikowaną i zarchiwizowaną treść. <a href="%s">Kliknij tutaj aby powrócić do opublikowanej strony.</a>'
Email: 'Adres e-mail' Email: 'Adres e-mail'
INSTALL_SUCCESS: 'Instalacja przebiegła pomyślnie' INSTALL_SUCCESS: 'Instalacja przebiegła pomyślnie'
InstallFilesDeleted: 'Pliki instalacyjne zostały pomyślnie usunięte' InstallFilesDeleted: 'Pliki instalacyjne zostały pomyślnie usunięte'
@ -239,13 +239,13 @@ pl:
DESCRIPTION: 'Przekierowuje do wskazanej wewnętrznej strony' DESCRIPTION: 'Przekierowuje do wskazanej wewnętrznej strony'
HASBEENSETUP: 'Strona przekierowująca została ustawiona bez celu, do którego ma przekierowywać.' HASBEENSETUP: 'Strona przekierowująca została ustawiona bez celu, do którego ma przekierowywać.'
HEADER: 'Ta strona przeniesie użytkowników na inną stronę' HEADER: 'Ta strona przeniesie użytkowników na inną stronę'
OTHERURL: 'Inny adres URL strony' OTHERURL: 'Adres URL innej strony'
PLURALNAME: 'Strony przekierowujące' PLURALNAME: 'Strony przekierowujące'
REDIRECTTO: 'Przenieś do' REDIRECTTO: 'Przenieś do'
REDIRECTTOEXTERNAL: 'Inna strona' REDIRECTTOEXTERNAL: 'Inna strona'
REDIRECTTOPAGE: 'Strona na Twojej stronie www' REDIRECTTOPAGE: 'Strona na Twojej witrynie'
SINGULARNAME: 'Strona przekierowująca' SINGULARNAME: 'Strona przekierowująca'
YOURPAGE: 'Strona na Twojej stronie www' YOURPAGE: 'Strona na Twojej witrynie'
ReportAdmin: ReportAdmin:
MENUTITLE: Raporty MENUTITLE: Raporty
ReportTitle: Tytuł ReportTitle: Tytuł
@ -275,7 +275,7 @@ pl:
SiteConfig: SiteConfig:
DEFAULTTHEME: '(Użyj domyślnego szablonu)' DEFAULTTHEME: '(Użyj domyślnego szablonu)'
EDITHEADER: 'Kto może edytować strony tego serwisu?' EDITHEADER: 'Kto może edytować strony tego serwisu?'
EDIT_PERMISSION: 'Zarządzanie konfiguracją strony' EDIT_PERMISSION: 'Zarządzanie konfiguracją serwisu'
EDIT_PERMISSION_HELP: 'Możliwość edycji globalnych ustawień bezpieczeństwa/uprawnień do stron pierwszego poziomu.' EDIT_PERMISSION_HELP: 'Możliwość edycji globalnych ustawień bezpieczeństwa/uprawnień do stron pierwszego poziomu.'
PLURALNAME: 'Konfiguracje strony' PLURALNAME: 'Konfiguracje strony'
SINGULARNAME: 'Konfiguracja strony' SINGULARNAME: 'Konfiguracja strony'
@ -309,8 +309,8 @@ pl:
DEFAULTABOUTTITLE: 'O nas' DEFAULTABOUTTITLE: 'O nas'
DEFAULTCONTACTCONTENT: '<p>Możesz wypełnić tę stronę własną treścią, usunąć ją i tworzyć własne strony.<br /></p>' DEFAULTCONTACTCONTENT: '<p>Możesz wypełnić tę stronę własną treścią, usunąć ją i tworzyć własne strony.<br /></p>'
DEFAULTCONTACTTITLE: Kontakt DEFAULTCONTACTTITLE: Kontakt
DEFAULTHOMECONTENT: '<p>Witaj w SilverStripe! To jest domyślna strona domowa. Możesz ją edytować, otwierając <a href="admin/">CMS</a>. Możesz teraz otworzyć <a href="http://doc.silverstripe.com">dokumentację dla developerów</a>, lub rozpocząć <a href="http://doc.silverstripe.com/doku.php?id=tutorials">jeden z samouczyków.</a></p>' DEFAULTHOMECONTENT: '<p>Witaj w SilverStripe! To jest domyślna strona główna. Możesz ją edytować, otwierając <a href="admin/">CMS</a>. Możesz również otworzyć <a href="http://doc.silverstripe.com">dokumentację dla developerów</a>, lub rozpocząć <a href="http://doc.silverstripe.com/doku.php?id=tutorials">jeden z samouczków.</a></p>'
DEFAULTHOMETITLE: 'Strona Domowa' DEFAULTHOMETITLE: 'Strona główna'
DELETEDPAGEHELP: 'Strona nie jest już opublikowana' DELETEDPAGEHELP: 'Strona nie jest już opublikowana'
DELETEDPAGESHORT: Usunięty DELETEDPAGESHORT: Usunięty
DEPENDENT_NOTE: 'Poniższe strony są zależne od tej (łącznie z wirtualnymi stronami, stronami przekierowującymi oraz stronami z treścią).' DEPENDENT_NOTE: 'Poniższe strony są zależne od tej (łącznie z wirtualnymi stronami, stronami przekierowującymi oraz stronami z treścią).'
@ -331,9 +331,9 @@ pl:
LINKCHANGENOTE: 'Zmiana linku na aktualnej stronie skutkuje zmianą w linkach stron potomnych.' LINKCHANGENOTE: 'Zmiana linku na aktualnej stronie skutkuje zmianą w linkach stron potomnych.'
MENUTITLE: 'Sekcja nawigacji' MENUTITLE: 'Sekcja nawigacji'
METADESC: Opis METADESC: Opis
METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).' METADESCHELP: 'Wyszukiwarki używają tej zawartości do wyświetlania wyników wyszukiwania (aczkolwiek nie zmieni to ich miejsca w rankingu)'
METAEXTRA: 'Własne meta tagi' METAEXTRA: 'Własne meta tagi'
METAEXTRAHELP: 'HTML tags for additional meta information. For example &lt;meta name="customName" content="your custom content here" /&gt;' METAEXTRAHELP: 'Tagi HTML dla dodatkowych informacji. Na przykład &lt;meta name="niestandardowaNazwa" content="twoja zawartość" /&gt;'
MODIFIEDONDRAFTHELP: 'Na stronie znajdują się nieopublikowane zmiany' MODIFIEDONDRAFTHELP: 'Na stronie znajdują się nieopublikowane zmiany'
MODIFIEDONDRAFTSHORT: Zmodyfikowana MODIFIEDONDRAFTSHORT: Zmodyfikowana
MetadataToggle: Metadane MetadataToggle: Metadane

View File

@ -133,13 +133,13 @@ pt:
CMSPageHistoryController_versions.ss: CMSPageHistoryController_versions.ss:
AUTHOR: Autor AUTHOR: Autor
NOTPUBLISHED: 'Não publicada' NOTPUBLISHED: 'Não publicada'
PUBLISHER: Издатель PUBLISHER: Publicador
UNKNOWN: Неизвестно UNKNOWN: Desconhecido
WHEN: Quando WHEN: Quando
CMSPageSettingsController: CMSPageSettingsController:
MENUTITLE: 'Editar página' MENUTITLE: 'Editar página'
CMSPagesController: CMSPagesController:
GalleryView: 'Обзор галереи' GalleryView: 'Vista de galeria'
ListView: 'Vista em lista' ListView: 'Vista em lista'
MENUTITLE: Páginas MENUTITLE: Páginas
TreeView: 'Vista em árvore' TreeView: 'Vista em árvore'
@ -218,11 +218,11 @@ pt:
504: '504 - Gateway Timeout' 504: '504 - Gateway Timeout'
505: '505 - Versão HTTP não suportada' 505: '505 - Versão HTTP não suportada'
Folder: Folder:
AddFolderButton: 'Добавить папку' AddFolderButton: 'Adicionar pasta'
DELETEUNUSEDTHUMBNAILS: 'Apagar miniaturas não usadas' DELETEUNUSEDTHUMBNAILS: 'Apagar miniaturas não utilizadas'
UNUSEDFILESTITLE: 'Ficheiros não utilizados' UNUSEDFILESTITLE: 'Ficheiros não utilizados'
UNUSEDTHUMBNAILSTITLE: 'Miniaturas não usadas' UNUSEDTHUMBNAILSTITLE: 'Miniaturas não utilizadas'
UploadFilesButton: Загрузить UploadFilesButton: Submeter
LeftAndMain: LeftAndMain:
DELETED: Apagada DELETED: Apagada
PreviewButton: Pré-visualização PreviewButton: Pré-visualização
@ -236,7 +236,7 @@ pt:
CONTENT_CATEGORY: 'Permissões de conteúdo' CONTENT_CATEGORY: 'Permissões de conteúdo'
PERMISSIONS_CATEGORY: 'Regras e permissões de acesso' PERMISSIONS_CATEGORY: 'Regras e permissões de acesso'
RedirectorPage: RedirectorPage:
DESCRIPTION: 'Переадресовывать на другую внутреннюю страницу' DESCRIPTION: 'Redirecionar para outra página interna'
HASBEENSETUP: 'Uma página de redireccionamento foi criada sem nenhum destino.' HASBEENSETUP: 'Uma página de redireccionamento foi criada sem nenhum destino.'
HEADER: 'Esta página irá redireccionar os utilizadores para outra página' HEADER: 'Esta página irá redireccionar os utilizadores para outra página'
OTHERURL: 'Outro Site' OTHERURL: 'Outro Site'
@ -379,8 +379,8 @@ pt:
HelpChars: 'Os caracteres especiais são automaticamente convertido ou removidos.' HelpChars: 'Os caracteres especiais são automaticamente convertido ou removidos.'
StaticExporter: StaticExporter:
BASEURL: 'URL base' BASEURL: 'URL base'
EXPORTTO: 'Exportar para essa pasta' EXPORTTO: 'Exportar para esta pasta'
NAME: 'Статичный проводник' NAME: 'Exportar estaticamente'
TableListField: TableListField:
SELECT: 'Escolha:' SELECT: 'Escolha:'
TableListField.ss: TableListField.ss:
@ -402,7 +402,7 @@ pt:
HAVEASKED: 'Pediu para ver o conteúdo do nosso site na' HAVEASKED: 'Pediu para ver o conteúdo do nosso site na'
VirtualPage: VirtualPage:
CHOOSE: 'Escolha uma página para onde redireccionar' CHOOSE: 'Escolha uma página para onde redireccionar'
DESCRIPTION: 'Показывать содержание другой страницы' DESCRIPTION: 'Apresentar o conteúdo de outra página'
EDITCONTENT: 'clique aqui para editar o conteúdo' EDITCONTENT: 'clique aqui para editar o conteúdo'
HEADER: 'Esta é uma página virtual' HEADER: 'Esta é uma página virtual'
PLURALNAME: 'Páginas Virtuais' PLURALNAME: 'Páginas Virtuais'

View File

@ -30,7 +30,7 @@ ru:
AssetAdmin_Tools: AssetAdmin_Tools:
FILTER: Фильтр FILTER: Фильтр
AssetAdmin_left.ss: AssetAdmin_left.ss:
GO: Перейти GO: Выбрать
AssetTableField: AssetTableField:
BACKLINKCOUNT: 'Используется на:' BACKLINKCOUNT: 'Используется на:'
PAGES: страниц PAGES: страниц
@ -137,9 +137,9 @@ ru:
UNKNOWN: Неизвестно UNKNOWN: Неизвестно
WHEN: Когда WHEN: Когда
CMSPageSettingsController: CMSPageSettingsController:
MENUTITLE: 'Править страницы' MENUTITLE: 'Править страницу'
CMSPagesController: CMSPagesController:
GalleryView: 'Обзор галереи' GalleryView: 'В виде галереи'
ListView: 'Обзор списка' ListView: 'Обзор списка'
MENUTITLE: Страницы MENUTITLE: Страницы
TreeView: 'Обзор дерева' TreeView: 'Обзор дерева'
@ -151,7 +151,7 @@ ru:
CMSSearch: CMSSearch:
FILTERDATEFROM: От FILTERDATEFROM: От
FILTERDATEHEADING: Дата FILTERDATEHEADING: Дата
FILTERDATETO: Кому FILTERDATETO: До
FILTERLABELTEXT: Содержимое FILTERLABELTEXT: Содержимое
CMSSettingsController: CMSSettingsController:
MENUTITLE: Настройки MENUTITLE: Настройки
@ -323,10 +323,10 @@ ru:
EDITORGROUPS: 'Группы редактирования' EDITORGROUPS: 'Группы редактирования'
EDIT_ALL_DESCRIPTION: 'Редактирование любой страницы' EDIT_ALL_DESCRIPTION: 'Редактирование любой страницы'
EDIT_ALL_HELP: 'Возможность редактировать любую страницу на сайте независимо от настроек во вкладке "Доступ". Необходимо право доступа к разделу "Страницы".' EDIT_ALL_HELP: 'Возможность редактировать любую страницу на сайте независимо от настроек во вкладке "Доступ". Необходимо право доступа к разделу "Страницы".'
Editors: 'Группы редакторов' Editors: 'Группы редактирования'
HASBROKENLINKS: 'Эта страница содержит неверные ссылки.' HASBROKENLINKS: 'Эта страница содержит неверные ссылки.'
HTMLEDITORTITLE: Содержимое HTMLEDITORTITLE: Содержимое
INHERIT: 'Такие же как у родительской страницы' INHERIT: 'Перенять от родительской страницы'
LASTUPDATED: 'Последнее обновление' LASTUPDATED: 'Последнее обновление'
LINKCHANGENOTE: 'Изменение ссылки на эту страницу повлияет и на ссылки всех дочерних страниц.' LINKCHANGENOTE: 'Изменение ссылки на эту страницу повлияет и на ссылки всех дочерних страниц.'
MENUTITLE: 'Метка в навигации' MENUTITLE: 'Метка в навигации'
@ -373,7 +373,7 @@ ru:
Visibility: Отображение Visibility: Отображение
has_one_Parent: 'Родительская страница' has_one_Parent: 'Родительская страница'
many_many_BackLinkTracking: 'Отслеживание обратных ссылок' many_many_BackLinkTracking: 'Отслеживание обратных ссылок'
many_many_ImageTracking: 'Отслеживание картинок' many_many_ImageTracking: 'Отслеживание изображений'
many_many_LinkTracking: 'Отслеживание ссылок' many_many_LinkTracking: 'Отслеживание ссылок'
SiteTreeURLSegmentField: SiteTreeURLSegmentField:
HelpChars: 'Спецсимволы автоматически конвертируются или удаляются.' HelpChars: 'Спецсимволы автоматически конвертируются или удаляются.'
@ -401,7 +401,7 @@ ru:
CANACCESS: 'Вы можете посмотреть архивную версию сайта по этой ссылке:' CANACCESS: 'Вы можете посмотреть архивную версию сайта по этой ссылке:'
HAVEASKED: 'Вы запросили просмотр содержимого нашего сайта за' HAVEASKED: 'Вы запросили просмотр содержимого нашего сайта за'
VirtualPage: VirtualPage:
CHOOSE: 'Выберите страницу, на которую ссылаетесь,' CHOOSE: 'Выберите страницу, на которую ссылаетесь'
DESCRIPTION: 'Показать содержимое других страниц' DESCRIPTION: 'Показать содержимое других страниц'
EDITCONTENT: 'Нажмите здесь для редактирования содержимого' EDITCONTENT: 'Нажмите здесь для редактирования содержимого'
HEADER: 'Это виртуальная страница' HEADER: 'Это виртуальная страница'

View File

@ -20,7 +20,7 @@ sk:
Filetype: 'Typ súboru' Filetype: 'Typ súboru'
ListView: 'Zobraziť zoznam' ListView: 'Zobraziť zoznam'
MENUTITLE: Súbory MENUTITLE: Súbory
NEWFOLDER: 'Nový Adresár' NEWFOLDER: 'Nový priečinok'
SIZE: Veľkosť SIZE: Veľkosť
THUMBSDELETED: '{count} nepoužitých miniatúr bolo smazaných' THUMBSDELETED: '{count} nepoužitých miniatúr bolo smazaných'
TreeView: 'Zobraziť strom' TreeView: 'Zobraziť strom'
@ -30,7 +30,7 @@ sk:
AssetAdmin_Tools: AssetAdmin_Tools:
FILTER: Filtrovať FILTER: Filtrovať
AssetAdmin_left.ss: AssetAdmin_left.ss:
GO: Vykonať GO: Choď
AssetTableField: AssetTableField:
BACKLINKCOUNT: 'Použité na:' BACKLINKCOUNT: 'Použité na:'
PAGES: stránka(y) PAGES: stránka(y)
@ -56,7 +56,7 @@ sk:
ReasonDropdownBROKENLINK: 'Porušnený odkaz' ReasonDropdownBROKENLINK: 'Porušnený odkaz'
ReasonDropdownRPBROKENLINK: 'Presmerovacia stránka ukazuje na neexistujúcu stránku' ReasonDropdownRPBROKENLINK: 'Presmerovacia stránka ukazuje na neexistujúcu stránku'
ReasonDropdownVPBROKENLINK: 'Virtuálna stránka odkazuje na ne-existujúcu stránku' ReasonDropdownVPBROKENLINK: 'Virtuálna stránka odkazuje na ne-existujúcu stránku'
RedirectorNonExistent: 'presmerovávacia stránka odkazuje na ne-existujúcu stránku' RedirectorNonExistent: 'presmerovacia stránka ukazuje na neexistujúcu stránku'
VirtualPageNonExistent: 'virtuálna stránka odkazuje na ne-existujúcu stránku' VirtualPageNonExistent: 'virtuálna stránka odkazuje na ne-existujúcu stránku'
CMSAddPageController: CMSAddPageController:
Title: 'Pridať stránku' Title: 'Pridať stránku'
@ -64,11 +64,11 @@ sk:
DELETED_DRAFT_PAGES: 'Smazaných %d stránok z konceptu webu, %d zlyhaní' DELETED_DRAFT_PAGES: 'Smazaných %d stránok z konceptu webu, %d zlyhaní'
DELETED_PAGES: 'Smazaných %d stránok z verejného webu, %d zlyhaní' DELETED_PAGES: 'Smazaných %d stránok z verejného webu, %d zlyhaní'
DELETE_DRAFT_PAGES: 'Vymazať z návhrového webu' DELETE_DRAFT_PAGES: 'Vymazať z návhrového webu'
DELETE_PAGES: 'Vymazať z publikovaného webu' DELETE_PAGES: 'Vymazať z verejného webu'
PUBLISHED_PAGES: 'Publikovaných %d stránok, %d zlyhaní' PUBLISHED_PAGES: 'Publikovaných %d stránok, %d zlyhaní'
PUBLISH_PAGES: Publikovať PUBLISH_PAGES: Zverejniť
UNPUBLISHED_PAGES: 'Od-publikované %d stranky' UNPUBLISHED_PAGES: 'Ne-zverejnené %d stranky'
UNPUBLISH_PAGES: Od-publikovať UNPUBLISH_PAGES: Ne-zverejniť
CMSFileAddController: CMSFileAddController:
MENUTITLE: Súbory MENUTITLE: Súbory
CMSMain: CMSMain:
@ -91,7 +91,7 @@ sk:
PAGES: Stránky PAGES: Stránky
PAGETYPEANYOPT: Akákoľvek PAGETYPEANYOPT: Akákoľvek
PAGETYPEOPT: 'Typ stránky' PAGETYPEOPT: 'Typ stránky'
PUBALLCONFIRM: 'Publikovať všetky stránky z úschovne' PUBALLCONFIRM: 'Prosím, zverejnite všetky stránky webu, zkopírovaním obsahu na verejné'
PUBALLFUN: 'Funkcia "Publikovať všetko"' PUBALLFUN: 'Funkcia "Publikovať všetko"'
PUBALLFUN2: 'Stlačením tohto tlačidla vykonáte to isté ako keby ste navštívili každú stránku a stlačili "publikuj". Je určené na použite po rozsiahlych zmenách obsahu, napríklad keď bol web prvýkrát vytvorený.' PUBALLFUN2: 'Stlačením tohto tlačidla vykonáte to isté ako keby ste navštívili každú stránku a stlačili "publikuj". Je určené na použite po rozsiahlych zmenách obsahu, napríklad keď bol web prvýkrát vytvorený.'
PUBPAGES: 'Hotovo: Publikované {count} stránky' PUBPAGES: 'Hotovo: Publikované {count} stránky'
@ -165,7 +165,7 @@ sk:
NOTEWONTBESHOWN: 'Poznámka: Táto správa sa nebude zobrazovať vašim návštevníkom' NOTEWONTBESHOWN: 'Poznámka: Táto správa sa nebude zobrazovať vašim návštevníkom'
ContentController: ContentController:
ARCHIVEDSITE: 'Zobrazenie verzie' ARCHIVEDSITE: 'Zobrazenie verzie'
ARCHIVEDSITEFROM: 'Archívovaná stránka z' ARCHIVEDSITEFROM: 'Archivovaný web z'
CMS: CMS CMS: CMS
DRAFTSITE: 'Koncept webu' DRAFTSITE: 'Koncept webu'
DRAFT_SITE_ACCESS_RESTRICTION: 'Pre zobrazenie návrhov alebo archivovaného obsahu sa musíte prihlásiť so svojím CMS heslom. <a href="%s">Pre návrat na publikovaný web kliknite Tu.</a>' DRAFT_SITE_ACCESS_RESTRICTION: 'Pre zobrazenie návrhov alebo archivovaného obsahu sa musíte prihlásiť so svojím CMS heslom. <a href="%s">Pre návrat na publikovaný web kliknite Tu.</a>'
@ -178,7 +178,7 @@ sk:
LOGIN: Prihlásiť LOGIN: Prihlásiť
LOGOUT: Odhlásiť LOGOUT: Odhlásiť
NOTLOGGEDIN: Neprihlásený NOTLOGGEDIN: Neprihlásený
PUBLISHEDSITE: 'Publikovaný web' PUBLISHEDSITE: 'Verejný web'
Password: Heslo Password: Heslo
PostInstallTutorialIntro: 'Tento web je zjednodušená verzia SilverStripe 3. webu. Pre rošírenie, pozrite sa na {link}, prosím.' PostInstallTutorialIntro: 'Tento web je zjednodušená verzia SilverStripe 3. webu. Pre rošírenie, pozrite sa na {link}, prosím.'
StartEditing: 'Môžte začať editáciu vášho web obsahu otvorením <a href="{link}">CMS</a>.' StartEditing: 'Môžte začať editáciu vášho web obsahu otvorením <a href="{link}">CMS</a>.'
@ -219,9 +219,9 @@ sk:
505: '505 - HTTP verzia nie je podporovaná' 505: '505 - HTTP verzia nie je podporovaná'
Folder: Folder:
AddFolderButton: 'Pridať priečinok' AddFolderButton: 'Pridať priečinok'
DELETEUNUSEDTHUMBNAILS: 'Vymazať nepoužívané náhĺady obrázkov' DELETEUNUSEDTHUMBNAILS: 'Vymazať nepoužité miniatúry'
UNUSEDFILESTITLE: 'Nepoužívané súbory' UNUSEDFILESTITLE: 'Nepoužité súbory'
UNUSEDTHUMBNAILSTITLE: 'Nepoužívané náhĺady obrázkov' UNUSEDTHUMBNAILSTITLE: 'Nepoužité miniatúry'
UploadFilesButton: Nahrať UploadFilesButton: Nahrať
LeftAndMain: LeftAndMain:
DELETED: Smazané. DELETED: Smazané.
@ -239,13 +239,13 @@ sk:
DESCRIPTION: 'Presmeruje na inú internú stránku' DESCRIPTION: 'Presmeruje na inú internú stránku'
HASBEENSETUP: 'Stránka na presmerovanie bola nastavená bez cieľa.' HASBEENSETUP: 'Stránka na presmerovanie bola nastavená bez cieľa.'
HEADER: 'Táto stránka presmeruje používateľov na inú stránku' HEADER: 'Táto stránka presmeruje používateľov na inú stránku'
OTHERURL: 'Inú webovú URL adresu.' OTHERURL: 'Iné webové URL.'
PLURALNAME: 'Presmerovacie stránky' PLURALNAME: 'Presmerovacie stránky'
REDIRECTTO: 'Presmerovať na' REDIRECTTO: 'Presmerovať na'
REDIRECTTOEXTERNAL: 'Inú webovú stránku' REDIRECTTOEXTERNAL: 'Iná webová stránka'
REDIRECTTOPAGE: 'Stránku na Vašom webe' REDIRECTTOPAGE: 'Stránka na vašom webe'
SINGULARNAME: 'Presmerovacia stránka' SINGULARNAME: 'Presmerovacia stránka'
YOURPAGE: 'Stránku na Vašom webe' YOURPAGE: 'Stránka na vašom webe'
ReportAdmin: ReportAdmin:
MENUTITLE: Výkazy MENUTITLE: Výkazy
ReportTitle: Titulok ReportTitle: Titulok
@ -260,8 +260,8 @@ sk:
BROKENLINKS: 'Stránky z poškodenými odkazmi' BROKENLINKS: 'Stránky z poškodenými odkazmi'
BROKENREDIRECTORPAGES: 'Presmerovacie stránky ukazujú na smazané stránky' BROKENREDIRECTORPAGES: 'Presmerovacie stránky ukazujú na smazané stránky'
BROKENVIRTUALPAGES: 'Virtuálne stránky odkazujú na vymazané stránky' BROKENVIRTUALPAGES: 'Virtuálne stránky odkazujú na vymazané stránky'
BrokenLinksGroupTitle: 'Správy o poškodených odkazoch' BrokenLinksGroupTitle: 'Výkazy porušených odkazov'
ContentGroupTitle: 'Správy o obsahu' ContentGroupTitle: 'Výkazy obsahu'
EMPTYPAGES: 'Prázdne stránky' EMPTYPAGES: 'Prázdne stránky'
LAST2WEEKS: 'Stránky upravené počaas posledných 2 týždňov' LAST2WEEKS: 'Stránky upravené počaas posledných 2 týždňov'
OtherGroupTitle: Ostatné OtherGroupTitle: Ostatné
@ -269,19 +269,19 @@ sk:
REPEMPTY: '{title} výkaz je prázdny.' REPEMPTY: '{title} výkaz je prázdny.'
SilverStripeNavigatorLink: SilverStripeNavigatorLink:
ShareInstructions: 'Pre zdielanie tejto stránky, skopírujte linku nižšie.' ShareInstructions: 'Pre zdielanie tejto stránky, skopírujte linku nižšie.'
ShareLink: 'Zdieľať linku' ShareLink: 'Zdieľať odkaz'
SilverStripeNavigatorLinkl: SilverStripeNavigatorLinkl:
CloseLink: Zavrieť CloseLink: Zavrieť
SiteConfig: SiteConfig:
DEFAULTTHEME: '(Použi predvolenú tému)' DEFAULTTHEME: '(Použi predvolenú tému)'
EDITHEADER: 'Kto môže upravovať stranky na tomto webe?' EDITHEADER: 'Kto môže editovať stránky na tomto webe?'
EDIT_PERMISSION: 'Spravovať nastavenia webu' EDIT_PERMISSION: 'Spravovať konfiguráciu webu'
EDIT_PERMISSION_HELP: 'Možnosť meniť globálne prístupové nastavenia/právomoci pre hlavné stránky.' EDIT_PERMISSION_HELP: 'Možnosť meniť globálne prístupové nastavenia/právomoci pre hlavné stránky.'
PLURALNAME: 'Konfigurácie webu' PLURALNAME: 'Konfigurácie webu'
SINGULARNAME: 'Konfigurácia webu' SINGULARNAME: 'Konfigurácia webu'
SITENAMEDEFAULT: 'Názov vášho webu' SITENAMEDEFAULT: 'Názov vášho webu'
SITETAGLINE: 'Slogan stránky' SITETAGLINE: 'Slogan stránky'
SITETITLE: 'Titulok stránky' SITETITLE: 'Titulok webu'
TABACCESS: Prístup TABACCESS: Prístup
TABMAIN: Hlavné TABMAIN: Hlavné
TAGLINEDEFAULT: 'váš citát sem' TAGLINEDEFAULT: 'váš citát sem'
@ -290,7 +290,7 @@ sk:
VIEWHEADER: 'Kto môže vidieť stránky na tomto webe?' VIEWHEADER: 'Kto môže vidieť stránky na tomto webe?'
SiteTree: SiteTree:
ACCESSANYONE: Ktokoľvek ACCESSANYONE: Ktokoľvek
ACCESSHEADER: 'Kto si môže prezerať túto stránku?' ACCESSHEADER: 'Kto môže prezerať túto stránku?'
ACCESSLOGGEDIN: 'Prihlásení používatelia' ACCESSLOGGEDIN: 'Prihlásení používatelia'
ACCESSONLYTHESE: 'Iba títo ľudia (vyberte zo zoznamu)' ACCESSONLYTHESE: 'Iba títo ľudia (vyberte zo zoznamu)'
ADDEDTODRAFTHELP: 'Stránka ešte nebola zverejnená' ADDEDTODRAFTHELP: 'Stránka ešte nebola zverejnená'
@ -313,7 +313,7 @@ sk:
DEFAULTHOMETITLE: Domov DEFAULTHOMETITLE: Domov
DELETEDPAGEHELP: 'Stránka už nie je viacej zverejnená' DELETEDPAGEHELP: 'Stránka už nie je viacej zverejnená'
DELETEDPAGESHORT: Smazané DELETEDPAGESHORT: Smazané
DEPENDENT_NOTE: 'Nasledujúce stránky sú závislé na tejto stránke. To zahŕňa virtuálne stránky, presmerovania a stránky s odkazmi.' DEPENDENT_NOTE: 'Nasledujúce stránky sú závislé na tejto stránke. To zahŕňa virtuálne stránky, presmerovacie stránky a stránky s odkazmi obsahu.'
DESCRIPTION: 'Obecný obsah stránky' DESCRIPTION: 'Obecný obsah stránky'
DependtPageColumnLinkType: 'Typ odkazu' DependtPageColumnLinkType: 'Typ odkazu'
DependtPageColumnURL: URL DependtPageColumnURL: URL
@ -328,7 +328,7 @@ sk:
HTMLEDITORTITLE: Obsah HTMLEDITORTITLE: Obsah
INHERIT: 'Dediť od nadradenej stránky' INHERIT: 'Dediť od nadradenej stránky'
LASTUPDATED: 'Posledne aktualizované' LASTUPDATED: 'Posledne aktualizované'
LINKCHANGENOTE: 'Zmenenie odkazu na tejto stránke ovplyní aj odkazy na všetkých podstránkach.' LINKCHANGENOTE: 'Zmenenie odkazu tejto stránky ovplyvní tiež odkazy všetkých podstránok.'
MENUTITLE: 'Navigačná menovka' MENUTITLE: 'Navigačná menovka'
METADESC: 'Meta Popis' METADESC: 'Meta Popis'
METADESCHELP: 'Vyhľadávače používajú tento obsah pre zobrazovanie výsledkov vyhľadávania (aj keď to nebude mať vplyv na ich hodnotenie).' METADESCHELP: 'Vyhľadávače používajú tento obsah pre zobrazovanie výsledkov vyhľadávania (aj keď to nebude mať vplyv na ich hodnotenie).'
@ -339,7 +339,7 @@ sk:
MetadataToggle: Metaúdaje MetadataToggle: Metaúdaje
OBSOLETECLASS: 'Táto stránka je zastaralý typ {type}. Uloženie spôsobí stratu jeho typu a vy môžte stratiť dáta' OBSOLETECLASS: 'Táto stránka je zastaralý typ {type}. Uloženie spôsobí stratu jeho typu a vy môžte stratiť dáta'
PAGELOCATION: 'Pozícia stránky' PAGELOCATION: 'Pozícia stránky'
PAGETITLE: 'Meno stránky' PAGETITLE: 'Názov stránky'
PAGETYPE: 'Typ stránky' PAGETYPE: 'Typ stránky'
PARENTID: 'Nadradená stránka' PARENTID: 'Nadradená stránka'
PARENTTYPE: 'Pozícia stránky' PARENTTYPE: 'Pozícia stránky'
@ -378,8 +378,8 @@ sk:
SiteTreeURLSegmentField: SiteTreeURLSegmentField:
HelpChars: 'Špeciálne znaky sú automaticky zkonvertované alebo ostránené.' HelpChars: 'Špeciálne znaky sú automaticky zkonvertované alebo ostránené.'
StaticExporter: StaticExporter:
BASEURL: 'Základná URL adresa' BASEURL: 'Základné URL'
EXPORTTO: 'Exportovať do tohto adresára' EXPORTTO: 'Exportovať do tohto priečinka'
NAME: 'Statický export' NAME: 'Statický export'
TableListField: TableListField:
SELECT: 'Vyberte:' SELECT: 'Vyberte:'
@ -407,4 +407,4 @@ sk:
HEADER: 'Toto je virtuálna stránka' HEADER: 'Toto je virtuálna stránka'
PLURALNAME: 'Virtuálne stránky' PLURALNAME: 'Virtuálne stránky'
PageTypNotAllowedOnRoot: 'Pôvodná stránka typu "{type}" nie je povolená na najvyššej úrovni pre túto virtuálnu stránku' PageTypNotAllowedOnRoot: 'Pôvodná stránka typu "{type}" nie je povolená na najvyššej úrovni pre túto virtuálnu stránku'
SINGULARNAME: 'Virtuálné stránka' SINGULARNAME: 'Virtuálna stránka'

View File

@ -73,14 +73,14 @@ sv:
MENUTITLE: Filer MENUTITLE: Filer
CMSMain: CMSMain:
ACCESS: 'Tillgång till sektionen ''{title}''' ACCESS: 'Tillgång till sektionen ''{title}'''
ACCESS_HELP: 'Tillåt visning av det avsnitt som innehåller sidträdet och dess innehåll. Visa och redigera behörigheter kan hanteras på sidans specifika dropdownmenyerna, liksom de separata "behörigheter innehåll".' ACCESS_HELP: 'Tillåt visning av sektionen innehållande sidträdet och dess innehåll. Rättigheter att visa och redigera sidan kan hanteras i dess rullgardinsmenyer, liksom i "Innehållsbehörigheter".'
AddNew: 'Skapa ny sida' AddNew: 'Skapa ny sida'
AddNewButton: 'Skapa ny' AddNewButton: 'Skapa ny'
ChoosePageParentMode: 'Välj var du vill skapa denna sida' ChoosePageParentMode: 'Välj var du vill skapa denna sida'
ChoosePageType: 'Välj sidtyp' ChoosePageType: 'Välj sidtyp'
Create: Skapa Create: Skapa
DELETE: 'Radera utkast' DELETE: 'Radera utkast'
DELETEFP: 'Radera från den publicerade sajten' DELETEFP: Radera
DESCREMOVED: 'och {count} ättlingar' DESCREMOVED: 'och {count} ättlingar'
EMAIL: E-post EMAIL: E-post
EditTree: 'Redigera trädet' EditTree: 'Redigera trädet'
@ -252,7 +252,7 @@ sv:
ReportAdminForm: ReportAdminForm:
FILTERBY: 'Filtrera på' FILTERBY: 'Filtrera på'
SearchForm: SearchForm:
GO: GO: Kör
SEARCH: Sök SEARCH: Sök
SearchResults: Sökresultat SearchResults: Sökresultat
SideReport: SideReport:
@ -260,7 +260,7 @@ sv:
BROKENLINKS: 'Sidor med trasiga länkar' BROKENLINKS: 'Sidor med trasiga länkar'
BROKENREDIRECTORPAGES: 'Omdirigeringssidor som pekar på raderade sidor' BROKENREDIRECTORPAGES: 'Omdirigeringssidor som pekar på raderade sidor'
BROKENVIRTUALPAGES: 'Virtuella sidor som pekar på raderade sidor' BROKENVIRTUALPAGES: 'Virtuella sidor som pekar på raderade sidor'
BrokenLinksGroupTitle: 'Rapport för brutna länkar' BrokenLinksGroupTitle: 'Rapport för trasiga länkar'
ContentGroupTitle: Innehållsrapport ContentGroupTitle: Innehållsrapport
EMPTYPAGES: 'Tomma sidor' EMPTYPAGES: 'Tomma sidor'
LAST2WEEKS: 'Sidor som har redigerats de senaste 2 veckorna' LAST2WEEKS: 'Sidor som har redigerats de senaste 2 veckorna'
@ -314,7 +314,7 @@ sv:
DELETEDPAGEHELP: 'Sidan är inte längre publicerad' DELETEDPAGEHELP: 'Sidan är inte längre publicerad'
DELETEDPAGESHORT: Raderad DELETEDPAGESHORT: Raderad
DEPENDENT_NOTE: 'Följande sidor berörs av den här sidan. Inklusive virtuella sidor, omdirigeringssidor, och sidor med innehållslänkar.' DEPENDENT_NOTE: 'Följande sidor berörs av den här sidan. Inklusive virtuella sidor, omdirigeringssidor, och sidor med innehållslänkar.'
DESCRIPTION: 'Allmän innehållssida' DESCRIPTION: 'Generisk innehållssida'
DependtPageColumnLinkType: Länktyp DependtPageColumnLinkType: Länktyp
DependtPageColumnURL: URL DependtPageColumnURL: URL
EDITANYONE: 'Alla som kan logga in' EDITANYONE: 'Alla som kan logga in'
@ -399,7 +399,7 @@ sv:
DisplayLabel: 'Visa:' DisplayLabel: 'Visa:'
ViewArchivedEmail.ss: ViewArchivedEmail.ss:
CANACCESS: 'Du kan komma åt den arkiverade sajten med denna länk:' CANACCESS: 'Du kan komma åt den arkiverade sajten med denna länk:'
HAVEASKED: 'Du har frågat efter att få se innehållet på vår sajt från' HAVEASKED: 'Du har efterfrågat att se innehållet på vår sajt på'
VirtualPage: VirtualPage:
CHOOSE: 'Välj en sida att länka till' CHOOSE: 'Välj en sida att länka till'
DESCRIPTION: 'Visar innehåll från en annan sida' DESCRIPTION: 'Visar innehåll från en annan sida'

View File

@ -72,7 +72,7 @@ uk:
CMSFileAddController: CMSFileAddController:
MENUTITLE: Файли MENUTITLE: Файли
CMSMain: CMSMain:
ACCESS: 'Access to ''{title}'' section' ACCESS: 'Доступ до секції ''{title}'' '
ACCESS_HELP: 'Дозволити перегляд розділу, що містить дерево сторінок і зміст. Дозволами на перегляд та редагування, а також окремими дозволами на контент, можна керувати на відповідних сторінках.' ACCESS_HELP: 'Дозволити перегляд розділу, що містить дерево сторінок і зміст. Дозволами на перегляд та редагування, а також окремими дозволами на контент, можна керувати на відповідних сторінках.'
AddNew: 'Додати нову сторінку' AddNew: 'Додати нову сторінку'
AddNewButton: 'Додати новий' AddNewButton: 'Додати новий'
@ -81,7 +81,7 @@ uk:
Create: Створити Create: Створити
DELETE: 'Видалити з чорнового сайту' DELETE: 'Видалити з чорнового сайту'
DELETEFP: Видалити DELETEFP: Видалити
DESCREMOVED: 'and {count} descendants' DESCREMOVED: 'і {count} нащадків'
EMAIL: 'Електронна пошта' EMAIL: 'Електронна пошта'
EditTree: 'Edit Tree' EditTree: 'Edit Tree'
ListFiltered: 'Filtered list.' ListFiltered: 'Filtered list.'
@ -97,12 +97,12 @@ uk:
PUBPAGES: 'Done: Published {count} pages' PUBPAGES: 'Done: Published {count} pages'
PageAdded: 'Сторінка успішно створена' PageAdded: 'Сторінка успішно створена'
REMOVED: 'Видалено ''%s''%s з публічного сайту' REMOVED: 'Видалено ''%s''%s з публічного сайту'
REMOVEDPAGE: 'Removed ''{title}'' from the published site' REMOVEDPAGE: '''{title}'' видалено з публічного сайту'
REMOVEDPAGEFROMDRAFT: 'Видалено ''%s'' з чорнового сайту' REMOVEDPAGEFROMDRAFT: 'Видалено ''%s'' з чорнового сайту'
RESTORE: Відновити RESTORE: Відновити
RESTORED: 'Restored ''{title}'' successfully' RESTORED: 'Restored ''{title}'' successfully'
ROLLBACK: 'Повернутися до цієї версії' ROLLBACK: 'Повернутися до цієї версії'
ROLLEDBACKPUB: 'Rolled back to published version. New version number is #{version}' ROLLEDBACKPUB: 'Повернено до опублікованої версії. Нова версія #{version}'
ROLLEDBACKVERSION: 'Повернено версію #%d. Нова версія - #%d' ROLLEDBACKVERSION: 'Повернено версію #%d. Нова версія - #%d'
SAVE: Зберегти SAVE: Зберегти
SAVEDRAFT: 'Зберегти в чорновий' SAVEDRAFT: 'Зберегти в чорновий'
@ -268,7 +268,7 @@ uk:
ParameterLiveCheckbox: 'Перевірити робочий сайт' ParameterLiveCheckbox: 'Перевірити робочий сайт'
REPEMPTY: 'The {title} report is empty.' REPEMPTY: 'The {title} report is empty.'
SilverStripeNavigatorLink: SilverStripeNavigatorLink:
ShareInstructions: 'To share a this to this page, copy and paste the link below.' ShareInstructions: 'Щоб поділитися цією сторінкою, скопіюйте та вставте посилання нижче.'
ShareLink: 'Поділитися посиланням' ShareLink: 'Поділитися посиланням'
SilverStripeNavigatorLinkl: SilverStripeNavigatorLinkl:
CloseLink: Закрити CloseLink: Закрити

View File

@ -98,23 +98,26 @@
background: url(../images/loading.gif) no-repeat 162px 8px; background: url(../images/loading.gif) no-repeat 162px 8px;
} }
.prefix,
.preview { .preview {
padding-top: 8px; padding-top: 8px;
display: inline-block; display: inline-block;
} }
.prefix { input.text {
color: #777; width: 250px; // ensure there's enough room for buttons
} }
.cancel, .update, .edit { input.text, .cancel, .update, .edit {
margin-left: 7px; margin-right: 8px;
} }
.help { .help {
margin-left: 0; margin-left: 0;
} }
.edit-holder {
display: none;
}
} }
#Form_EditForm #Title .update { #Form_EditForm #Title .update {

View File

@ -87,7 +87,7 @@ class RebuildStaticCacheTask extends Controller {
$count = isset($_GET['count']) ? $_GET['count'] : sizeof($urls); $count = isset($_GET['count']) ? $_GET['count'] : sizeof($urls);
if(($start + $count) > sizeof($urls)) $count = sizeof($urls) - $start; if(($start + $count) > sizeof($urls)) $count = sizeof($urls) - $start;
$urls = array_slice($urls, $start, $count); $mappedUrls = array_slice($mappedUrls, $start, $count);
if($removeAll && !isset($_GET['urls']) && $start == 0 && file_exists("../cache")) { if($removeAll && !isset($_GET['urls']) && $start == 0 && file_exists("../cache")) {
echo "Removing stale cache files... \n"; echo "Removing stale cache files... \n";

View File

@ -1,4 +1,18 @@
<span class="prefix">$URLPrefix</span><input $AttributesHTML /> <div class="preview-holder">
<% if HelpText %> <a class="preview" href="$URL" target="_blank">
<p class="help">$HelpText</p> $URL
<% end_if %> </a>
<button class="ss-ui-button ss-ui-button-small edit">
<% _t('URLSegmentField.Edit', 'Edit') %>
</button>
</div>
<div class="edit-holder">
<input $AttributesHTML />
<button class="update ss-ui-button-small">
<% _t('URLSegmentField.OK', 'OK') %>
</button>
<button class="cancel ss-ui-button-small ss-ui-action-minor">
<% _t('URLSegmentField.Cancel', 'Cancel') %>
</button>
<% if HelpText %><p class="help">$HelpText</p><% end_if %>
</div>

View File

@ -24,7 +24,10 @@ class ContentControllerPermissionsTest extends FunctionalTest {
$response = $this->get('/testpage/?stage=Stage'); $response = $this->get('/testpage/?stage=Stage');
// should redirect to login // should redirect to login
$this->assertEquals($response->getStatusCode(), 302, 'Redirects to login page when not logged in for draft stage'); $this->assertEquals($response->getStatusCode(), 302, 'Redirects to login page when not logged in for draft stage');
$this->assertContains('Security/login', $response->getHeader('Location')); $this->assertContains(
Config::inst()->get('Security', 'login_url'),
$response->getHeader('Location')
);
$this->logInWithPermission('CMS_ACCESS_CMSMain'); $this->logInWithPermission('CMS_ACCESS_CMSMain');

View File

@ -42,7 +42,10 @@ class SiteTreePermissionsTest extends FunctionalTest {
// should be prompted for a login // should be prompted for a login
$response = $this->get($page->URLSegment . '?stage=Stage'); $response = $this->get($page->URLSegment . '?stage=Stage');
$this->assertEquals($response->getStatusCode(), '302'); $this->assertEquals($response->getStatusCode(), '302');
$this->assertContains('Security/login', $response->getHeader('Location')); $this->assertContains(
Config::inst()->get('Security', 'login_url'),
$response->getHeader('Location')
);
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');

View File

@ -10,6 +10,8 @@ class FilesystemPublisherTest extends SapphireTest {
protected $usesDatabase = true; protected $usesDatabase = true;
protected $orig = array(); protected $orig = array();
static $fixture_file = 'cms/tests/staticpublisher/FilesystemPublisherTest.yml';
public function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
@ -156,5 +158,41 @@ class FilesystemPublisherTest extends SapphireTest {
} }
function testPublishPages() {
$cacheFolder = '/assets/FilesystemPublisherTest-static-folder/';
$cachePath = Director::baseFolder() . $cacheFolder;
$publisher = new FilesystemPublisher($cacheFolder, 'html');
$page1 = $this->objFromFixture('Page', 'page1');
$page1->publish('Stage', 'Live');
$redirector1 = $this->objFromFixture('RedirectorPage', 'redirector1');
$redirector1->publish('Stage', 'Live');
$results = $publisher->publishPages(array(
$page1->Link(),
$redirector1->regularLink(),
'/notfound'
));
$this->assertArrayHasKey($page1->Link(), $results);
$this->assertEquals(200, $results[$page1->Link()]['statuscode']);
$this->assertEquals(
realpath($results[$page1->Link()]['path']),
realpath($cachePath . './page1.html')
);
$this->assertArrayHasKey($redirector1->regularLink(), $results);
$this->assertEquals(301, $results[$redirector1->regularLink()]['statuscode']);
$this->assertEquals(Director::baseURL() . 'page1/', $results[$redirector1->regularLink()]['redirect']);
$this->assertEquals(
realpath($results[$redirector1->regularLink()]['path']),
realpath($cachePath . './redirect-to-page1.html')
);
$this->assertArrayHasKey('/notfound', $results);
$this->assertEquals(404, $results['/notfound']['statuscode']);
$this->assertNull($results['/notfound']['redirect']);
$this->assertNull($results['/notfound']['path']);
}
} }

View File

@ -0,0 +1,12 @@
Page:
page1:
URLSegment: page1
page1a:
URLSegment: page1a
Parent: =>Page.page1
page2:
URLSegment: page2
RedirectorPage:
redirector1:
URLSegment: redirect-to-page1
LinkTo: =>Page.page1

View File

@ -15,8 +15,8 @@ echo ""
# Fetch all dependencies # Fetch all dependencies
# TODO Replace with different composer.json variations # TODO Replace with different composer.json variations
echo "Checking out installer@$TRAVIS_BRANCH" echo "Checking out installer@3.1"
git clone --depth=100 --quiet -b $TRAVIS_BRANCH git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR git clone --depth=100 --quiet -b 3.1 git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR
echo "Checking out sqlite3@master" echo "Checking out sqlite3@master"
git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sqlite3.git $BUILD_DIR/sqlite3 git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sqlite3.git $BUILD_DIR/sqlite3
@ -24,8 +24,8 @@ git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sq
echo "Checking out postgresql@master" echo "Checking out postgresql@master"
git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-postgresql.git $BUILD_DIR/postgresql git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-postgresql.git $BUILD_DIR/postgresql
echo "Checking out sapphire@$TRAVIS_BRANCH" echo "Checking out sapphire@3.1"
git clone --depth=100 --quiet -b $TRAVIS_BRANCH git://github.com/silverstripe/sapphire.git $BUILD_DIR/framework git clone --depth=100 --quiet -b 3.1 git://github.com/silverstripe/sapphire.git $BUILD_DIR/framework
echo "Checking out reports@master" echo "Checking out reports@master"
git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-reports.git $BUILD_DIR/reports git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-reports.git $BUILD_DIR/reports