diff --git a/.travis.yml b/.travis.yml
index 41ff1c9d..5541d763 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,9 @@ language: php
php:
- 5.3
+addons:
+ firefox: "31.0"
+
env:
global:
- "ARTIFACTS_AWS_REGION=us-east-1"
diff --git a/code/controllers/AssetAdmin.php b/code/controllers/AssetAdmin.php
index b012be2f..ae0aca8d 100644
--- a/code/controllers/AssetAdmin.php
+++ b/code/controllers/AssetAdmin.php
@@ -142,11 +142,11 @@ JS
// Date filter
if(!empty($params['CreatedFrom'])) {
$fromDate = new DateField(null, null, $params['CreatedFrom']);
- $list = $list->filter("Created:GreaterThanOrEqual", $fromDate->dataValue());
+ $list = $list->filter("Created:GreaterThanOrEqual", $fromDate->dataValue().' 00:00:00');
}
if(!empty($params['CreatedTo'])) {
$toDate = new DateField(null, null, $params['CreatedTo']);
- $list = $list->filter("Created:LessThanOrEqual", $toDate->dataValue());
+ $list = $list->filter("Created:LessThanOrEqual", $toDate->dataValue().' 23:59:59');
}
return $list;
@@ -347,6 +347,11 @@ JS
return $this->redirect(Controller::join_links($this->Link('show'), $parentID ? $parentID : 0));
}
+ /**
+ * Get the search context
+ *
+ * @return SearchContext
+ */
public function getSearchContext() {
$context = singleton('File')->getDefaultSearchContext();
diff --git a/code/controllers/CMSFileAddController.php b/code/controllers/CMSFileAddController.php
index 67c629d2..d692b44a 100644
--- a/code/controllers/CMSFileAddController.php
+++ b/code/controllers/CMSFileAddController.php
@@ -108,6 +108,8 @@ class CMSFileAddController extends LeftAndMain {
);
$form->loadDataFrom($folder);
+ $this->extend('updateEditForm', $form);
+
return $form;
}
diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php
index 7b7cd9d3..ba00aaf2 100644
--- a/code/controllers/CMSMain.php
+++ b/code/controllers/CMSMain.php
@@ -697,35 +697,40 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return $this->renderWith($this->getTemplatesWithSuffix('_ListView'));
}
+ /**
+ * Safely reconstruct a selected filter from a given set of query parameters
+ *
+ * @param array $params Query parameters to use
+ * @return CMSSiteTreeFilter The filter class, or null if none present
+ * @throws InvalidArgumentException if invalid filter class is passed.
+ */
+ protected function getQueryFilter($params) {
+ if(empty($params['FilterClass'])) return null;
+ $filterClass = $params['FilterClass'];
+ if(!is_subclass_of($filterClass, 'CMSSiteTreeFilter')) {
+ throw new InvalidArgumentException("Invalid filter class passed: {$filterClass}");
+ }
+ return $filterClass::create($params);
+ }
+
/**
* Returns the pages meet a certain criteria as {@see CMSSiteTreeFilter} or the subpages of a parent page
* defaulting to no filter and show all pages in first level.
* Doubles as search results, if any search parameters are set through {@link SearchForm()}.
*
- * @param Array $params Search filter criteria
- * @param Int $parentID Optional parent node to filter on (can't be combined with other search criteria)
+ * @param array $params Search filter criteria
+ * @param int $parentID Optional parent node to filter on (can't be combined with other search criteria)
* @return SS_List
- * @throws Exception if invalid filter class is passed.
+ * @throws InvalidArgumentException if invalid filter class is passed.
*/
- public function getList($params, $parentID = 0) {
- $list = new DataList($this->stat('tree_class'));
- $filter = null;
- $ids = array();
- if(isset($params['FilterClass']) && $filterClass = $params['FilterClass']){
- if(!is_subclass_of($filterClass, 'CMSSiteTreeFilter')) {
- throw new Exception(sprintf('Invalid filter class passed: %s', $filterClass));
- }
- $filter = new $filterClass($params);
- $filterOn = true;
- foreach($pages=$filter->pagesIncluded() as $pageMap){
- $ids[] = $pageMap['ID'];
- }
- if(count($ids)) $list = $list->where('"'.$this->stat('tree_class').'"."ID" IN ('.implode(",", $ids).')');
+ public function getList($params = array(), $parentID = 0) {
+ if($filter = $this->getQueryFilter($params)) {
+ return $filter->getFilteredPages();
} else {
- $list = $list->filter("ParentID", is_numeric($parentID) ? $parentID : 0);
+ $list = DataList::create($this->stat('tree_class'));
+ $parentID = is_numeric($parentID) ? $parentID : 0;
+ return $list->filter("ParentID", $parentID);
}
-
- return $list;
}
public function ListViewForm() {
diff --git a/code/controllers/CMSSiteTreeFilter.php b/code/controllers/CMSSiteTreeFilter.php
index 47a09024..583e6730 100644
--- a/code/controllers/CMSSiteTreeFilter.php
+++ b/code/controllers/CMSSiteTreeFilter.php
@@ -35,7 +35,12 @@ abstract class CMSSiteTreeFilter extends Object {
* @var String
*/
protected $childrenMethod = null;
-
+
+ /**
+ * @var string
+ */
+ protected $numChildrenMethod = 'numChildren';
+
/**
* Returns a sorted array of all implementators of CMSSiteTreeFilter, suitable for use in a dropdown.
*
@@ -71,17 +76,35 @@ abstract class CMSSiteTreeFilter extends Object {
}
/**
- * @return String Method on {@link Hierarchy} objects
- * which is used to traverse into children relationships.
+ * Method on {@link Hierarchy} objects which is used to traverse into children relationships.
+ *
+ * @return String
*/
public function getChildrenMethod() {
return $this->childrenMethod;
}
-
+
/**
- * @return Array Map of Page IDs to their respective ParentID values.
+ * Method on {@link Hierarchy} objects which is used find the number of children for a parent page
*/
- public function pagesIncluded() {}
+ public function getNumChildrenMethod() {
+ return $this->numChildrenMethod;
+ }
+
+ /**
+ * Gets the list of filtered pages
+ *
+ * @see {@link SiteTree::getStatusFlags()}
+ * @return SS_List
+ */
+ abstract public function getFilteredPages();
+
+ /**
+ * @return array Map of Page IDs to their respective ParentID values.
+ */
+ public function pagesIncluded() {
+ return $this->mapIDs($this->getFilteredPages());
+ }
/**
* Populate the IDs of the pages returned by pagesIncluded(), also including
@@ -101,17 +124,13 @@ abstract class CMSSiteTreeFilter extends Object {
}
while(!empty($parents)) {
- $q = new SQLSelect();
- $q->setSelect(array('"ID"','"ParentID"'))
- ->setFrom('"SiteTree"')
- ->setWhere('"ID" in ('.implode(',',array_keys($parents)).')');
-
+ $q = Versioned::get_including_deleted('SiteTree', '"RecordID" in ('.implode(',',array_keys($parents)).')');
+ $list = $q->map('ID', 'ParentID');
$parents = array();
-
- foreach($q->execute() as $row) {
- if ($row['ParentID']) $parents[$row['ParentID']] = true;
- $this->_cache_ids[$row['ID']] = true;
- $this->_cache_expanded[$row['ID']] = true;
+ foreach($list as $id => $parentID) {
+ if ($parentID) $parents[$parentID] = true;
+ $this->_cache_ids[$id] = true;
+ $this->_cache_expanded[$id] = true;
}
}
}
@@ -153,12 +172,12 @@ abstract class CMSSiteTreeFilter extends Object {
case 'LastEditedFrom':
$fromDate = new DateField(null, null, $val);
- $query = $query->filter("LastEdited:GreaterThanOrEqual", $fromDate->dataValue());
+ $query = $query->filter("LastEdited:GreaterThanOrEqual", $fromDate->dataValue().' 00:00:00');
break;
case 'LastEditedTo':
$toDate = new DateField(null, null, $val);
- $query = $query->filter("LastEdited:LessThanOrEqual", $toDate->dataValue());
+ $query = $query->filter("LastEdited:LessThanOrEqual", $toDate->dataValue().' 23:59:59');
break;
case 'ClassName':
@@ -193,6 +212,47 @@ abstract class CMSSiteTreeFilter extends Object {
}
}
+/**
+ * This filter will display the SiteTree as a site visitor might see the site, i.e only the
+ * pages that is currently published.
+ *
+ * Note that this does not check canView permissions that might hide pages from certain visitors
+ */
+class CMSSIteTreeFilter_PublishedPages extends CMSSiteTreeFilter {
+
+ /**
+ * @return string
+ */
+ static public function title() {
+ return _t('CMSSIteTreeFilter_PublishedPages.Title', "Published pages");
+ }
+
+ /**
+ * @var string
+ */
+ protected $childrenMethod = "AllHistoricalChildren";
+
+ /**
+ * @var string
+ */
+ protected $numChildrenMethod = 'numHistoricalChildren';
+
+ /**
+ * Filters out all pages who's status who's status that doesn't exist on live
+ *
+ * @see {@link SiteTree::getStatusFlags()}
+ * @return SS_List
+ */
+ public function getFilteredPages() {
+ $pages = Versioned::get_including_deleted('SiteTree');
+ $pages = $this->applyDefaultFilters($pages);
+ $pages = $pages->filterByCallback(function($page) {
+ return $page->ExistsOnLive;
+ });
+ return $pages;
+ }
+}
+
/**
* Works a bit different than the other filters:
* Shows all pages *including* those deleted from stage and live.
@@ -202,17 +262,25 @@ abstract class CMSSiteTreeFilter extends Object {
* @subpackage content
*/
class CMSSiteTreeFilter_DeletedPages extends CMSSiteTreeFilter {
-
+
+ /**
+ * @var string
+ */
protected $childrenMethod = "AllHistoricalChildren";
+
+ /**
+ * @var string
+ */
+ protected $numChildrenMethod = 'numHistoricalChildren';
static public function title() {
return _t('CMSSiteTreeFilter_DeletedPages.Title', "All pages, including deleted");
}
- public function pagesIncluded() {
+ public function getFilteredPages() {
$pages = Versioned::get_including_deleted('SiteTree');
$pages = $this->applyDefaultFilters($pages);
- return $this->mapIDs($pages);
+ return $pages;
}
}
@@ -228,12 +296,12 @@ class CMSSiteTreeFilter_ChangedPages extends CMSSiteTreeFilter {
return _t('CMSSiteTreeFilter_ChangedPages.Title', "Changed pages");
}
- public function pagesIncluded() {
+ public function getFilteredPages() {
$pages = Versioned::get_by_stage('SiteTree', 'Stage');
$pages = $this->applyDefaultFilters($pages)
->leftJoin('SiteTree_Live', '"SiteTree_Live"."ID" = "SiteTree"."ID"')
- ->where('"SiteTree"."Version" > "SiteTree_Live"."Version"');
- return $this->mapIDs($pages);
+ ->where('"SiteTree"."Version" <> "SiteTree_Live"."Version"');
+ return $pages;
}
}
@@ -252,17 +320,16 @@ class CMSSiteTreeFilter_StatusRemovedFromDraftPages extends CMSSiteTreeFilter {
/**
* Filters out all pages who's status is set to "Removed from draft".
*
- * @see {@link SiteTree::getStatusFlags()}
- * @return array
+ * @return SS_List
*/
- public function pagesIncluded() {
+ public function getFilteredPages() {
$pages = Versioned::get_including_deleted('SiteTree');
$pages = $this->applyDefaultFilters($pages);
$pages = $pages->filterByCallback(function($page) {
// If page is removed from stage but not live
return $page->IsDeletedFromStage && $page->ExistsOnLive;
});
- return $this->mapIDs($pages);
+ return $pages;
}
}
@@ -282,16 +349,16 @@ class CMSSiteTreeFilter_StatusDraftPages extends CMSSiteTreeFilter {
* Filters out all pages who's status is set to "Draft".
*
* @see {@link SiteTree::getStatusFlags()}
- * @return array
+ * @return SS_List
*/
- public function pagesIncluded() {
+ public function getFilteredPages() {
$pages = Versioned::get_by_stage('SiteTree', 'Stage');
$pages = $this->applyDefaultFilters($pages);
$pages = $pages->filterByCallback(function($page) {
// If page exists on stage but not on live
return (!$page->IsDeletedFromStage && $page->IsAddedToStage);
});
- return $this->mapIDs($pages);
+ return $pages;
}
}
@@ -302,8 +369,16 @@ class CMSSiteTreeFilter_StatusDraftPages extends CMSSiteTreeFilter {
* @subpackage content
*/
class CMSSiteTreeFilter_StatusDeletedPages extends CMSSiteTreeFilter {
-
- protected $childrenMethod = "AllHistoricalChildren";
+
+ /**
+ * @var string
+ */
+ protected $childrenMethod = "AllHistoricalChildren";
+
+ /**
+ * @var string
+ */
+ protected $numChildrenMethod = 'numHistoricalChildren';
static public function title() {
return _t('CMSSiteTreeFilter_StatusDeletedPages.Title', 'Deleted pages');
@@ -313,16 +388,17 @@ class CMSSiteTreeFilter_StatusDeletedPages extends CMSSiteTreeFilter {
* Filters out all pages who's status is set to "Deleted".
*
* @see {@link SiteTree::getStatusFlags()}
- * @return array
+ * @return SS_List
*/
- public function pagesIncluded() {
+ public function getFilteredPages() {
$pages = Versioned::get_including_deleted('SiteTree');
$pages = $this->applyDefaultFilters($pages);
+
$pages = $pages->filterByCallback(function($page) {
// Doesn't exist on either stage or live
return $page->IsDeletedFromStage && !$page->ExistsOnLive;
});
- return $this->mapIDs($pages);
+ return $pages;
}
}
@@ -340,13 +416,12 @@ class CMSSiteTreeFilter_Search extends CMSSiteTreeFilter {
* Retun an array of maps containing the keys, 'ID' and 'ParentID' for each page to be displayed
* in the search.
*
- * @return Array
+ * @return SS_List
*/
- public function pagesIncluded() {
-
+ public function getFilteredPages() {
// Filter default records
$pages = Versioned::get_by_stage('SiteTree', 'Stage');
$pages = $this->applyDefaultFilters($pages);
- return $this->mapIDs($pages);
+ return $pages;
}
}
diff --git a/code/controllers/ContentController.php b/code/controllers/ContentController.php
index 073e13eb..40e0ba49 100755
--- a/code/controllers/ContentController.php
+++ b/code/controllers/ContentController.php
@@ -193,8 +193,18 @@ class ContentController extends Controller {
}
Director::set_current_page($this->data());
- $response = parent::handleRequest($request, $model);
- Director::set_current_page(null);
+
+ try {
+ $response = parent::handleRequest($request, $model);
+
+ Director::set_current_page(null);
+ } catch(SS_HTTPResponse_Exception $e) {
+ $this->popCurrent();
+
+ Director::set_current_page(null);
+
+ throw $e;
+ }
}
return $response;
diff --git a/code/model/SiteTree.php b/code/model/SiteTree.php
index 4a92f277..3856c5ef 100755
--- a/code/model/SiteTree.php
+++ b/code/model/SiteTree.php
@@ -1596,7 +1596,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
parent::onBeforeDelete();
// If deleting this page, delete all its children.
- if(SiteTree::config()->enforce_strict_hierarchy && $children = $this->Children()) {
+ if(SiteTree::config()->enforce_strict_hierarchy && $children = $this->AllChildren()) {
foreach($children as $child) {
$child->delete();
}
@@ -2784,13 +2784,14 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
return isset($stack[$level-1]) ? $stack[$level-1] : null;
}
-
+
/**
* Return the CSS classes to apply to this node in the CMS tree
*
+ * @param string $numChildrenMethod
* @return string
*/
- public function CMSTreeClasses() {
+ public function CMSTreeClasses($numChildrenMethod="numChildren") {
$classes = sprintf('class-%s', $this->class);
if($this->HasBrokenFile || $this->HasBrokenLink) {
$classes .= " BrokenLink";
@@ -2817,7 +2818,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
if($this->hasExtension('Translatable') && $controller->Locale != Translatable::default_locale() && !$this->isTranslation())
$classes .= " untranslated ";
*/
- $classes .= $this->markingClasses();
+ $classes .= $this->markingClasses($numChildrenMethod);
return $classes;
}
diff --git a/code/model/VirtualPage.php b/code/model/VirtualPage.php
index e20ce23d..8f794b8e 100644
--- a/code/model/VirtualPage.php
+++ b/code/model/VirtualPage.php
@@ -395,8 +395,12 @@ class VirtualPage extends Page {
$this->ImageTracking()->setByIdList($this->CopyContentFrom()->ImageTracking()->column('ID'));
}
- public function CMSTreeClasses() {
- return parent::CMSTreeClasses() . ' VirtualPage-' . $this->CopyContentFrom()->ClassName;
+ /**
+ * @param string $numChildrenMethod
+ * @return string
+ */
+ public function CMSTreeClasses($numChildrenMethod="numChildren") {
+ return parent::CMSTreeClasses($numChildrenMethod) . ' VirtualPage-' . $this->CopyContentFrom()->ClassName;
}
/**
diff --git a/javascript/lang/el.js b/javascript/lang/el.js
new file mode 100644
index 00000000..e027f427
--- /dev/null
+++ b/javascript/lang/el.js
@@ -0,0 +1,45 @@
+// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/el.js.
+// See https://github.com/silverstripe/silverstripe-buildtools for details
+if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
+ if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
+} else {
+ ss.i18n.addDictionary('el', {
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "You have to save a page before adding children underneath it",
+ "CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
+ "CMSMAIN.ERRORADDINGPAGE": "Error adding page",
+ "CMSMAIN.FILTEREDTREE": "Filtered tree to only show changed pages",
+ "CMSMAIN.ERRORFILTERPAGES": "Could not filter tree to only show changed pages
%s",
+ "CMSMAIN.ERRORUNFILTER": "Unfiltered tree",
+ "CMSMAIN.PUBLISHINGPAGES": "Publishing pages...",
+ "CMSMAIN.SELECTONEPAGE": "Please select at least 1 page.",
+ "CMSMAIN.ERRORPUBLISHING": "Error publishing pages",
+ "CMSMAIN.REALLYDELETEPAGES": "Do you really want to delete the %s marked pages?",
+ "CMSMAIN.DELETINGPAGES": "Deleting pages...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Error deleting pages",
+ "CMSMAIN.PUBLISHING": "Publishing...",
+ "CMSMAIN.RESTORING": "Restoring...",
+ "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.SAVING": "saving...",
+ "CMSMAIN.SELECTMOREPAGES": "You have %s pages selected.\n\nDo you really want to perform this action?",
+ "CMSMAIN.ALERTCLASSNAME": "The page type will be updated after the page is saved",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URLs can only be made up of letters, digits and hyphens.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s folders?",
+ "AssetTableField.REALLYDELETE": "Do you really want to delete the marked files?",
+ "AssetTableField.MOVING": "Moving %s file(s)",
+ "CMSMAIN.AddSearchCriteria": "Add Criteria",
+ "WidgetAreaEditor.TOOMANY": "Sorry, you have reached the maximum number of widgets in this area",
+ "AssetAdmin.ConfirmDelete": "Do you really want to delete this folder and all contained files?",
+ "Folder.Name": "Folder name",
+ "Tree.AddSubPage": "Προσθήκη νέας σελίδας εδώ",
+ "Tree.Duplicate": "Duplicate",
+ "Tree.EditPage": "Edit",
+ "Tree.ThisPageOnly": "Μόνο αυτή η σελίδα",
+ "Tree.ThisPageAndSubpages": "This page and subpages",
+ "Tree.ShowAsList": "Show children as list",
+ "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": "Επεξεργασία",
+ "URLSEGMENT.OK": "OK",
+ "URLSEGMENT.Cancel": "Άκυρο"
+});
+}
\ No newline at end of file
diff --git a/javascript/lang/eo.js b/javascript/lang/eo.js
new file mode 100644
index 00000000..bbaf85a8
--- /dev/null
+++ b/javascript/lang/eo.js
@@ -0,0 +1,45 @@
+// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/eo.js.
+// See https://github.com/silverstripe/silverstripe-buildtools for details
+if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
+ if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
+} else {
+ ss.i18n.addDictionary('eo', {
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Necesas konservi paĝon antaŭ ol enmeti idojn sub ĝi",
+ "CMSMAIN.CANTADDCHILDREN": "Vi ne povas aldoni idojn al la elektita nodo",
+ "CMSMAIN.ERRORADDINGPAGE": "Eraro okazis enmetante paĝon",
+ "CMSMAIN.FILTEREDTREE": "Filtrita arbo vidigu nur ŝanĝitajn paĝojn",
+ "CMSMAIN.ERRORFILTERPAGES": "Ne eblis filtri la arbon por vidigi nur ŝanĝitajn paĝojn
%s",
+ "CMSMAIN.ERRORUNFILTER": "Nefiltrita arbo",
+ "CMSMAIN.PUBLISHINGPAGES": "Publikigas paĝojn...",
+ "CMSMAIN.SELECTONEPAGE": "Bonvole elektu almenaŭ 1 paĝon.",
+ "CMSMAIN.ERRORPUBLISHING": "Eraro okazis publikigante paĝojn",
+ "CMSMAIN.REALLYDELETEPAGES": "Ĉu vi vere volas forigi la %s markitajn paĝojn?",
+ "CMSMAIN.DELETINGPAGES": "Forigas paĝojn...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Eraro okazis forigante paĝojn",
+ "CMSMAIN.PUBLISHING": "Publikigas...",
+ "CMSMAIN.RESTORING": "Restaŭras...",
+ "CMSMAIN.ERRORREVERTING": "Okazis eraro anstataŭigante per publika enhavo",
+ "CMSMAIN.SAVING": "konservas...",
+ "CMSMAIN.SELECTMOREPAGES": "Vi elektis %s paĝojn.\n\nĈu vi vere volas fari tiun agon?",
+ "CMSMAIN.ALERTCLASSNAME": "La paĝotipo aktualiĝos kiam la paĝo estas konservita",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URL konsistu el literoj, ciferoj kaj streketoj.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Ĉi vi vere volas forigi %s dosierujojn?",
+ "AssetTableField.REALLYDELETE": "Ĉu vi vere volas forigi la markitajn dosierojn?",
+ "AssetTableField.MOVING": "Movas %s dosiero(j)n",
+ "CMSMAIN.AddSearchCriteria": "Aldoni kriteriojn",
+ "WidgetAreaEditor.TOOMANY": "Bedaŭrinde vi atingis la maksimuman nombron da fenestraĵoj por la zono",
+ "AssetAdmin.ConfirmDelete": "Ĉu vi vere volas forigi ĉi tiun dosierujon kaj ĉiujn dosierojn en ĝi?",
+ "Folder.Name": "Nomo de dosierujo",
+ "Tree.AddSubPage": "Aldoni novan paĝon ĉi tie",
+ "Tree.Duplicate": "Duobligi",
+ "Tree.EditPage": "Redakti",
+ "Tree.ThisPageOnly": "Nur ĉi tiu paĝo",
+ "Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
+ "Tree.ShowAsList": "Vidigi idojn kiel liston",
+ "CMSMain.ConfirmRestoreFromLive": "Ĉu vi vere volas kopii la publikigitan enhavon al la malneta retejo?",
+ "CMSMain.RollbackToVersion": "Cu vi vere volas malfare restaŭri al versio #%s de ĉi tiu paĝo?",
+ "URLSEGMENT.Edit": "Redakti",
+ "URLSEGMENT.OK": "Akcepti",
+ "URLSEGMENT.Cancel": "Rezigni"
+});
+}
\ No newline at end of file
diff --git a/javascript/lang/is.js b/javascript/lang/is.js
new file mode 100644
index 00000000..ff772937
--- /dev/null
+++ b/javascript/lang/is.js
@@ -0,0 +1,45 @@
+// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/is.js.
+// See https://github.com/silverstripe/silverstripe-buildtools for details
+if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
+ if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
+} else {
+ ss.i18n.addDictionary('is', {
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Þú verður að vista síðuna áður bætt er við einhverju undir hana",
+ "CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
+ "CMSMAIN.ERRORADDINGPAGE": "Vandamál kom upp við að bæta við síðu",
+ "CMSMAIN.FILTEREDTREE": "Filterað tré til að sýna aðeins breyttar síður",
+ "CMSMAIN.ERRORFILTERPAGES": "Gat ekki flokkað tréið til að sýna aðeins breyttar síður
%s° ",
+ "CMSMAIN.ERRORUNFILTER": "Óflokkað tré",
+ "CMSMAIN.PUBLISHINGPAGES": "Birti síður...",
+ "CMSMAIN.SELECTONEPAGE": "Please select at least 1 page.",
+ "CMSMAIN.ERRORPUBLISHING": "Villa kom við birtingu síðu",
+ "CMSMAIN.REALLYDELETEPAGES": "Ertu viss um að þú viljir eyða %s merktum síðum?",
+ "CMSMAIN.DELETINGPAGES": "Eyði síðum...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Vandamál kom upp við eyðingu síðna",
+ "CMSMAIN.PUBLISHING": "Birti...",
+ "CMSMAIN.RESTORING": "Endurvek...",
+ "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.SAVING": "vista...",
+ "CMSMAIN.SELECTMOREPAGES": "Þú hefur valið %s síður.\n\nErtu viss um að þú viljir halda áfram?",
+ "CMSMAIN.ALERTCLASSNAME": "Tegund siðu verður uppfært eftir vistun síðu",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URLs can only be made up of letters, digits and hyphens.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Ertu viss um að þú viljir eyða %s möppunni?",
+ "AssetTableField.REALLYDELETE": "Ertu viss um að þú viljir eyða merktum skrám?",
+ "AssetTableField.MOVING": "Færi %s skrá(r)",
+ "CMSMAIN.AddSearchCriteria": "Add Criteria",
+ "WidgetAreaEditor.TOOMANY": "Sorry, you have reached the maximum number of widgets in this area",
+ "AssetAdmin.ConfirmDelete": "Ertu viss um að þú viljir eyða þessari möppu og skrám sem tilheyra henni",
+ "Folder.Name": "Nafn möppu",
+ "Tree.AddSubPage": "Bæta við nýrri síðu hér",
+ "Tree.Duplicate": "Fjölfalda",
+ "Tree.EditPage": "Breyta",
+ "Tree.ThisPageOnly": "Aðeins þessi síða",
+ "Tree.ThisPageAndSubpages": "Þessi síða og undirsíður",
+ "Tree.ShowAsList": "Show children as list",
+ "CMSMain.ConfirmRestoreFromLive": "Ertu viss um að þú viljir afrita birt efni yfir á drög?",
+ "CMSMain.RollbackToVersion": "Do you really want to roll back to version #%s of this page?",
+ "URLSEGMENT.Edit": "Breyta",
+ "URLSEGMENT.OK": "Allt í lagi",
+ "URLSEGMENT.Cancel": "Hætta við"
+});
+}
\ No newline at end of file
diff --git a/javascript/lang/nl.js b/javascript/lang/nl.js
index 4e763c50..20f0ad2b 100644
--- a/javascript/lang/nl.js
+++ b/javascript/lang/nl.js
@@ -4,40 +4,40 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('nl', {
- "CMSMAIN.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
%s te tonen.",
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "U moet de pagina opslaan voordat u onderliggende pagina's kan toevoegen",
+ "CMSMAIN.CANTADDCHILDREN": "U kan geen kinderen toevoegen aan de geselecteerde knoop",
+ "CMSMAIN.ERRORADDINGPAGE": "Fout bij toevoegen van de pagina",
+ "CMSMAIN.FILTEREDTREE": "Gefilterd om alleen aangepaste pagina's te tonen",
+ "CMSMAIN.ERRORFILTERPAGES": "Kon de paginastructuur niet filteren om alleen aangepaste pagina's te tonen.
%s",
"CMSMAIN.ERRORUNFILTER": "Ongefilterde structuur",
- "CMSMAIN.PUBLISHINGPAGES": "Paginas aan het publiceren...",
+ "CMSMAIN.PUBLISHINGPAGES": "Pagina's 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.ERRORPUBLISHING": "Fout bij het publiceren van de pagina's",
+ "CMSMAIN.REALLYDELETEPAGES": "Wilt u echt de %s geselecteerde pagina's verwijderen?",
+ "CMSMAIN.DELETINGPAGES": "Pagina's verwijderen...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Fout bij verwijderen van de pagina's",
"CMSMAIN.PUBLISHING": "Publiceren...",
"CMSMAIN.RESTORING": "Herstellen...",
- "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.ERRORREVERTING": "Fout bij het terugdraaien naar de gepubliceerde pagina",
"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.SELECTMOREPAGES": "U hebt pagina(s) %s geselecteerd. \n\nWilt u deze actie uitvoeren?",
+ "CMSMAIN.ALERTCLASSNAME": "Het paginatype wordt aangepast na het 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?",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Wil je echt %s mappen verwijderen?",
+ "AssetTableField.REALLYDELETE": "Wilt u 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??",
+ "WidgetAreaEditor.TOOMANY": "Sorry, u hebt de maximaal aantal widgets bereikt in dit gebied",
+ "AssetAdmin.ConfirmDelete": "Wilt u deze map verwijderen, en alle bestanden er in?",
"Folder.Name": "Mapnaam",
"Tree.AddSubPage": "Voeg nieuwe pagina toe",
"Tree.Duplicate": "Dupliceren",
"Tree.EditPage": "Aanpassen",
"Tree.ThisPageOnly": "Enkel deze pagina",
"Tree.ThisPageAndSubpages": "Deze pagina en subpagina's",
- "Tree.ShowAsList": "Toon kinderen als lijst",
- "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?",
+ "Tree.ShowAsList": "Toon onderliggende pagina's als lijst",
+ "CMSMain.ConfirmRestoreFromLive": "Wil je echt de gepubliceerde inhoud kopiëren naar de concept site?",
+ "CMSMain.RollbackToVersion": "Wil je echt terugdraaien naar versie #%s van deze pagina?",
"URLSEGMENT.Edit": "Aanpassen",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annuleren"
diff --git a/javascript/lang/sl.js b/javascript/lang/sl.js
new file mode 100644
index 00000000..eb5927be
--- /dev/null
+++ b/javascript/lang/sl.js
@@ -0,0 +1,45 @@
+// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/sl.js.
+// See https://github.com/silverstripe/silverstripe-buildtools for details
+if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
+ if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
+} else {
+ ss.i18n.addDictionary('sl', {
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Stran je potrebno shraniti pred dodajanjem otrok",
+ "CMSMAIN.CANTADDCHILDREN": "Vozlišču ne morete dodati otrok",
+ "CMSMAIN.ERRORADDINGPAGE": "Napaka pri dodajanju strani",
+ "CMSMAIN.FILTEREDTREE": "Pokaži samo spremenjene strani",
+ "CMSMAIN.ERRORFILTERPAGES": "Neuspešno filtriranje zgolj spremenljenih strani
%s",
+ "CMSMAIN.ERRORUNFILTER": "Nefiltrirano drevo",
+ "CMSMAIN.PUBLISHINGPAGES": "Objavljanje strani ...",
+ "CMSMAIN.SELECTONEPAGE": "Izberite vsaj 1 stran",
+ "CMSMAIN.ERRORPUBLISHING": "Napaka pri objavljanju strani",
+ "CMSMAIN.REALLYDELETEPAGES": "Izbriši %s označenih strani?",
+ "CMSMAIN.DELETINGPAGES": "Brisanje strani ...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Napaka pri brisanju strani",
+ "CMSMAIN.PUBLISHING": "Objavljanje ...",
+ "CMSMAIN.RESTORING": "Obnavljanje ...",
+ "CMSMAIN.ERRORREVERTING": "Napaka pri povrnitvi na živo vsebino",
+ "CMSMAIN.SAVING": "shranjevanje ...",
+ "CMSMAIN.SELECTMOREPAGES": "Izbranih je %s strani.\n\nIzvedem izbrano akcijo?",
+ "CMSMAIN.ALERTCLASSNAME": "Tipska stran bo posodobljena po shranjevanju strani",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URL-ji lahko vsebujejo le alfanumerične znake in pomišljaje.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Izbrišem %s map?",
+ "AssetTableField.REALLYDELETE": "Izbrišem označene datoteke?",
+ "AssetTableField.MOVING": "Premikam %s stran(i)",
+ "CMSMAIN.AddSearchCriteria": "Dodaj kriterij",
+ "WidgetAreaEditor.TOOMANY": "Ups, dosegli ste največje možno število gradnikov na tem področju",
+ "AssetAdmin.ConfirmDelete": "Izbrišem mapo in vsebovane datoteke?",
+ "Folder.Name": "Ime mape",
+ "Tree.AddSubPage": "Dodaj novo stran tukaj",
+ "Tree.Duplicate": "Podvoji",
+ "Tree.EditPage": "Uredi",
+ "Tree.ThisPageOnly": "Samo to stran",
+ "Tree.ThisPageAndSubpages": "To stran in podstrani",
+ "Tree.ShowAsList": "Prikaži otroke kot seznam",
+ "CMSMain.ConfirmRestoreFromLive": "Kopiram objavljeno vsebino na osnutek strani?",
+ "CMSMain.RollbackToVersion": "Obnovim na verzijo #%s te strani?",
+ "URLSEGMENT.Edit": "Uredi",
+ "URLSEGMENT.OK": "OK",
+ "URLSEGMENT.Cancel": "Prekliči"
+});
+}
\ No newline at end of file
diff --git a/javascript/lang/src/el.js b/javascript/lang/src/el.js
new file mode 100644
index 00000000..3facc175
--- /dev/null
+++ b/javascript/lang/src/el.js
@@ -0,0 +1,39 @@
+{
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "You have to save a page before adding children underneath it",
+ "CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
+ "CMSMAIN.ERRORADDINGPAGE": "Error adding page",
+ "CMSMAIN.FILTEREDTREE": "Filtered tree to only show changed pages",
+ "CMSMAIN.ERRORFILTERPAGES": "Could not filter tree to only show changed pages
%s",
+ "CMSMAIN.ERRORUNFILTER": "Unfiltered tree",
+ "CMSMAIN.PUBLISHINGPAGES": "Publishing pages...",
+ "CMSMAIN.SELECTONEPAGE": "Please select at least 1 page.",
+ "CMSMAIN.ERRORPUBLISHING": "Error publishing pages",
+ "CMSMAIN.REALLYDELETEPAGES": "Do you really want to delete the %s marked pages?",
+ "CMSMAIN.DELETINGPAGES": "Deleting pages...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Error deleting pages",
+ "CMSMAIN.PUBLISHING": "Publishing...",
+ "CMSMAIN.RESTORING": "Restoring...",
+ "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.SAVING": "saving...",
+ "CMSMAIN.SELECTMOREPAGES": "You have %s pages selected.\n\nDo you really want to perform this action?",
+ "CMSMAIN.ALERTCLASSNAME": "The page type will be updated after the page is saved",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URLs can only be made up of letters, digits and hyphens.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s folders?",
+ "AssetTableField.REALLYDELETE": "Do you really want to delete the marked files?",
+ "AssetTableField.MOVING": "Moving %s file(s)",
+ "CMSMAIN.AddSearchCriteria": "Add Criteria",
+ "WidgetAreaEditor.TOOMANY": "Sorry, you have reached the maximum number of widgets in this area",
+ "AssetAdmin.ConfirmDelete": "Do you really want to delete this folder and all contained files?",
+ "Folder.Name": "Folder name",
+ "Tree.AddSubPage": "Προσθήκη νέας σελίδας εδώ",
+ "Tree.Duplicate": "Duplicate",
+ "Tree.EditPage": "Edit",
+ "Tree.ThisPageOnly": "Μόνο αυτή η σελίδα",
+ "Tree.ThisPageAndSubpages": "This page and subpages",
+ "Tree.ShowAsList": "Show children as list",
+ "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": "Επεξεργασία",
+ "URLSEGMENT.OK": "OK",
+ "URLSEGMENT.Cancel": "Άκυρο"
+}
\ No newline at end of file
diff --git a/javascript/lang/src/eo.js b/javascript/lang/src/eo.js
new file mode 100644
index 00000000..3aec6f4e
--- /dev/null
+++ b/javascript/lang/src/eo.js
@@ -0,0 +1,39 @@
+{
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Necesas konservi paĝon antaŭ ol enmeti idojn sub ĝi",
+ "CMSMAIN.CANTADDCHILDREN": "Vi ne povas aldoni idojn al la elektita nodo",
+ "CMSMAIN.ERRORADDINGPAGE": "Eraro okazis enmetante paĝon",
+ "CMSMAIN.FILTEREDTREE": "Filtrita arbo vidigu nur ŝanĝitajn paĝojn",
+ "CMSMAIN.ERRORFILTERPAGES": "Ne eblis filtri la arbon por vidigi nur ŝanĝitajn paĝojn
%s",
+ "CMSMAIN.ERRORUNFILTER": "Nefiltrita arbo",
+ "CMSMAIN.PUBLISHINGPAGES": "Publikigas paĝojn...",
+ "CMSMAIN.SELECTONEPAGE": "Bonvole elektu almenaŭ 1 paĝon.",
+ "CMSMAIN.ERRORPUBLISHING": "Eraro okazis publikigante paĝojn",
+ "CMSMAIN.REALLYDELETEPAGES": "Ĉu vi vere volas forigi la %s markitajn paĝojn?",
+ "CMSMAIN.DELETINGPAGES": "Forigas paĝojn...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Eraro okazis forigante paĝojn",
+ "CMSMAIN.PUBLISHING": "Publikigas...",
+ "CMSMAIN.RESTORING": "Restaŭras...",
+ "CMSMAIN.ERRORREVERTING": "Okazis eraro anstataŭigante per publika enhavo",
+ "CMSMAIN.SAVING": "konservas...",
+ "CMSMAIN.SELECTMOREPAGES": "Vi elektis %s paĝojn.\n\nĈu vi vere volas fari tiun agon?",
+ "CMSMAIN.ALERTCLASSNAME": "La paĝotipo aktualiĝos kiam la paĝo estas konservita",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URL konsistu el literoj, ciferoj kaj streketoj.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Ĉi vi vere volas forigi %s dosierujojn?",
+ "AssetTableField.REALLYDELETE": "Ĉu vi vere volas forigi la markitajn dosierojn?",
+ "AssetTableField.MOVING": "Movas %s dosiero(j)n",
+ "CMSMAIN.AddSearchCriteria": "Aldoni kriteriojn",
+ "WidgetAreaEditor.TOOMANY": "Bedaŭrinde vi atingis la maksimuman nombron da fenestraĵoj por la zono",
+ "AssetAdmin.ConfirmDelete": "Ĉu vi vere volas forigi ĉi tiun dosierujon kaj ĉiujn dosierojn en ĝi?",
+ "Folder.Name": "Nomo de dosierujo",
+ "Tree.AddSubPage": "Aldoni novan paĝon ĉi tie",
+ "Tree.Duplicate": "Duobligi",
+ "Tree.EditPage": "Redakti",
+ "Tree.ThisPageOnly": "Nur ĉi tiu paĝo",
+ "Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
+ "Tree.ShowAsList": "Vidigi idojn kiel liston",
+ "CMSMain.ConfirmRestoreFromLive": "Ĉu vi vere volas kopii la publikigitan enhavon al la malneta retejo?",
+ "CMSMain.RollbackToVersion": "Cu vi vere volas malfare restaŭri al versio #%s de ĉi tiu paĝo?",
+ "URLSEGMENT.Edit": "Redakti",
+ "URLSEGMENT.OK": "Akcepti",
+ "URLSEGMENT.Cancel": "Rezigni"
+}
\ No newline at end of file
diff --git a/javascript/lang/src/is.js b/javascript/lang/src/is.js
new file mode 100644
index 00000000..ffd57996
--- /dev/null
+++ b/javascript/lang/src/is.js
@@ -0,0 +1,39 @@
+{
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Þú verður að vista síðuna áður bætt er við einhverju undir hana",
+ "CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
+ "CMSMAIN.ERRORADDINGPAGE": "Vandamál kom upp við að bæta við síðu",
+ "CMSMAIN.FILTEREDTREE": "Filterað tré til að sýna aðeins breyttar síður",
+ "CMSMAIN.ERRORFILTERPAGES": "Gat ekki flokkað tréið til að sýna aðeins breyttar síður
%s° ",
+ "CMSMAIN.ERRORUNFILTER": "Óflokkað tré",
+ "CMSMAIN.PUBLISHINGPAGES": "Birti síður...",
+ "CMSMAIN.SELECTONEPAGE": "Please select at least 1 page.",
+ "CMSMAIN.ERRORPUBLISHING": "Villa kom við birtingu síðu",
+ "CMSMAIN.REALLYDELETEPAGES": "Ertu viss um að þú viljir eyða %s merktum síðum?",
+ "CMSMAIN.DELETINGPAGES": "Eyði síðum...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Vandamál kom upp við eyðingu síðna",
+ "CMSMAIN.PUBLISHING": "Birti...",
+ "CMSMAIN.RESTORING": "Endurvek...",
+ "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.SAVING": "vista...",
+ "CMSMAIN.SELECTMOREPAGES": "Þú hefur valið %s síður.\n\nErtu viss um að þú viljir halda áfram?",
+ "CMSMAIN.ALERTCLASSNAME": "Tegund siðu verður uppfært eftir vistun síðu",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URLs can only be made up of letters, digits and hyphens.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Ertu viss um að þú viljir eyða %s möppunni?",
+ "AssetTableField.REALLYDELETE": "Ertu viss um að þú viljir eyða merktum skrám?",
+ "AssetTableField.MOVING": "Færi %s skrá(r)",
+ "CMSMAIN.AddSearchCriteria": "Add Criteria",
+ "WidgetAreaEditor.TOOMANY": "Sorry, you have reached the maximum number of widgets in this area",
+ "AssetAdmin.ConfirmDelete": "Ertu viss um að þú viljir eyða þessari möppu og skrám sem tilheyra henni",
+ "Folder.Name": "Nafn möppu",
+ "Tree.AddSubPage": "Bæta við nýrri síðu hér",
+ "Tree.Duplicate": "Fjölfalda",
+ "Tree.EditPage": "Breyta",
+ "Tree.ThisPageOnly": "Aðeins þessi síða",
+ "Tree.ThisPageAndSubpages": "Þessi síða og undirsíður",
+ "Tree.ShowAsList": "Show children as list",
+ "CMSMain.ConfirmRestoreFromLive": "Ertu viss um að þú viljir afrita birt efni yfir á drög?",
+ "CMSMain.RollbackToVersion": "Do you really want to roll back to version #%s of this page?",
+ "URLSEGMENT.Edit": "Breyta",
+ "URLSEGMENT.OK": "Allt í lagi",
+ "URLSEGMENT.Cancel": "Hætta við"
+}
\ No newline at end of file
diff --git a/javascript/lang/src/nb.js b/javascript/lang/src/nb.js
new file mode 100644
index 00000000..3a2b54e9
--- /dev/null
+++ b/javascript/lang/src/nb.js
@@ -0,0 +1,39 @@
+{
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Du må lagre siden før du kan legge til undersider.",
+ "CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
+ "CMSMAIN.ERRORADDINGPAGE": "Feil ved opprettelse av side",
+ "CMSMAIN.FILTEREDTREE": "Filtered tree to only show changed pages",
+ "CMSMAIN.ERRORFILTERPAGES": "Could not filter tree to only show changed pages
%s",
+ "CMSMAIN.ERRORUNFILTER": "Unfiltered tree",
+ "CMSMAIN.PUBLISHINGPAGES": "Publiserer sider ...",
+ "CMSMAIN.SELECTONEPAGE": "Vennligst velg minst én side.",
+ "CMSMAIN.ERRORPUBLISHING": "Feil ved publisering av sider",
+ "CMSMAIN.REALLYDELETEPAGES": "Vil du virkelig slette de %s merkede sidene?",
+ "CMSMAIN.DELETINGPAGES": "Sletter sider ...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Feil ved sletting av sider",
+ "CMSMAIN.PUBLISHING": "Publiserer ...",
+ "CMSMAIN.RESTORING": "Gjenoppretter ...",
+ "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.SAVING": "lagrer ...",
+ "CMSMAIN.SELECTMOREPAGES": "Du har valgt %s sider.\n\nVil du virkelig utføre denne handlingen?",
+ "CMSMAIN.ALERTCLASSNAME": "Sidetypen vil bare bli oppdatert når siden blir lagret",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URLs can only be made up of letters, digits and hyphens.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Vil du virkelig slette %s mapper?",
+ "AssetTableField.REALLYDELETE": "Vil du virkelig slette de merkede filene?",
+ "AssetTableField.MOVING": "Flytter %s file(r)",
+ "CMSMAIN.AddSearchCriteria": "Legg til kriterie",
+ "WidgetAreaEditor.TOOMANY": "Beklager, du har for mange \"widgets\" i dette området",
+ "AssetAdmin.ConfirmDelete": "Vil du virkelig slette denne mappen og alle filer som ligger i den?",
+ "Folder.Name": "Mappenavn",
+ "Tree.AddSubPage": "Legg til ny side her",
+ "Tree.Duplicate": "Dupliser",
+ "Tree.EditPage": "Rediger",
+ "Tree.ThisPageOnly": "Bare denne siden",
+ "Tree.ThisPageAndSubpages": "Denne siden og undersider",
+ "Tree.ShowAsList": "Vis undersider som en liste",
+ "CMSMain.ConfirmRestoreFromLive": "Vil du virkelig kopiere den publiserte siden til utkastsiden?",
+ "CMSMain.RollbackToVersion": "Vil du virkelig rulle tilbake til versjon #%s av denne siden?",
+ "URLSEGMENT.Edit": "Rediger",
+ "URLSEGMENT.OK": "OK",
+ "URLSEGMENT.Cancel": "Avbryt"
+}
\ No newline at end of file
diff --git a/javascript/lang/src/nl.js b/javascript/lang/src/nl.js
index 99ca390c..8fc34e07 100644
--- a/javascript/lang/src/nl.js
+++ b/javascript/lang/src/nl.js
@@ -1,38 +1,38 @@
{
- "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
%s te tonen.",
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "U moet de pagina opslaan voordat u onderliggende pagina's kan toevoegen",
+ "CMSMAIN.CANTADDCHILDREN": "U kan geen kinderen toevoegen aan de geselecteerde knoop",
+ "CMSMAIN.ERRORADDINGPAGE": "Fout bij toevoegen van de pagina",
+ "CMSMAIN.FILTEREDTREE": "Gefilterd om alleen aangepaste pagina's te tonen",
+ "CMSMAIN.ERRORFILTERPAGES": "Kon de paginastructuur niet filteren om alleen aangepaste pagina's te tonen.
%s",
"CMSMAIN.ERRORUNFILTER": "Ongefilterde structuur",
- "CMSMAIN.PUBLISHINGPAGES": "Paginas aan het publiceren...",
+ "CMSMAIN.PUBLISHINGPAGES": "Pagina's 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.ERRORPUBLISHING": "Fout bij het publiceren van de pagina's",
+ "CMSMAIN.REALLYDELETEPAGES": "Wilt u echt de %s geselecteerde pagina's verwijderen?",
+ "CMSMAIN.DELETINGPAGES": "Pagina's verwijderen...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Fout bij verwijderen van de pagina's",
"CMSMAIN.PUBLISHING": "Publiceren...",
"CMSMAIN.RESTORING": "Herstellen...",
- "CMSMAIN.ERRORREVERTING": "Error reverting to live content",
+ "CMSMAIN.ERRORREVERTING": "Fout bij het terugdraaien naar de gepubliceerde pagina",
"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.SELECTMOREPAGES": "U hebt pagina(s) %s geselecteerd. \n\nWilt u deze actie uitvoeren?",
+ "CMSMAIN.ALERTCLASSNAME": "Het paginatype wordt aangepast na het 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?",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Wil je echt %s mappen verwijderen?",
+ "AssetTableField.REALLYDELETE": "Wilt u 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??",
+ "WidgetAreaEditor.TOOMANY": "Sorry, u hebt de maximaal aantal widgets bereikt in dit gebied",
+ "AssetAdmin.ConfirmDelete": "Wilt u deze map verwijderen, en alle bestanden er in?",
"Folder.Name": "Mapnaam",
"Tree.AddSubPage": "Voeg nieuwe pagina toe",
"Tree.Duplicate": "Dupliceren",
"Tree.EditPage": "Aanpassen",
"Tree.ThisPageOnly": "Enkel deze pagina",
"Tree.ThisPageAndSubpages": "Deze pagina en subpagina's",
- "Tree.ShowAsList": "Toon kinderen als lijst",
- "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?",
+ "Tree.ShowAsList": "Toon onderliggende pagina's als lijst",
+ "CMSMain.ConfirmRestoreFromLive": "Wil je echt de gepubliceerde inhoud kopiëren naar de concept site?",
+ "CMSMain.RollbackToVersion": "Wil je echt terugdraaien naar versie #%s van deze pagina?",
"URLSEGMENT.Edit": "Aanpassen",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annuleren"
diff --git a/javascript/lang/src/sl.js b/javascript/lang/src/sl.js
new file mode 100644
index 00000000..f6eab129
--- /dev/null
+++ b/javascript/lang/src/sl.js
@@ -0,0 +1,39 @@
+{
+ "CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Stran je potrebno shraniti pred dodajanjem otrok",
+ "CMSMAIN.CANTADDCHILDREN": "Vozlišču ne morete dodati otrok",
+ "CMSMAIN.ERRORADDINGPAGE": "Napaka pri dodajanju strani",
+ "CMSMAIN.FILTEREDTREE": "Pokaži samo spremenjene strani",
+ "CMSMAIN.ERRORFILTERPAGES": "Neuspešno filtriranje zgolj spremenljenih strani
%s",
+ "CMSMAIN.ERRORUNFILTER": "Nefiltrirano drevo",
+ "CMSMAIN.PUBLISHINGPAGES": "Objavljanje strani ...",
+ "CMSMAIN.SELECTONEPAGE": "Izberite vsaj 1 stran",
+ "CMSMAIN.ERRORPUBLISHING": "Napaka pri objavljanju strani",
+ "CMSMAIN.REALLYDELETEPAGES": "Izbriši %s označenih strani?",
+ "CMSMAIN.DELETINGPAGES": "Brisanje strani ...",
+ "CMSMAIN.ERRORDELETINGPAGES": "Napaka pri brisanju strani",
+ "CMSMAIN.PUBLISHING": "Objavljanje ...",
+ "CMSMAIN.RESTORING": "Obnavljanje ...",
+ "CMSMAIN.ERRORREVERTING": "Napaka pri povrnitvi na živo vsebino",
+ "CMSMAIN.SAVING": "shranjevanje ...",
+ "CMSMAIN.SELECTMOREPAGES": "Izbranih je %s strani.\n\nIzvedem izbrano akcijo?",
+ "CMSMAIN.ALERTCLASSNAME": "Tipska stran bo posodobljena po shranjevanju strani",
+ "CMSMAIN.URLSEGMENTVALIDATION": "URL-ji lahko vsebujejo le alfanumerične znake in pomišljaje.",
+ "AssetAdmin.BATCHACTIONSDELETECONFIRM": "Izbrišem %s map?",
+ "AssetTableField.REALLYDELETE": "Izbrišem označene datoteke?",
+ "AssetTableField.MOVING": "Premikam %s stran(i)",
+ "CMSMAIN.AddSearchCriteria": "Dodaj kriterij",
+ "WidgetAreaEditor.TOOMANY": "Ups, dosegli ste največje možno število gradnikov na tem področju",
+ "AssetAdmin.ConfirmDelete": "Izbrišem mapo in vsebovane datoteke?",
+ "Folder.Name": "Ime mape",
+ "Tree.AddSubPage": "Dodaj novo stran tukaj",
+ "Tree.Duplicate": "Podvoji",
+ "Tree.EditPage": "Uredi",
+ "Tree.ThisPageOnly": "Samo to stran",
+ "Tree.ThisPageAndSubpages": "To stran in podstrani",
+ "Tree.ShowAsList": "Prikaži otroke kot seznam",
+ "CMSMain.ConfirmRestoreFromLive": "Kopiram objavljeno vsebino na osnutek strani?",
+ "CMSMain.RollbackToVersion": "Obnovim na verzijo #%s te strani?",
+ "URLSEGMENT.Edit": "Uredi",
+ "URLSEGMENT.OK": "OK",
+ "URLSEGMENT.Cancel": "Prekliči"
+}
\ No newline at end of file
diff --git a/lang/af.yml b/lang/af.yml
index 1302ff82..35eaf17c 100644
--- a/lang/af.yml
+++ b/lang/af.yml
@@ -1,4 +1,44 @@
af:
+ AssetAdmin:
+ ADDFILES: 'Voeg lêers by'
+ ActionAdd: 'Voeg dossier by'
+ AppCategoryArchive: Stoor in argiewe
+ AppCategoryAudio: Klank
+ AppCategoryDocument: Dokument
+ AppCategoryFlash: Flash
+ AppCategoryImage: Prentjie
+ AppCategoryVideo: Video
+ BackToFolder: 'Terug na dossier'
+ CREATED: Datum
+ CurrentFolderOnly: 'Beperrk tot die huidige dossier'
+ DetailsView: Besonderhede
+ FILES: Lêers
+ FILESYSTEMSYNC: 'Sinchroniseer lêers'
+ FILESYSTEMSYNCTITLE: 'Bring die CMS op datum met die nuutse lêers wat in die lêersisteem lê. Dit is voordelig om te doen wanneer lêers buite die CMS opgelaai was bv deur midel van FTP'
+ FROMTHEINTERNET: 'Van die indernet af'
+ FROMYOURCOMPUTER: 'Van jou rekenaar af'
+ Filetype: 'Lêer tipe'
+ ListView: 'Lys aansig'
+ NEWFOLDER: Nuwe Dossier
+ SIZE: Groote
+ THUMBSDELETED: '{count} ongebruikte duimnaelsketse was verwyder'
+ TreeView: 'Boom aansig'
+ Upload: Laai op
+ MENUTITLE: Lêers
+ AssetAdmin_DeleteBatchAction:
+ TITLE: 'Verwyder dossiere'
+ AssetAdmin_Tools:
+ FILTER: Filtreer
+ AssetAdmin_left_ss:
+ GO: Gaan voort
+ AssetTableField:
+ BACKLINKCOUNT: 'Gebruik op:'
+ PAGES: bladsy(e)
+ BackLink_Button_ss:
+ Back: Terug
+ BrokenLinksReport:
+ Any: Enige
+ BROKENLINKS: 'Gebreekte skakels verslag'
CMSMain:
EMAIL: Epos
PAGENOTEXISTS: 'Hierdie bladsy bestaan nie'
diff --git a/lang/cs.yml b/lang/cs.yml
index f4704257..92ae80b6 100644
--- a/lang/cs.yml
+++ b/lang/cs.yml
@@ -200,6 +200,8 @@ cs:
415: '415 - Nepodporovaný typ média'
416: '416 - Vyžádaný rozsah není dostatečný'
417: '417 - Očekávání se nezdařilo'
+ 422: '422 - Nezpracovatelná entita'
+ 429: '429 - Příliš mnoho požadavků'
500: '500 - Interní chyba serveru'
501: '501 - Není implementováno'
502: '502 - Špatná Gateway'
diff --git a/lang/el.yml b/lang/el.yml
index cc3f35b3..fc6834ab 100644
--- a/lang/el.yml
+++ b/lang/el.yml
@@ -1,5 +1,253 @@
el:
+ AssetAdmin:
+ ADDFILES: 'Προσθήκη Αρχείων'
+ ActionAdd: 'Προσθήκη φακέλου'
+ AppCategoryArchive: Αρχείο
+ AppCategoryAudio: Ήχος
+ AppCategoryDocument: Έγγραφο
+ AppCategoryImage: Εικόνα
+ AppCategoryVideo: Βίντεο
+ BackToFolder: 'Πίσω στο φάκελο'
+ CREATED: Ημερομηνία
+ CurrentFolderOnly: 'Μόνο στον τρέχοντα φάκελο;'
+ DetailsView: Λεπτομέρειες
+ FILES: Αρχεία
+ FILESYSTEMSYNC: 'Συγχρονισμός αρχείων'
+ FILESYSTEMSYNCTITLE: 'Ενημέρωση των καταχωρήσεων της βάσης δεδομένων του CMS για αρχεία τα οποία υπάρχουν στο σύστημα. Χρήσιμο όταν οι νέα αρχεία έχουν φορτωθεί εκτός CMS, π.χ. μέσω FTP.'
+ FROMTHEINTERNET: 'Από το Internet'
+ FROMYOURCOMPUTER: 'Από τον υπολογιστή σας'
+ Filetype: 'Τύπος αρχείου'
+ ListView: 'Προβολή Λίστας'
+ NEWFOLDER: ΝέοςΦάκελος
+ SIZE: Μέγεθος
+ THUMBSDELETED: '{count} αχρησιμοποίητα εικονίδια έχουν διαγραφεί'
+ TreeView: 'Προβολή Δέντρου'
+ Upload: Μεταφόρτωση
+ MENUTITLE: Αρχεία
+ AssetAdmin_DeleteBatchAction:
+ TITLE: 'Διαγραφή φακέλων'
+ AssetAdmin_Tools:
+ FILTER: Φίλτρο
+ AssetAdmin_left_ss:
+ GO: Μετάβαση
+ AssetTableField:
+ BACKLINKCOUNT: 'Χρησιμοποιείται σε:'
+ PAGES: σελίδες
+ BackLink_Button_ss:
+ Back: Πίσω
+ BrokenLinksReport:
+ Any: Οποιοδήποτε
+ BROKENLINKS: 'Αναφορά ανενεργών συνδέσμων'
+ CheckSite: 'Έλεγχος ιστοτόπου'
+ CheckSiteDropdownPublished: 'Δημοσιευμένος Ιστότοπος'
+ ColumnDateLastModified: 'Ημερομηνία τελευταίας τροποποίησης'
+ ColumnDateLastPublished: 'Ημερομηνία τελευταίας δημοσιεύσης'
+ ColumnProblemType: 'Τύπος προβλήματος'
+ ColumnURL: URL
+ HasBrokenFile: 'έχει ανενεργό αρχείο'
+ HasBrokenLink: 'έχει ανενεργό σύνδεσμο '
+ HasBrokenLinkAndFile: 'έχει ανενεργό σύνδεσμο και αρχείο'
+ HoverTitleEditPage: 'Επεξεργασία σελίδας'
+ PageName: 'Σελίδα'
+ ReasonDropdown: 'Πρόβλημα για έλεγχο'
+ ReasonDropdownBROKENFILE: 'Ανενεργό αρχείο '
+ ReasonDropdownBROKENLINK: 'Ανενεργός σύνδεσμος '
+ ReasonDropdownRPBROKENLINK: 'Η σελίδα ανακατεύθυνσης αντιστοιχεί σε ανύπαρκτη σελίδα'
+ ReasonDropdownVPBROKENLINK: 'Η εικονική σελίδα αντιστοιχεί σε ανύπαρκτη σελίδα'
+ RedirectorNonExistent: 'η σελίδα ανακατεύθυνσης αντιστοιχεί σε ανύπαρκτη σελίδα'
+ VirtualPageNonExistent: 'η εικονική σελίδα αντιστοιχεί σε ανύπαρκτη σελίδα'
+ CMSAddPageController:
+ Title: 'Προσθήκη σελίδας'
+ CMSBatchActions:
+ DELETED_PAGES: 'Διαγράφηκαν %d σελίδες απο τις δημοσιευμένες, με %d αποτυχίες'
+ PUBLISH_PAGES: Δημοσίευση
CMSMain:
+ AddNew: 'Προσθήκη σελίδας'
+ AddNewButton: 'Προσθήκη'
+ Cancel: Άκυρο
+ ChoosePageType: 'Επιλέξτε τύπο σελίδας'
+ Create: Δημιουργία
+ DELETEFP: Διαγραφή
+ EMAIL: Email
+ EditTree: 'Επεξεργασία Δένδρου'
+ NEWPAGE: 'Νέο {pagetype}'
+ PAGENOTEXISTS: 'Αυτή η σελίδα δεν υπάρχει'
+ PAGES: Σελίδες
+ PAGETYPEANYOPT: Οποιοδήποτε
+ PAGETYPEOPT: 'Τύπος Σελίδας'
+ PUBALLFUN: 'Λειτουργία "Δημοσίευση Όλων"'
+ PUBPAGES: 'Ολοκληρώθηκε: Δημοσίευση {count} σελίδων'
+ PageAdded: 'Η σελίδα δημιουργήθηκε με επιτυχία'
+ RESTORE: Επαναφορά
SAVE: Αποθήκευση
+ TabContent: Περιεχόμενο
+ TabHistory: Ιστορικό
+ TabSettings: Ρυθμίσεις
+ TreeFilteredClear: 'Καθαρισμός φίλτρου'
+ MENUTITLE: 'Επεξεργασία Σελίδας'
+ CMSMain_left_ss:
+ APPLY_FILTER: 'Εφαρμογή Φίλτρου'
+ RESET: Επαναφορά
+ CMSPageAddController:
+ ParentMode_child: 'Κάτω από άλλη σελίδα'
+ ParentMode_top: 'Επίπεδο κορυφής'
+ MENUTITLE: 'Προσθήκη σελίδας'
+ CMSPageHistoryController:
+ COMPAREVERSIONS: 'Σύγκριση Εκδόσεων'
+ COMPARINGVERSION: 'Σύγκριση Εκδόσεων {version1} και {version2}.'
+ REVERTTOTHISVERSION: 'Επαναφορά σε αυτήν την έκδοση'
+ SHOWVERSION: 'Προβολή Έκδοσης'
+ VIEW: προβολή
+ MENUTITLE: Ιστορικό
+ CMSPageHistoryController_versions_ss:
+ AUTHOR: Συγγραφέας
+ NOTPUBLISHED: 'δεν έχει δημοσιευθεί'
+ PUBLISHER: Εκδότης
+ UNKNOWN: Άγνωστο
+ WHEN: Όταν
+ CMSPagesController:
+ ListView: 'Προβολή Λίστας'
+ MENUTITLE: Σελίδες
+ TreeView: 'Προβολή Δέντρου'
+ CMSPagesController_Tools_ss:
+ FILTER: Φίλτρο
+ CMSSearch:
+ FILTERDATEFROM: Από
+ FILTERDATEHEADING: Ημερομηνία
+ FILTERDATETO: Έως
+ FILTERLABELTEXT: Περιεχόμενο
+ CMSSiteTreeFilter_ChangedPages:
+ Title: 'Τροποποιημένες σελίδες'
+ CMSSiteTreeFilter_DeletedPages:
+ Title: 'Όλες οι σελίδες, συμπεριλαμβανομένων των διαγραμμένων'
+ CMSSiteTreeFilter_Search:
+ Title: 'Όλες οι σελίδες'
+ ContentController:
+ ARCHIVEDSITE: 'Προεπισκόπιση'
+ Email: Email
+ INSTALL_SUCCESS: 'Η Εγκατάσταση ήταν επιτυχής!'
+ LOGGEDINAS: 'Συνδεδεμένος ως'
+ LOGIN: Σύνδεση
+ LOGOUT: 'Αποσύνδεση'
+ NOTLOGGEDIN: 'Δεν έχετε συνδεθεί'
+ PUBLISHED: Δημοσιευμένο
+ Password: Κωδικός
+ VIEWPAGEIN: 'Προβολή Σελίδας σε:'
+ Folder:
+ UNUSEDTHUMBNAILSTITLE: 'Αχρησιμοποίητα εικονίδια'
+ UploadFilesButton: Μεταφόρτωση
+ LeftAndMain:
+ DELETED: Έγινε Διαγραφή.
+ PreviewButton: Προεπισκόπιση
+ SAVEDUP: Έγινε Αποθήκευση.
+ SearchResults: 'Αναζήτηση Αποτελεσμάτων'
+ Permission:
+ CMS_ACCESS_CATEGORY: 'Πρόσβαση στο CMS'
+ Permissions:
+ CONTENT_CATEGORY: 'Δικαιώματα περιεχόμενου'
+ PERMISSIONS_CATEGORY: 'Ρόλοι και δικαιώματα'
+ RedirectorPage:
+ DESCRIPTION: 'Κάνει ανακατεύθυνση σε μια διαφορετική εσωτερική σελίδα'
+ HEADER: 'Αυτή η σελίδα θα ανακατευθύνει τους χρήστες σε μια άλλη σελίδα'
+ ReportAdmin:
+ ReportTitle: Τίτλος
+ SearchForm:
+ GO: Μετάβαση
+ SEARCH: Αναζήτηση
+ SearchResults: 'Αποτελέσματα Αναζήτησης'
+ SideReport:
+ BrokenLinksGroupTitle: 'Αναφορές ανενεργών συνδέσμων'
+ ContentGroupTitle: 'Αναφορές περιεχομένου'
+ EMPTYPAGES: 'Σελίδες χωρίς περιεχόμενο'
+ OtherGroupTitle: Άλλο
+ SilverStripeNavigator:
+ ARCHIVED: Αρχειοθετημένο
+ SilverStripeNavigatorLinkl:
+ CloseLink: Κλείσιμο
+ SiteConfig:
+ PLURALNAME: 'Ρύθμισεις Ιστότοπου'
+ SINGULARNAME: 'Ρύθμιση Ιστότοπου'
+ SITENAMEDEFAULT: 'Όνομα Ιστότοπου'
+ SITETITLE: 'Τίτλος ιστοτόπου'
+ TABACCESS: Πρόσβαση
+ TABMAIN: Βασικό
+ THEME: Θεματική παραλλαγή
+ TOPLEVELCREATE: 'Ποιος μπορεί να δημιουργεί σελίδες στην ρίζα του ιστοτόπου;'
+ VIEWHEADER: 'Ποιος μπορεί να βλέπει σελίδες σε αυτόν τον ιστότοπο;'
+ SiteTree:
+ ACCESSANYONE: Οποιοσδήποτε
+ ACCESSHEADER: 'Ποιος μπορεί να δεί αυτή τη σελίδα;'
+ ACCESSLOGGEDIN: 'Συνδεδεμένοι χρήστες'
+ ADDEDTODRAFTHELP: 'Η σελίδα δεν έχει δημοσιευθεί ακόμη'
+ ALLOWCOMMENTS: 'Να επιτρέπονται σχόλια σε αυτή τη σελίδα;'
+ BUTTONPUBLISHED: Δημοσιευμένο
+ BUTTONSAVED: Αποθηκεύτηκε
+ BUTTONSAVEPUBLISH: 'Αποθήκευση & δημοσίευση'
+ BUTTONUNPUBLISHDESC: 'Αφαίρεση αυτής της σελίδας απο τις δημοσιευμένες'
+ Comments: Σχόλια
+ Content: Περιεχόμενο
+ DEFAULTABOUTTITLE: 'Ποιοί είμαστε'
+ DEFAULTCONTACTTITLE: 'Επικοινωνία'
+ DEFAULTHOMETITLE: Αρχική
+ DELETEDPAGEHELP: 'Η σελίδα δεν είναι πλέον δημοσιευμένη'
+ DELETEDPAGESHORT: Έγινε Διαγραφή
+ DESCRIPTION: 'Σελίδα γενικού περιεχομένου'
+ DependtPageColumnLinkType: 'Τύπος συνδέσμου'
+ DependtPageColumnURL: Διεύθυνση URL
+ EDITHEADER: 'Ποιος μπορεί να επεξεργαστεί αυτή τη σελίδα;'
+ EDITONLYTHESE: 'Μόνο αυτοί οι χρήστες (επιλέξτε από τη λίστα)'
+ EDITORGROUPS: 'Ομάδες Συντακτών'
+ Editors: 'Ομάδες Συντακτών'
+ GroupPlaceholder: 'Κάντε κλικ για επιλογή ομάδας'
+ HASBROKENLINKS: 'Αυτή η σελίδα έχει ανενεργούς συνδέσμους '
+ HTMLEDITORTITLE: Περιεχόμενο
+ LASTPUBLISHED: 'Τελευταία δημοσίευση'
+ LASTSAVED: 'Τελευταία αποθήκευση'
+ LASTUPDATED: 'Τελευταία Ενημέρωση'
+ MENUTITLE: 'Επίπεδο πλοίγησης'
+ METADESC: 'Μετα-Περιγραφή'
+ MODIFIEDONDRAFTHELP: 'Η σελίδα έχει μη δημοσιευμένες αλλαγές'
+ MetadataToggle: Μετα-δεδομένα
+ MoreOptions: 'Περισσότερες επιλογές'
+ NOTPUBLISHED: 'Δεν έχει δημοσιευθεί'
+ PAGELOCATION: 'Θέση σελίδας'
+ PAGETITLE: 'Όνομα σελίδας'
+ PAGETYPE: 'Τύπος σελίδας'
+ PARENTTYPE: 'Θέση σελίδας'
+ PLURALNAME: Σελίδες
+ REORGANISE_DESCRIPTION: 'Αλλαγή δομής του ιστοτόπου '
+ SHOWINMENUS: 'Να φαίνεται στα μενού;'
+ SHOWINSEARCH: 'Να φαίνεται στην αναζήτηση'
+ SINGULARNAME: Σελίδα
+ TABBEHAVIOUR: Συμπεριφορά
+ TABCONTENT: 'Κυρίως Περιεχόμενο'
+ TABDEPENDENT: 'Εξαρτώμενες σελίδες '
+ URLSegment: 'Τμήμα διεύθυνσης URL'
+ VIEW_ALL_DESCRIPTION: 'Δείτε κάθε σελίδα'
+ Visibility: Ορατότητα
+ has_one_Parent: 'Γονική Σελίδα'
+ SiteTreeURLSegmentField:
+ EMPTY: 'Παρακαλώ εισάγεται ένα τμήμα διεύθυνσης URL ή πατήστε άκυρο'
+ URLSegmentField:
+ Cancel: Άκυρο
+ Edit: Επεξεργασία
+ OK: ΟΚ
ViewArchivedEmail_ss:
+ CANACCESS: 'Μπορείτε να δείτε τον αρχειοθετημένο ιστότοπο εδώ:'
HAVEASKED: 'Επιθυμείται να εμφανιστεί το περιεχόμενο του ιστοχώρου σας την '
+ VirtualPage:
+ CHOOSE: 'Συνδεδεμένη σελίδα'
+ DESCRIPTION: 'Εμφανίζει το περιεχόμενο μιας άλλης σελίδας'
+ EditLink: επεξεργασία
+ HEADER: 'Αυτή είναι μια εικονική σελίδα'
+ SINGULARNAME: 'Εικονική Σελίδα'
+ CMSFileAddController:
+ MENUTITLE: Αρχεία
+ CMSPageEditController:
+ MENUTITLE: 'Επεξεργασία Σελίδας'
+ CMSPageSettingsController:
+ MENUTITLE: 'Επεξεργασία Σελίδας'
+ CMSSettingsController:
+ MENUTITLE: Ρυθμίσεις
+ CMSSiteTreeFilter_StatusDeletedPages:
+ Title: 'Διεγραμμένες σελίδες'
diff --git a/lang/en.yml b/lang/en.yml
index 0124f355..c5e1ec3d 100644
--- a/lang/en.yml
+++ b/lang/en.yml
@@ -215,7 +215,7 @@ en:
DEFAULTSERVERERRORPAGETITLE: 'Server error'
DESCRIPTION: 'Custom content for different error cases (e.g. "Page not found")'
ERRORFILEPROBLEM: 'Error opening file "{filename}" for writing. Please check file permissions.'
- PLURALNAME: 'Error Pags'
+ PLURALNAME: 'Error Pages'
SINGULARNAME: 'Error Page'
Folder:
AddFolderButton: 'Add folder'
@@ -238,7 +238,7 @@ en:
HASBEENSETUP: 'A redirector page has been set up without anywhere to redirect to.'
HEADER: 'This page will redirect users to another page'
OTHERURL: 'Other website URL'
- PLURALNAME: 'Redirector Pags'
+ PLURALNAME: 'Redirector Pages'
REDIRECTTO: 'Redirect to'
REDIRECTTOEXTERNAL: 'Another website'
REDIRECTTOPAGE: 'A page on your website'
@@ -401,7 +401,7 @@ en:
EditLink: edit
HEADER: 'This is a virtual page'
HEADERWITHLINK: 'This is a virtual page copying content from "{title}" ({link})'
- PLURALNAME: 'Virtual Pags'
+ PLURALNAME: 'Virtual Pages'
PageTypNotAllowedOnRoot: 'Original page type "{type}" is not allowed on the root level for this virtual page'
SINGULARNAME: 'Virtual Page'
CMSFileAddController:
diff --git a/lang/eo.yml b/lang/eo.yml
index f9d73846..00b5ffb4 100644
--- a/lang/eo.yml
+++ b/lang/eo.yml
@@ -5,7 +5,9 @@ eo:
AppCategoryArchive: Arkivo
AppCategoryAudio: Sono
AppCategoryDocument: Dokumento
+ AppCategoryFlash: Flash
AppCategoryImage: Bildo
+ AppCategoryVideo: Video
BackToFolder: 'Retroe al dosierujo'
CREATED: Dato
CurrentFolderOnly: 'Limigo de aktuala dosierujo'
@@ -17,6 +19,7 @@ eo:
FROMYOURCOMPUTER: 'El via komputilo'
Filetype: 'Tipo de dosiero'
ListView: 'Lista vido'
+ NEWFOLDER: Nova dosierujo
SIZE: Grando
THUMBSDELETED: '{count} neuzitaj miniaturoj estas forigitaj'
TreeView: 'Arba vido'
@@ -42,6 +45,7 @@ eo:
ColumnDateLastModified: 'Dato de lasta modifo'
ColumnDateLastPublished: 'Dato de lasta publikigo'
ColumnProblemType: 'Problemtipo'
+ ColumnURL: URL
HasBrokenFile: 'havas rompitan dosieron'
HasBrokenLink: 'havas rompitan ligilon'
HasBrokenLinkAndFile: 'havas rompitan ligilon kaj dosieron'
@@ -71,6 +75,7 @@ eo:
AddNew: 'Aldoni novan paĝon'
AddNewButton: 'Aldoni novan'
AddPageRestriction: 'Noto: iuj tipoj de paĝoj ne estas permesataj por ĉi tiu elektaĵo.'
+ Cancel: Rezigni
ChoosePageParentMode: 'Elekti kie krei ĉi tiun paĝon'
ChoosePageType: 'Elekti tipon de paĝo'
Create: Krei
@@ -134,11 +139,18 @@ eo:
WHEN: Kiam
CMSPagesController:
GalleryView: 'Galeria vido'
+ ListView: 'Lista vido'
MENUTITLE: Paĝoj
+ TreeView: 'Arba vido'
CMSPagesController_ContentToolbar_ss:
MULTISELECT: Plurelekto
CMSPagesController_Tools_ss:
FILTER: Filtri
+ CMSSearch:
+ FILTERDATEFROM: De
+ FILTERDATEHEADING: Dato
+ FILTERDATETO: Al
+ FILTERLABELTEXT: Enhavo
CMSSiteTreeFilter_ChangedPages:
Title: 'Ŝanĝitaj paĝoj'
CMSSiteTreeFilter_DeletedPages:
@@ -150,6 +162,7 @@ eo:
ContentController:
ARCHIVEDSITE: 'Antaŭvida versio'
ARCHIVEDSITEFROM: 'Enarkivigita retejo el'
+ CMS: CMS
DRAFT: Malneta
DRAFTSITE: 'Malneta retejo'
DRAFT_SITE_ACCESS_RESTRICTION: 'Vi devas ensaluti per via CMS-pasvorto por vidi la projektan aŭ enarkivigitan enhavon. Alklaku ĉi tie por reiri al la publika retejo.'
@@ -187,6 +200,8 @@ eo:
415: '415 - Nesubtenata spekta tipo'
416: '416 - Peta amplekso ne plenumebla'
417: '417 - Atendo malsukcesis'
+ 422: '422 - Netrakebla ento'
+ 429: '429 - tro da petoj'
500: '500 - Eraro de interna servilo'
501: '501 - Ne realigita'
502: '502 - Malbona kluzo'
@@ -210,7 +225,9 @@ eo:
UploadFilesButton: Alŝuti
LeftAndMain:
DELETED: Forigita.
+ PreviewButton: Aspekto
SAVEDUP: Konservita.
+ SearchResults: 'Serĉaj rezultoj'
Permission:
CMS_ACCESS_CATEGORY: 'CMS-aliro'
Permissions:
@@ -239,6 +256,7 @@ eo:
SearchForm:
GO: Ek
SEARCH: Serĉi
+ SearchResults: 'Serĉaj rezultoj'
SideReport:
BROKENFILES: 'Paĝoj kun rompitaj dosieroj'
BROKENLINKS: 'Paĝoj kun rompitaj ligiloj'
@@ -254,6 +272,7 @@ eo:
SilverStripeNavigator:
ARCHIVED: Enarkivigita
SilverStripeNavigatorLink:
+ ShareInstructions: 'Por komunigi ĉi tiun paĝon, kopiu kaj algluu la suban ligilon.'
ShareLink: 'Komunigi ligilon'
SilverStripeNavigatorLinkl:
CloseLink: Fermi
@@ -302,6 +321,7 @@ eo:
DEPENDENT_NOTE: 'La sekvaj paĝoj dependas de ĉi tiu paĝo. Tio inkluzivas virtualajn paĝojn, alidirektajn paĝojn, kaj paĝojn kun enhavaj ligiloj.'
DESCRIPTION: 'Ĝenerala paĝo por enhavo'
DependtPageColumnLinkType: 'Ligila tipo'
+ DependtPageColumnURL: URL
EDITANYONE: 'Tiu, kiu povas ensaluti en la CMS'
EDITHEADER: 'Kiuj povas redakti ĉi tiun paĝon?'
EDITONLYTHESE: 'Nur ĉi tiuj homoj (elektu de listo)'
@@ -392,3 +412,9 @@ eo:
MENUTITLE: 'Redakti paĝon'
CMSSettingsController:
MENUTITLE: Agordoj
+ CMSSiteTreeFilter_StatusDeletedPages:
+ Title: 'Forigitaj paĝoj'
+ CMSSiteTreeFilter_StatusDraftPages:
+ Title: 'Malnetaj nepublikigitaj paĝoj'
+ CMSSiteTreeFilter_StatusRemovedFromDraftPages:
+ Title: 'Publikaj sed forigitaj el malnetaj'
diff --git a/lang/es.yml b/lang/es.yml
index ad4a502b..7f71125f 100644
--- a/lang/es.yml
+++ b/lang/es.yml
@@ -200,6 +200,8 @@ es:
415: '415- No hay cobertura para este tipo de soporte.'
416: '416- El rango requerido no puede cumplirse'
417: '417- Expectación fallida'
+ 422: '422 - No es posible procesar la Entidad '
+ 429: '429 - Muchas Peticiones al servidor'
500: '500 - Error interno en el servidor'
501: '501- No implementado'
502: '502- Pasarela de comunicación equivocada'
diff --git a/lang/fi.yml b/lang/fi.yml
index e48af7d9..c5e94f9d 100644
--- a/lang/fi.yml
+++ b/lang/fi.yml
@@ -200,6 +200,8 @@ fi:
415: '415 - Tukematon mediatyyppi'
416: '416 - Pyydetty alue ei kelpaa'
417: '417 - Oletus epäonnistui'
+ 422: '422 - Käsittely ei onnistu: semanttinen virhe?'
+ 429: '429 - Liian monta pyyntöä'
500: '500 - Sisäinen Palvelin Virhe'
501: '501 - Ei toteutettu'
502: '502 - Virheellinen Yhdyskäytävä'
diff --git a/lang/nl.yml b/lang/nl.yml
index 184483a9..0ddeb5a1 100644
--- a/lang/nl.yml
+++ b/lang/nl.yml
@@ -1,8 +1,8 @@
nl:
AssetAdmin:
- ADDFILES: 'Bestanden'
+ ADDFILES: 'Bestanden toevoegen'
ActionAdd: 'Map toevoegen'
- AppCategoryArchive: Archiveer
+ AppCategoryArchive: Archiveren
AppCategoryAudio: Audio
AppCategoryDocument: Document
AppCategoryFlash: Flash
@@ -19,9 +19,9 @@ nl:
FROMYOURCOMPUTER: 'Vanaf computer'
Filetype: 'Bestandstype'
ListView: 'Lijstweergave'
- NEWFOLDER: Nieuwe Map
+ NEWFOLDER: Nieuwe map
SIZE: Omvang
- THUMBSDELETED: '{count} ongebruikte miniatuur afbeeldingen zijn verwijderd'
+ THUMBSDELETED: '{count} ongebruikte miniatuurafbeeldingen zijn verwijderd'
TreeView: 'Boomstructuur'
Upload: Uploaden
MENUTITLE: Bestanden
@@ -38,13 +38,13 @@ nl:
Back: Terug
BrokenLinksReport:
Any: Alles
- BROKENLINKS: 'Verbroken verwijzingen rapportage'
+ BROKENLINKS: 'Rapport van verbroken links'
CheckSite: 'Controleer site'
- CheckSiteDropdownDraft: 'Concept-site'
- CheckSiteDropdownPublished: 'Gepubliceerde Site'
+ CheckSiteDropdownDraft: 'Concept site'
+ CheckSiteDropdownPublished: 'Gepubliceerde site'
ColumnDateLastModified: 'Laatste wijzigingsdatum'
ColumnDateLastPublished: 'Laatste publicatiedatum'
- ColumnProblemType: 'Probleem type'
+ ColumnProblemType: 'Probleemtype'
ColumnURL: URL
HasBrokenFile: 'heeft verbroken bestand'
HasBrokenLink: 'heeft verbroken link'
@@ -71,61 +71,62 @@ nl:
UNPUBLISH_PAGES: Publicatie intrekken
CMSMain:
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 om paginastructuur en inhoud te bekijken. Bekijk- en bewerkingstoestemmingen kunnen worden toegekend met pagina-specifieke menu''s en het aparte "Inhoudsmachtigingen".'
AddNew: 'Voeg nieuwe pagina toe'
AddNewButton: 'Nieuw'
- AddPageRestriction: 'Opmerking: Sommige pagina types zijn niet toegestaan voor deze selectie'
- ChoosePageParentMode: 'Kies waar u deze pagina wilt creëren'
+ AddPageRestriction: 'Opmerking: Sommige paginatypes zijn niet toegestaan voor deze selectie'
+ Cancel: Annuleren
+ ChoosePageParentMode: 'Kies waar u deze pagina wilt aanmaken'
ChoosePageType: 'Kies een pagina type'
- Create: Creëer
- DELETE: 'Verwijder van de ontwerp webpagina'
- DELETEFP: Verwijder van de gepubliceerde webpagina
+ Create: Aanmaken
+ DELETE: 'Verwijder concept'
+ DELETEFP: Verwijder
DESCREMOVED: 'en {count} onderliggende'
- DUPLICATED: '''{title}'' succesvol gedupliceerd'
- DUPLICATEDWITHCHILDREN: '''{title}'' en onderliggende items succesvol gedupliceerd'
- EMAIL: Email
- EditTree: 'Menu indelen'
- ListFiltered: 'Gefilterde lijst'
+ DUPLICATED: '''{title}'' met succes gedupliceerd'
+ DUPLICATEDWITHCHILDREN: '''{title}'' en onderliggende items met succes gedupliceerd'
+ EMAIL: E-mail
+ EditTree: 'Paginastructuur aanpassen'
+ ListFiltered: 'Gefilterde lijst.'
NEWPAGE: 'Nieuwe {pagetype}'
PAGENOTEXISTS: 'Deze pagina bestaat niet'
PAGES: Pagina 's
PAGETYPEANYOPT: Elke
- PAGETYPEOPT: 'Pagina type'
- PUBALLCONFIRM: 'Publiceer elke pagina van de site waarbij de inhoud van de concept site gekopieerd wordt naar de live site.'
- PUBALLFUN: '"Publiceer Alles" functionaliteit'
- PUBALLFUN2: "Op deze knop klikken heeft hetzelfde resultaat als alle pagina's apart publiceren. Hij is bedoeld om een groot aantal wijzigingen in een keer te publiceren."
+ PAGETYPEOPT: 'Paginatype'
+ PUBALLCONFIRM: 'Publiceer elke pagina van de site: dit kopieert de inhoud van de concept site naar de live site'
+ PUBALLFUN: '"Publiceer alles" functionaliteit'
+ PUBALLFUN2: "Op deze knop klikken heeft hetzelfde resultaat als bij elke pagina's op \"Publiceer\" te klikken. Het is bedoeld om te gebruiken wanneer er erg grote inhoudsaanpassingen gebeurd zijn, bijvoorbeeld wanneer een nieuwe site voor het eerst gebouwd wordt."
PUBPAGES: 'Gereed: {count} pagina''s gepubliceerd'
- PageAdded: 'Pagina succesvol gecreëerd'
+ PageAdded: 'Pagina met succes aangemaakt'
REMOVED: '''{title}''{description} verwijderd van de live site'
REMOVEDPAGE: '''{title}'' is van de gepubliceerde site verwijderd'
- REMOVEDPAGEFROMDRAFT: '''%s'' is verwijderd uit de concept-site'
+ REMOVEDPAGEFROMDRAFT: '''%s'' is verwijderd uit de concept site'
RESTORE: Herstel
- RESTORED: '''{title}'' is succesvol hersteld'
- ROLLBACK: 'Terugzetten naar deze versie'
- ROLLEDBACKPUBv2: 'Teruggezet naar gepubliceerde versie.'
- ROLLEDBACKVERSIONv2: 'Teruggezet naar versie #%d.'
+ RESTORED: '''{title}'' is met succes hersteld'
+ ROLLBACK: 'Terugdraaien naar deze versie'
+ ROLLEDBACKPUBv2: 'Teruggedraaid naar gepubliceerde versie.'
+ ROLLEDBACKVERSIONv2: 'Teruggedraaid naar versie #%d.'
SAVE: Opslaan
SAVEDRAFT: 'Concept opslaan'
TabContent: Inhoud
TabHistory: Geschiedenis
TabSettings: Instellingen
TreeFiltered: 'Gefilterde boomstructuur.'
- TreeFilteredClear: 'Herstel filter'
+ TreeFilteredClear: 'Filter leegmaken'
MENUTITLE: 'Wijzig pagina'
CMSMain_left_ss:
APPLY_FILTER: 'Filter toepassen'
- RESET: Herstel
+ RESET: Reset
CMSPageAddController:
ParentMode_child: 'Onder een andere pagina'
ParentMode_top: 'Hoogste niveau'
MENUTITLE: 'Pagina toevoegen'
CMSPageHistoryController:
COMPAREMODE: 'Vergelijken (selecteer 2)'
- COMPAREVERSIONS: 'Vergelijk Versies'
+ COMPAREVERSIONS: 'Vergelijk versies'
COMPARINGVERSION: 'U vergelijkt versie {version1} en {version2}.'
REVERTTOTHISVERSION: 'Deze versie terugzetten'
SHOWUNPUBLISHED: 'Toon nog niet gepubliceerde versies'
- SHOWVERSION: 'Toon Versie'
+ SHOWVERSION: 'Toon versie'
VIEW: toon
VIEWINGLATEST: 'U bekijkt nu de laatste versie.'
VIEWINGVERSION: 'U bekijkt nu versie {version}.'
@@ -133,7 +134,7 @@ nl:
CMSPageHistoryController_versions_ss:
AUTHOR: Auteur
NOTPUBLISHED: 'Niet gepubliceerd'
- PUBLISHER: Uitgever
+ PUBLISHER: Publiceerder
UNKNOWN: Onbekend
WHEN: Wanneer
CMSPagesController:
@@ -157,19 +158,19 @@ nl:
CMSSiteTreeFilter_Search:
Title: 'Alle pagina''s'
ContentControl:
- NOTEWONTBESHOWN: 'Aantekening: dit bericht is niet zichtbaar voor bezoekers'
+ NOTEWONTBESHOWN: 'Merk op: dit bericht is niet zichtbaar voor uw bezoekers'
ContentController:
- ARCHIVEDSITE: 'Voorbeeld versie'
+ ARCHIVEDSITE: 'Voorbeeld van versie bekijken'
ARCHIVEDSITEFROM: 'Gearchiveerde site van'
CMS: CMS
DRAFT: Concept
- DRAFTSITE: 'Concept-site'
- DRAFT_SITE_ACCESS_RESTRICTION: 'U moet inloggen met Uw CMS wachtwoord om die inhoud te kunnen zien. Klik hier om terug te keren naar de gepubliceerde site.'
+ DRAFTSITE: 'Concept site'
+ DRAFT_SITE_ACCESS_RESTRICTION: 'U moet inloggen met uw CMS wachtwoord om die inhoud te kunnen zien. Klik hier om terug te keren naar de gepubliceerde site.'
Email: E-mail
INSTALL_SUCCESS: 'Installatie voltooid!'
- InstallFilesDeleted: 'De installatiebestanden zijn succesvol verwijderd.'
- InstallSecurityWarning: 'Om veiligheidsredenen dient u de installatiebestanden nu te verwijderen, tenzij u van plan bent om later opnieuw te installeren (dit vereist toegang als administrator, zie boven). De webserver heeft vanaf nu alleen nog schrijftoegang nodig tot de "assets" map, u kunt de schrijftoegang van alle andere mappen verwijderen. Klik hier om de installatiebestanden te verwijderen. '
- InstallSuccessCongratulations: 'SilverStripe is geÏnstalleerd!'
+ InstallFilesDeleted: 'De installatiebestanden zijn met succes verwijderd.'
+ InstallSecurityWarning: 'Om veiligheidsredenen dient u de installatiebestanden nu te verwijderen, tenzij u van plan bent om later opnieuw te installeren (dit vereist toegang als administrator, zie hierboven). De webserver heeft vanaf nu alleen nog schrijftoegang nodig tot de "assets" map, u kunt de schrijftoegang van alle andere mappen verwijderen. Klik hier om de installatiebestanden te verwijderen. '
+ InstallSuccessCongratulations: 'SilverStripe is geïnstalleerd!'
LOGGEDINAS: 'Ingelogd als'
LOGIN: Inloggen
LOGOUT: 'Uitloggen'
@@ -177,62 +178,64 @@ nl:
PUBLISHED: Gepubliceerd
PUBLISHEDSITE: 'Gepubliceerde site'
Password: Wachtwoord
- PostInstallTutorialIntro: 'Deze website is een eenvoudige versie van een SilverStripe 3 website. Voor uitbreidingen kunt je hier een kijkje nemen: {link}.'
- StartEditing: 'Je kunt de inhoud aanpassen via het CMS.'
+ PostInstallTutorialIntro: 'Deze website is een eenvoudige versie van een SilverStripe 3 website. Voor uitbreidingen kan u hier een kijkje nemen: {link}.'
+ StartEditing: 'U kunt de inhoud aanpassen via het CMS.'
UnableDeleteInstall: 'De installatiebestanden konden niet verwijderd worden. Verwijder onderstaande bestanden alstublieft handmatig.'
VIEWPAGEIN: 'Bekijk pagina in:'
ErrorPage:
- 400: '400 - Foute Vraag'
- 401: '401 - Geen toestemming'
- 403: '403 - Geen toegang'
+ 400: '400 - Foute aanvraag'
+ 401: '401 - Niet geautorizeerd'
+ 403: '403 - Toegang verboden'
404: '404 - Niet gevonden'
- 405: '405- Methode niet toegestaan'
- 406: '406 - Niet toegankelijk'
- 407: '407 - Proxy Auhenticatie Vereist'
- 408: '408 - Vraag verlopen'
+ 405: '405 - Methode niet toegestaan'
+ 406: '406 - Niet aanvaardbaar'
+ 407: '407 - Proxy auhenticatie vereist'
+ 408: '408 - Aanvraag verlopen'
409: '409 - Conflict'
410: '410 - Verdwenen'
411: '411 - Lengte vereist'
- 412: '412 - Voorwaarde gefaald'
- 413: '413 - Vraag eenheid te groot'
- 414: '414 - Aanvraag-URI Te Lang'
- 415: '415 - Niet ondersteund Media Type'
- 416: '416 - Aanvraag Bereik Niet Toereikend'
- 417: '417 - Verwachting Mislukt'
- 500: '500 - Interne Server Fout'
+ 412: '412 - Niet voldaan aan vooraf gestelde voorwaarde'
+ 413: '413 - Aanvraag te groot'
+ 414: '414 - Aanvraag URI te lang'
+ 415: '415 - Media-type niet ondersteund'
+ 416: '416 - Aangevraagd gedeelte niet opvraagbaar'
+ 417: '417 - Niet voldaan aan verwachting'
+ 422: '422 - Aanvraag kan niet verwerkt worden'
+ 429: '429 - Te veel aanvragen'
+ 500: '500 - Interne serverfout'
501: '501 - Niet geïmplementeerd'
502: '502 - Slechte Gateway'
503: '503 - Service niet beschikbaar'
504: '504 - Gateway Timeout'
- 505: '505 - HTTP Versie Niet Ondersteund'
+ 505: '505 - HTTP versie niet ondersteund'
CODE: 'Foutcode'
DEFAULTERRORPAGECONTENT: '
Helaas, de pagina die u zocht lijkt niet (meer) te bestaan.
Controleer of de juiste URL is gebruikt en probeer het opnieuw.
' DEFAULTERRORPAGETITLE: 'Pagina niet gevonden' DEFAULTSERVERERRORPAGECONTENT: 'Helaas, er was een probleem bij het verwerken van je verzoek.
' DEFAULTSERVERERRORPAGETITLE: 'Probleem met de server' - DESCRIPTION: 'Aangepaste tekst voor verschillende foutmeldingen (bijv: "Pagina niet gevonden")' + DESCRIPTION: 'Aangepaste tekst voor verschillende foutmeldingen (bv. "Pagina niet gevonden")' ERRORFILEPROBLEM: 'Fout: "{filename}" kan niet geopend worden om te schrijven. Controleer alstublieft de bestandspermissies.' - PLURALNAME: 'Fout Pagina''s' - SINGULARNAME: 'Fout Pagina' + PLURALNAME: 'Foutpagina''s' + SINGULARNAME: 'Foutpagina' Folder: AddFolderButton: 'Map toevoegen' - DELETEUNUSEDTHUMBNAILS: 'Verwijder ongebruikte thumbnails' + DELETEUNUSEDTHUMBNAILS: 'Verwijder ongebruikte miniatuurafbeeldingen' UNUSEDFILESTITLE: 'Ongebruikte bestanden' - UNUSEDTHUMBNAILSTITLE: 'Ongebruikte miniatuur afbeeldingen' + UNUSEDTHUMBNAILSTITLE: 'Ongebruikte miniatuurafbeeldingen' UploadFilesButton: Uploaden LeftAndMain: DELETED: Verwijderd. - PreviewButton: Voorbeeld + PreviewButton: Voorbeeld bekijken SAVEDUP: Opgeslagen. SearchResults: 'Zoekresultaten' Permission: - CMS_ACCESS_CATEGORY: 'CMS Toegang' + CMS_ACCESS_CATEGORY: 'CMS toegang' Permissions: CONTENT_CATEGORY: 'Inhoudsrechten' PERMISSIONS_CATEGORY: 'Rollen en toegangsrechten' RedirectorPage: DESCRIPTION: 'Verwijst naar een andere pagina op deze site' - HASBEENSETUP: 'Er is een verwijs pagina opgezet zonder ergens naar door te verwijzen.' + HASBEENSETUP: 'Er is een verwijspagina opgezet zonder ergens naar te verwijzen.' HEADER: 'Deze pagina zal gebruikers naar een andere pagina doorsturen (redirect)' OTHERURL: 'Andere website URL' PLURALNAME: 'Verwijzingspagina''s' @@ -249,21 +252,21 @@ nl: SITETREE: VIRTUALPAGEDRAFTWARNING: 'U dient eerst de gekoppelde pagina te publiceren voordat u de virtuele pagina publiceert.' VIRTUALPAGEWARNING: 'U dient eerst een gekoppelde pagina te selecteren en op te slaan voordat u deze pagina kunt publiceren.' - VIRTUALPAGEWARNINGSETTINGS: 'U dient een gekoppelde pagina te selecteren in de inhoud velden voor dat u kunt publiceren.' + VIRTUALPAGEWARNINGSETTINGS: 'U dient een gekoppelde pagina te selecteren op het hoofdscherm voordat u kunt publiceren.' SearchForm: GO: Zoeken SEARCH: Zoeken SearchResults: 'Zoekresultaten' SideReport: BROKENFILES: 'Pagina''s met verbroken bestanden' - BROKENLINKS: 'Pagina''s met verbroken verwijzingen' - BROKENREDIRECTORPAGES: 'RedirectorPages die naar verwijderde pagina''s verwijzen' - BROKENVIRTUALPAGES: 'VirtuelePagina''s die naar verwijderde pagina''s verwijzen' - BrokenLinksGroupTitle: 'Verbroken verwijzingen raportage' - ContentGroupTitle: 'Inhoudsrapportages' + BROKENLINKS: 'Pagina''s met verbroken links' + BROKENREDIRECTORPAGES: 'Verwijzingspagina''s die naar verwijderde pagina''s verwijzen' + BROKENVIRTUALPAGES: 'Virtuele pagina''s die naar verwijderde pagina''s verwijzen' + BrokenLinksGroupTitle: 'Rapport van verbroken links' + ContentGroupTitle: 'Inhoudsrapporten' EMPTYPAGES: 'Lege pagina''s' LAST2WEEKS: 'Pagina''s gewijzigd in de laatste twee weken' - OtherGroupTitle: Anders + OtherGroupTitle: Andere ParameterLiveCheckbox: 'Controleer gepubliceerde site' REPEMPTY: 'Het {title} rapport is leeg.' SilverStripeNavigator: @@ -276,19 +279,19 @@ nl: SiteConfig: DEFAULTTHEME: '(Gebruik standaard thema)' EDITHEADER: 'Wie kan pagina''s op de site wijzigen?' - EDIT_PERMISSION: 'Aanpassen site configuratie' + EDIT_PERMISSION: 'Site configuratie beheren' EDIT_PERMISSION_HELP: 'Bevoegdheid om globale toegangsinstellingen/hoogste niveau pagina rechten te bewerken.' PLURALNAME: 'Website instellingen' SINGULARNAME: 'Website instellingen' SITENAMEDEFAULT: 'Jouw Site Naam' - SITETAGLINE: 'Site Slogan/Motto' + SITETAGLINE: 'Site Slagzin/Slogan' SITETITLE: 'Site Titel' TABACCESS: Toegang TABMAIN: Hoofd - TAGLINEDEFAULT: 'jouw motto hier' + TAGLINEDEFAULT: 'jouw slagzin hier' THEME: Thema - TOPLEVELCREATE: 'Wie kunnen pagina''s in op het hoogste niveau van de site aanmaken?' - VIEWHEADER: 'Wie kunnen pagina''s op de site bekijken?' + TOPLEVELCREATE: 'Wie kan pagina''s op het hoogste niveau van de site aanmaken?' + VIEWHEADER: 'Wie kan pagina''s op de site bekijken?' SiteTree: ACCESSANYONE: Iedereen ACCESSHEADER: 'Wie kan deze pagina bekijken?' @@ -299,7 +302,7 @@ nl: ALLOWCOMMENTS: 'Commentaar toestaan op deze pagina?' APPEARSVIRTUALPAGES: 'Deze inhoud verschijnt ook op de virtuele pagina''s in de {title} gedeeltes.' BUTTONCANCELDRAFT: 'Annuleer veranderingen op dit concept' - BUTTONCANCELDRAFTDESC: 'Verwijder het concept en zet de gepubliceerde pagina''s naar deze concept pagina' + BUTTONCANCELDRAFTDESC: 'Verwijder het concept en zet de gepubliceerde pagina terug' BUTTONPUBLISHED: Gepubliceerd BUTTONSAVED: Opgeslagen BUTTONSAVEPUBLISH: 'Opslaan & publiceren' @@ -311,33 +314,33 @@ nl: DEFAULTABOUTTITLE: 'Over Ons' DEFAULTCONTACTCONTENT: 'Je kan deze pagina vullen met je eigen inhoud, of ze verwijderen en je eigen pagina''s aanmaken.
' DEFAULTCONTACTTITLE: 'Contact' - DEFAULTHOMECONTENT: 'Welkom bij Silverstripe! Dit is de standaard homepagina. Je kan deze pagina wijzigen door het CMS te openen. Je kan nu de documentatie voor ontwikkelaars bekijken, of aan de tutorials beginnen.' + DEFAULTHOMECONTENT: '
Welkom bij Silverstripe! Dit is de standaard homepagina. Je kan deze pagina wijzigen door het CMS te openen. Je kan nu de documentatie voor ontwikkelaars bekijken, of aan de tutorials beginnen.' DEFAULTHOMETITLE: Home DELETEDPAGEHELP: 'Deze pagina is niet langer gepubliceerd' DELETEDPAGESHORT: Verwijderd - DEPENDENT_NOTE: 'De volgende pagina''s zijn afhankelijk van deze pagina. Hieronder vallen virtuelepagina''s, verwijsingspagina''s en pagina''s met links in de inhoud.' - DESCRIPTION: 'Algemene tekst pagina' + DEPENDENT_NOTE: 'De volgende pagina''s zijn afhankelijk van deze pagina. Hieronder vallen virtuele pagina''s, verwijzingspagina''s en pagina''s met links in hun inhoud.' + DESCRIPTION: 'Algemene inhoud pagina' DependtPageColumnLinkType: 'Linktype' DependtPageColumnURL: URL EDITANYONE: 'Iedereen die kan inloggen in het CMS' EDITHEADER: 'Wie kan deze pagina wijzigen?' EDITONLYTHESE: 'Alleen deze gebruikers (kies uit de lijst)' - EDITORGROUPS: 'Wijziginggroepen' - EDIT_ALL_DESCRIPTION: 'Kan iedere pagina wijzigen, ongeacht de specifieke pagina beveiliging' + EDITORGROUPS: 'Redacteursgroepen' + EDIT_ALL_DESCRIPTION: 'Kan elke pagina wijzigen' EDIT_ALL_HELP: 'Bevoegdheid om alle pagina''s op de site te wijzigen, onafhankelijk van de instellingen in het ''Toegang'' tabblad. Vereist "Toegang tot site inhoud" rechten' Editors: 'Redacteursgroepen' GroupPlaceholder: 'Klik om de groep te selecteren' - HASBROKENLINKS: 'Deze pagina heeft gebroken links.' + HASBROKENLINKS: 'Deze pagina heeft verbroken links.' HTMLEDITORTITLE: Inhoud INHERIT: 'Overnemen van de bovenliggende pagina' LASTPUBLISHED: 'Laatste publicatiedatum' LASTSAVED: 'Laatste keer opgeslagen' LASTUPDATED: 'Laatst bijgewerkt' - LINKCHANGENOTE: 'Het veranderen van de link van deze pagina beïnvloed de links van alle onderliggende pagina''s. ' + LINKCHANGENOTE: 'Het veranderen van de link van deze pagina beïnvloedt de links van alle onderliggende pagina''s. ' MENUTITLE: 'Navigatie label' - METADESC: 'Omschrijving' + METADESC: 'Meta omschrijving' METADESCHELP: 'Zoekmachines gebruiken deze inhoud voor het weergeven van zoekresultaten (hoewel het hun ranking niet zal beïnvloeden).' - METAEXTRA: 'Aangepaste Meta Labels' + METAEXTRA: 'Andere meta tags' METAEXTRAHELP: 'HTML-tags voor extra meta-informatie. Bijvoorbeeld <meta name = "customName" content="uw aangepaste inhoud"/>' MODIFIEDONDRAFTHELP: 'Pagina heeft wijzigingen die nog niet gepubliceerd zijn' MODIFIEDONDRAFTSHORT: Aangepast @@ -349,41 +352,41 @@ nl: PAGETITLE: 'Pagina titel' PAGETYPE: 'Pagina type' PARENTID: 'Bovenliggende pagina' - PARENTTYPE: 'Pagina lokatie' - PARENTTYPE_ROOT: 'Top-level pagina' - PARENTTYPE_SUBPAGE: 'Subpagina onder bovenliggende pagina (kies hieronder)' - PERMISSION_GRANTACCESS_DESCRIPTION: 'Instellen welke groepen toegang hebben tot bepaalde pagina''s of deze kunnen bewerken' + PARENTTYPE: 'Pagina locatie' + PARENTTYPE_ROOT: 'Top-niveau pagina' + PARENTTYPE_SUBPAGE: 'Subpagina onder een bovenliggende pagina' + PERMISSION_GRANTACCESS_DESCRIPTION: 'Beheer toegangsrechten voor inhoud' PERMISSION_GRANTACCESS_HELP: 'Bevoegdheid om pagina specifieke toegangsrechten in de "Pagina''s" sectie te wijzigen.' - PLURALNAME: Pagina’s + PLURALNAME: Pagina's PageTypNotAllowedOnRoot: 'Paginatype "{type}" is niet toegestaan op het hoogste niveau' PageTypeNotAllowed: 'Pagina type "{type}" mag niet ondergeschikt zijn aan deze bovenliggende pagina' - REMOVEDFROMDRAFTHELP: 'Deze pagina is gepubliceerd, maar verwijderd uit de conceptsite' - REMOVEDFROMDRAFTSHORT: 'Verwijderd van de concept-site' + REMOVEDFROMDRAFTHELP: 'Deze pagina is gepubliceerd, maar verwijderd uit de concept site' + REMOVEDFROMDRAFTSHORT: 'Verwijderd van de concept site' REMOVE_INSTALL_WARNING: 'Let op: Het is veiliger om het bestand install.php uit deze SilverStripe installatie te verwijderen' - REORGANISE_DESCRIPTION: 'Mag de site structuur wijzigen' - REORGANISE_HELP: 'Pas pagina volgorde aan in de site structuur met behulp van verslepen.' + REORGANISE_DESCRIPTION: 'Site structuur wijzigen' + REORGANISE_HELP: 'Pas de volgorde van de pagina''s aan door te verslepen.' SHOWINMENUS: 'Weergeven in menu''s?' SHOWINSEARCH: 'Weergeven in zoeken?' SINGULARNAME: Pagina TABBEHAVIOUR: Gedrag - TABCONTENT: 'Inhoud' + TABCONTENT: 'Hoofdinhoud' TABDEPENDENT: 'Afhankelijke pagina''s' - TOPLEVEL: 'Site Inhoud (Top Niveau)' + TOPLEVEL: 'Site inhoud (hoogste niveau)' TOPLEVELCREATORGROUPS: 'Hoogste niveau auteurs' - URLSegment: 'URL Segment' - VIEWERGROUPS: 'Toegangsgroepen' + URLSegment: 'URL segment' + VIEWERGROUPS: 'Bekijkersgroepen' VIEW_ALL_DESCRIPTION: 'Kan iedere pagina op de website bekijken, ongeacht de specifieke pagina instelling' VIEW_ALL_HELP: 'Bevoegdheid om alle pagina''s op de site te wijzigen, onafhankelijk van de instellingen in het ''Toegang'' tabblad. Vereist "Toegang tot site inhoud" rechten' VIEW_DRAFT_CONTENT: 'Bekijk concept inhoud' VIEW_DRAFT_CONTENT_HELP: 'Bevoegdheid om pagina''s buiten het CMS in concept mode te bekijken. Nuttig voor externe medewerkers zonder CMS toegang.' - Viewers: 'Gebruikersgroepen' + Viewers: 'Bekijkersgroepen' Visibility: Zichtbaarheid has_one_Parent: 'Bovenliggende pagina' - many_many_BackLinkTracking: 'Wederlink Volgen' - many_many_ImageTracking: 'Afbeelding Volgen' - many_many_LinkTracking: 'Link Volgen' + many_many_BackLinkTracking: 'Backlinks traceren' + many_many_ImageTracking: 'Afbeeldingen traceren' + many_many_LinkTracking: 'Links traceren' SiteTreeURLSegmentField: - EMPTY: 'Vul een URL Segment in of selecteer annuleren' + EMPTY: 'Vul een URL segment in of klik op annuleren' HelpChars: 'Speciale tekens worden automatische omgezet of verwijderd.' URLSegmentField: Cancel: Annuleer @@ -391,7 +394,7 @@ nl: OK: OK ViewArchivedEmail_ss: CANACCESS: 'U kunt de gearchiveerde site bekijken via deze link:' - HAVEASKED: 'U heeft de inhoud van onze site opgevraagd op' + HAVEASKED: 'U heeft gevraagd de inhoud van onze site te bekijken op' VirtualPage: CHOOSE: 'Gekoppelde pagina' DESCRIPTION: 'Geeft de inhoud van een andere pagina weer' @@ -400,12 +403,18 @@ nl: HEADERWITHLINK: 'Dit is een virtuele pagina met de inhoud van "{title}" ({link})' PLURALNAME: 'Virtuele pagina''s' PageTypNotAllowedOnRoot: 'Voor deze virtuele pagina is het originele paginatype "{type}" niet toegestaan op het hoogste niveau.' - SINGULARNAME: 'Virtuele Pagina' + SINGULARNAME: 'Virtuele pagina' CMSFileAddController: MENUTITLE: Bestanden CMSPageEditController: - MENUTITLE: 'Wijzig Pagina' + MENUTITLE: 'Wijzig pagina' CMSPageSettingsController: MENUTITLE: 'Wijzig pagina' CMSSettingsController: MENUTITLE: Instellingen + CMSSiteTreeFilter_StatusDeletedPages: + Title: 'Verwijderde pagina''s' + CMSSiteTreeFilter_StatusDraftPages: + Title: 'Niet gepubliceerde concept pagina''s' + CMSSiteTreeFilter_StatusRemovedFromDraftPages: + Title: 'Gepubliceerd maar verwijderd uit concept' diff --git a/lang/pl.yml b/lang/pl.yml index 9ea60e4f..78ae5657 100644 --- a/lang/pl.yml +++ b/lang/pl.yml @@ -19,7 +19,7 @@ pl: FROMYOURCOMPUTER: 'Z komputera' Filetype: 'Typ pliku' ListView: 'Widok listy' - NEWFOLDER: NowyKatalog + NEWFOLDER: Nowy katalog SIZE: Rozmiar THUMBSDELETED: '{count} nieuzywane miniatury zostały usunięte' TreeView: 'Widok drzewa' @@ -73,8 +73,9 @@ pl: ACCESS: 'Dostęp do sekcji ''{title}''' ACCESS_HELP: 'Zezwala na oglądanie sekcji zawierających drzewo stron oraz treść. Prawo Przeglądaj i edytuj może być obsługiwane przez pola wyboru dostępne na stronach oraz poprzez zakładkę uprawnień.' AddNew: 'Dodaj nową stronę' - AddNewButton: 'Dodaj nowy' + AddNewButton: 'Dodaj nową' AddPageRestriction: 'Uwaga: Niektóre typy stron nie są dozwolone dla tego wyboru' + Cancel: Anuluj ChoosePageParentMode: 'Wybierz gdzie chcesz utworzyć tę stronę' ChoosePageType: 'Wybierz rodzaj strony' Create: Utwórz @@ -285,7 +286,7 @@ pl: SITETITLE: 'Tytuł serwisu' TABACCESS: Dostęp TABMAIN: Główny - TAGLINEDEFAULT: 'napisz swój slogan tutaj' + TAGLINEDEFAULT: 'wpisz swój slogan' THEME: Szablon TOPLEVELCREATE: 'Kto może tworzyć strony w korzeniu serwisu?' VIEWHEADER: 'Kto może oglądać strony serwisu?' @@ -409,3 +410,9 @@ pl: MENUTITLE: 'Edytuj stronę' CMSSettingsController: MENUTITLE: Ustawienia + CMSSiteTreeFilter_StatusDeletedPages: + Title: 'Usunięte strony' + CMSSiteTreeFilter_StatusDraftPages: + Title: 'Szkic nieopublikowanych stron' + CMSSiteTreeFilter_StatusRemovedFromDraftPages: + Title: 'Opublikowana ale usunięta ze szkicu strony' diff --git a/lang/ru.yml b/lang/ru.yml index fb87a053..698d400b 100644 --- a/lang/ru.yml +++ b/lang/ru.yml @@ -75,6 +75,7 @@ ru: AddNew: 'Добавить новую страницу' AddNewButton: 'Добавить' AddPageRestriction: 'Внимание: некоторые типы страниц в этом случае недоступны для выбора' + Cancel: Отмена ChoosePageParentMode: 'Выберите, где создать страницу' ChoosePageType: 'Выберите тип страницы' Create: Создать @@ -199,6 +200,8 @@ ru: 415: '415 - Неподдерживаемый тип данных' 416: '416 - Запрашиваемый диапазон не достижим' 417: '417 - Ожидаемое ошибочно' + 422: '422 - Необрабатываемый экземпляр' + 429: '429 - Слишком много запросов' 500: '500 - Внутренняя ошибка сервера' 501: '501 - Невыполнимо' 502: '502 - Плохой шлюз' @@ -409,3 +412,9 @@ ru: MENUTITLE: 'Править страницу' CMSSettingsController: MENUTITLE: Настройки + CMSSiteTreeFilter_StatusDeletedPages: + Title: 'Удаленные страницы' + CMSSiteTreeFilter_StatusDraftPages: + Title: 'Неопубликованные черновые страницы' + CMSSiteTreeFilter_StatusRemovedFromDraftPages: + Title: 'Опубликовано, но удалено из черновика' diff --git a/lang/sk.yml b/lang/sk.yml index 3c6ab935..53fd1b6f 100644 --- a/lang/sk.yml +++ b/lang/sk.yml @@ -200,6 +200,8 @@ sk: 415: '415 - Nepodporovaný typ média' 416: '416 - Rozsah požiadavky nie je dostačujúci' 417: '417 - Zlyhanie očakávania' + 422: '422 - Nespracovateľná entita' + 429: '429 - Príliš veľa požiadavkov' 500: '500 - Interná chyba serveru' 501: '501 - Nie je implementované' 502: '502 - Nesprávna brána' diff --git a/tests/behat/features/insert-a-link.feature b/tests/behat/features/insert-a-link.feature index be57ac3c..055be288 100644 --- a/tests/behat/features/insert-a-link.feature +++ b/tests/behat/features/insert-a-link.feature @@ -7,6 +7,7 @@ So that I can link to a external website or a page on my site Background: Given a "page" "Home" And a "page" "About Us" has the "Content" "My awesome content" + And a "page" "Details" has the "Content" "My sub-par content" And a "file" "assets/file1.jpg" And I am logged in with "ADMIN" permissions And I go to "/admin/pages" @@ -24,6 +25,18 @@ So that I can link to a external website or a page on my site # Required to avoid "unsaved changes" browser dialog Then I press the "Save draft" button + Scenario: I can link to an anchor in an internal page + Given I select "awesome" in the "Content" HTML field + And I press the "Insert Link" button + And I select the "Page on the site" radio button + And I fill in the "Page" dropdown with "Details" + And I wait for 1 second + And I select "youranchor" from "Form_EditorToolbarLinkForm_AnchorSelector" + And I press the "Insert link" button + Then the "Content" HTML field should contain "awesome" + # Required to avoid "unsaved changes" browser dialog + Then I press the "Save draft" button + Scenario: I can link to an external URL Given I select "awesome" in the "Content" HTML field And I press the "Insert Link" button @@ -46,18 +59,18 @@ So that I can link to a external website or a page on my site Then I press the "Save draft" button Scenario: I can link to an anchor - Given I fill in the "Content" HTML field with "
" + Given I fill in the "Content" HTML field with "" And I select "awesome" in the "Content" HTML field When I press the "Insert Link" button When I select the "Anchor on this page" radio button - And I fill in "myanchor" for "Anchor" + And I select "myanchor" from "Form_EditorToolbarLinkForm_AnchorSelector" And I press the "Insert link" button Then the "Content" HTML field should contain "awesome" # Required to avoid "unsaved changes" browser dialog Then I press the "Save draft" button Scenario: I can edit a link - Given I fill in the "Content" HTML field with "My awesome content" + Given I fill in the "Content" HTML field with "
My awesome content" And I select "awesome" in the "Content" HTML field When I press the "Insert Link" button # We need to hard-code the id attribute, if you say 'Then the URL field', it picks up URLSegment instead. @@ -70,10 +83,10 @@ So that I can link to a external website or a page on my site Then I press the "Save draft" button Scenario: I can remove a link - Given I fill in the "Content" HTML field with "My awesome content" + Given I fill in the "Content" HTML field with "My awesome content" And I select "awesome" in the "Content" HTML field When I press the "Unlink" button Then the "Content" HTML field should contain "My awesome content" And the "Content" HTML field should not contain "http://silverstripe.org" # Required to avoid "unsaved changes" browser dialog - Then I press the "Save draft" button \ No newline at end of file + Then I press the "Save draft" button diff --git a/tests/behat/features/search-for-a-page.feature b/tests/behat/features/search-for-a-page.feature index e48c2967..5d799160 100644 --- a/tests/behat/features/search-for-a-page.feature +++ b/tests/behat/features/search-for-a-page.feature @@ -96,3 +96,18 @@ Feature: Search for a page And I press the "Apply Filter" button Then I should see "Live Page" in the tree And I should not see "About Us" in the tree + + Scenario: I can include only live pages in my search + Given a "page" "Live Page" + And the "page" "Live Page" is published + And a "page" "Draft Page" + And a "page" "Draft Page" is unpublished + And a "page" "Deleted Page" + And the "page" "Deleted Page" is unpublished + And the "page" "Deleted Page" is deleted + + When I select "Published pages" from "Pages" + And I press the "Apply Filter" button + Then I should not see "Draft Page" in the tree + And I should not see "Deleted Page" in the tree + But I should see "Live Page" in the tree \ No newline at end of file diff --git a/tests/controller/AssetAdminTest.php b/tests/controller/AssetAdminTest.php new file mode 100644 index 00000000..27344365 --- /dev/null +++ b/tests/controller/AssetAdminTest.php @@ -0,0 +1,114 @@ +allFixtureIDs('Folder'); + foreach($folderIDs as $folderID) { + $folder = DataObject::get_by_id('Folder', $folderID); + if(!file_exists(BASE_PATH."/$folder->Filename")) mkdir(BASE_PATH."/$folder->Filename"); + } + + // Create a test files for each of the fixture references + $fileIDs = $this->allFixtureIDs('File'); + foreach($fileIDs as $fileID) { + $file = DataObject::get_by_id('File', $fileID); + $fh = fopen(BASE_PATH."/$file->Filename", "w"); + fwrite($fh, str_repeat('x',1000000)); + fclose($fh); + } + } + + public function tearDown() { + parent::tearDown(); + + // Remove the test files that we've created + $fileIDs = $this->allFixtureIDs('File'); + foreach($fileIDs as $fileID) { + $file = DataObject::get_by_id('File', $fileID); + if($file && file_exists(BASE_PATH."/$file->Filename")) unlink(BASE_PATH."/$file->Filename"); + } + + // Remove the test folders that we've crated + $folderIDs = $this->allFixtureIDs('Folder'); + foreach($folderIDs as $folderID) { + $folder = DataObject::get_by_id('Folder', $folderID); + if($folder && file_exists(BASE_PATH."/$folder->Filename")) { + Filesystem::removeFolder(BASE_PATH."/$folder->Filename"); + } + } + + // Remove left over folders and any files that may exist + if(file_exists(ASSETS_PATH.'/AssetAdminTest')) { + Filesystem::removeFolder(ASSETS_PATH.'/AssetAdminTest'); + } + } + + /** + * Mock a file search using AssetAdmin + * + * @param string $name + * @param string $from Created from date + * @param string $to Createi to date + * @param string $category + * @return SS_List + */ + protected function getResultsForSearch($name = '', $from = '', $to = '', $category = '') { + $request = new SS_HTTPRequest(null, 'admin/assets/show', array( + 'q' => array( + 'Name' => $name, + 'CreatedFrom' => $from, + 'CreatedTo' => $to, + 'AppCategory' => $category + ), + 'action_doSearch' => 'Apply Filter' + )); + $admin = new AssetAdmin(); + $admin->setRequest($request); + return $admin->getList(); + } + + /** + * Tests filtering between date ranges + */ + public function testDateFromToLastSameDate() { + $file1 = $this->objFromFixture('File', 'file1'); + $file2 = $this->objFromFixture('File', 'file2'); + + // Force creation times + $file1->Created = '2014-01-05 23:11:39'; + $file1->write(); + $file2->Created = '2014-01-06 12:00:00'; + $file2->write(); + + // Mock searches for 4th Jan + $results = $this->getResultsForSearch(null, '2014-01-04', '2014-01-04'); + $this->assertEmpty($results->column('Title')); + + // Mock searches for 5th Jan + $results = $this->getResultsForSearch(null, '2014-01-05', '2014-01-05'); + $this->assertEquals(array('File1'), $results->column('Title')); + + // Mock searches for 5th-6th Jan + $results = $this->getResultsForSearch(null, '2014-01-05', '2014-01-06'); + $this->assertEquals(array('File1', 'File2'), $results->sort('Title')->column('Title')); + + // Mock searches for 6th Jan + $results = $this->getResultsForSearch(null, '2014-01-06', '2014-01-06'); + $this->assertEquals(array('File2'), $results->column('Title')); + + // Mock searches for 7th Jan + $results = $this->getResultsForSearch(null, '2014-01-07', '2014-01-07'); + $this->assertEmpty($results->column('Title')); + } +} diff --git a/tests/controller/AssetAdminTest.yml b/tests/controller/AssetAdminTest.yml new file mode 100644 index 00000000..dd3172aa --- /dev/null +++ b/tests/controller/AssetAdminTest.yml @@ -0,0 +1,12 @@ +Folder: + folder1: + Name: AssetAdminTest +File: + file1: + Title: File1 + Filename: assets/AssetAdminTest/file1.txt + ParentID: =>Folder.folder1 + file2: + Title: File2 + Filename: assets/AssetAdminTest/file2.txt + ParentID: =>Folder.folder1 diff --git a/tests/controller/CMSMainTest.php b/tests/controller/CMSMainTest.php index 7355cc25..f2d1f31d 100644 --- a/tests/controller/CMSMainTest.php +++ b/tests/controller/CMSMainTest.php @@ -351,6 +351,92 @@ class CMSMainTest extends FunctionalTest { $this->assertEquals($controller->getResponse()->getStatusCode(), 302); } } + + /** + * Tests filtering in {@see CMSMain::getList()} + */ + public function testGetList() { + $controller = new CMSMain(); + + // Test all pages (stage) + $pages = $controller->getList()->sort('Title'); + $this->assertEquals(28, $pages->count()); + $this->assertEquals( + array('Home', 'Page 1', 'Page 10', 'Page 11', 'Page 12'), + $pages->Limit(5)->column('Title') + ); + + // Change state of tree + $page1 = $this->objFromFixture('Page', 'page1'); + $page3 = $this->objFromFixture('Page', 'page3'); + $page11 = $this->objFromFixture('Page', 'page11'); + $page12 = $this->objFromFixture('Page', 'page12'); + // Deleted + $page1->doUnpublish(); + $page1->delete(); + // Live and draft + $page11->publish('Stage', 'Live'); + // Live only + $page12->publish('Stage', 'Live'); + $page12->delete(); + + // Re-test all pages (stage) + $pages = $controller->getList()->sort('Title'); + $this->assertEquals(26, $pages->count()); + $this->assertEquals( + array('Home', 'Page 10', 'Page 11', 'Page 13', 'Page 14'), + $pages->Limit(5)->column('Title') + ); + + // Test deleted page filter + $params = array( + 'FilterClass' => 'CMSSiteTreeFilter_StatusDeletedPages' + ); + $pages = $controller->getList($params); + $this->assertEquals(1, $pages->count()); + $this->assertEquals( + array('Page 1'), + $pages->column('Title') + ); + + // Test live, but not on draft filter + $params = array( + 'FilterClass' => 'CMSSiteTreeFilter_StatusRemovedFromDraftPages' + ); + $pages = $controller->getList($params); + $this->assertEquals(1, $pages->count()); + $this->assertEquals( + array('Page 12'), + $pages->column('Title') + ); + + // Test live pages filter + $params = array( + 'FilterClass' => 'CMSSIteTreeFilter_PublishedPages' + ); + $pages = $controller->getList($params); + $this->assertEquals(2, $pages->count()); + $this->assertEquals( + array('Page 11', 'Page 12'), + $pages->column('Title') + ); + + // Test that parentID is ignored when filtering + $pages = $controller->getList($params, $page3->ID); + $this->assertEquals(2, $pages->count()); + $this->assertEquals( + array('Page 11', 'Page 12'), + $pages->column('Title') + ); + + // Test that parentID is respected when not filtering + $pages = $controller->getList(array(), $page3->ID); + $this->assertEquals(2, $pages->count()); + $this->assertEquals( + array('Page 3.1', 'Page 3.2'), + $pages->column('Title') + ); + } } class CMSMainTest_ClassA extends Page implements TestOnly { diff --git a/tests/controller/CMSSiteTreeFilterTest.php b/tests/controller/CMSSiteTreeFilterTest.php index adeb571d..a3147158 100644 --- a/tests/controller/CMSSiteTreeFilterTest.php +++ b/tests/controller/CMSSiteTreeFilterTest.php @@ -72,6 +72,17 @@ class CMSSiteTreeFilterTest extends SapphireTest { $f = new CMSSiteTreeFilter_ChangedPages(array('Term' => 'No Matches')); $results = $f->pagesIncluded(); $this->assertEquals(0, count($results)); + + // If we roll back to an earlier version than what's on the published site, we should still show the changed + $changedPage->Title = 'Changed 2'; + $changedPage->publish('Stage', 'Live'); + $changedPage->doRollbackTo(1); + + $f = new CMSSiteTreeFilter_ChangedPages(array('Term' => 'Changed')); + $results = $f->pagesIncluded(); + + $this->assertEquals(1, count($results)); + $this->assertEquals(array('ID' => $changedPage->ID, 'ParentID' => 0), $results[0]); } public function testDeletedPagesFilter() { @@ -114,7 +125,19 @@ class CMSSiteTreeFilterTest extends SapphireTest { $f = new CMSSiteTreeFilter_StatusDraftPages(); $draftPage->delete(); $this->assertEmpty($f->isPageIncluded($draftPage)); - } + } + + public function testDateFromToLastSameDate() { + $draftPage = $this->objFromFixture('Page', 'page4'); + // Grab the date + $date = substr($draftPage->LastEdited, 0, 10); + // Filter with that date + $filter = New CMSSiteTreeFilter_Search(array( + 'LastEditedFrom' => $date, + 'LastEditedTo' => $date + )); + $this->assertTrue($filter->isPageIncluded($draftPage), 'Using the same date for from and to should show find that page'); + } public function testStatusRemovedFromDraftFilter() { $removedDraftPage = $this->objFromFixture('Page', 'page6'); diff --git a/tests/model/SiteTreeTest.yml b/tests/model/SiteTreeTest.yml index 4bfaa3ae..9e07ec58 100755 --- a/tests/model/SiteTreeTest.yml +++ b/tests/model/SiteTreeTest.yml @@ -56,6 +56,7 @@ Page: Title: Staff URLSegment: my-staff Parent: =>Page.about + ShowInMenus: 0 products: Title: Products CanEditType: OnlyTheseUsers