mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge remote-tracking branch 'origin/3.0'
This commit is contained in:
commit
a8f335360b
@ -7,8 +7,10 @@ Director:
|
|||||||
'': 'Controller'
|
'': 'Controller'
|
||||||
---
|
---
|
||||||
Name: coreroutes
|
Name: coreroutes
|
||||||
After: cms/routes#modelascontrollerroutes
|
|
||||||
Before: '*'
|
Before: '*'
|
||||||
|
After:
|
||||||
|
- framework/routes#rootroutes
|
||||||
|
- cms/routes#modelascontrollerroutes
|
||||||
---
|
---
|
||||||
Director:
|
Director:
|
||||||
rules:
|
rules:
|
||||||
@ -21,7 +23,11 @@ Director:
|
|||||||
'interactive': 'SapphireREPL'
|
'interactive': 'SapphireREPL'
|
||||||
---
|
---
|
||||||
Name: adminroutes
|
Name: adminroutes
|
||||||
After: framework/routes#coreroutes
|
Before: '*'
|
||||||
|
After:
|
||||||
|
- framework/routes#rootroutes
|
||||||
|
- framework/routes#coreroutes
|
||||||
|
- cms/routes#modelascontrollerroutes
|
||||||
---
|
---
|
||||||
Director:
|
Director:
|
||||||
rules:
|
rules:
|
||||||
|
@ -336,9 +336,8 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleRequest(SS_HTTPRequest $request, DataModel $model = null) {
|
function handleRequest(SS_HTTPRequest $request, DataModel $model = null) {
|
||||||
$title = $this->Title();
|
|
||||||
|
|
||||||
$response = parent::handleRequest($request, $model);
|
$response = parent::handleRequest($request, $model);
|
||||||
|
$title = $this->Title();
|
||||||
if(!$response->getHeader('X-Controller')) $response->addHeader('X-Controller', $this->class);
|
if(!$response->getHeader('X-Controller')) $response->addHeader('X-Controller', $this->class);
|
||||||
if(!$response->getHeader('X-Title')) $response->addHeader('X-Title', $title);
|
if(!$response->getHeader('X-Title')) $response->addHeader('X-Title', $title);
|
||||||
|
|
||||||
@ -1342,8 +1341,10 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function SectionTitle() {
|
function SectionTitle() {
|
||||||
if($title = $this->stat('menu_title')) return $title;
|
$class = get_class($this);
|
||||||
|
$defaultTitle = LeftAndMain::menu_title_for_class($class);
|
||||||
|
if($title = _t("{$class}.MENUTITLE", $defaultTitle)) return $title;
|
||||||
|
|
||||||
foreach($this->MainMenu() as $menuItem) {
|
foreach($this->MainMenu() as $menuItem) {
|
||||||
if($menuItem->LinkingMode != 'link') return $menuItem->Title;
|
if($menuItem->LinkingMode != 'link') return $menuItem->Title;
|
||||||
}
|
}
|
||||||
|
@ -231,6 +231,25 @@ class ClassInfo {
|
|||||||
|
|
||||||
return $matchedClasses;
|
return $matchedClasses;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static $method_from_cache = array();
|
||||||
|
|
||||||
|
static function has_method_from($class, $method, $compclass) {
|
||||||
|
if (!isset(self::$method_from_cache[$class])) self::$method_from_cache[$class] = array();
|
||||||
|
|
||||||
|
if (!array_key_exists($method, self::$method_from_cache[$class])) {
|
||||||
|
self::$method_from_cache[$class][$method] = false;
|
||||||
|
|
||||||
|
$classRef = new ReflectionClass($class);
|
||||||
|
|
||||||
|
if ($classRef->hasMethod($method)) {
|
||||||
|
$methodRef = $classRef->getMethod($method);
|
||||||
|
self::$method_from_cache[$class][$method] = $methodRef->getDeclaringClass()->getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::$method_from_cache[$class][$method] == $compclass;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,12 +173,6 @@ class Config {
|
|||||||
$this->collectConfigPHPSettings = false;
|
$this->collectConfigPHPSettings = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static $extra_static_sources = array();
|
|
||||||
|
|
||||||
static function add_static_source($forclass, $donorclass) {
|
|
||||||
self::$extra_static_sources[$forclass][] = $donorclass;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @var [Config_ForClass] - The list of Config_ForClass instances, keyed off class */
|
/** @var [Config_ForClass] - The list of Config_ForClass instances, keyed off class */
|
||||||
static protected $for_class_instances = array();
|
static protected $for_class_instances = array();
|
||||||
|
|
||||||
@ -371,14 +365,17 @@ class Config {
|
|||||||
|
|
||||||
// Then look at the static variables
|
// Then look at the static variables
|
||||||
$nothing = new stdClass();
|
$nothing = new stdClass();
|
||||||
$classes = array($class);
|
|
||||||
|
$sources = array($class);
|
||||||
// Include extensions only if not flagged not to, and some have been set
|
// Include extensions only if not flagged not to, and some have been set
|
||||||
if ((($sourceOptions & self::EXCLUDE_EXTRA_SOURCES) != self::EXCLUDE_EXTRA_SOURCES) && isset(self::$extra_static_sources[$class])) {
|
if (($sourceOptions & self::EXCLUDE_EXTRA_SOURCES) != self::EXCLUDE_EXTRA_SOURCES) {
|
||||||
$classes = array_merge($classes, self::$extra_static_sources[$class]);
|
$extraSources = Object::get_extra_config_sources($class);
|
||||||
|
if ($extraSources) $sources = array_merge($sources, $extraSources);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($classes as $staticSource) {
|
foreach ($sources as $staticSource) {
|
||||||
$value = Object::static_lookup($staticSource, $name, $nothing);
|
if (is_array($staticSource)) $value = isset($staticSource[$name]) ? $staticSource[$name] : $nothing;
|
||||||
|
else $value = Object::static_lookup($staticSource, $name, $nothing);
|
||||||
|
|
||||||
if ($value !== $nothing) {
|
if ($value !== $nothing) {
|
||||||
self::merge_low_into_high($result, $value, $suppress);
|
self::merge_low_into_high($result, $value, $suppress);
|
||||||
|
65
core/DAG.php
65
core/DAG.php
@ -4,7 +4,7 @@
|
|||||||
* A Directed Acyclic Graph - used for doing topological sorts on dependencies, such as the before/after conditions
|
* A Directed Acyclic Graph - used for doing topological sorts on dependencies, such as the before/after conditions
|
||||||
* in config yaml fragments
|
* in config yaml fragments
|
||||||
*/
|
*/
|
||||||
class SS_DAG {
|
class SS_DAG implements IteratorAggregate {
|
||||||
/** @var array|null - The nodes/vertices in the graph. Should be a numeric sequence of items (no string keys, no gaps). */
|
/** @var array|null - The nodes/vertices in the graph. Should be a numeric sequence of items (no string keys, no gaps). */
|
||||||
protected $data;
|
protected $data;
|
||||||
|
|
||||||
@ -68,7 +68,68 @@ class SS_DAG {
|
|||||||
$dag = $withedges;
|
$dag = $withedges;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dag) throw new Exception("DAG has cyclic requirements");
|
if ($dag) {
|
||||||
|
$remainder = new SS_DAG($data); $remainder->dag = $dag;
|
||||||
|
throw new SS_DAG_CyclicException("DAG has cyclic requirements", $remainder);
|
||||||
|
}
|
||||||
return $sorted;
|
return $sorted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getIterator() {
|
||||||
|
return new SS_DAG_Iterator($this->data, $this->dag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SS_DAG_CyclicException extends Exception {
|
||||||
|
|
||||||
|
public $dag;
|
||||||
|
|
||||||
|
function __construct($message, $dag) {
|
||||||
|
$this->dag = $dag;
|
||||||
|
parent::__construct($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class SS_DAG_Iterator implements Iterator {
|
||||||
|
|
||||||
|
protected $data;
|
||||||
|
protected $dag;
|
||||||
|
|
||||||
|
protected $dagkeys;
|
||||||
|
protected $i;
|
||||||
|
|
||||||
|
function __construct($data, $dag) {
|
||||||
|
$this->data = $data;
|
||||||
|
$this->dag = $dag;
|
||||||
|
$this->rewind();
|
||||||
|
}
|
||||||
|
|
||||||
|
function key() {
|
||||||
|
return $this->i;
|
||||||
|
}
|
||||||
|
|
||||||
|
function current() {
|
||||||
|
$res = array();
|
||||||
|
|
||||||
|
$res['from'] = $this->data[$this->i];
|
||||||
|
|
||||||
|
$res['to'] = array();
|
||||||
|
foreach ($this->dag[$this->i] as $to) $res['to'][] = $this->data[$to];
|
||||||
|
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
|
||||||
|
function next() {
|
||||||
|
$this->i = array_shift($this->dagkeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
function rewind() {
|
||||||
|
$this->dagkeys = array_keys($this->dag);
|
||||||
|
$this->next();
|
||||||
|
}
|
||||||
|
|
||||||
|
function valid() {
|
||||||
|
return $this->i !== null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,14 +46,11 @@ abstract class Extension {
|
|||||||
/**
|
/**
|
||||||
* Called when this extension is added to a particular class
|
* Called when this extension is added to a particular class
|
||||||
*
|
*
|
||||||
* TODO: This is likely to be replaced by event sytem before 3.0 final, so be aware
|
|
||||||
* this API is fairly unstable.
|
|
||||||
*
|
|
||||||
* @static
|
* @static
|
||||||
* @param $class
|
* @param $class
|
||||||
*/
|
*/
|
||||||
static function add_to_class($class, $extensionClass, $args = null) {
|
static function add_to_class($class, $extensionClass, $args = null) {
|
||||||
Config::add_static_source($class, $extensionClass);
|
// NOP
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -463,6 +463,7 @@ abstract class Object {
|
|||||||
if($subclasses) foreach($subclasses as $subclass) {
|
if($subclasses) foreach($subclasses as $subclass) {
|
||||||
unset(self::$classes_constructed[$subclass]);
|
unset(self::$classes_constructed[$subclass]);
|
||||||
unset(self::$extra_methods[$subclass]);
|
unset(self::$extra_methods[$subclass]);
|
||||||
|
unset(self::$extension_sources[$subclass]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Config::inst()->update($class, 'extensions', array($extension));
|
Config::inst()->update($class, 'extensions', array($extension));
|
||||||
@ -505,6 +506,7 @@ abstract class Object {
|
|||||||
if($subclasses) foreach($subclasses as $subclass) {
|
if($subclasses) foreach($subclasses as $subclass) {
|
||||||
unset(self::$classes_constructed[$subclass]);
|
unset(self::$classes_constructed[$subclass]);
|
||||||
unset(self::$extra_methods[$subclass]);
|
unset(self::$extra_methods[$subclass]);
|
||||||
|
unset(self::$extension_sources[$subclass]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -531,38 +533,66 @@ abstract class Object {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
private static $_added_extensions = array();
|
private static $extension_sources = array();
|
||||||
|
|
||||||
|
// Don't bother checking some classes that should never be extended
|
||||||
|
private static $unextendable_classes = array('Object', 'ViewableData', 'RequestHandler');
|
||||||
|
|
||||||
|
static public function get_extra_config_sources($class = null) {
|
||||||
|
if($class === null) $class = get_called_class();
|
||||||
|
|
||||||
|
// If this class is unextendable, NOP
|
||||||
|
if(in_array($class, self::$unextendable_classes)) return;
|
||||||
|
|
||||||
|
// If we have a pre-cached version, use that
|
||||||
|
if(array_key_exists($class, self::$extension_sources)) return self::$extension_sources[$class];
|
||||||
|
|
||||||
|
// Variable to hold sources in
|
||||||
|
$sources = null;
|
||||||
|
|
||||||
|
// Get a list of extensions
|
||||||
|
$extensions = Config::inst()->get($class, 'extensions', Config::UNINHERITED | Config::EXCLUDE_EXTRA_SOURCES);
|
||||||
|
|
||||||
|
if($extensions) {
|
||||||
|
// Build a list of all sources;
|
||||||
|
$sources = array();
|
||||||
|
|
||||||
|
foreach($extensions as $extension) {
|
||||||
|
list($extensionClass, $extensionArgs) = self::parse_class_spec($extension);
|
||||||
|
$sources[] = $extensionClass;
|
||||||
|
|
||||||
|
if(!ClassInfo::has_method_from($extensionClass, 'add_to_class', 'Extension')) {
|
||||||
|
Deprecation::notice('3.1.0', "add_to_class deprecated on $extensionClass. Use get_extra_config instead");
|
||||||
|
}
|
||||||
|
|
||||||
|
call_user_func(array($extensionClass, 'add_to_class'), $class, $extensionClass, $extensionArgs);
|
||||||
|
|
||||||
|
foreach(array_reverse(ClassInfo::ancestry($extensionClass)) as $extensionClassParent) {
|
||||||
|
if (ClassInfo::has_method_from($extensionClassParent, 'get_extra_config', $extensionClassParent)) {
|
||||||
|
$extras = $extensionClassParent::get_extra_config($class, $extensionClass, $extensionArgs);
|
||||||
|
if ($extras) $sources[] = $extras;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::$extension_sources[$class] = $sources;
|
||||||
|
}
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->class = get_class($this);
|
$this->class = get_class($this);
|
||||||
|
|
||||||
// Don't bother checking some classes that should never be extended
|
foreach(ClassInfo::ancestry(get_called_class()) as $class) {
|
||||||
static $notExtendable = array('Object', 'ViewableData', 'RequestHandler');
|
if(in_array($class, self::$unextendable_classes)) continue;
|
||||||
|
$extensions = Config::inst()->get($class, 'extensions', Config::UNINHERITED | Config::EXCLUDE_EXTRA_SOURCES);
|
||||||
if($extensionClasses = ClassInfo::ancestry($this->class)) foreach($extensionClasses as $class) {
|
|
||||||
if(in_array($class, $notExtendable)) continue;
|
|
||||||
if($extensions = Config::inst()->get($class, 'extensions', Config::UNINHERITED)) {
|
|
||||||
foreach($extensions as $extension) {
|
|
||||||
// Get the extension class for this extension
|
|
||||||
list($extensionClass, $extensionArgs) = self::parse_class_spec($extension);
|
|
||||||
|
|
||||||
// If we haven't told that extension it's attached to this class yet, do that now
|
if($extensions) foreach($extensions as $extension) {
|
||||||
if (!isset(self::$_added_extensions[$extensionClass][$class])) {
|
$instance = self::create_from_string($extension);
|
||||||
// First call the add_to_class method - this will inherit down & is defined on Extension, so if not defined, no worries
|
$instance->setOwner(null, $class);
|
||||||
call_user_func(array($extensionClass, 'add_to_class'), $class, $extensionClass, $extensionArgs);
|
$this->extension_instances[$instance->class] = $instance;
|
||||||
|
|
||||||
// Then register it as having been told about us
|
|
||||||
if (!isset(self::$_added_extensions[$extensionClass])) self::$_added_extensions[$extensionClass] = array($class => true);
|
|
||||||
else self::$_added_extensions[$extensionClass][$class] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$instance = self::create_from_string($extension);
|
|
||||||
$instance->setOwner(null, $class);
|
|
||||||
$this->extension_instances[$instance->class] = $instance;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isset(self::$classes_constructed[$this->class])) {
|
if(!isset(self::$classes_constructed[$this->class])) {
|
||||||
$this->defineMethods();
|
$this->defineMethods();
|
||||||
self::$classes_constructed[$this->class] = true;
|
self::$classes_constructed[$this->class] = true;
|
||||||
|
@ -217,7 +217,8 @@ class SS_ConfigManifest {
|
|||||||
foreach (array('before', 'after') as $order) {
|
foreach (array('before', 'after') as $order) {
|
||||||
if (isset($header[$order])) {
|
if (isset($header[$order])) {
|
||||||
// First, splice into parts (multiple before or after parts are allowed, comma separated)
|
// First, splice into parts (multiple before or after parts are allowed, comma separated)
|
||||||
$orderparts = preg_split('/\s+,\s+/', $header[$order], PREG_SPLIT_NO_EMPTY);
|
if (is_array($header[$order])) $orderparts = $header[$order];
|
||||||
|
else $orderparts = preg_split('/\s*,\s*/', $header[$order], -1, PREG_SPLIT_NO_EMPTY);
|
||||||
|
|
||||||
// For each, parse out into module/file#name, and set any missing to "*"
|
// For each, parse out into module/file#name, and set any missing to "*"
|
||||||
$header[$order] = array();
|
$header[$order] = array();
|
||||||
@ -267,7 +268,30 @@ class SS_ConfigManifest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->yamlConfigFragments = $dag->sort();
|
try {
|
||||||
|
$this->yamlConfigFragments = $dag->sort();
|
||||||
|
}
|
||||||
|
catch (SS_DAG_CyclicException $e) {
|
||||||
|
|
||||||
|
if (!Director::isLive() && isset($_REQUEST['debug'])) {
|
||||||
|
$res = '<h1>Remaining config fragment graph</h1>';
|
||||||
|
$res .= '<dl>';
|
||||||
|
|
||||||
|
foreach ($e->dag as $node) {
|
||||||
|
$res .= "<dt>{$node['from']['module']}/{$node['from']['file']}#{$node['from']['name']} marked to come after</dt><dd><ul>";
|
||||||
|
foreach ($node['to'] as $to) {
|
||||||
|
$res .= "<li>{$to['module']}/{$to['file']}#{$to['name']}</li>";
|
||||||
|
}
|
||||||
|
$res .= "</ul></dd>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$res .= '</dl>';
|
||||||
|
echo $res;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -279,46 +303,55 @@ class SS_ConfigManifest {
|
|||||||
* @return string "after", "before" or "undefined"
|
* @return string "after", "before" or "undefined"
|
||||||
*/
|
*/
|
||||||
protected function relativeOrder($a, $b) {
|
protected function relativeOrder($a, $b) {
|
||||||
$matchesSomeRule = array();
|
$matches = array();
|
||||||
|
|
||||||
// Do the same thing for after and before
|
// Do the same thing for after and before
|
||||||
foreach (array('after'=>'before', 'before'=>'after') as $rulename => $opposite) {
|
foreach (array('before', 'after') as $rulename) {
|
||||||
$matchesSomeRule[$rulename] = false;
|
$matches[$rulename] = array();
|
||||||
|
|
||||||
// If no rule specified, we don't match it
|
// Figure out for each rule, which part matches
|
||||||
if (isset($a[$rulename])) {
|
if (isset($a[$rulename])) foreach ($a[$rulename] as $rule) {
|
||||||
|
$match = array();
|
||||||
foreach ($a[$rulename] as $rule) {
|
|
||||||
$matchesRule = true;
|
foreach(array('module', 'file', 'name') as $part) {
|
||||||
|
// If part is *, we match _unless_ the opposite rule has a non-* matcher than also matches $b
|
||||||
foreach(array('module', 'file', 'name') as $part) {
|
if ($rule[$part] == '*') {
|
||||||
$partMatches = true;
|
$match[$part] = 'wild';
|
||||||
|
}
|
||||||
// If part is *, we match _unless_ the opposite rule has a non-* matcher than also matches $b
|
else {
|
||||||
if ($rule[$part] == '*') {
|
$match[$part] = ($rule[$part] == $b[$part]);
|
||||||
if (isset($a[$opposite])) foreach($a[$opposite] as $oppositeRule) {
|
|
||||||
if ($oppositeRule[$part] == $b[$part]) { $partMatches = false; break; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$partMatches = ($rule[$part] == $b[$part]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$matchesRule = $matchesRule && $partMatches;
|
|
||||||
if (!$matchesRule) break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$matchesSomeRule[$rulename] = $matchesSomeRule[$rulename] || $matchesRule;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$matches[$rulename][] = $match;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if it matches both rules - problem if so
|
// Figure out the specificness of each match. 1 an actual match, 0 for a wildcard match, remove if no match
|
||||||
if ($matchesSomeRule['before'] && $matchesSomeRule['after']) {
|
$matchlevel = array('before' => -1, 'after' => -1);
|
||||||
|
|
||||||
|
foreach (array('before', 'after') as $rulename) {
|
||||||
|
foreach ($matches[$rulename] as $i => $rule) {
|
||||||
|
$level = 0;
|
||||||
|
|
||||||
|
foreach ($rule as $part => $partmatches) {
|
||||||
|
if ($partmatches === false) continue 2;
|
||||||
|
if ($partmatches === true) $level += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($matchlevel[$rulename] === false || $level > $matchlevel[$rulename]) $matchlevel[$rulename] = $level;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($matchlevel['before'] === -1 && $matchlevel['after'] === -1) {
|
||||||
|
return 'undefined';
|
||||||
|
}
|
||||||
|
else if ($matchlevel['before'] === $matchlevel['after']) {
|
||||||
user_error('Config fragment requires itself to be both before _and_ after another fragment', E_USER_ERROR);
|
user_error('Config fragment requires itself to be both before _and_ after another fragment', E_USER_ERROR);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
return $matchesSomeRule['before'] ? 'before' : ($matchesSomeRule['after'] ? 'after' : 'undefined');
|
return ($matchlevel['before'] > $matchlevel['after']) ? 'before' : 'after';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -749,27 +749,27 @@ class File extends DataObject {
|
|||||||
*/
|
*/
|
||||||
function getFileType() {
|
function getFileType() {
|
||||||
$types = array(
|
$types = array(
|
||||||
'gif' => 'GIF image - good for diagrams',
|
'gif' => _t('File.GifType', 'GIF image - good for diagrams'),
|
||||||
'jpg' => 'JPEG image - good for photos',
|
'jpg' => _t('File.JpgType', 'JPEG image - good for photos'),
|
||||||
'jpeg' => 'JPEG image - good for photos',
|
'jpeg' => _t('File.JpgType', 'JPEG image - good for photos'),
|
||||||
'png' => 'PNG image - good general-purpose format',
|
'png' => _t('File.PngType', 'PNG image - good general-purpose format'),
|
||||||
'ico' => 'Icon image',
|
'ico' => _t('File.IcoType', 'Icon image'),
|
||||||
'tiff' => 'Tagged image format',
|
'tiff' => _t('File.TiffType', 'Tagged image format'),
|
||||||
'doc' => 'Word document',
|
'doc' => _t('File.DocType', 'Word document'),
|
||||||
'xls' => 'Excel spreadsheet',
|
'xls' => _t('File.XlsType', 'Excel spreadsheet'),
|
||||||
'zip' => 'ZIP compressed file',
|
'zip' => _t('File.ZipType', 'ZIP compressed file'),
|
||||||
'gz' => 'GZIP compressed file',
|
'gz' => _t('File.GzType', 'GZIP compressed file'),
|
||||||
'dmg' => 'Apple disk image',
|
'dmg' => _t('File.DmgType', 'Apple disk image'),
|
||||||
'pdf' => 'Adobe Acrobat PDF file',
|
'pdf' => _t('File.PdfType', 'Adobe Acrobat PDF file'),
|
||||||
'mp3' => 'MP3 audio file',
|
'mp3' => _t('File.Mp3Type', 'MP3 audio file'),
|
||||||
'wav' => 'WAV audo file',
|
'wav' => _t('File.WavType', 'WAV audo file'),
|
||||||
'avi' => 'AVI video file',
|
'avi' => _t('File.AviType', 'AVI video file'),
|
||||||
'mpg' => 'MPEG video file',
|
'mpg' => _t('File.MpgType', 'MPEG video file'),
|
||||||
'mpeg' => 'MPEG video file',
|
'mpeg' => _t('File.MpgType', 'MPEG video file'),
|
||||||
'js' => 'Javascript file',
|
'js' => _t('File.JsType', 'Javascript file'),
|
||||||
'css' => 'CSS file',
|
'css' => _t('File.CssType', 'CSS file'),
|
||||||
'html' => 'HTML file',
|
'html' => _t('File.HtmlType', 'HTML file'),
|
||||||
'htm' => 'HTML file'
|
'htm' => _t('File.HtlType', 'HTML file')
|
||||||
);
|
);
|
||||||
|
|
||||||
$ext = $this->getExtension();
|
$ext = $this->getExtension();
|
||||||
|
@ -599,7 +599,11 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
|||||||
}
|
}
|
||||||
|
|
||||||
selector.empty();
|
selector.empty();
|
||||||
selector.append($('<option value="" selected="1">Select an anchor</option>'));
|
selector.append($(
|
||||||
|
'<option value="" selected="1">' +
|
||||||
|
ss.i18n._t('HtmlEditorField.SelectAnchor') +
|
||||||
|
'</option>'
|
||||||
|
));
|
||||||
for (var j = 0; j < anchors.length; j++) {
|
for (var j = 0; j < anchors.length; j++) {
|
||||||
selector.append($('<option value="'+anchors[j]+'">'+anchors[j]+'</option>'));
|
selector.append($('<option value="'+anchors[j]+'">'+anchors[j]+'</option>'));
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
|
|||||||
'FILEIFRAMEFIELD.CONFIRMDELETE': 'Are you sure you want to delete this file?',
|
'FILEIFRAMEFIELD.CONFIRMDELETE': 'Are you sure you want to delete this file?',
|
||||||
'LeftAndMain.IncompatBrowserWarning': 'Your browser is not compatible with the CMS interface. Please use Internet Explorer 7+, Google Chrome 10+ or Mozilla Firefox 3.5+.',
|
'LeftAndMain.IncompatBrowserWarning': 'Your browser is not compatible with the CMS interface. Please use Internet Explorer 7+, Google Chrome 10+ or Mozilla Firefox 3.5+.',
|
||||||
'GRIDFIELD.ERRORINTRANSACTION': 'An error occured while fetching data from the server\n Please try again later.',
|
'GRIDFIELD.ERRORINTRANSACTION': 'An error occured while fetching data from the server\n Please try again later.',
|
||||||
|
'HtmlEditorField.SelectAnchor': 'Select an anchor',
|
||||||
'UploadField.ConfirmDelete': 'Are you sure you want to remove this file from the server filesystem?',
|
'UploadField.ConfirmDelete': 'Are you sure you want to remove this file from the server filesystem?',
|
||||||
'UploadField.PHP_MAXFILESIZE': 'File exceeds upload_max_filesize (php.ini directive)',
|
'UploadField.PHP_MAXFILESIZE': 'File exceeds upload_max_filesize (php.ini directive)',
|
||||||
'UploadField.HTML_MAXFILESIZE': 'File exceeds MAX_FILE_SIZE (HTML form directive)',
|
'UploadField.HTML_MAXFILESIZE': 'File exceeds MAX_FILE_SIZE (HTML form directive)',
|
||||||
|
591
lang/de.yml.orig
591
lang/de.yml.orig
@ -1,591 +0,0 @@
|
|||||||
de:
|
|
||||||
AssetAdmin:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
ADDFILES: 'Add files'
|
|
||||||
=======
|
|
||||||
ADDFILES: 'Dateien hinzufügen'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
EditOrgMenu: 'Edit & organize'
|
|
||||||
NEWFOLDER: 'Neuer Ordner'
|
|
||||||
AssetTableField:
|
|
||||||
CREATED: 'Erstmalig hochgeladen'
|
|
||||||
DIM: Dimensionen
|
|
||||||
FILENAME: Dateiname
|
|
||||||
FOLDER: Ordner
|
|
||||||
LASTEDIT: 'Letzte Änderung'
|
|
||||||
OWNER: Eigentümer
|
|
||||||
SIZE: Größe
|
|
||||||
TITLE: Titel
|
|
||||||
TYPE: Typ
|
|
||||||
URL: URL
|
|
||||||
AssetUploadField:
|
|
||||||
ChooseFiles: 'Dateien auswählen'
|
|
||||||
DRAGFILESHERE: 'Dateien hier ablegen'
|
|
||||||
DROPAREA: Dateiablage
|
|
||||||
EDITALL: 'Alle Bearbeiten'
|
|
||||||
EDITANDORGANIZE: Bearbeiten
|
|
||||||
EDITINFO: 'Dateien bearbeiten'
|
|
||||||
FILES: Dateien
|
|
||||||
FROMCOMPUTER: 'Dateien auf Ihrem Computer auswählen'
|
|
||||||
FROMCOMPUTERINFO: 'Von ihrem Computer hochladen'
|
|
||||||
TOTAL: Gesamt
|
|
||||||
UPLOADINPROGRESS: 'Bitte warten sie... Upload im Gang'
|
|
||||||
UPLOADOR: ODER
|
|
||||||
BBCodeParser:
|
|
||||||
ALIGNEMENT: Ausrichtung
|
|
||||||
ALIGNEMENTEXAMPLE: 'Rechts ausgerichtet'
|
|
||||||
BOLD: 'Fett gedruckter Text'
|
|
||||||
BOLDEXAMPLE: Fett
|
|
||||||
CODE: 'Code Block'
|
|
||||||
CODEDESCRIPTION: 'Unformatierter Code Block'
|
|
||||||
CODEEXAMPLE: 'Code Block'
|
|
||||||
COLORED: 'Farbiger Text'
|
|
||||||
COLOREDEXAMPLE: 'Blauer Text'
|
|
||||||
EMAILLINK: 'E-Mail Link'
|
|
||||||
EMAILLINKDESCRIPTION: 'Link zu einer E-Mail Adresse erzeugen'
|
|
||||||
IMAGE: Bild
|
|
||||||
IMAGEDESCRIPTION: 'Bild im Post anzeigen'
|
|
||||||
ITALIC: 'Kursiv gedruckter Text'
|
|
||||||
ITALICEXAMPLE: Kursiv
|
|
||||||
LINK: 'Webseiten Link'
|
|
||||||
LINKDESCRIPTION: 'Link auf eine andere Webseite oder URL'
|
|
||||||
STRUCK: 'Durchgestrichener Text'
|
|
||||||
STRUCKEXAMPLE: Durchgestrichen
|
|
||||||
UNDERLINE: 'Unterstrichener Text'
|
|
||||||
UNDERLINEEXAMPLE: Unterstrichen
|
|
||||||
UNORDERED: 'Ungeordnete Liste'
|
|
||||||
UNORDEREDDESCRIPTION: 'Ungeordnete Liste'
|
|
||||||
UNORDEREDEXAMPLE1: 'Ungeordneter Eintrag 1'
|
|
||||||
BackLink_Button.ss:
|
|
||||||
Back: Zurück
|
|
||||||
BasicAuth:
|
|
||||||
ENTERINFO: 'Bitte geben Sie einen Nutzernamen und ein Passwort ein'
|
|
||||||
ERRORNOTADMIN: 'Dieser Nutzer ist kein Administrator'
|
|
||||||
ERRORNOTREC: 'Dieser/s Nutzername/Passwort wurde nicht erkannt'
|
|
||||||
Boolean:
|
|
||||||
0: Falsch
|
|
||||||
ANY: alle
|
|
||||||
1: Wahr
|
|
||||||
CMSLoadingScreen.ss:
|
|
||||||
LOADING: 'Lade Daten ...'
|
|
||||||
REQUIREJS: 'Für die Benutzung des CMS wird JavaScript benötigt.'
|
|
||||||
CMSMain:
|
|
||||||
ACCESS: 'Zugang zum Bereich ''{title}'''
|
|
||||||
ACCESSALLINTERFACES: 'Zugriff auf alle Bereiche des CMS'
|
|
||||||
ACCESSALLINTERFACESHELP: 'Hebt alle bereichspezifischen Berechtigungen auf.'
|
|
||||||
SAVE: Speichern
|
|
||||||
CMSProfileController:
|
|
||||||
MENUTITLE: CMSProfileController
|
|
||||||
ChangePasswordEmail.ss:
|
|
||||||
CHANGEPASSWORDTEXT1: 'Sie haben Ihr Passwort geändert für'
|
|
||||||
CHANGEPASSWORDTEXT2: 'Sie können nun folgende Angaben benutzen um sich einzuloggen'
|
|
||||||
EMAIL: E-Mail
|
|
||||||
HELLO: Hi
|
|
||||||
PASSWORD: Passwort
|
|
||||||
CheckboxField:
|
|
||||||
- Falsch
|
|
||||||
- Wahr
|
|
||||||
ComplexTableField:
|
|
||||||
CLOSEPOPUP: 'Popup schließen'
|
|
||||||
SUCCESSADD2: '{name} hinzugefügt'
|
|
||||||
SUCCESSEDIT: 'Gespeichert %s %s %s'
|
|
||||||
ComplexTableField.ss:
|
|
||||||
ADDITEM: '%s hinzufügen'
|
|
||||||
NOITEMSFOUND: 'Keine Elemente gefunden'
|
|
||||||
SORTASC: 'Aufsteigend sortieren'
|
|
||||||
SORTDESC: 'Absteigend sortieren'
|
|
||||||
ComplexTableField_popup.ss:
|
|
||||||
NEXT: nächste
|
|
||||||
PREVIOUS: vorherige
|
|
||||||
ConfirmedPasswordField:
|
|
||||||
ATLEAST: 'Passwörter müssen mindestens {min} Zeichen lang sein.'
|
|
||||||
BETWEEN: 'Passwörter müssen mindestens {min} bis maximal {max} Zeichen lang sein.'
|
|
||||||
MAXIMUM: 'Passwörter dürfen maxinal {max} Zeichen lang sein.'
|
|
||||||
SHOWONCLICKTITLE: 'Passwort ändern'
|
|
||||||
CreditCardField:
|
|
||||||
FIRST: Zuerst
|
|
||||||
FOURTH: vierte
|
|
||||||
SECOND: erste
|
|
||||||
THIRD: dritte
|
|
||||||
CurrencyField:
|
|
||||||
CURRENCYSYMBOL: €
|
|
||||||
DataObject:
|
|
||||||
PLURALNAME: DataObjects
|
|
||||||
SINGULARNAME: DataObject
|
|
||||||
Date:
|
|
||||||
DAY: Tag
|
|
||||||
DAYS: Tage
|
|
||||||
HOUR: Stunde
|
|
||||||
HOURS: Stunden
|
|
||||||
MIN: Minuten
|
|
||||||
MINS: Minuten
|
|
||||||
MONTH: Monat
|
|
||||||
MONTHS: Monat
|
|
||||||
SEC: Sekunden
|
|
||||||
SECS: Sekunden
|
|
||||||
TIMEDIFFAGO: 'vor {difference}'
|
|
||||||
TIMEDIFFIN: 'in {difference}'
|
|
||||||
YEAR: Jahr
|
|
||||||
YEARS: Jahre
|
|
||||||
DateField:
|
|
||||||
NOTSET: 'nicht gesetzt'
|
|
||||||
TODAY: heute
|
|
||||||
VALIDDATEFORMAT2: 'Bitte geben sie das Datum im korrekten Format ein ({format})'
|
|
||||||
VALIDDATEMAXDATE: 'Ihr Datum muss nach dem erlaubtem Datum ({date}) liegen oder gleich sein'
|
|
||||||
VALIDDATEMINDATE: 'Ihr Datum muss vor dem erlaubtem Datum ({date}) liegen oder gleich sein'
|
|
||||||
DatetimeField:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
NOTSET: 'Not set'
|
|
||||||
=======
|
|
||||||
NOTSET: 'nicht gesetzt'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Director:
|
|
||||||
INVALID_REQUEST: 'Ungültige Anfrage'
|
|
||||||
DropdownField:
|
|
||||||
CHOOSE: (Auswahl)
|
|
||||||
EmailField:
|
|
||||||
VALIDATION: 'Bitte geben Sie eine E-Mail Adresse ein'
|
|
||||||
Email_BounceRecord:
|
|
||||||
PLURALNAME: 'E-Mail Rückläufer'
|
|
||||||
SINGULARNAME: 'E-Mail Rückläufer'
|
|
||||||
Enum:
|
|
||||||
ANY: alle
|
|
||||||
File:
|
|
||||||
Content: Inhalt
|
|
||||||
Filename: Dateiname
|
|
||||||
INVALIDEXTENSION: 'Dateityp ist nicht erlaubt (erlaubt sind: {extensions})'
|
|
||||||
INVALIDEXTENSIONSHORT: 'Dateityp ist nicht erlaubt'
|
|
||||||
NOFILESIZE: 'Dateigröße ist 0 bytes'
|
|
||||||
NOVALIDUPLOAD: 'Datei ist kein gültiger Upload'
|
|
||||||
Name: Dateiname
|
|
||||||
PLURALNAME: Dateien
|
|
||||||
SINGULARNAME: Datei
|
|
||||||
TOOLARGE: 'Die Datei ist zu groß, maximal sind {size} erlaubt'
|
|
||||||
TOOLARGESHORT: 'Dateigröße übersteigt {size}'
|
|
||||||
Title: Titel
|
|
||||||
FileIFrameField:
|
|
||||||
ATTACH: '{type} anhängen'
|
|
||||||
ATTACHONCESAVED: '{type}s können angehängt werden, sobald das Dokument zum ersten Mal gespeichert wurde.'
|
|
||||||
ATTACHONCESAVED2: 'Dateien können angehängt werden, sobald das Dokument zum ersten Mal gespeichert wurde.'
|
|
||||||
DELETE: 'Lösche {type}'
|
|
||||||
DISALLOWEDFILETYPE: 'Der Upload dieses Dateityps ist nicht erlaubt'
|
|
||||||
FILE: Datei
|
|
||||||
FROMCOMPUTER: 'Von Ihrem Computer'
|
|
||||||
FROMFILESTORE: 'Aus dem Datei-Storage'
|
|
||||||
NOSOURCE: 'Bitte wählen Sie eine Datei aus'
|
|
||||||
REPLACE: '{type} ersetzen'
|
|
||||||
FileIFrameField_iframe.ss:
|
|
||||||
TITLE: 'Iframe Bilderupload'
|
|
||||||
Filesystem:
|
|
||||||
SYNCRESULTS: 'Synchronisation beendet: {createdcount} Objekte erstellt, {deletedcount} Objekte gelöscht'
|
|
||||||
Folder:
|
|
||||||
PLURALNAME: Folders
|
|
||||||
SINGULARNAME: Folder
|
|
||||||
ForgotPasswordEmail.ss:
|
|
||||||
HELLO: Hallo
|
|
||||||
TEXT1: 'Hier ist Ihr'
|
|
||||||
TEXT2: 'Link zum Zurücksetzen des Passworts'
|
|
||||||
TEXT3: für
|
|
||||||
Form:
|
|
||||||
FIELDISREQUIRED: '%s wird benötigt'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SubmitBtnLabel: Go
|
|
||||||
=======
|
|
||||||
SubmitBtnLabel: Los
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
VALIDATIONCREDITNUMBER: 'Bitte stellen Sie sicher, dass Sie die Kreditkartennummer ({number}) korrekt eingegeben haben'
|
|
||||||
VALIDATIONNOTUNIQUE: 'Der eingegebene Wert ist nicht einzigartig'
|
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Passwörter stimmen nicht überein'
|
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Passwortfelder dürfen nicht leer sein'
|
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwörter müssen mindestens eine Zahl und ein alphanumerisches Zeichen enthalten'
|
|
||||||
VALIDATOR: Prüfer
|
|
||||||
VALIDCURRENCY: 'Bitte geben Sie einen korrekten Betrag ein'
|
|
||||||
FormField:
|
|
||||||
NONE: keine
|
|
||||||
GridAction:
|
|
||||||
DELETE_DESCRIPTION: Löschen
|
|
||||||
Delete: Löschen
|
|
||||||
UnlinkRelation: 'Verbindung entfernen'
|
|
||||||
GridField:
|
|
||||||
Add: '{name} hinzufügen'
|
|
||||||
Filter: Filter
|
|
||||||
FilterBy: 'Filter nach'
|
|
||||||
Find: Suchen
|
|
||||||
LEVELUP: 'Eine Ebene hoch'
|
|
||||||
LinkExisting: Verknüpfen
|
|
||||||
NewRecord: 'Neue(r) %s'
|
|
||||||
NoItemsFound: 'Keine Elemente gefunden'
|
|
||||||
PRINTEDAT: 'Gedruckt am'
|
|
||||||
PRINTEDBY: 'Gedruckt von'
|
|
||||||
PlaceHolder: '{type} Suchen'
|
|
||||||
PlaceHolderWithLabels: 'Suche {type} über {name}'
|
|
||||||
RelationSearch: Relationssuche
|
|
||||||
ResetFilter: Zurücksetzen
|
|
||||||
GridFieldAction_Delete:
|
|
||||||
DeletePermissionsFailure: 'Keine Berechtigung zum Löschen'
|
|
||||||
GridFieldDetailForm:
|
|
||||||
Create: Erstellen
|
|
||||||
Delete: Löschen
|
|
||||||
DeletePermissionsFailure: 'Keine Berechtigung zum Löschen'
|
|
||||||
Deleted: 'Gelöscht %s %s'
|
|
||||||
Save: Speichern
|
|
||||||
Saved: 'Gespeichert %s %s'
|
|
||||||
GridFieldItemEditView.ss: null
|
|
||||||
Group:
|
|
||||||
AddRole: 'Rolle für die Gruppe hinzufügen'
|
|
||||||
Code: 'Gruppen Code'
|
|
||||||
DefaultGroupTitleAdministrators: Administratoren
|
|
||||||
DefaultGroupTitleContentAuthors: Inhaltsautoren
|
|
||||||
Description: Beschreibung
|
|
||||||
GroupReminder: 'Bei Zuweisung einer Übergruppe werden alle ihre Rollen übernommen'
|
|
||||||
Locked: 'Gesperrt?'
|
|
||||||
NoRoles: 'Keine Rollen gefunden'
|
|
||||||
PLURALNAME: Groups
|
|
||||||
Parent: Elterngruppe
|
|
||||||
RolesAddEditLink: 'Rollen hinzufügen/editieren'
|
|
||||||
SINGULARNAME: Group
|
|
||||||
Sort: Sortierreihenfolge
|
|
||||||
has_many_Permissions: Berechtigungen
|
|
||||||
many_many_Members: Mitglieder
|
|
||||||
GroupImportForm:
|
|
||||||
Help1: '<p>Eine oder mehrere Gruppen im <em>CSV</em>-Format (kommaseparierte Werte) importieren. <small><a href="#" class="toggle-advanced">Erweiterte Nutzung</a></small></p>'
|
|
||||||
Help2: '<div class="advanced"><h4>Erweiterte Nutzung</h4><ul><li>Gültige Spalten: <em>%s</em></li><li>Vorhandene Gruppen werden über ihren eindeutigen <em>Code</em> ermittelt und mit den Werten aus der importierten Datei aktualisiert.</li><li>Gruppen-Hierarchien können über die <em>ParentCode</em> Spalte definiert werden.</li><li>Berechtigungscodes können über die Splate <em>PermissionCode</em> zugewiesen werden, vorhandene Berechtigungen werden nicht gelöscht.</li></ul></div>'
|
|
||||||
ResultCreated: '{count} Gruppe(n) wurden erstellt'
|
|
||||||
ResultDeleted: '%d Gruppen gelöscht'
|
|
||||||
ResultUpdated: '%d Gruppen aktualisiert'
|
|
||||||
Hierarchy:
|
|
||||||
InfiniteLoopNotAllowed: 'Es wurde eine Endlosschleife innerhalb der "{type}"-Hierarchie gefunden. Bitte ändern Sie die übergeordnete Seite, um den Fehler zu beheben'
|
|
||||||
HtmlEditorField:
|
|
||||||
ADDURL: 'URL hinzufügen'
|
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & Dimensionen'
|
|
||||||
ANCHORVALUE: Anker
|
|
||||||
BUTTONINSERT: Einfügen
|
|
||||||
BUTTONINSERTLINK: 'Verweis einfügen'
|
|
||||||
BUTTONREMOVELINK: 'Verweise entfernen'
|
|
||||||
BUTTONUpdate: Aktualisieren
|
|
||||||
CAPTIONTEXT: Beschriftungstext
|
|
||||||
CSSCLASS: Ausrichtung/Stil
|
|
||||||
CSSCLASSCENTER: 'Zentriert, selbstständig'
|
|
||||||
CSSCLASSLEFT: 'Links, mit umfließendem Text'
|
|
||||||
CSSCLASSLEFTALONE: 'Links, alleinstehend'
|
|
||||||
CSSCLASSRIGHT: 'Rechts, mit umfließendem Text'
|
|
||||||
DETAILS: Details
|
|
||||||
EMAIL: E-Mail-Adresse
|
|
||||||
FILE: Datei
|
|
||||||
FOLDER: Ordner
|
|
||||||
FROMCMS: 'Aus dem CMS'
|
|
||||||
FROMCOMPUTER: 'Von Ihrem Computer'
|
|
||||||
FROMWEB: 'Aus dem Internet'
|
|
||||||
FindInFolder: 'In Ordner suchen'
|
|
||||||
IMAGEALT: 'Alternativer Text (alt)'
|
|
||||||
IMAGEALTTEXT: 'Alternativer Text (alt) - angezeigt, wenn das Bild nicht dargestellt werden kann'
|
|
||||||
IMAGEALTTEXTDESC: 'Wird von Screenreadern vorgelesen oder angezeigt, falls das Bild nicht dargestellt werden kann'
|
|
||||||
IMAGEDIMENSIONS: Dimensionen
|
|
||||||
IMAGEHEIGHTPX: 'Höhe (px)'
|
|
||||||
IMAGETITLE: 'Titeltext (Tooltip) - für zusätzliche Informationen über das Bild'
|
|
||||||
IMAGETITLETEXT: 'Titeltext (Tooltip)'
|
|
||||||
IMAGETITLETEXTDESC: 'Weiterführende Informationen über das Bild'
|
|
||||||
IMAGEWIDTHPX: 'Breite (px)'
|
|
||||||
INSERTMEDIA: 'Medienobject einfügen'
|
|
||||||
LINK: Verweis
|
|
||||||
LINKANCHOR: 'Anker auf dieser Seite'
|
|
||||||
LINKDESCR: 'Beschreibung des Verweises'
|
|
||||||
LINKEMAIL: E-Mail-Adresse
|
|
||||||
LINKEXTERNAL: 'Andere Website'
|
|
||||||
LINKFILE: 'Datei herunterladen'
|
|
||||||
LINKINTERNAL: 'Seite auf der Website'
|
|
||||||
LINKOPENNEWWIN: 'Verweis in neuem Fenster öffnen?'
|
|
||||||
LINKTO: 'Verweis zu'
|
|
||||||
PAGE: Seite
|
|
||||||
URL: URL
|
|
||||||
URLNOTANOEMBEDRESOURCE: 'Die URL ''{url}'' konnte nicht in eine Medienquelle umgewandelt werden'
|
|
||||||
UpdateMEDIA: 'Medienobjekt aktualisieren'
|
|
||||||
Image:
|
|
||||||
PLURALNAME: Files
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SINGULARNAME: File
|
|
||||||
=======
|
|
||||||
SINGULARNAME: Datei
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
ImageField:
|
|
||||||
IMAGE: Bild
|
|
||||||
Image_Cached:
|
|
||||||
PLURALNAME: Files
|
|
||||||
SINGULARNAME: File
|
|
||||||
Image_iframe.ss:
|
|
||||||
TITLE: 'Iframe Bilder hochladen'
|
|
||||||
LeftAndMain:
|
|
||||||
CANT_REORGANISE: 'Sie besitzen nicht die benötigten Zugriffsrechte um Seiten der höchsten Ebene zu bearbeiten. Ihre Änderungen wurden nicht gespeichert.'
|
|
||||||
DELETED: Gelöscht.
|
|
||||||
DropdownBatchActionsDefault: Aktionen
|
|
||||||
HELP: Hilfe
|
|
||||||
PAGETYPE: 'Seitentyp:'
|
|
||||||
PERMAGAIN: 'Sie wurden aus dem System ausgeloggt. Falls Sie sich wieder einloggen möchten, geben Sie bitte Benutzernamen und Passwort im untenstehenden Formular an.'
|
|
||||||
PERMALREADY: 'Leider dürfen Sie diesen Teil des CMS nicht aufrufen. Wenn Sie sich als jemand anderes einloggen wollen, benutzen Sie bitte das nachstehende Formular.'
|
|
||||||
PERMDEFAULT: 'Bitte wählen Sie eine Authentifizierungsmethode und geben Sie Ihre Benutzerdaten für den Zugang zum CMS ein.'
|
|
||||||
PLEASESAVE: 'Diese Seite konnte nicht aktualisiert werden weil sie noch nicht gespeichert wurde - bitte speichern.'
|
|
||||||
PreviewButton: Vorschau
|
|
||||||
REORGANISATIONSUCCESSFUL: 'Der Seitenbaum wurde erfolgreich sortiert.'
|
|
||||||
SAVEDUP: Gespeichert.
|
|
||||||
VersionUnknown: Unbekannt
|
|
||||||
LeftAndMain_Menu.ss:
|
|
||||||
Hello: Hi
|
|
||||||
LOGOUT: Ausloggen
|
|
||||||
LoginAttempt:
|
|
||||||
Email: E-Mail-Adresse
|
|
||||||
IP: IP-Adresse
|
|
||||||
PLURALNAME: 'Login Attempts'
|
|
||||||
SINGULARNAME: 'Login Attempt'
|
|
||||||
Status: Status
|
|
||||||
Member:
|
|
||||||
ADDGROUP: 'Gruppe hinzufügen'
|
|
||||||
BUTTONCHANGEPASSWORD: 'Passwort ändern'
|
|
||||||
BUTTONLOGIN: Einloggen
|
|
||||||
BUTTONLOGINOTHER: 'Als jemand anders einloggen'
|
|
||||||
BUTTONLOSTPASSWORD: 'Ich habe mein Passwort vergessen'
|
|
||||||
CONFIRMNEWPASSWORD: 'Neues Passwort bestätigen'
|
|
||||||
CONFIRMPASSWORD: 'Passwort bestätigen'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
DATEFORMAT: 'Date format'
|
|
||||||
=======
|
|
||||||
DATEFORMAT: 'Bitte geben sie das Datum im korrekten Format ein ({format})'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
DefaultAdminFirstname: Standardadmin
|
|
||||||
DefaultDateTime: Standard
|
|
||||||
EMAIL: E-Mail
|
|
||||||
EMPTYNEWPASSWORD: 'Das neue Passwort darf nicht leer sein. Bitte versuchen Sie es erneut.'
|
|
||||||
ENTEREMAIL: 'Bitte geben Sie eine E-Mail-Adresse ein, um einen Link zum Zurücksetzen des Passworts zu erhalten.'
|
|
||||||
ERRORLOCKEDOUT: 'Ihr Zugang wurde auf Grund von einer unzulässig hohen Anzahl von falschen Zugangsversuchen gesperrt. Bitte versuchen Sie es in 20 Minuten noch einmal.'
|
|
||||||
ERRORNEWPASSWORD: 'Sie haben Ihr neues Passwort unterschiedlich eingegeben, bitte versuchen Sie es erneut.'
|
|
||||||
ERRORPASSWORDNOTMATCH: 'Das Passwort stimmt nicht mit dem hinterlegten Passwort überein, bitte versuchen Sie es noch einmal'
|
|
||||||
ERRORWRONGCRED: 'Das Passwort oder die E-Mail-Adresse scheinen nicht richtig zu sein. Bitte versuchen Sie es erneut.'
|
|
||||||
FIRSTNAME: Vorname
|
|
||||||
INTERFACELANG: CMS-Sprache
|
|
||||||
INVALIDNEWPASSWORD: 'Das Passwort konnte nicht akzeptiert werden: {password}'
|
|
||||||
LOGGEDINAS: 'Sie sind als {name} eingeloggt.'
|
|
||||||
NEWPASSWORD: 'Neues Passwort'
|
|
||||||
PASSWORD: Passwort
|
|
||||||
PLURALNAME: Benutzer
|
|
||||||
PROFILESAVESUCCESS: 'Erfolgreich gespeichert.'
|
|
||||||
REMEMBERME: 'Für das nächste Mal merken?'
|
|
||||||
SINGULARNAME: Benutzer
|
|
||||||
SUBJECTPASSWORDCHANGED: 'Ihr Passwort wurde geändert'
|
|
||||||
SUBJECTPASSWORDRESET: 'Ihr Link zur Passwortrücksetzung'
|
|
||||||
SURNAME: Nachname
|
|
||||||
<<<<<<< HEAD
|
|
||||||
TIMEFORMAT: 'Time format'
|
|
||||||
=======
|
|
||||||
TIMEFORMAT: 'Bitte geben Sie die Uhrzeit im korrekten Format ein ({format})'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
VALIDATIONMEMBEREXISTS: 'Es gibt bereits ein Mitglied mit dieser E-Mail-Adresse'
|
|
||||||
ValidationIdentifierFailed: 'Das vorhandene Mitglied #{id} mit identischer Bezeichnung kann nicht überschrieben werden ({name} = {value}))'
|
|
||||||
WELCOMEBACK: 'Hallo {firstname}. Schön, dass du wieder da bist'
|
|
||||||
YOUROLDPASSWORD: 'Ihr alten Passwort'
|
|
||||||
belongs_many_many_Groups: Gruppe
|
|
||||||
db_LastVisited: 'Zuletzt Besucht'
|
|
||||||
db_Locale: 'Interface Sprachumgebung'
|
|
||||||
db_LockedOutUntil: 'Gesperrt bis'
|
|
||||||
db_NumVisit: 'Anzahl der Besuche'
|
|
||||||
db_Password: Passwort
|
|
||||||
db_PasswordExpiry: 'Ablaufdatum des Passworts'
|
|
||||||
MemberAuthenticator:
|
|
||||||
TITLE: 'E-Mail & Passwort'
|
|
||||||
MemberDatetimeOptionsetField:
|
|
||||||
AMORPM: 'AM (vormittag) oder PM (nachmittag)'
|
|
||||||
'APPLY FILTER': 'Filter anwenden'
|
|
||||||
Custom: Benutzerdefiniert
|
|
||||||
DATEFORMATBAD: 'Ungültiges Datumsformat'
|
|
||||||
DAYNOLEADING: 'Tag des Monats ohne führende Null'
|
|
||||||
DIGITSDECFRACTIONSECOND: 'Eine oder mehrere Ziffern, die einen Dezimalbruch einer Sekunde darstellen'
|
|
||||||
FOURDIGITYEAR: 'Vierstellige Jahreszahl'
|
|
||||||
FULLNAMEMONTH: 'Volle Monatsbezeichnung (z.B. Juni)'
|
|
||||||
HOURNOLEADING: 'Stunde ohne führende Null'
|
|
||||||
MINUTENOLEADING: Minute
|
|
||||||
MONTHNOLEADING: 'Monat ohne führende Null'
|
|
||||||
Preview: Vorschau
|
|
||||||
SHORTMONTH: 'Kurzname des Monats (z.B. Jun)'
|
|
||||||
TOGGLEHELP: 'Formatierungshilfe anzeigen'
|
|
||||||
TWODIGITDAY: 'Tag des Monats mit führender Null'
|
|
||||||
TWODIGITHOUR: 'Stunde im 24-Stunden-Format, mit führenden Nullen'
|
|
||||||
TWODIGITMINUTE: 'Minute mit führenden Nullen'
|
|
||||||
TWODIGITMONTH: 'Monat mit führender Null (z.B. 01 = Januar, usw.)'
|
|
||||||
TWODIGITSECOND: Sekunde
|
|
||||||
TWODIGITYEAR: 'Zweistellige Jahreszahl'
|
|
||||||
MemberImportForm:
|
|
||||||
Help1: '<p>Mitglieder im <em>CSV</em>-Format (kommaseparierte Werte) importieren. <small><a href="#" class="toggle-advanced">Erweiterte Nutzung</a></small></p>'
|
|
||||||
Help2: '<div class="advanced"><h4>Advanced usage</h4><ul><li>Gültige Spalten: <em>%s</em></li><li>Vorhandene Mitglieder werden über ihren eindeutigen <em>Code</em> ermittelt und mit den Werten aus der importierten Datei aktualisiert.</li><li>Gruppen können über die Spalte <em>Gruppen</em> zugewiesen werden. Gruppen werden über ihren eindeutigen <em>Code</em> ermittelt, mehrere Gruppen können durch ein Komma getrennt werden. Vorhandene Gruppenzugehörigkeiten werden nicht gelöscht.</li></ul></div>'
|
|
||||||
ResultCreated: '{count} Mitglied(er) wurden erstellt'
|
|
||||||
ResultDeleted: '%d Mitglieder gelöscht'
|
|
||||||
ResultNone: 'Keine Änderungen'
|
|
||||||
ResultUpdated: '{count} Mitglied(er) wurde(n) aktualisiert'
|
|
||||||
MemberPassword:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: 'Member Passwords'
|
|
||||||
SINGULARNAME: 'Member Password'
|
|
||||||
=======
|
|
||||||
PLURALNAME: Benutzerpasswörter
|
|
||||||
SINGULARNAME: Benutzerpasswort
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
MemberTableField: null
|
|
||||||
ModelAdmin:
|
|
||||||
DELETE: Löschen
|
|
||||||
DELETEDRECORDS: '{count} Datensätze wurden gelöscht.'
|
|
||||||
IMPORT: 'CSV Import'
|
|
||||||
IMPORTEDRECORDS: '{count} Datensätze wurden importiert.'
|
|
||||||
NOCSVFILE: 'Wählen Sie eine CSV-Datei zum Importieren'
|
|
||||||
NOIMPORT: 'Kein Import notwendig.'
|
|
||||||
RESET: Zurücksetzen
|
|
||||||
Title: Datenmodelle
|
|
||||||
UPDATEDRECORDS: '{count} Datensätze wurden aktualisiert.'
|
|
||||||
ModelAdmin_ImportSpec.ss:
|
|
||||||
IMPORTSPECFIELDS: Datenbankspalten
|
|
||||||
IMPORTSPECLINK: 'Show Specification for %s'
|
|
||||||
IMPORTSPECRELATIONS: Relationen
|
|
||||||
IMPORTSPECTITLE: 'Specification for %s'
|
|
||||||
ModelAdmin_Tools.ss:
|
|
||||||
FILTER: Filter
|
|
||||||
IMPORT: Importieren
|
|
||||||
ModelSidebar.ss:
|
|
||||||
IMPORT_TAB_HEADER: Importieren
|
|
||||||
SEARCHLISTINGS: Suche
|
|
||||||
MoneyField:
|
|
||||||
FIELDLABELAMOUNT: Betrag
|
|
||||||
FIELDLABELCURRENCY: Währung
|
|
||||||
NullableField:
|
|
||||||
IsNullLabel: 'ist NULL'
|
|
||||||
NumericField:
|
|
||||||
VALIDATION: '''{value}'' ist kein numerischer Wert, nur nummerische Werte sind in diesem Feld erlaubt'
|
|
||||||
Pagination:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
Page: Page
|
|
||||||
View: View
|
|
||||||
=======
|
|
||||||
Page: Seite
|
|
||||||
View: Anzeige
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Permission:
|
|
||||||
AdminGroup: Administrator
|
|
||||||
CMS_ACCESS_CATEGORY: 'CMS Zugriff'
|
|
||||||
FULLADMINRIGHTS: 'Unbeschränkte Administratorenrechte'
|
|
||||||
FULLADMINRIGHTS_HELP: 'Schließt alle anderen verfügbaren Berechtigungen ein'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: Permissions
|
|
||||||
SINGULARNAME: Permission
|
|
||||||
=======
|
|
||||||
PLURALNAME: Berechtigungen
|
|
||||||
SINGULARNAME: Berechtigung
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
PermissionCheckboxSetField:
|
|
||||||
AssignedTo: 'Zugewiesen an "{title}"'
|
|
||||||
FromGroup: 'abgeleited von Gruppe "{title}"'
|
|
||||||
FromRole: 'abgeleited von Rolle "{title}"'
|
|
||||||
FromRoleOnGroup: 'geerbt von Rolle "%s" für die Gruppe "%s"'
|
|
||||||
PermissionRole:
|
|
||||||
PLURALNAME: Roles
|
|
||||||
SINGULARNAME: Role
|
|
||||||
PermissionRoleCode:
|
|
||||||
PLURALNAME: 'Permission Role Cods'
|
|
||||||
SINGULARNAME: 'Permission Role Code'
|
|
||||||
Permissions:
|
|
||||||
PERMISSIONS_CATEGORY: 'Rollen und Zugriffsberechtigungen'
|
|
||||||
PhoneNumberField:
|
|
||||||
VALIDATION: 'Bitte geben Sie eine gültige Telefonnummer ein'
|
|
||||||
RelationComplexTableField.ss:
|
|
||||||
ADD: Hinzufügen
|
|
||||||
CSVEXPORT: 'Als CSV exportieren'
|
|
||||||
NOTFOUND: 'Keine Elemente gefunden.'
|
|
||||||
Security:
|
|
||||||
ALREADYLOGGEDIN: 'Sie haben keinen Zugriff auf diese Seite. Wenn Sie ein anderes Konto besitzen, mit dem Sie auf diese Seite zugreifen können, melden Sie sich bitte unten an.'
|
|
||||||
BUTTONSEND: 'Senden Sie mir den Link zur Passwortrücksetzung'
|
|
||||||
CHANGEPASSWORDBELOW: 'Sie können Ihr Passwort unten ändern.'
|
|
||||||
CHANGEPASSWORDHEADER: 'Passwort ändern'
|
|
||||||
ENTERNEWPASSWORD: 'Bitte geben Sie ein neues Passwort ein'
|
|
||||||
ERRORPASSWORDPERMISSION: 'Sie müssen eingeloggt sein, um Ihr Passwort ändern zu können!'
|
|
||||||
LOGGEDOUT: 'Sie wurden ausgeloggt. Wenn Sie sich wieder einloggen möchten, geben Sie bitte unten Ihre Zugangsdaten ein.'
|
|
||||||
LOGIN: Anmelden
|
|
||||||
NOTEPAGESECURED: 'Diese Seite ist geschützt. Bitte melden Sie sich an und Sie werden sofort weitergeleitet.'
|
|
||||||
NOTERESETLINKINVALID: '<p>Der Link zum Zurücksetzen des Passworts ist entweder nicht korrekt oder abgelaufen</p><p>Sie können <a href="{link1}">einen neuen Link anfordern</a> oder Ihr Passwort nach dem <a href="{link2}">einloggen</a> ändern.</p>'
|
|
||||||
NOTERESETPASSWORD: 'Geben Sie Ihre E-Mail-Adresse ein und wir werden Ihnen einen Link zuschicken, mit dem Sie Ihr Passwort zurücksetzen können.'
|
|
||||||
PASSWORDSENTHEADER: 'Der Link zum Zurücksetzen des Passworts wurde an {email} gesendet'
|
|
||||||
PASSWORDSENTTEXT: 'Vielen Dank! Wenn ein Account zu der E-Mail Adresse {email} existiert, wurde eine E-Mail mit dem Link zum Zurücksetzen des Passworts verschickt.'
|
|
||||||
SecurityAdmin:
|
|
||||||
ACCESS_HELP: 'Benutzer hinzufügen, anzeigen und editieren sowie diesen Berechtigungen und Rollen zuweisen.'
|
|
||||||
APPLY_ROLES: 'Rollen zu Gruppen zuweisen'
|
|
||||||
APPLY_ROLES_HELP: 'Möglichkeit die Zuweisungen von Rollen zu Gruppen zu editieren. Erfordert Zugriff auf den Bereich "Sicherheit".'
|
|
||||||
EDITPERMISSIONS: 'Bearbeiten der Rechte und IP-Adressen für jede Gruppe'
|
|
||||||
EDITPERMISSIONS_HELP: 'Möglichkeit Berechtigungen und IP-Adressen einer Gruppen zu editieren. Erfordert Zugriff auf den Bereich "Sicherheit".'
|
|
||||||
GROUPNAME: Gruppenname
|
|
||||||
IMPORTGROUPS: 'Gruppen importieren'
|
|
||||||
IMPORTUSERS: 'Benutzer importieren'
|
|
||||||
MEMBERS: Mitglieder
|
|
||||||
MENUTITLE: Sicherheit
|
|
||||||
MemberListCaution: 'Achtung: Das Entfernen von Mitgliedern aus dieser Liste löscht diese auch aus der Datenbank sowie die entsprechenden Gruppenzuweisungen.'
|
|
||||||
NEWGROUP: 'Neue Gruppe'
|
|
||||||
PERMISSIONS: Berechtigungen
|
|
||||||
ROLES: Rollen
|
|
||||||
ROLESDESCRIPTION: 'Hier können Sie der Gruppe Rollen zuweisen. Rollen sind logische Gruppierungen von Berechtigungen.'
|
|
||||||
TABROLES: Rollen
|
|
||||||
Users: Benutzer
|
|
||||||
SecurityAdmin_MemberImportForm:
|
|
||||||
BtnImport: Import
|
|
||||||
FileFieldLabel: 'CSV Datei <small>(Erlaubte Dateierweiterung: *.csv)</small>'
|
|
||||||
SilverStripeNavigator:
|
|
||||||
Edit: Bearbeiten
|
|
||||||
SimpleImageField:
|
|
||||||
NOUPLOAD: 'Es wurde kein Bild hochgeladen'
|
|
||||||
SiteTree:
|
|
||||||
TABMAIN: Hauptteil
|
|
||||||
TableField:
|
|
||||||
ISREQUIRED: 'In %s wird ''%s'' benötigt'
|
|
||||||
TableField.ss:
|
|
||||||
ADD: 'Eine neue Zeile hinzufügen'
|
|
||||||
ADDITEM: '%s hinzufügen'
|
|
||||||
TableListField:
|
|
||||||
CSVEXPORT: 'Als CSV-Datei exportieren'
|
|
||||||
PRINT: drucken
|
|
||||||
Print: Drucken
|
|
||||||
SELECT: 'Auswählen:'
|
|
||||||
TableListField.ss:
|
|
||||||
NOITEMSFOUND: 'Keine Elemente gefunden'
|
|
||||||
SORTASC: 'Aufsteigend sortieren'
|
|
||||||
SORTDESC: 'Absteigend sortieren'
|
|
||||||
TableListField_PageControls.ss:
|
|
||||||
DISPLAYING: Zeige
|
|
||||||
OF: von
|
|
||||||
TO: bis
|
|
||||||
VIEWFIRST: 'Ersten anzeigen'
|
|
||||||
VIEWLAST: 'Letzten anzeigen'
|
|
||||||
VIEWNEXT: 'Nächsten anzeigen'
|
|
||||||
VIEWPREVIOUS: 'Vorherigen anzeigen'
|
|
||||||
TimeField:
|
|
||||||
VALIDATEFORMAT: 'Bitte geben Sie die Uhrzeit im korrekten Format ein ({format})'
|
|
||||||
ToggleField:
|
|
||||||
LESS: weniger
|
|
||||||
MORE: mehr
|
|
||||||
UploadField:
|
|
||||||
ATTACHFILE: 'Datei anhängen'
|
|
||||||
ATTACHFILES: 'Dateien anhängen'
|
|
||||||
AttachFile: 'Dateien anhängen'
|
|
||||||
DELETE: 'Aus Dateien löschen'
|
|
||||||
DELETEINFO: 'Löscht die Datei dauerhaft aus dem Dateisystem'
|
|
||||||
DOEDIT: Speichern
|
|
||||||
DROPFILE: 'Datei hier ablegen'
|
|
||||||
DROPFILES: 'Dateien hier ablegen'
|
|
||||||
Dimensions: Dimensionen
|
|
||||||
EDIT: Bearbeiten
|
|
||||||
EDITINFO: 'Diese Datei bearbeiten'
|
|
||||||
FIELDNOTSET: 'Dateiinformationen nicht gefunden'
|
|
||||||
FROMCOMPUTER: 'Von Ihrem Computer'
|
|
||||||
FROMCOMPUTERINFO: 'Aus Dateien auswählen'
|
|
||||||
FROMFILES: 'Von "Dateien"'
|
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
|
||||||
MAXNUMBEROFFILES: 'Maximale Anzahl an {count} Datei(en) überschritten'
|
|
||||||
MAXNUMBEROFFILESSHORT: 'SIe können maximal {count} Datei(en) hochladen'
|
|
||||||
REMOVE: Entfernen
|
|
||||||
REMOVEERROR: 'Fehler beim Entfernen der Datei'
|
|
||||||
REMOVEINFO: 'Entfernt die Datei von hier, löscht Sie aber nicht aus dem Dateisystem.'
|
|
||||||
STARTALL: 'Alle starten'
|
|
||||||
STARTALLINFO: 'Alle Uploads starten'
|
|
||||||
Saved: Gespeichert
|
|
||||||
Versioned:
|
|
||||||
has_many_Versions: Versionen
|
|
20
lang/en.yml
20
lang/en.yml
@ -25,6 +25,7 @@ en:
|
|||||||
FROMCOMPUTER: 'Choose files from your computer'
|
FROMCOMPUTER: 'Choose files from your computer'
|
||||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
FROMCOMPUTERINFO: 'Upload from your computer'
|
||||||
TOTAL: Total
|
TOTAL: Total
|
||||||
|
TOUPLOAD: 'Choose files to upload...'
|
||||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
||||||
UPLOADOR: OR
|
UPLOADOR: OR
|
||||||
BBCodeParser:
|
BBCodeParser:
|
||||||
@ -143,18 +144,37 @@ en:
|
|||||||
Enum:
|
Enum:
|
||||||
ANY: Any
|
ANY: Any
|
||||||
File:
|
File:
|
||||||
|
AviType: 'AVI video file'
|
||||||
Content: Content
|
Content: Content
|
||||||
|
CssType: 'CSS file'
|
||||||
|
DmgType: 'Apple disk image'
|
||||||
|
DocType: 'Word document'
|
||||||
Filename: Filename
|
Filename: Filename
|
||||||
|
GifType: 'GIF image - good for diagrams'
|
||||||
|
GzType: 'GZIP compressed file'
|
||||||
|
HtlType: 'HTML file'
|
||||||
|
HtmlType: 'HTML file'
|
||||||
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
|
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
|
||||||
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
|
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
|
||||||
|
IcoType: 'Icon image'
|
||||||
|
JpgType: 'JPEG image - good for photos'
|
||||||
|
JsType: 'Javascript file'
|
||||||
|
Mp3Type: 'MP3 audio file'
|
||||||
|
MpgType: 'MPEG video file'
|
||||||
NOFILESIZE: 'Filesize is zero bytes.'
|
NOFILESIZE: 'Filesize is zero bytes.'
|
||||||
NOVALIDUPLOAD: 'File is not a valid upload'
|
NOVALIDUPLOAD: 'File is not a valid upload'
|
||||||
Name: Name
|
Name: Name
|
||||||
PLURALNAME: Files
|
PLURALNAME: Files
|
||||||
|
PdfType: 'Adobe Acrobat PDF file'
|
||||||
|
PngType: 'PNG image - good general-purpose format'
|
||||||
SINGULARNAME: File
|
SINGULARNAME: File
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
TOOLARGESHORT: 'Filesize exceeds {size}'
|
||||||
|
TiffType: 'Tagged image format'
|
||||||
Title: Title
|
Title: Title
|
||||||
|
WavType: 'WAV audo file'
|
||||||
|
XlsType: 'Excel spreadsheet'
|
||||||
|
ZipType: 'ZIP compressed file'
|
||||||
FileIFrameField:
|
FileIFrameField:
|
||||||
ATTACH: 'Attach {type}'
|
ATTACH: 'Attach {type}'
|
||||||
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
||||||
|
@ -1,586 +0,0 @@
|
|||||||
mi_NZ:
|
|
||||||
AssetAdmin:
|
|
||||||
ADDFILES: 'Tāpiri Kōnae'
|
|
||||||
EditOrgMenu: 'Whakatika me te Whakaraupapa'
|
|
||||||
NEWFOLDER: KōpakiHōu
|
|
||||||
AssetTableField:
|
|
||||||
CREATED: 'Tukuatu tuatahi'
|
|
||||||
DIM: 'Ngā Rahinga'
|
|
||||||
FILENAME: 'Ingoa Kōnae'
|
|
||||||
FOLDER: Kōpaki
|
|
||||||
LASTEDIT: 'Hurihanga tōmuri'
|
|
||||||
OWNER: Kaiūmanga
|
|
||||||
SIZE: Nuinga
|
|
||||||
TITLE: Taitara
|
|
||||||
TYPE: 'Tūmomo '
|
|
||||||
URL: PRO
|
|
||||||
AssetUploadField:
|
|
||||||
ChooseFiles: 'Kōwhiri kōnae'
|
|
||||||
DRAGFILESHERE: 'Tōia mai ngā kōnae ki konei'
|
|
||||||
DROPAREA: 'Wāhi Taka'
|
|
||||||
EDITALL: 'Whakatika katoa'
|
|
||||||
EDITANDORGANIZE: 'Whakatika me te Whakaraupapa'
|
|
||||||
EDITINFO: 'Whakatika kōnae'
|
|
||||||
FILES: 'Ngā kōnae'
|
|
||||||
FROMCOMPUTER: 'Kōwhiri kōnae mai i tō rorohiko'
|
|
||||||
FROMCOMPUTERINFO: 'Tukuatu i tō rorohiko'
|
|
||||||
TOTAL: Tapeke
|
|
||||||
UPLOADINPROGRESS: 'Taihoa...he tukuatu kei te haere'
|
|
||||||
UPLOADOR: 'TĒNEI RĀNEI'
|
|
||||||
BBCodeParser:
|
|
||||||
ALIGNEMENT: Tiaroaro
|
|
||||||
ALIGNEMENTEXAMPLE: 'i tiaro matautia'
|
|
||||||
BOLD: 'Tuhinga Taekaha'
|
|
||||||
BOLDEXAMPLE: Taekaha
|
|
||||||
CODE: 'Paraka Waehere'
|
|
||||||
CODEDESCRIPTION: 'Paraka waehere kāore hōpututia'
|
|
||||||
CODEEXAMPLE: 'Paraka Waehere'
|
|
||||||
COLORED: 'Tuhinga whaikano'
|
|
||||||
COLOREDEXAMPLE: 'tuhinga kikorangi'
|
|
||||||
EMAILLINK: 'Hono īmēra'
|
|
||||||
EMAILLINKDESCRIPTION: 'Hanga hononga ki tētahi wāhitau īmēra'
|
|
||||||
IMAGE: Atahanga
|
|
||||||
IMAGEDESCRIPTION: 'Whakaaturia tētahi atahanga i tō tare'
|
|
||||||
ITALIC: 'Tuhinga Tītaha'
|
|
||||||
ITALICEXAMPLE: Tītaha
|
|
||||||
LINK: 'Hono paetukutuku'
|
|
||||||
LINKDESCRIPTION: 'Hono ki tētahi atu paetukutuku, PRO rānei'
|
|
||||||
STRUCK: 'Tuhinga i Tāhīpaetia'
|
|
||||||
STRUCKEXAMPLE: 'I tāhīpaetia'
|
|
||||||
UNDERLINE: 'Tuhinga i tōrarotia'
|
|
||||||
UNDERLINEEXAMPLE: 'I tōrarotia'
|
|
||||||
UNORDERED: 'Rārangi kāore i raupapatia'
|
|
||||||
UNORDEREDDESCRIPTION: 'Rārangi kāore i raupapatia'
|
|
||||||
UNORDEREDEXAMPLE1: 'tūemi 1 kāore i raupapatia'
|
|
||||||
BackLink_Button.ss:
|
|
||||||
Back: Hoki
|
|
||||||
BasicAuth:
|
|
||||||
ENTERINFO: 'Tāurua he ingoa kaiwhakamahi me te kupuhipa'
|
|
||||||
ERRORNOTADMIN: 'Ehara tēnā kaiwhakamahi i te kaiwhakahaere'
|
|
||||||
ERRORNOTREC: 'Kāore i te mōhiotia tēnā ingoa kaiwhakamahi / kupuhipa'
|
|
||||||
Boolean:
|
|
||||||
0: Hē
|
|
||||||
ANY: 'Ko tētahi'
|
|
||||||
1: Pono
|
|
||||||
CMSLoadingScreen.ss:
|
|
||||||
LOADING: 'Uta ana...'
|
|
||||||
REQUIREJS: 'Ka hiahia te CMS kia whakahohea te JavaScript'
|
|
||||||
CMSMain:
|
|
||||||
ACCESS: 'Uru ki te wāhanga ''{title}'''
|
|
||||||
ACCESSALLINTERFACES: 'Uru ki ngā wāhanga CMS katoa'
|
|
||||||
ACCESSALLINTERFACESHELP: 'Ka takahi i ngā tautuhinga uru tauwhāiti ake'
|
|
||||||
SAVE: Tiaki
|
|
||||||
CMSProfileController:
|
|
||||||
MENUTITLE: PūwhakamanaKōtahaCMS
|
|
||||||
ChangePasswordEmail.ss:
|
|
||||||
CHANGEPASSWORDTEXT1: 'Kua hurihia tō kupuhipa mō'
|
|
||||||
CHANGEPASSWORDTEXT2: 'Ka taea te whakamahi i ēnei taipitopito tuakiri ināianei hei takiuru:'
|
|
||||||
EMAIL: Īmēra
|
|
||||||
HELLO: 'Kia ora'
|
|
||||||
PASSWORD: Kupuhipa
|
|
||||||
CheckboxField:
|
|
||||||
- Hē
|
|
||||||
- Pono
|
|
||||||
ComplexTableField:
|
|
||||||
CLOSEPOPUP: 'Kati Pakū-Ake'
|
|
||||||
SUCCESSADD2: 'Kua tāpiritia a {name}'
|
|
||||||
SUCCESSEDIT: 'I tiakina a %s %s %s'
|
|
||||||
ComplexTableField.ss:
|
|
||||||
ADDITEM: 'Tāpiri %s'
|
|
||||||
NOITEMSFOUND: 'Kāore i kitea he tūemi'
|
|
||||||
SORTASC: 'Kōmaka aupiki'
|
|
||||||
SORTDESC: 'Kōmaka auheke'
|
|
||||||
ComplexTableField_popup.ss:
|
|
||||||
NEXT: Panuku
|
|
||||||
PREVIOUS: Tōmua
|
|
||||||
ConfirmedPasswordField:
|
|
||||||
ATLEAST: 'Kia {min} pūāhua i te iti rawa te roa o ngā kupuhipa.'
|
|
||||||
BETWEEN: 'Me noho te roa o ngā kupuhipa i waenga i te {min} ki te {max} ngā pūāhua'
|
|
||||||
MAXIMUM: 'Kaua i hipa i te {max} pūāhua te roa o ngā kupuhipa.'
|
|
||||||
SHOWONCLICKTITLE: 'Huri Kupuhipa'
|
|
||||||
CreditCardField:
|
|
||||||
FIRST: tuatahi
|
|
||||||
FOURTH: tuawhā
|
|
||||||
SECOND: tuarua
|
|
||||||
THIRD: tuatoru
|
|
||||||
CurrencyField:
|
|
||||||
CURRENCYSYMBOL: $
|
|
||||||
DataObject:
|
|
||||||
PLURALNAME: 'Ngā Ahanoa Raraunga'
|
|
||||||
SINGULARNAME: 'Ahanoa Raraunga'
|
|
||||||
Date:
|
|
||||||
DAY: rā
|
|
||||||
DAYS: 'ngā rā'
|
|
||||||
HOUR: haora
|
|
||||||
HOURS: 'ngā haora'
|
|
||||||
MIN: meneti
|
|
||||||
MINS: 'ngā meneti'
|
|
||||||
MONTH: marama
|
|
||||||
MONTHS: 'ngā marama'
|
|
||||||
SEC: hēkona
|
|
||||||
SECS: 'ngā hēkona'
|
|
||||||
TIMEDIFFAGO: '{difference} i mua'
|
|
||||||
TIMEDIFFIN: 'i roto i te {difference}'
|
|
||||||
YEAR: tau
|
|
||||||
YEARS: 'ngā tau'
|
|
||||||
DateField:
|
|
||||||
NOTSET: 'kāore i tautuhia'
|
|
||||||
TODAY: 'i tēnei rā'
|
|
||||||
VALIDDATEFORMAT2: 'Tāurua he hōputu rā tika ({format})'
|
|
||||||
VALIDDATEMAXDATE: 'Me tawhito ake tō rā, kia ōrite rānei ki te rā mōrahi ({date}) kua whakaaetia'
|
|
||||||
VALIDDATEMINDATE: 'Me hōu ake tō rā, kia ōrite rānei ki te rā moroiti ({date}) kua whakaaetia'
|
|
||||||
DatetimeField:
|
|
||||||
NOTSET: 'Kāore i tautuhia'
|
|
||||||
Director:
|
|
||||||
INVALID_REQUEST: 'Tono muhu'
|
|
||||||
DropdownField:
|
|
||||||
CHOOSE: (Kōwhiri)
|
|
||||||
EmailField:
|
|
||||||
VALIDATION: 'Tāurua he wāhitau īmēra '
|
|
||||||
Email_BounceRecord:
|
|
||||||
PLURALNAME: 'Ngā Pūrongo Tāwhana Īmēra'
|
|
||||||
SINGULARNAME: 'Pūrongo Tāwhana Īmēra'
|
|
||||||
Enum:
|
|
||||||
ANY: 'Ko tētahi'
|
|
||||||
File:
|
|
||||||
Content: 'Ngā Ihirangi'
|
|
||||||
Filename: 'Ingoa Kōnae'
|
|
||||||
INVALIDEXTENSION: 'Kāore e whakaaetia te toronga (valid: {extensions})'
|
|
||||||
INVALIDEXTENSIONSHORT: 'Kāore e whakaaetia te toronga'
|
|
||||||
NOFILESIZE: 'He kore ngā paita kei te kōnae'
|
|
||||||
NOVALIDUPLOAD: 'Ehara te kōnae i te tukuatu pono'
|
|
||||||
Name: Ingoa
|
|
||||||
PLURALNAME: 'Ngā Kōnae'
|
|
||||||
SINGULARNAME: Kōnae
|
|
||||||
TOOLARGE: 'He rahi rawa te rahi kōnae, he {size} te rahi mōrahi ka taea'
|
|
||||||
TOOLARGESHORT: 'Ka hipa te {size} i te rahi kōnae'
|
|
||||||
Title: Taitara
|
|
||||||
FileIFrameField:
|
|
||||||
ATTACH: 'Āpiti {type}'
|
|
||||||
ATTACHONCESAVED: 'Ka taea te āpiti i ngā {type} ina oti te tiaki tuatahi o te pūkete.'
|
|
||||||
ATTACHONCESAVED2: 'Ka taea te āpiti kōnae ina oti te tiaki tuatahi o te pūkete.'
|
|
||||||
DELETE: 'Muku {type}'
|
|
||||||
DISALLOWEDFILETYPE: 'Kāore e whakaaetia ki te tukuatu i tēnei momo kōnae'
|
|
||||||
FILE: Kōnae
|
|
||||||
FROMCOMPUTER: 'Mai i tō Rorohiko'
|
|
||||||
FROMFILESTORE: 'Mai i te pātaka kōnae'
|
|
||||||
NOSOURCE: 'Kōwhiria he kōnae pūtake hei tāpiri'
|
|
||||||
REPLACE: 'Whakakapi {type}'
|
|
||||||
FileIFrameField_iframe.ss:
|
|
||||||
TITLE: 'Iframe Tukuatu Atahanga'
|
|
||||||
Filesystem:
|
|
||||||
SYNCRESULTS: 'Kua oti te tukutahi: e {createdcount} ngā tūemi i hangaia, e {deletedcount} ngā tūemi i mukua'
|
|
||||||
Folder:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: Folders
|
|
||||||
SINGULARNAME: Folder
|
|
||||||
=======
|
|
||||||
PLURALNAME: 'Ngā Kōpaki'
|
|
||||||
SINGULARNAME: Kōpaki
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
ForgotPasswordEmail.ss:
|
|
||||||
HELLO: 'Kia ora'
|
|
||||||
TEXT1: 'Anei tō'
|
|
||||||
TEXT2: 'hono tautuhi kupuhipa anō'
|
|
||||||
TEXT3: mā
|
|
||||||
Form:
|
|
||||||
FIELDISREQUIRED: 'Ka hiahiatia a %s'
|
|
||||||
SubmitBtnLabel: Haere
|
|
||||||
VALIDATIONCREDITNUMBER: 'Tirohia kua tika tō tāuru i te tau kāri nama {number}'
|
|
||||||
VALIDATIONNOTUNIQUE: 'Ehara te uara i tāurua i te ahurei'
|
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Kāore ngā kupuhipa i te ōrite'
|
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Kia kaua e noho piako ngā kupuhipa'
|
|
||||||
VALIDATIONSTRONGPASSWORD: 'Kia kotahi tonu te mati, kia tahi hoki te pūāhua retawhika i te iti rawa o ngā kupuhipa'
|
|
||||||
VALIDATOR: Pūwhakamana
|
|
||||||
VALIDCURRENCY: 'Tāurua he moni tika'
|
|
||||||
FormField:
|
|
||||||
NONE: Kore
|
|
||||||
GridAction:
|
|
||||||
DELETE_DESCRIPTION: Muku
|
|
||||||
Delete: Muku
|
|
||||||
UnlinkRelation: Wetehono
|
|
||||||
GridField:
|
|
||||||
Add: 'Tāpiri {name}'
|
|
||||||
Filter: Tātari
|
|
||||||
FilterBy: 'Tātari mā'
|
|
||||||
Find: Rapu
|
|
||||||
LEVELUP: 'Whakaawhiwhi ki runga'
|
|
||||||
LinkExisting: 'Hono Tīari'
|
|
||||||
NewRecord: '%s hōu'
|
|
||||||
NoItemsFound: 'Kāore i kitea he tūemi'
|
|
||||||
PRINTEDAT: 'I tāngia i'
|
|
||||||
PRINTEDBY: 'I tāngia e'
|
|
||||||
PlaceHolder: 'Tapu {type}'
|
|
||||||
PlaceHolderWithLabels: 'Rapu {type} mā te {name}'
|
|
||||||
RelationSearch: 'Rapu whanaunga'
|
|
||||||
ResetFilter: 'Tautuhi anō'
|
|
||||||
GridFieldAction_Delete:
|
|
||||||
DeletePermissionsFailure: 'Kāore he muku whakaaetanga'
|
|
||||||
GridFieldDetailForm:
|
|
||||||
Create: Hanga
|
|
||||||
Delete: Muku
|
|
||||||
DeletePermissionsFailure: 'Kāore he muku whakaaetanga'
|
|
||||||
Deleted: 'Kua mukua %s %s'
|
|
||||||
Save: Tiaki
|
|
||||||
Saved: 'I tiakina a %s %s'
|
|
||||||
GridFieldItemEditView.ss: null
|
|
||||||
Group:
|
|
||||||
AddRole: 'Tāpiritia he tūnga mō tēnei rōpū'
|
|
||||||
Code: 'Waehere Rōpū'
|
|
||||||
DefaultGroupTitleAdministrators: 'Ngā Kaiwhakahaere'
|
|
||||||
DefaultGroupTitleContentAuthors: 'Ngā Kaituhi Ihirangi'
|
|
||||||
Description: Whakaahuatanga
|
|
||||||
GroupReminder: 'Mēnā ka kōwhiri koe i tētahi rōpū matua, ka whiwhi tēnei rōpū i ōna tūnga katoa'
|
|
||||||
Locked: 'Kua raka?'
|
|
||||||
NoRoles: 'Kāore i kitea he tūnga'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: Groups
|
|
||||||
Parent: 'Rōpū Matua'
|
|
||||||
RolesAddEditLink: 'Whakahaere tūnga'
|
|
||||||
SINGULARNAME: Group
|
|
||||||
=======
|
|
||||||
PLURALNAME: 'Ngā Rōpū'
|
|
||||||
Parent: 'Rōpū Matua'
|
|
||||||
RolesAddEditLink: 'Whakahaere tūnga'
|
|
||||||
SINGULARNAME: Rōpū
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Sort: 'Raupapa Kōmaka'
|
|
||||||
has_many_Permissions: 'Ngā Whakaaetanga'
|
|
||||||
many_many_Members: 'Ngā Mema'
|
|
||||||
GroupImportForm:
|
|
||||||
Help1: '<p>Kawea mai ngā kaiwhakamahi i te hōputu <em>CSV </em> (ngā uara ka wehea ki te piko). <small><a href="#" class="toggle-advanced">Whakaatu whakamahinga ara atu anō</a></small></p>'
|
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Whakamahinga ara atu anō</h4>\\n<ul>\\n<li>Ngā tīwae ka whakaaetia: <em>%s</em></li>\\n<li>Ka whakaritea ngā kaiwhakamahi mā tō rātou āhuatanga<em>Waehere</em> ahurei, ā, ka whakahōutia ki ngā uara hōu mai i te kōnae kua kawea mai</li>\\n<li>Ka taea te hanga aroākapanga rōpū mā te whakamahi i te tīwae <em>WaehereMatua</em>.</li>\\n<li>Ka taea te tautapa waehere whakaaetanga mā te tīwae<em>WaehereWhakaaetanga</em>. Kāore e ūkuia ngā waehere whakaaetanga o nāianei.</li>\\n</ul>\\n</div>"
|
|
||||||
ResultCreated: 'I hangaia e {count} ngā rōpū'
|
|
||||||
ResultDeleted: 'Kua mukua e %d ngā rōpū'
|
|
||||||
ResultUpdated: 'Kua whakahōutia e %d ngā rōpū'
|
|
||||||
Hierarchy:
|
|
||||||
InfiniteLoopNotAllowed: 'Kua kitea he koromeke mutunga kore i roto i te aroākapanga "{type}". Hurihia te matua hei whakaea i tēnei'
|
|
||||||
HtmlEditorField:
|
|
||||||
ADDURL: 'Tāpiri PRO'
|
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Ngā taipitopito & ngā rahinga'
|
|
||||||
ANCHORVALUE: Punga
|
|
||||||
BUTTONINSERT: Kōkohu
|
|
||||||
BUTTONINSERTLINK: 'Kōkuhu hono'
|
|
||||||
BUTTONREMOVELINK: 'Tango hono'
|
|
||||||
BUTTONUpdate: Whakahōu
|
|
||||||
CAPTIONTEXT: 'Tuhinga tapanga'
|
|
||||||
CSSCLASS: 'Tiaroaro / kāhua'
|
|
||||||
CSSCLASSCENTER: 'I tauwaengatia, i tōna kotahi'
|
|
||||||
CSSCLASSLEFT: 'I te taha mauī, me te tuhinga e takai huri noa ana'
|
|
||||||
CSSCLASSLEFTALONE: 'Kei te mauī, i tōna kotahi'
|
|
||||||
CSSCLASSRIGHT: 'I te taha matau, me te tuhinga e takai huri noa ana'
|
|
||||||
DETAILS: 'Ngā Taipitopito'
|
|
||||||
EMAIL: 'Wāhitau Īmēra'
|
|
||||||
FILE: 'Ngā kōnae'
|
|
||||||
FOLDER: Kōpaki
|
|
||||||
FROMCMS: 'Mai i te CMS'
|
|
||||||
FROMCOMPUTER: 'Mai i tō rorohiko'
|
|
||||||
FROMWEB: 'Mai i te tukutuku'
|
|
||||||
FindInFolder: 'Rapu i te Kōpaki'
|
|
||||||
IMAGEALT: 'Tuhinga kē (alt)'
|
|
||||||
IMAGEALTTEXT: 'Tuhinga kē - ka whakaaturia ki te kore e taea te whakaatu atahanga'
|
|
||||||
IMAGEALTTEXTDESC: 'Ka whakaaturia ki ngā pūpānui mata, mēnā rānei kāore e taea te atahanga te whakaatu'
|
|
||||||
IMAGEDIMENSIONS: 'Ngā Rahinga'
|
|
||||||
IMAGEHEIGHTPX: Teitei
|
|
||||||
IMAGETITLE: 'Tuhinga taitara (ākiutauta) - mō ngā mōhiohio tāpiri mō te atahanga'
|
|
||||||
IMAGETITLETEXT: 'Tuhinga taitara (ākiutauta) '
|
|
||||||
IMAGETITLETEXTDESC: 'Mō ētahi atu mōhiohio mō te atahanga'
|
|
||||||
IMAGEWIDTHPX: Whānui
|
|
||||||
INSERTMEDIA: 'Kōkuhu Pāpāho'
|
|
||||||
LINK: 'Kōkuhu hono'
|
|
||||||
LINKANCHOR: 'He punga kei tēnei whārangi'
|
|
||||||
LINKDESCR: 'Whakaahuatanga hono'
|
|
||||||
LINKEMAIL: 'Wāhitau Īmēra'
|
|
||||||
LINKEXTERNAL: 'Tētahi atu paetukutuku'
|
|
||||||
LINKFILE: 'Tīkina ake he kōnae'
|
|
||||||
LINKINTERNAL: 'Whārangi kei te pae'
|
|
||||||
LINKOPENNEWWIN: 'Ka whakatuwhera hono i te matapihi hōu?'
|
|
||||||
LINKTO: 'Hono ki'
|
|
||||||
PAGE: Whārangi
|
|
||||||
URL: PRO
|
|
||||||
URLNOTANOEMBEDRESOURCE: 'Kāore e taea te huri i te PRO ''{url}'' hei rawa pāpāho.'
|
|
||||||
UpdateMEDIA: 'Whakahōu Pāpāho'
|
|
||||||
Image:
|
|
||||||
PLURALNAME: 'Ngā Kōnae'
|
|
||||||
SINGULARNAME: Kōnae
|
|
||||||
ImageField:
|
|
||||||
IMAGE: Atahanga
|
|
||||||
Image_Cached:
|
|
||||||
PLURALNAME: 'Ngā kōnae'
|
|
||||||
SINGULARNAME: Kōnae
|
|
||||||
Image_iframe.ss:
|
|
||||||
TITLE: 'Iframe Tukuatu Atahanga'
|
|
||||||
LeftAndMain:
|
|
||||||
CANT_REORGANISE: 'Kāore tō mana whakakē i ngā whārangi taumata Matua. Kāore tō huringa i tiakina.'
|
|
||||||
DELETED: 'I mukua'
|
|
||||||
DropdownBatchActionsDefault: 'Ngā Mahi'
|
|
||||||
HELP: Āwhina
|
|
||||||
PAGETYPE: 'Momo whārangi:'
|
|
||||||
PERMAGAIN: 'Kua takiputaina atu koe i te CMS. Ki te pīrangi koe ki te takiuru atu anō, tāurutia tētahi ingoa kaiwhakamahi me te kupuhipa. '
|
|
||||||
PERMALREADY: 'Aroha mai, kāore e taea te whakauru i tērā wāhanga o te CMS. Ki te pīrangi koe ki te takiuru atu mā tētahi atu ingoa, whakamahia ki raro nei.'
|
|
||||||
PERMDEFAULT: 'Whiriwhiria koa tētahi aratuka motuhēhēnga me te tāuru i ō pūkenga ki te whakauru i te CMS.'
|
|
||||||
PLEASESAVE: 'Tiaki Whārangi: Kāore i taea tēnei whārangi te whakahōu nā te mea kāore anō kia tiakina.'
|
|
||||||
PreviewButton: Arokite
|
|
||||||
REORGANISATIONSUCCESSFUL: 'Kua momoho te whakaraupapa anō i te rākau pae'
|
|
||||||
SAVEDUP: 'Kua Tiakina'
|
|
||||||
VersionUnknown: 'tē mōhiotia'
|
|
||||||
LeftAndMain_Menu.ss:
|
|
||||||
Hello: 'Kia ora'
|
|
||||||
LOGOUT: Takiputa
|
|
||||||
LoginAttempt:
|
|
||||||
Email: 'Wāhitau Īmēra'
|
|
||||||
IP: 'Wāhitau KI'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: 'Login Attempts'
|
|
||||||
SINGULARNAME: 'Login Attempt'
|
|
||||||
=======
|
|
||||||
PLURALNAME: 'Ngā Whakamātau Takiuru'
|
|
||||||
SINGULARNAME: 'Whakamātau Takiuru'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Status: Tūnga
|
|
||||||
Member:
|
|
||||||
ADDGROUP: 'Tāpiri rōpū'
|
|
||||||
BUTTONCHANGEPASSWORD: 'Huri Kupuhipa'
|
|
||||||
BUTTONLOGIN: Takiuru
|
|
||||||
BUTTONLOGINOTHER: 'Takiuru hei tangata kē'
|
|
||||||
BUTTONLOSTPASSWORD: 'Kua ngaro i a au taku kupuhipa'
|
|
||||||
CONFIRMNEWPASSWORD: 'Whakaū Kupuhipa Hōu'
|
|
||||||
CONFIRMPASSWORD: 'Whakaū Kupuhipa'
|
|
||||||
DATEFORMAT: 'Date format'
|
|
||||||
DefaultAdminFirstname: 'Kaiwhakahaere Taunoa'
|
|
||||||
DefaultDateTime: taunoa
|
|
||||||
EMAIL: Īmēra
|
|
||||||
EMPTYNEWPASSWORD: 'Kāore e whakaaetia kia piako te kupuhipa hōu, ngana anō'
|
|
||||||
ENTEREMAIL: 'Tāurua he wāhitau īmēra kia whiwhi i te hono tautuhi kupuhipa anō.'
|
|
||||||
ERRORLOCKEDOUT: 'Kua mono rangitahitia tō pūkete nā te nui rawa o ngā whakamātau hē ki te takiuru. Ngana anō ā te 20 meneti.'
|
|
||||||
ERRORNEWPASSWORD: 'Kua rerekē tō tāuru kupuhipa, whakamātau anō'
|
|
||||||
ERRORPASSWORDNOTMATCH: 'Kāore i te ōrite tō kupuhipa o nāianei, ngana anō'
|
|
||||||
ERRORWRONGCRED: 'Te āhua nei ehara i te wāhitau īmerā tika, i te kuphipa tika rānei. Ngana anō'
|
|
||||||
FIRSTNAME: 'Ingoa Tuatahi'
|
|
||||||
INTERFACELANG: 'Reo Atanga'
|
|
||||||
INVALIDNEWPASSWORD: 'Kāore i taea te whakaae ki taua kupuhipa: {password}'
|
|
||||||
LOGGEDINAS: 'Kua takiuru koe hei {name}.'
|
|
||||||
NEWPASSWORD: 'Kupuhipa Hōu'
|
|
||||||
PASSWORD: Kupuhipa
|
|
||||||
PLURALNAME: 'Ngā Mema'
|
|
||||||
PROFILESAVESUCCESS: 'I momoho te tiaki'
|
|
||||||
REMEMBERME: 'Ka maumahara mai ā muri atu?'
|
|
||||||
SINGULARNAME: Mema
|
|
||||||
SUBJECTPASSWORDCHANGED: 'Kua hurihia tō kupuhipa'
|
|
||||||
SUBJECTPASSWORDRESET: 'Tō hono tautuhi kupuhipa anō'
|
|
||||||
SURNAME: 'Ingoa Whānau'
|
|
||||||
TIMEFORMAT: 'Time format'
|
|
||||||
VALIDATIONMEMBEREXISTS: 'Tīari kē ana tētahi mema me te %s ōrite'
|
|
||||||
ValidationIdentifierFailed: 'Kāore e whakaaetia ki te tuhirua i te mema #{id} ki te pūtautuhi ōrite ({name} = {value}))'
|
|
||||||
WELCOMEBACK: 'Nau mai, hoki mai, {firstname}'
|
|
||||||
YOUROLDPASSWORD: 'Tō kupuhipa tawhito'
|
|
||||||
belongs_many_many_Groups: 'Ngā Rōpū'
|
|
||||||
db_LastVisited: 'Rā Toronga Tōmua'
|
|
||||||
db_Locale: 'Tauwāhi Atanga'
|
|
||||||
db_LockedOutUntil: 'Ka maukatia tae atu ki te'
|
|
||||||
db_NumVisit: 'Maha o ngā Toronga'
|
|
||||||
db_Password: Kupuhipa
|
|
||||||
db_PasswordExpiry: 'Rā Mōnehu Kupuhipa'
|
|
||||||
MemberAuthenticator:
|
|
||||||
TITLE: 'Īmērā & Kupuhipa'
|
|
||||||
MemberDatetimeOptionsetField:
|
|
||||||
AMORPM: 'AM (Ante meridiem), PM (Post meridiem) rānei'
|
|
||||||
'APPLY FILTER': 'Hoatu Tātari'
|
|
||||||
Custom: Ritenga
|
|
||||||
DATEFORMATBAD: 'He muhu te hōputu rā'
|
|
||||||
DAYNOLEADING: 'Rā o te marama kāore he kore i mua'
|
|
||||||
DIGITSDECFRACTIONSECOND: 'Kotahi neke atu ngā mati e tohu ana i te hautau ā-ira o te hēkona'
|
|
||||||
FOURDIGITYEAR: 'Tau matiwhā'
|
|
||||||
FULLNAMEMONTH: 'Ingoa marama katoa (hei tauira, Pipiri)'
|
|
||||||
HOURNOLEADING: 'Haora, kāore he kore i mua'
|
|
||||||
MINUTENOLEADING: 'Meneti, kāore he kore i mua'
|
|
||||||
MONTHNOLEADING: 'Mati marama kāore he kore i mua'
|
|
||||||
Preview: Arokite
|
|
||||||
SHORTMONTH: 'Ingoa marama poto (hei tauira, Pip)'
|
|
||||||
TOGGLEHELP: 'Takahurihia te āwhina whakahōputu'
|
|
||||||
TWODIGITDAY: 'Rā marama matirua'
|
|
||||||
TWODIGITHOUR: 'Ngā mati haora e rua (00 ki te 23)'
|
|
||||||
TWODIGITMINUTE: 'Ngā mati meneti e rua (00 ki te 59)'
|
|
||||||
TWODIGITMONTH: 'Marama matirua (01=Kohitātea)'
|
|
||||||
TWODIGITSECOND: 'Ngā mati hēkona e rua (00 ki te 59)'
|
|
||||||
TWODIGITYEAR: 'Tau matirua'
|
|
||||||
MemberImportForm:
|
|
||||||
Help1: '<p>Kawea mai ngā kaiwhakamahi i te <em>hōputu CSV </em> (ngā uara ka wehea ki te piko). <small><a href="#" class="toggle-advanced">Whakaatu whakamahinga ara atu anō</a></small></p>'
|
|
||||||
Help2: "<div class=\"advanced\">\\n<h4>Whakamahinga ara atu anō</h4>\\n<ul>\\n<li>Ngā tīwae ka whakaaetia: <em>%s</em></li>\\n<li>Ka whakaritea ngā kaiwhakamahi mā tō rātou āhuatanga<em>Waehere</em> ahurei, ā, ka whakahōutia ki ngā uara hōu mai i te kōnae kua kawea mai.</li>\\n<li>Ka taea te tautapa rōpū mā te tīwae <em>Ngā Rōpū</em>. Ka tautohua ngā rōpū mā tō rātou āhuatanga <em>Waehere</em>, ka taea te whakawehe i ngā rōpū maha ki te piko. Kāore e ūkuia ngā mematanga rōpū o naianei.</li>\\n</ul>\\n</div>"
|
|
||||||
ResultCreated: 'I hangaia e {count} ngā mema'
|
|
||||||
ResultDeleted: 'Kua mukua e %d ngā mema'
|
|
||||||
ResultNone: 'Kāore he huringa'
|
|
||||||
ResultUpdated: 'I whakahōutia e {count} mhā mema'
|
|
||||||
MemberPassword:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: 'Member Passwords'
|
|
||||||
SINGULARNAME: 'Member Password'
|
|
||||||
=======
|
|
||||||
PLURALNAME: 'Ngā Kupuhipa Mema'
|
|
||||||
SINGULARNAME: 'Kupuhipa Mema'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
MemberTableField: null
|
|
||||||
ModelAdmin:
|
|
||||||
DELETE: Muku
|
|
||||||
DELETEDRECORDS: 'I mukua e {count} ngā pūkete.'
|
|
||||||
IMPORT: 'Kawemai i CSV'
|
|
||||||
IMPORTEDRECORDS: 'I kawea mai e {count} ngā pūkete.'
|
|
||||||
NOCSVFILE: 'Pūtirotiro kia kitea he kōnae CSV hei kawemai'
|
|
||||||
NOIMPORT: 'Kāore he mea hei kawemai'
|
|
||||||
RESET: 'Tautuhi Anō'
|
|
||||||
Title: 'Ngā Tauira Raraunga'
|
|
||||||
UPDATEDRECORDS: 'I whakahōutia e {count} ngā pūkete.'
|
|
||||||
ModelAdmin_ImportSpec.ss:
|
|
||||||
IMPORTSPECFIELDS: 'Ngā tīwae pātengi raraunga'
|
|
||||||
IMPORTSPECLINK: 'Whakaatu Whakapūtātanga mō %s'
|
|
||||||
IMPORTSPECRELATIONS: 'Ngā Pānga'
|
|
||||||
IMPORTSPECTITLE: 'Whakapūtātanga mō %s'
|
|
||||||
ModelAdmin_Tools.ss:
|
|
||||||
FILTER: Tātari
|
|
||||||
IMPORT: Kawemai
|
|
||||||
ModelSidebar.ss:
|
|
||||||
IMPORT_TAB_HEADER: Kawemai
|
|
||||||
SEARCHLISTINGS: Rapu
|
|
||||||
MoneyField:
|
|
||||||
FIELDLABELAMOUNT: Rahinga
|
|
||||||
FIELDLABELCURRENCY: Moni
|
|
||||||
NullableField:
|
|
||||||
IsNullLabel: 'He Kore Tēnei'
|
|
||||||
NumericField:
|
|
||||||
VALIDATION: 'Ehara te ''{value}'' i te tau, ka taea ngā tau anake ki tēnei āpure'
|
|
||||||
Pagination:
|
|
||||||
Page: Whārangi
|
|
||||||
<<<<<<< HEAD
|
|
||||||
View: View
|
|
||||||
=======
|
|
||||||
View: Tiro
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Permission:
|
|
||||||
AdminGroup: Kaiwhakahaere
|
|
||||||
CMS_ACCESS_CATEGORY: 'Uru CMS'
|
|
||||||
FULLADMINRIGHTS: 'Ngā motika kaiwhakahaere katoa'
|
|
||||||
FULLADMINRIGHTS_HELP: 'Ka whakapae me te takahi i ērā atu whakaaetanga katoa kua tautapatia.'
|
|
||||||
PLURALNAME: Permissions
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SINGULARNAME: Permission
|
|
||||||
=======
|
|
||||||
SINGULARNAME: Whakaaetanga
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
PermissionCheckboxSetField:
|
|
||||||
AssignedTo: 'kua tautapatia ki "{title}"'
|
|
||||||
FromGroup: 'I tukuna iho i te rōpū "{title}"'
|
|
||||||
FromRole: 'I tukuna iho i te tūnga "{title}"'
|
|
||||||
FromRoleOnGroup: 'i tukuna iho i "%s" i te rōpū "%s"'
|
|
||||||
PermissionRole:
|
|
||||||
PLURALNAME: 'Ngā Tūnga'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SINGULARNAME: Role
|
|
||||||
=======
|
|
||||||
SINGULARNAME: Tūranga
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
PermissionRoleCode:
|
|
||||||
PLURALNAME: 'Permission Role Cods'
|
|
||||||
SINGULARNAME: 'Permission Role Code'
|
|
||||||
Permissions:
|
|
||||||
PERMISSIONS_CATEGORY: 'Ngā tūnga me ngā whakaaetanga uru'
|
|
||||||
PhoneNumberField:
|
|
||||||
VALIDATION: 'Tāurua he tau waea tika'
|
|
||||||
RelationComplexTableField.ss:
|
|
||||||
ADD: Tāpiri
|
|
||||||
CSVEXPORT: 'Kaweatu ki CSV'
|
|
||||||
NOTFOUND: 'Kāore i kitea he tūemi'
|
|
||||||
Security:
|
|
||||||
ALREADYLOGGEDIN: 'Kāore i te whakaaetia kia uru koe ki tēnei whārangi. Mēnā he pūkete anō tōu e taea ai te uru ki tēnā whārangi, ka taea te takiuru anō i raro.'
|
|
||||||
BUTTONSEND: 'Tukuna mai te hono tautuhi kupuhipa anō'
|
|
||||||
CHANGEPASSWORDBELOW: 'Ka taea te huri i tō kupuhipa i raro'
|
|
||||||
CHANGEPASSWORDHEADER: 'Hurihia tō kupuhipa'
|
|
||||||
ENTERNEWPASSWORD: 'Tāurua he kupuhipa hōu'
|
|
||||||
ERRORPASSWORDPERMISSION: 'Me takiuru koe i mua i te huri i tō kupuhipa!'
|
|
||||||
LOGGEDOUT: 'Kua takiputaina atu koe. Ki te pīrangi koe ki te takiuru atu anō, tāurutia ō taipitopito tuakiri ki raro. '
|
|
||||||
LOGIN: Takiuru
|
|
||||||
NOTEPAGESECURED: 'Kua ngita tēnā whārangi. Tāurua ō taipitoptio tuakiri ki raro, ā, mā mātou koe e tuku kia haere tonu.'
|
|
||||||
NOTERESETLINKINVALID: '<p>He muhu, kua mōnehu rānei te hono tautuhi kupuhipa anō.</p><p>Ka taea te tono i te mea hōu<a href="{link1}">i konei</a> ka huri rānei i tō kupuhipa ā muri i tō<a href="{link2}">takiuru</a>.</p>'
|
|
||||||
NOTERESETPASSWORD: 'Tāurua tō wāhitau īmēra, mā mātou e tuku tētahi hono ki a koe e taea ai te tautuhi anō i tō kupuhipa'
|
|
||||||
PASSWORDSENTHEADER: 'I tukuna he hono tautuhi kupuhipa anō ki ''{email}'''
|
|
||||||
PASSWORDSENTTEXT: 'Kia ora! Kua tukuna he hono tautuhi anō ki ''{email}'',engari rā kei te tīariari he pūkete mō taua wāhitau īmēra.'
|
|
||||||
SecurityAdmin:
|
|
||||||
ACCESS_HELP: 'Tukuna te tiro, te tāpiri me te whakatika i ngā kaiwhakamahi, me te tautapa anō hoki i ngā whakaaetanga me ngā tūnga ki a rātou.'
|
|
||||||
APPLY_ROLES: 'Hoatu tūnga ki ngā rōpū'
|
|
||||||
APPLY_ROLES_HELP: 'Te āhei ki te whakatika tūnga kua tautapatia ki tētahi rōpū. Ka hiahiatia te whakaaetanga "Uru ki te wāhanga ''Ngā Kaiwhakamahi''"'
|
|
||||||
EDITPERMISSIONS: 'Whakahaere whakaaetanga mō ngā rōpū'
|
|
||||||
EDITPERMISSIONS_HELP: 'Te āhei ki te whakatika i Ngā Whakaaetanga me Ngā Wāhitau KI mō tētahi rōpū. Ka hiahiatia te whakaaetanga "Uru ki te wāhanga ''Haumarutanga''".'
|
|
||||||
GROUPNAME: 'Ingoa rōpū'
|
|
||||||
IMPORTGROUPS: 'Kawea mai ngā rōpū'
|
|
||||||
IMPORTUSERS: 'Kawe kaiwhakamahi mai'
|
|
||||||
MEMBERS: 'Ngā Mema'
|
|
||||||
MENUTITLE: Haumarutanga
|
|
||||||
MemberListCaution: 'Whakatūpato: Mā te tango mema i tēnei rārangi, ka tangohia i ngā rōpū katoa me te pātengi raraunga'
|
|
||||||
NEWGROUP: 'Rōpū Hōu'
|
|
||||||
PERMISSIONS: 'Ngā Whakaaetanga'
|
|
||||||
ROLES: 'Ngā Tūnga'
|
|
||||||
ROLESDESCRIPTION: 'Ko ngā tūnga he huinga o ngā whakaaetanga i tautuhia i mua, ā, ka taea te tautapa i ēnei ki ngā rōpū.<br />I tukuna iho i ngā rōpū matua ki te hiahiatia.'
|
|
||||||
TABROLES: 'Ngā Tūnga'
|
|
||||||
Users: 'Ngā Kaiwhakamahi'
|
|
||||||
SecurityAdmin_MemberImportForm:
|
|
||||||
BtnImport: 'Kawemai i CSV'
|
|
||||||
FileFieldLabel: 'Kōnae CSV <small>(Ngā toronga ka whakaaetia: *.csv)</small>'
|
|
||||||
SilverStripeNavigator:
|
|
||||||
Edit: Whakatika
|
|
||||||
SimpleImageField:
|
|
||||||
NOUPLOAD: 'Kāore He Atahanga Tukuatu'
|
|
||||||
SiteTree:
|
|
||||||
TABMAIN: Matua
|
|
||||||
TableField:
|
|
||||||
ISREQUIRED: 'Ka hiahiatia te %s i te ''%s'' '
|
|
||||||
TableField.ss:
|
|
||||||
ADD: 'Tāpiri haupae hōu'
|
|
||||||
ADDITEM: 'Tāpiri %s'
|
|
||||||
TableListField:
|
|
||||||
CSVEXPORT: 'Kaweake ki CSV'
|
|
||||||
PRINT: Tā
|
|
||||||
Print: Tā
|
|
||||||
SELECT: 'Tīpako:'
|
|
||||||
TableListField.ss:
|
|
||||||
NOITEMSFOUND: 'Kāore i kitea he tūemi'
|
|
||||||
SORTASC: 'Kōmakatia ki te raupapa aupiki'
|
|
||||||
SORTDESC: 'Kōmakatia ki te raupapa auheke'
|
|
||||||
TableListField_PageControls.ss:
|
|
||||||
DISPLAYING: 'Whakaatu ana'
|
|
||||||
OF: o
|
|
||||||
TO: ki
|
|
||||||
VIEWFIRST: 'Tirohia te tuatahi'
|
|
||||||
VIEWLAST: 'Tirohia te whakamutunga'
|
|
||||||
VIEWNEXT: 'Tiro panuku'
|
|
||||||
VIEWPREVIOUS: 'Tiro tōmua'
|
|
||||||
TimeField:
|
|
||||||
VALIDATEFORMAT: 'Tāurua he hōputu wā tika ({format})'
|
|
||||||
ToggleField:
|
|
||||||
LESS: 'iti iho'
|
|
||||||
MORE: 'nui ake'
|
|
||||||
UploadField:
|
|
||||||
ATTACHFILE: 'Tāpiritia tētahi kōnae'
|
|
||||||
ATTACHFILES: 'Tāpiri kōnae'
|
|
||||||
AttachFile: 'Tāpiritia t/ētahi kōnae'
|
|
||||||
DELETE: 'Muku i ngā kōnae'
|
|
||||||
DELETEINFO: 'Muku pūmautia tēnei kōnae i te pātaka kōnae'
|
|
||||||
DOEDIT: Tiaki
|
|
||||||
DROPFILE: 'whakamakeretia tētahi kōnae'
|
|
||||||
DROPFILES: 'taka kōnae'
|
|
||||||
Dimensions: 'Ngā Rahinga'
|
|
||||||
EDIT: Whakatika
|
|
||||||
EDITINFO: 'Whakatikatia tēnei kōnae'
|
|
||||||
FIELDNOTSET: 'Kāore i kitea te mōhiohio kōnae'
|
|
||||||
FROMCOMPUTER: 'Mai i tō rorohiko'
|
|
||||||
FROMCOMPUTERINFO: 'Tīpako mai i ngā kōnae'
|
|
||||||
FROMFILES: 'I ngā kōnae'
|
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
|
||||||
MAXNUMBEROFFILES: 'Kua hipa te mōrahi o ngā kōnae {count}.'
|
|
||||||
MAXNUMBEROFFILESSHORT: 'Ka taea te tukuatu i ngā kōnae {count} anake '
|
|
||||||
REMOVE: Tango
|
|
||||||
REMOVEERROR: 'Kua rarua te tango kōnae'
|
|
||||||
REMOVEINFO: 'Tangohia tēnei kōane i konei, engari kaua e muku i te pātaka kōnae'
|
|
||||||
STARTALL: 'Tīmata katoa'
|
|
||||||
STARTALLINFO: 'Tīmataria ngā tukuatu katoa'
|
|
||||||
Saved: 'Kua Tiakina'
|
|
||||||
Versioned:
|
|
||||||
has_many_Versions: 'Ngā Putanga'
|
|
556
lang/nl.yml.orig
556
lang/nl.yml.orig
@ -1,556 +0,0 @@
|
|||||||
nl:
|
|
||||||
AssetAdmin:
|
|
||||||
ADDFILES: 'Add files'
|
|
||||||
EditOrgMenu: 'Edit & organize'
|
|
||||||
NEWFOLDER: 'Nieuwe Map'
|
|
||||||
AssetTableField:
|
|
||||||
CREATED: 'Eerste upload'
|
|
||||||
DIM: Dimensies
|
|
||||||
FILENAME: Bestandsnaam
|
|
||||||
FOLDER: Folder
|
|
||||||
LASTEDIT: 'Laatste wijziging'
|
|
||||||
OWNER: Eigenaar
|
|
||||||
SIZE: Grootte
|
|
||||||
TITLE: Titel
|
|
||||||
TYPE: Type
|
|
||||||
URL: URL
|
|
||||||
AssetUploadField:
|
|
||||||
ChooseFiles: 'Selecteer bestanden'
|
|
||||||
DRAGFILESHERE: 'Sleep bestanden hiernaar toe'
|
|
||||||
DROPAREA: 'Hierheen slepen'
|
|
||||||
EDITALL: 'Alles bewerken'
|
|
||||||
EDITANDORGANIZE: 'Bewerk en beheer'
|
|
||||||
EDITINFO: 'Edit files'
|
|
||||||
FILES: Bestanden
|
|
||||||
FROMCOMPUTER: 'Choose files from your computer'
|
|
||||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
|
||||||
TOTAL: Totaal
|
|
||||||
UPLOADINPROGRESS: 'Ogenblikje... bezig met uploaden'
|
|
||||||
UPLOADOR: OF
|
|
||||||
BBCodeParser:
|
|
||||||
ALIGNEMENT: Uitlijning
|
|
||||||
ALIGNEMENTEXAMPLE: 'rechts uitgelijnd'
|
|
||||||
BOLD: 'Vetgedrukte tekst'
|
|
||||||
BOLDEXAMPLE: Vetgedrukt
|
|
||||||
CODE: 'Code Blok'
|
|
||||||
CODEDESCRIPTION: 'niet opgemaakt code blok'
|
|
||||||
CODEEXAMPLE: 'Code Blok'
|
|
||||||
COLORED: 'Gekleurde tekst'
|
|
||||||
COLOREDEXAMPLE: 'blauwe tekst'
|
|
||||||
EMAILLINK: 'Email link'
|
|
||||||
EMAILLINKDESCRIPTION: 'Maak een koppeling naar een e-mailadres'
|
|
||||||
IMAGE: Foto
|
|
||||||
IMAGEDESCRIPTION: 'Toon een afbeelding in uw bericht'
|
|
||||||
ITALIC: 'Cursieve tekst'
|
|
||||||
ITALICEXAMPLE: Cursief
|
|
||||||
LINK: 'Website link'
|
|
||||||
LINKDESCRIPTION: 'Link naar een andere website of URL'
|
|
||||||
STRUCK: 'Doorgehaalde tekst'
|
|
||||||
STRUCKEXAMPLE: Doorgehaald
|
|
||||||
UNDERLINE: 'Onderstreepte tekst'
|
|
||||||
UNDERLINEEXAMPLE: Onderstreept
|
|
||||||
UNORDERED: 'Ongesorteerde lijst'
|
|
||||||
UNORDEREDDESCRIPTION: 'Ongesorteerde lijst'
|
|
||||||
UNORDEREDEXAMPLE1: 'ongesorteerd item 1'
|
|
||||||
BackLink_Button.ss:
|
|
||||||
Back: Terug
|
|
||||||
BasicAuth:
|
|
||||||
ENTERINFO: 'Voer een gebruikers naam en wachtwoord in.'
|
|
||||||
ERRORNOTADMIN: 'Die gebruiker is geen beheerder.'
|
|
||||||
ERRORNOTREC: 'De gebruikersnaam en/of wachtwoord wordt niet herkend'
|
|
||||||
Boolean:
|
|
||||||
0: 'False'
|
|
||||||
ANY: Elke
|
|
||||||
1: 'True'
|
|
||||||
CMSLoadingScreen.ss:
|
|
||||||
LOADING: Laden...
|
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
|
||||||
CMSMain:
|
|
||||||
ACCESS: 'Toegang tot het ''{title}'' gedeelte'
|
|
||||||
ACCESSALLINTERFACES: 'Toegang tot alle CMS onderdelen'
|
|
||||||
ACCESSALLINTERFACESHELP: 'Overstemt meer specifieke toegangsinstellingen'
|
|
||||||
SAVE: Bewaar
|
|
||||||
CMSProfileController:
|
|
||||||
MENUTITLE: CMSProfileController
|
|
||||||
ChangePasswordEmail.ss:
|
|
||||||
CHANGEPASSWORDTEXT1: 'U heeft het wachtwoord veranderd voor'
|
|
||||||
CHANGEPASSWORDTEXT2: 'U kunt nu onderstaande gegevens gebruiken om in te loggen:'
|
|
||||||
EMAIL: E-mail
|
|
||||||
HELLO: Hallo
|
|
||||||
PASSWORD: Wachtwoord
|
|
||||||
CheckboxField:
|
|
||||||
- 'False'
|
|
||||||
- 'True'
|
|
||||||
ComplexTableField:
|
|
||||||
CLOSEPOPUP: 'Sluit Popup'
|
|
||||||
SUCCESSADD2: 'Toegevoegd {name}'
|
|
||||||
SUCCESSEDIT: '%s %s %s Opgeslagen'
|
|
||||||
ComplexTableField.ss:
|
|
||||||
ADDITEM: 'Add %s'
|
|
||||||
NOITEMSFOUND: 'No items found'
|
|
||||||
SORTASC: 'Sorteer oplopend'
|
|
||||||
SORTDESC: 'Sorteer aflopend'
|
|
||||||
ComplexTableField_popup.ss:
|
|
||||||
NEXT: Volgende
|
|
||||||
PREVIOUS: Vorige
|
|
||||||
ConfirmedPasswordField:
|
|
||||||
ATLEAST: 'Passwords must be at least {min} characters long.'
|
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
|
||||||
MAXIMUM: 'Passwords must be at most {max} characters long.'
|
|
||||||
SHOWONCLICKTITLE: 'Verander wachtwoord'
|
|
||||||
CreditCardField:
|
|
||||||
FIRST: eerste
|
|
||||||
FOURTH: vierde
|
|
||||||
SECOND: tweede
|
|
||||||
THIRD: derde
|
|
||||||
CurrencyField:
|
|
||||||
CURRENCYSYMBOL: $
|
|
||||||
DataObject:
|
|
||||||
PLURALNAME: 'Gegeven Objecten'
|
|
||||||
SINGULARNAME: 'Gegeven Object'
|
|
||||||
Date:
|
|
||||||
DAY: dag
|
|
||||||
DAYS: dagen
|
|
||||||
HOUR: uur
|
|
||||||
HOURS: uren
|
|
||||||
MIN: minuut
|
|
||||||
MINS: minuten
|
|
||||||
MONTH: maand
|
|
||||||
MONTHS: maanden
|
|
||||||
SEC: seconde
|
|
||||||
SECS: seconden
|
|
||||||
TIMEDIFFAGO: '{difference} geleden'
|
|
||||||
TIMEDIFFIN: 'in {difference}'
|
|
||||||
YEAR: jaar
|
|
||||||
YEARS: jaren
|
|
||||||
DateField:
|
|
||||||
NOTSET: 'niet ingesteld'
|
|
||||||
TODAY: vandaag
|
|
||||||
VALIDDATEFORMAT2: 'Vul een valide datum in ({format})'
|
|
||||||
VALIDDATEMAXDATE: 'De datum moet eerder of gelijk zijn aan de maximale datum ({date})'
|
|
||||||
VALIDDATEMINDATE: 'De datum moet nieuwer of gelijk zijn aan de minimale datum ({date})'
|
|
||||||
DatetimeField:
|
|
||||||
NOTSET: 'Not set'
|
|
||||||
Director:
|
|
||||||
INVALID_REQUEST: 'Fout bij verwerken'
|
|
||||||
DropdownField:
|
|
||||||
CHOOSE: (Kies)
|
|
||||||
EmailField:
|
|
||||||
VALIDATION: 'Please enter an email address'
|
|
||||||
Email_BounceRecord:
|
|
||||||
PLURALNAME: 'Onbezorgbare emails'
|
|
||||||
SINGULARNAME: 'Onbezorgbare email'
|
|
||||||
Enum:
|
|
||||||
ANY: Elke
|
|
||||||
File:
|
|
||||||
Content: Inhoud
|
|
||||||
Filename: 'Bestandsnaam '
|
|
||||||
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
|
|
||||||
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
|
|
||||||
NOFILESIZE: 'Bestandsgrootte is nul bytes.'
|
|
||||||
NOVALIDUPLOAD: 'Geen geldig bestand'
|
|
||||||
Name: Naam
|
|
||||||
PLURALNAME: Bestanden
|
|
||||||
SINGULARNAME: Bestand
|
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
|
||||||
Title: 'Titel '
|
|
||||||
FileIFrameField:
|
|
||||||
ATTACH: 'Attach {type}'
|
|
||||||
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
|
||||||
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
|
||||||
DELETE: 'Delete {type}'
|
|
||||||
DISALLOWEDFILETYPE: 'Dit type bestand mag niet worden opgeslagen'
|
|
||||||
FILE: Bestand
|
|
||||||
FROMCOMPUTER: 'Vanaf computer'
|
|
||||||
FROMFILESTORE: 'Vanaf de website''s bestandsopslag'
|
|
||||||
NOSOURCE: 'Selecteer een bron bestand om toe te voegen'
|
|
||||||
REPLACE: 'Replace {type}'
|
|
||||||
FileIFrameField_iframe.ss:
|
|
||||||
TITLE: 'Afbeelding uploaden'
|
|
||||||
Filesystem:
|
|
||||||
SYNCRESULTS: 'Synchroniseren compleet: {createdcount} bestanden aangemaakt, {deletedcount} bestanden verwijderd.'
|
|
||||||
Folder:
|
|
||||||
PLURALNAME: Folders
|
|
||||||
SINGULARNAME: Folder
|
|
||||||
ForgotPasswordEmail.ss:
|
|
||||||
HELLO: Hallo
|
|
||||||
TEXT1: 'Hier is uw'
|
|
||||||
TEXT2: 'wachtwoord reset link'
|
|
||||||
TEXT3: voor
|
|
||||||
Form:
|
|
||||||
FIELDISREQUIRED: '%s is verplicht'
|
|
||||||
SubmitBtnLabel: Go
|
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
|
||||||
VALIDATIONNOTUNIQUE: 'De ingevoerde waarde is niet uniek'
|
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Wachtwoorden komen niet overeen'
|
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Wachtwoorden mogen niet leeg zijn'
|
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
|
||||||
VALIDATOR: Controleur
|
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
|
||||||
FormField:
|
|
||||||
NONE: geen
|
|
||||||
GridAction:
|
|
||||||
DELETE_DESCRIPTION: Verwijder
|
|
||||||
Delete: Verwijder
|
|
||||||
UnlinkRelation: Ontkoppelen
|
|
||||||
GridField:
|
|
||||||
Add: '{name} toevoegen'
|
|
||||||
Filter: Filteren
|
|
||||||
FilterBy: Filteren
|
|
||||||
Find: Zoek
|
|
||||||
LEVELUP: 'Niveau hoger'
|
|
||||||
LinkExisting: 'Koppelen aan'
|
|
||||||
NewRecord: 'Nieuw %s'
|
|
||||||
NoItemsFound: 'Geen items gevonden.'
|
|
||||||
PRINTEDAT: 'Geprint om'
|
|
||||||
PRINTEDBY: 'Geprint door'
|
|
||||||
PlaceHolder: 'Zoek {type}'
|
|
||||||
PlaceHolderWithLabels: 'Zoek {type} op {name}'
|
|
||||||
RelationSearch: 'Relation search'
|
|
||||||
ResetFilter: Herstel
|
|
||||||
GridFieldAction_Delete:
|
|
||||||
DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen'
|
|
||||||
GridFieldDetailForm:
|
|
||||||
Create: Create
|
|
||||||
Delete: Verwijder
|
|
||||||
DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen'
|
|
||||||
Deleted: 'Deleted %s %s'
|
|
||||||
Save: Opslaan
|
|
||||||
Saved: '%s %s %s Opgeslagen'
|
|
||||||
GridFieldItemEditView.ss: null
|
|
||||||
Group:
|
|
||||||
AddRole: 'Voeg een rol toe aan deze groep'
|
|
||||||
Code: 'Groep code'
|
|
||||||
DefaultGroupTitleAdministrators: Beheerders
|
|
||||||
DefaultGroupTitleContentAuthors: 'Inhoud Auteurs'
|
|
||||||
Description: 'Omschrijving '
|
|
||||||
GroupReminder: 'Als je de bovenliggende groep selecteert, neemt deze groep alle rollen over'
|
|
||||||
Locked: 'Gesloten?'
|
|
||||||
NoRoles: 'Geen rollen gevonden'
|
|
||||||
PLURALNAME: Groups
|
|
||||||
Parent: 'Bovenliggende groep'
|
|
||||||
RolesAddEditLink: 'Toevoegen/wijzigingen rollen'
|
|
||||||
SINGULARNAME: Group
|
|
||||||
Sort: Sorteer-richting
|
|
||||||
has_many_Permissions: Rechten
|
|
||||||
many_many_Members: Lid
|
|
||||||
GroupImportForm:
|
|
||||||
Help1: '<p>Importeer en of meerdere groepen in <em>CSV</em> formaat (Kommagescheiden bestandsformaat). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
|
|
||||||
Help2: '<div class="advanced"><h4>Geavanceerd gebruik</h4><ul><li>Toegestane kolommen: <em>%s</em></li><li>Bestaande groepen worden geïdentificeerd door middel van hun unieke <em>Code</em> waarde en aangepast met de nieuwe waarden van het geïmporteerde bestand</li><li>Groep hiërarchieën kunnen aangemaakt worden met behulp van een <em>ParentCode</em> kolom.</li><li>Toegangsrechten kunnen worden toegekend met de <em>PermissionCode</em> kolom. Bestaande toegangsrechten worden niet gewist.</li></ul></div>'
|
|
||||||
ResultCreated: 'Created {count} groups'
|
|
||||||
ResultDeleted: '%d groepen verwijderd'
|
|
||||||
ResultUpdated: '%d groepen aangepast'
|
|
||||||
Hierarchy:
|
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
|
||||||
HtmlEditorField:
|
|
||||||
ADDURL: 'Voeg URL toe'
|
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details $amp; afmeting'
|
|
||||||
ANCHORVALUE: Anker
|
|
||||||
BUTTONINSERT: Invoegen
|
|
||||||
BUTTONINSERTLINK: 'Link invoegen'
|
|
||||||
BUTTONREMOVELINK: 'Link verwijderen'
|
|
||||||
BUTTONUpdate: Update
|
|
||||||
CAPTIONTEXT: Onderschrift
|
|
||||||
CSSCLASS: 'Uitlijning / stijl'
|
|
||||||
CSSCLASSCENTER: 'Gecentreerd, op zichzelf staand.'
|
|
||||||
CSSCLASSLEFT: 'Aan de linkerkant, met tekst eromheen.'
|
|
||||||
CSSCLASSLEFTALONE: 'Links, losstaand.'
|
|
||||||
CSSCLASSRIGHT: 'Aan de rechterkant, met tekst eromheen.'
|
|
||||||
DETAILS: Details
|
|
||||||
EMAIL: Emailadres
|
|
||||||
FILE: Bestand
|
|
||||||
FOLDER: Map
|
|
||||||
FROMCMS: 'Vanaf CMS'
|
|
||||||
FROMCOMPUTER: 'Vanaf computer'
|
|
||||||
FROMWEB: 'Vanaf een website'
|
|
||||||
FindInFolder: 'Zoek in map'
|
|
||||||
IMAGEALT: 'Alternatieve tekst (alt tekst) - wordt getoond als de afbeelding niet kan worden geladen'
|
|
||||||
IMAGEALTTEXT: 'Alternatieve tekst (alt tekst) - wordt getoond als de afbeelding niet kan worden geladen'
|
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
|
||||||
IMAGEDIMENSIONS: Dimensies
|
|
||||||
IMAGEHEIGHTPX: Hoogte
|
|
||||||
IMAGETITLE: 'Titel tekst (tooltip) - Toon extra informatie over de afbeelding'
|
|
||||||
IMAGETITLETEXT: 'Titel tekst (tooltip) - Toon extra informatie over de afbeelding'
|
|
||||||
IMAGETITLETEXTDESC: 'Titel tekst (tooltip) - Toon extra informatie over de afbeelding'
|
|
||||||
IMAGEWIDTHPX: Breedte
|
|
||||||
INSERTMEDIA: Invoegen
|
|
||||||
LINK: Link
|
|
||||||
LINKANCHOR: 'Anker op deze pagina'
|
|
||||||
LINKDESCR: 'Link omschrijving'
|
|
||||||
LINKEMAIL: Emailadres
|
|
||||||
LINKEXTERNAL: 'Een andere website'
|
|
||||||
LINKFILE: 'Een bestand downloaden'
|
|
||||||
LINKINTERNAL: 'Pagina op deze site'
|
|
||||||
LINKOPENNEWWIN: 'Link in een nieuw venster openen?'
|
|
||||||
LINKTO: 'Verwijs naar'
|
|
||||||
PAGE: Pagina
|
|
||||||
URL: URL
|
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
|
||||||
UpdateMEDIA: 'Update Media'
|
|
||||||
Image:
|
|
||||||
PLURALNAME: Files
|
|
||||||
SINGULARNAME: File
|
|
||||||
ImageField:
|
|
||||||
IMAGE: Afbeelding
|
|
||||||
Image_Cached:
|
|
||||||
PLURALNAME: Files
|
|
||||||
SINGULARNAME: File
|
|
||||||
Image_iframe.ss:
|
|
||||||
TITLE: 'Afbeelding uploaden'
|
|
||||||
LeftAndMain:
|
|
||||||
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
|
|
||||||
DELETED: Verwijderd.
|
|
||||||
DropdownBatchActionsDefault: Acties
|
|
||||||
HELP: Help
|
|
||||||
PAGETYPE: 'Pagina type: '
|
|
||||||
PERMAGAIN: 'U bent uitgelogd uit het CMS. Als U weer wilt inloggen vul dan uw gebruikersnaam en wachtwoord hier beneden in.'
|
|
||||||
PERMALREADY: 'Helaas, dat deel van het CMS is niet toegankelijk voor U. Hieronder kunt U als iemand anders inloggen.'
|
|
||||||
PERMDEFAULT: 'Geef uw e-mailadres en wachtwoord voor toegang tot het CMS.'
|
|
||||||
PLEASESAVE: 'Deze pagina kon niet bijgewerkt worden, omdat deze nog niet is bewaard.'
|
|
||||||
PreviewButton: Preview
|
|
||||||
REORGANISATIONSUCCESSFUL: 'Menu-indeling is aangepast'
|
|
||||||
SAVEDUP: 'Succesvol opgeslagen'
|
|
||||||
VersionUnknown: onbekend
|
|
||||||
LeftAndMain_Menu.ss:
|
|
||||||
Hello: Hi
|
|
||||||
LOGOUT: 'Log out'
|
|
||||||
LoginAttempt:
|
|
||||||
Email: 'Email adres '
|
|
||||||
IP: 'IP Adres'
|
|
||||||
PLURALNAME: 'Login Attempts'
|
|
||||||
SINGULARNAME: 'Login Attempt'
|
|
||||||
Status: Status
|
|
||||||
Member:
|
|
||||||
ADDGROUP: 'Groep toevoegen'
|
|
||||||
BUTTONCHANGEPASSWORD: 'Wachtwoord veranderen'
|
|
||||||
BUTTONLOGIN: Inloggen
|
|
||||||
BUTTONLOGINOTHER: 'Als iemand anders inloggen'
|
|
||||||
BUTTONLOSTPASSWORD: 'Ik ben mijn wachtwoord vergeten...'
|
|
||||||
CONFIRMNEWPASSWORD: 'Bevestig het nieuwe wachtwoord'
|
|
||||||
CONFIRMPASSWORD: 'Bevestig wachtwoord'
|
|
||||||
DATEFORMAT: 'Date format'
|
|
||||||
DefaultAdminFirstname: 'Standaard Beheerder'
|
|
||||||
DefaultDateTime: Standaard
|
|
||||||
EMAIL: Email
|
|
||||||
EMPTYNEWPASSWORD: 'Het nieuwe wachtwoord mag niet leeg zijn, probeer opnieuw'
|
|
||||||
ENTEREMAIL: 'Typ uw e-mailadres om een link te ontvangen waarmee u uw wachtwoord kunt resetten.'
|
|
||||||
ERRORLOCKEDOUT: 'Je account is tijdelijk geblokkeerd wegens te veel mislukte pogingen tot aanmelding. Gelieve het over 20 minuten opnieuw te proberen.'
|
|
||||||
ERRORNEWPASSWORD: 'Het nieuwe wachtwoord komt niet overeen met de bevestiging, probeer het nogmaals'
|
|
||||||
ERRORPASSWORDNOTMATCH: 'Huidige wachtwoord kom niet overeen, probeer het nogmaals'
|
|
||||||
ERRORWRONGCRED: 'Dat is niet het juiste email adres of wachtwoord. Probeert U het a.u.b. opnieuw.'
|
|
||||||
FIRSTNAME: Voornaam
|
|
||||||
INTERFACELANG: 'Interface Taal'
|
|
||||||
INVALIDNEWPASSWORD: 'Het wachtwoord {password} is niet geldig'
|
|
||||||
LOGGEDINAS: 'U bent ingelogd als {name}.'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
NEWPASSWORD: 'Nieuw Wachtwoord'
|
|
||||||
=======
|
|
||||||
NEWPASSWORD: 'Nieuw wachtwoord'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
PASSWORD: Wachtwoord
|
|
||||||
PLURALNAME: Leden
|
|
||||||
PROFILESAVESUCCESS: 'Succesvol opgeslagen'
|
|
||||||
REMEMBERME: 'Wachtwoord onthouden voor de volgende keer?'
|
|
||||||
SINGULARNAME: Lid
|
|
||||||
SUBJECTPASSWORDCHANGED: 'Uw wachtwoord is veranderd'
|
|
||||||
SUBJECTPASSWORDRESET: 'Link om Uw wachtwoord opnieuw aan te maken'
|
|
||||||
SURNAME: Achternaam
|
|
||||||
TIMEFORMAT: 'Time format'
|
|
||||||
VALIDATIONMEMBEREXISTS: 'Er bestaat reeds een gebruiker met dit emailadres'
|
|
||||||
ValidationIdentifierFailed: 'Een bestaande gebruiker #{id} kan niet dezelfde unieke velden hebben ({name} = {value}))'
|
|
||||||
WELCOMEBACK: 'Welkom terug {firstname}'
|
|
||||||
YOUROLDPASSWORD: 'Uw oude wachtwoord'
|
|
||||||
belongs_many_many_Groups: Groepen
|
|
||||||
db_LastVisited: 'Datum van het laatste bezoek'
|
|
||||||
db_Locale: 'Interface taal'
|
|
||||||
db_LockedOutUntil: 'Gesloten tot'
|
|
||||||
db_NumVisit: 'Aantal bezoeken'
|
|
||||||
db_Password: Wachtwoord
|
|
||||||
db_PasswordExpiry: 'Wachtwoord Vervaldatum'
|
|
||||||
MemberAuthenticator:
|
|
||||||
TITLE: 'Email & Wachtwoord'
|
|
||||||
MemberDatetimeOptionsetField:
|
|
||||||
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
|
||||||
'APPLY FILTER': 'Filter toepassen'
|
|
||||||
Custom: Aangepast
|
|
||||||
DATEFORMATBAD: 'Datum is niet correct opgegeven'
|
|
||||||
DAYNOLEADING: 'Dag van de maand zonder voorloop-nul'
|
|
||||||
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
|
||||||
FOURDIGITYEAR: 'Four-digit year'
|
|
||||||
FULLNAMEMONTH: 'Full name of month (e.g. June)'
|
|
||||||
HOURNOLEADING: 'Hour without leading zero'
|
|
||||||
MINUTENOLEADING: 'Minute without leading zero'
|
|
||||||
MONTHNOLEADING: 'Month digit without leading zero'
|
|
||||||
Preview: Voorbeeld
|
|
||||||
SHORTMONTH: 'Short name of month (e.g. Jun)'
|
|
||||||
TOGGLEHELP: 'Toggle formatting help'
|
|
||||||
TWODIGITDAY: 'Two-digit day of month'
|
|
||||||
TWODIGITHOUR: 'Twee cijfer van het uur (00 tot 23)'
|
|
||||||
TWODIGITMINUTE: 'Two digits of minute (00 through 59)'
|
|
||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
|
||||||
TWODIGITYEAR: 'Twee-cijferig jaar'
|
|
||||||
MemberImportForm:
|
|
||||||
Help1: '<p>Importeer leden in <em>CSV</em> formaat (Kommagescheiden bestandsformaat). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
|
|
||||||
Help2: '<div class="advanced"><h4>Geavanceerd gebruik</h4><ul><li>Toegestane kolommen: <em>%s</em></li><li>Bestaande leden worden geïdentificeerd door middel van hun unieke <em>Code</em> waarde en aangepast met de nieuwe waarden van het geïmporteerde bestand</li><li>Groepen kunnen toegewezen worden met de <em>Groups</em> kolom. Groepen worden geïdentificeerd met hun <em>Code</em> waarde en meerdere groepen kunnen worden gescheiden met een komma. Bestaande groep lidmaatschappen worden niet gewist.</li></ul></div></ul></div>'
|
|
||||||
ResultCreated: 'Created {count} members'
|
|
||||||
ResultDeleted: '%d leden verwijderd'
|
|
||||||
ResultNone: 'Geen wijzingen'
|
|
||||||
ResultUpdated: 'Updated {count} members'
|
|
||||||
MemberPassword:
|
|
||||||
PLURALNAME: 'Member Passwords'
|
|
||||||
SINGULARNAME: 'Member Password'
|
|
||||||
MemberTableField: null
|
|
||||||
ModelAdmin:
|
|
||||||
DELETE: Verwijderen
|
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
|
||||||
IMPORT: 'Importeren vanuit CSV'
|
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
|
||||||
NOCSVFILE: 'Selecteer een CSV bestand op uw computer om te importeren'
|
|
||||||
NOIMPORT: 'Niks om te importeren'
|
|
||||||
RESET: Reset
|
|
||||||
Title: 'Data Models'
|
|
||||||
UPDATEDRECORDS: 'Updated {count} records.'
|
|
||||||
ModelAdmin_ImportSpec.ss:
|
|
||||||
IMPORTSPECFIELDS: 'Database columns'
|
|
||||||
IMPORTSPECLINK: 'Show Specification for %s'
|
|
||||||
IMPORTSPECRELATIONS: Relations
|
|
||||||
IMPORTSPECTITLE: 'Specification for %s'
|
|
||||||
ModelAdmin_Tools.ss:
|
|
||||||
FILTER: Filter
|
|
||||||
IMPORT: Importeer
|
|
||||||
ModelSidebar.ss:
|
|
||||||
IMPORT_TAB_HEADER: Importeer
|
|
||||||
SEARCHLISTINGS: Zoeken
|
|
||||||
MoneyField:
|
|
||||||
FIELDLABELAMOUNT: Aantal
|
|
||||||
FIELDLABELCURRENCY: Valuta
|
|
||||||
NullableField:
|
|
||||||
IsNullLabel: 'is nul'
|
|
||||||
NumericField:
|
|
||||||
VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field'
|
|
||||||
Pagination:
|
|
||||||
Page: Page
|
|
||||||
View: View
|
|
||||||
Permission:
|
|
||||||
AdminGroup: Beheerder
|
|
||||||
CMS_ACCESS_CATEGORY: 'CMS Toegang'
|
|
||||||
FULLADMINRIGHTS: 'Volledige admin rechten'
|
|
||||||
FULLADMINRIGHTS_HELP: 'Impliceert en overstemt alle andere toegewezen rechten.'
|
|
||||||
PLURALNAME: Permissions
|
|
||||||
SINGULARNAME: Permission
|
|
||||||
PermissionCheckboxSetField:
|
|
||||||
AssignedTo: 'assigned to "{title}"'
|
|
||||||
FromGroup: 'inherited from group "{title}"'
|
|
||||||
FromRole: 'inherited from role "{title}"'
|
|
||||||
FromRoleOnGroup: 'geërfd van rol "%s" in groep "%s"'
|
|
||||||
PermissionRole:
|
|
||||||
PLURALNAME: Roles
|
|
||||||
SINGULARNAME: Role
|
|
||||||
PermissionRoleCode:
|
|
||||||
PLURALNAME: 'Permission Role Cods'
|
|
||||||
SINGULARNAME: 'Permission Role Code'
|
|
||||||
Permissions:
|
|
||||||
PERMISSIONS_CATEGORY: 'Rollen en toegangsrechten'
|
|
||||||
PhoneNumberField:
|
|
||||||
VALIDATION: 'Voer een geldig telefoonnummer in'
|
|
||||||
RelationComplexTableField.ss:
|
|
||||||
ADD: Toevoegen
|
|
||||||
CSVEXPORT: 'Export to CSV'
|
|
||||||
NOTFOUND: 'No items found'
|
|
||||||
Security:
|
|
||||||
ALREADYLOGGEDIN: 'Je hebt niet de juiste rechten, om deze pagina te kunnen bekijken. Als je een ander account met de juiste rechten hebt, kun je hier <a href="%s">opnieuw inloggen</a>.'
|
|
||||||
BUTTONSEND: 'Zend mij de link om mijn wachtwoord opnieuw aan te maken'
|
|
||||||
CHANGEPASSWORDBELOW: 'U kunt Uw wachtwoord hier beneden veranderen.'
|
|
||||||
CHANGEPASSWORDHEADER: 'Verander Uw wachtwoord'
|
|
||||||
ENTERNEWPASSWORD: 'Voer een nieuw wachtwoord in.'
|
|
||||||
ERRORPASSWORDPERMISSION: 'U moet ingelogd zijn om Uw wachtwoord te kunnen veranderen!'
|
|
||||||
LOGGEDOUT: 'U bent uitgelogd. Als U weer wilt inloggen kunt U Uw gegevens hier beneden invoeren.'
|
|
||||||
LOGIN: 'Meld aan'
|
|
||||||
NOTEPAGESECURED: 'Deze pagina is beveiligd. Voer Uw gegevens in en U wordt automatisch doorgestuurd.'
|
|
||||||
NOTERESETLINKINVALID: '<p>De link om uw wachtwoord te kunnen wijzigen is niet meer geldig.</p><p>U kunt het <a href="{link1}">opnieuw proberen</a> of uw wachtwoord aanpassen door <a href="{link2}">in te loggen</a>.</p>'
|
|
||||||
NOTERESETPASSWORD: 'Voer Uw emailadres in en we zenden U een link waarmee U Uw wachtwoord opnieuw kunt aanmaken'
|
|
||||||
PASSWORDSENTHEADER: 'Password reset link sent to ''{email}'''
|
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
|
||||||
SecurityAdmin:
|
|
||||||
ACCESS_HELP: 'Bevoegdheid voor bekijken, toevoegen en bewerken van leden, en toewijzen van rechten en rollen aan hen.'
|
|
||||||
APPLY_ROLES: 'Pas rollen toe aan groepen'
|
|
||||||
APPLY_ROLES_HELP: 'Bewerkingsmogelijkheid van rollen voor groepen. Heeft rechten voor "Beveiligingsectie" nodig.'
|
|
||||||
EDITPERMISSIONS: 'Bewerk rechten en IP-adressen bij elke groep'
|
|
||||||
EDITPERMISSIONS_HELP: 'Bewerkingsmogelijkheid van Rechten en IP adressen voor groepen. Heeft rechten voor "Beveiligingsectie" nodig.'
|
|
||||||
GROUPNAME: 'Groep naam'
|
|
||||||
IMPORTGROUPS: Groepen
|
|
||||||
IMPORTUSERS: 'Importeer gebruikers'
|
|
||||||
MEMBERS: Leden
|
|
||||||
MENUTITLE: Beveiliging
|
|
||||||
MemberListCaution: 'Let op: Verwijderen van leden van deze lijst heeft als gevolg dat deze uit alle groepen en de database worden verwijderd'
|
|
||||||
NEWGROUP: 'Nieuwe Groep'
|
|
||||||
PERMISSIONS: Rechten
|
|
||||||
ROLES: Rollen
|
|
||||||
ROLESDESCRIPTION: 'In deze sectie kan je rollen toevoegen aan deze groep. Rollen zijn logische groeperingen van rechten die in het Rollen tapblad gewijzigd kunnen worden.'
|
|
||||||
TABROLES: Rollen
|
|
||||||
Users: Gebruikers
|
|
||||||
SecurityAdmin_MemberImportForm:
|
|
||||||
BtnImport: Importeer
|
|
||||||
FileFieldLabel: 'CSV Bestand <small>(Toegestane extensies: *.csv)</small>'
|
|
||||||
SilverStripeNavigator:
|
|
||||||
Edit: Bewerken
|
|
||||||
SimpleImageField:
|
|
||||||
NOUPLOAD: 'Geen afbeeldingen ontvangen'
|
|
||||||
SiteTree:
|
|
||||||
TABMAIN: Hoofdgedeelte
|
|
||||||
TableField:
|
|
||||||
ISREQUIRED: 'In %s ''%s'' is required'
|
|
||||||
TableField.ss:
|
|
||||||
ADD: 'Nieuwe rij toevoegen'
|
|
||||||
ADDITEM: 'Add %s'
|
|
||||||
TableListField:
|
|
||||||
CSVEXPORT: 'Exporteer naar CSV'
|
|
||||||
PRINT: Afdrukken
|
|
||||||
Print: Print
|
|
||||||
SELECT: 'Selecteer:'
|
|
||||||
TableListField.ss:
|
|
||||||
NOITEMSFOUND: 'No items found'
|
|
||||||
SORTASC: 'Sorteer in oplopende volgorde'
|
|
||||||
SORTDESC: 'Sorteer in aflopende volgorde'
|
|
||||||
TableListField_PageControls.ss:
|
|
||||||
DISPLAYING: Displaying
|
|
||||||
OF: of
|
|
||||||
TO: to
|
|
||||||
VIEWFIRST: 'Bekijk eerste'
|
|
||||||
VIEWLAST: 'Bekijk laatste'
|
|
||||||
VIEWNEXT: 'Bekijk volgende'
|
|
||||||
VIEWPREVIOUS: 'Bekijk vorige'
|
|
||||||
TimeField:
|
|
||||||
VALIDATEFORMAT: 'Vul een valide datum in ({format})'
|
|
||||||
ToggleField:
|
|
||||||
LESS: minder
|
|
||||||
MORE: meer
|
|
||||||
UploadField:
|
|
||||||
ATTACHFILE: 'Voeg een bestand toe'
|
|
||||||
ATTACHFILES: 'Voeg bestanden toe'
|
|
||||||
AttachFile: 'Voeg bestanden toe'
|
|
||||||
DELETE: 'Delete from files'
|
|
||||||
DELETEINFO: 'Verwijder dit bestand uit bestandsopslag van de website.'
|
|
||||||
DOEDIT: Bewaar
|
|
||||||
DROPFILE: 'Bestand hiernaar toe slepen'
|
|
||||||
DROPFILES: 'Sleep hier je bestanden'
|
|
||||||
Dimensions: Afmetingen
|
|
||||||
EDIT: Edit
|
|
||||||
EDITINFO: 'Bewerk dit bestand'
|
|
||||||
FIELDNOTSET: 'Bestandsinformatie niet gevonden'
|
|
||||||
FROMCOMPUTER: 'Vanaf computer'
|
|
||||||
FROMCOMPUTERINFO: 'Select from files'
|
|
||||||
FROMFILES: 'Bestaande bestanden'
|
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
|
||||||
MAXNUMBEROFFILES: 'Het maximale aantal ({count}) bestanden is overschreven'
|
|
||||||
MAXNUMBEROFFILESSHORT: 'Maximaal {count} bestanden uploaden'
|
|
||||||
REMOVE: Verwijder
|
|
||||||
REMOVEERROR: 'Fout bij verwijderen'
|
|
||||||
REMOVEINFO: 'Verwijder (ontkoppel) dit bestand, maar behoud het in bestandsopslag van de website.'
|
|
||||||
STARTALL: 'Start alles'
|
|
||||||
STARTALLINFO: 'Start all uploads'
|
|
||||||
Saved: 'Succesvol opgeslagen'
|
|
||||||
Versioned:
|
|
||||||
has_many_Versions: Versies
|
|
586
lang/ru.yml.orig
586
lang/ru.yml.orig
@ -1,586 +0,0 @@
|
|||||||
ru:
|
|
||||||
AssetAdmin:
|
|
||||||
ADDFILES: 'Add files'
|
|
||||||
EditOrgMenu: 'Edit & organize'
|
|
||||||
NEWFOLDER: 'Новая папка'
|
|
||||||
AssetTableField:
|
|
||||||
CREATED: 'Первая загрузка'
|
|
||||||
DIM: Размеры
|
|
||||||
FILENAME: 'Имя файла'
|
|
||||||
FOLDER: Folder
|
|
||||||
LASTEDIT: 'Последнее изменение'
|
|
||||||
OWNER: Владелец
|
|
||||||
SIZE: Размер
|
|
||||||
TITLE: Название
|
|
||||||
TYPE: Тип
|
|
||||||
URL: URL
|
|
||||||
AssetUploadField:
|
|
||||||
ChooseFiles: 'Выбрать файлы'
|
|
||||||
DRAGFILESHERE: 'Перетащите файлы сюда'
|
|
||||||
DROPAREA: 'Drop Area'
|
|
||||||
EDITALL: 'Редактировать все'
|
|
||||||
EDITANDORGANIZE: 'Edit & organize'
|
|
||||||
EDITINFO: 'Edit files'
|
|
||||||
FILES: Файлы
|
|
||||||
FROMCOMPUTER: 'Choose files from your computer'
|
|
||||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
|
||||||
TOTAL: 'Всего:'
|
|
||||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
|
||||||
UPLOADOR: ИЛИ
|
|
||||||
BBCodeParser:
|
|
||||||
ALIGNEMENT: Выравнивание
|
|
||||||
ALIGNEMENTEXAMPLE: 'Выравнено по правому краю'
|
|
||||||
BOLD: 'Жирный текст'
|
|
||||||
BOLDEXAMPLE: Жирный
|
|
||||||
CODE: 'Блок кода'
|
|
||||||
CODEDESCRIPTION: 'Блок неформатированного кода'
|
|
||||||
CODEEXAMPLE: 'Блок кода'
|
|
||||||
COLORED: 'Цветной текст'
|
|
||||||
COLOREDEXAMPLE: 'голубой текст'
|
|
||||||
EMAILLINK: 'Ссылка email'
|
|
||||||
EMAILLINKDESCRIPTION: 'Создать ссылку на этот email'
|
|
||||||
IMAGE: Изображение
|
|
||||||
IMAGEDESCRIPTION: 'Показать изображ. в записи'
|
|
||||||
ITALIC: Курсив
|
|
||||||
ITALICEXAMPLE: Курсив
|
|
||||||
LINK: 'Сссылка с сайта'
|
|
||||||
LINKDESCRIPTION: 'Ссылка на другой сайт или URL'
|
|
||||||
STRUCK: 'Перечеркнутый текст'
|
|
||||||
STRUCKEXAMPLE: Перечеркнутый
|
|
||||||
UNDERLINE: 'Подчеркнутый текст'
|
|
||||||
UNDERLINEEXAMPLE: Подчеркнутый
|
|
||||||
UNORDERED: 'Ненумерованный список'
|
|
||||||
UNORDEREDDESCRIPTION: 'Ненумерованный список'
|
|
||||||
UNORDEREDEXAMPLE1: 'ненумерованный элемент 1'
|
|
||||||
BackLink_Button.ss:
|
|
||||||
Back: Назад
|
|
||||||
BasicAuth:
|
|
||||||
ENTERINFO: 'Пожалуйста, введите имя пользователя и пароль.'
|
|
||||||
ERRORNOTADMIN: 'Такой пользователь не является администратором.'
|
|
||||||
ERRORNOTREC: 'Такое имя пользователя или пароль не существует'
|
|
||||||
Boolean:
|
|
||||||
0: 'False'
|
|
||||||
ANY: Any
|
|
||||||
1: 'True'
|
|
||||||
CMSLoadingScreen.ss:
|
|
||||||
LOADING: 'Идет загрузка...'
|
|
||||||
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
|
|
||||||
CMSMain:
|
|
||||||
ACCESS: 'Доступ к разделу ''{title}'''
|
|
||||||
ACCESSALLINTERFACES: 'Доступ ко всему интерфейсу CMS'
|
|
||||||
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
|
|
||||||
SAVE: Сохранить
|
|
||||||
CMSProfileController:
|
|
||||||
MENUTITLE: CMSProfileController
|
|
||||||
ChangePasswordEmail.ss:
|
|
||||||
CHANGEPASSWORDTEXT1: 'Вы изменили свой пароль на'
|
|
||||||
CHANGEPASSWORDTEXT2: 'Для того, чтобы войти, используйте сейчас следующие учетные данные:'
|
|
||||||
EMAIL: Email
|
|
||||||
HELLO: Здравствуйте
|
|
||||||
PASSWORD: Пароль
|
|
||||||
CheckboxField:
|
|
||||||
- 'False'
|
|
||||||
- 'True'
|
|
||||||
ComplexTableField:
|
|
||||||
CLOSEPOPUP: 'Закрыть всплывающее окно'
|
|
||||||
SUCCESSADD2: 'Added {name}'
|
|
||||||
SUCCESSEDIT: 'Сохранено %s %s %s'
|
|
||||||
ComplexTableField.ss:
|
|
||||||
ADDITEM: 'Add %s'
|
|
||||||
NOITEMSFOUND: 'No items found'
|
|
||||||
SORTASC: 'Сортировать по возрастанию'
|
|
||||||
SORTDESC: 'Сортировать по убыванию'
|
|
||||||
ComplexTableField_popup.ss:
|
|
||||||
NEXT: Следующ.
|
|
||||||
PREVIOUS: Предыдущ.
|
|
||||||
ConfirmedPasswordField:
|
|
||||||
ATLEAST: 'Пароль должен быть не короче {min} символов.'
|
|
||||||
BETWEEN: 'Passwords must be {min} to {max} characters long.'
|
|
||||||
MAXIMUM: 'Пароль должен быть не длиннее {max} символов.'
|
|
||||||
SHOWONCLICKTITLE: 'Изменить Пароль'
|
|
||||||
CreditCardField:
|
|
||||||
FIRST: первая
|
|
||||||
FOURTH: четвертая
|
|
||||||
SECOND: вторая
|
|
||||||
THIRD: третья
|
|
||||||
CurrencyField:
|
|
||||||
CURRENCYSYMBOL: $
|
|
||||||
DataObject:
|
|
||||||
PLURALNAME: Объекты
|
|
||||||
SINGULARNAME: Объект
|
|
||||||
Date:
|
|
||||||
DAY: день
|
|
||||||
DAYS: дней
|
|
||||||
HOUR: час
|
|
||||||
HOURS: час.
|
|
||||||
MIN: мин.
|
|
||||||
MINS: мин.
|
|
||||||
MONTH: месяц
|
|
||||||
MONTHS: месяца(ев)
|
|
||||||
SEC: сек.
|
|
||||||
SECS: сек.
|
|
||||||
TIMEDIFFAGO: '{difference} назад'
|
|
||||||
TIMEDIFFIN: 'in {difference}'
|
|
||||||
YEAR: год
|
|
||||||
YEARS: лет
|
|
||||||
DateField:
|
|
||||||
NOTSET: 'не установлено'
|
|
||||||
TODAY: сегодня
|
|
||||||
VALIDDATEFORMAT2: 'Please enter a valid date format ({format})'
|
|
||||||
VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})'
|
|
||||||
VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})'
|
|
||||||
DatetimeField:
|
|
||||||
NOTSET: 'Not set'
|
|
||||||
Director:
|
|
||||||
INVALID_REQUEST: 'Неверный запрос'
|
|
||||||
DropdownField:
|
|
||||||
CHOOSE: (Выберите)
|
|
||||||
EmailField:
|
|
||||||
VALIDATION: 'Please enter an email address'
|
|
||||||
Email_BounceRecord:
|
|
||||||
PLURALNAME: 'Email Bounce Records'
|
|
||||||
SINGULARNAME: 'Email Bounce Record'
|
|
||||||
Enum:
|
|
||||||
ANY: Любой
|
|
||||||
File:
|
|
||||||
Content: Содержание
|
|
||||||
Filename: 'Имя файла'
|
|
||||||
INVALIDEXTENSION: 'Недопустимое расширение файла (допустимые расширения: {extensions})'
|
|
||||||
INVALIDEXTENSIONSHORT: 'Недопустимое расширение файла'
|
|
||||||
NOFILESIZE: 'Размер файла 0 байт.'
|
|
||||||
NOVALIDUPLOAD: 'File is not a valid upload'
|
|
||||||
Name: Название
|
|
||||||
PLURALNAME: Файлы
|
|
||||||
SINGULARNAME: Файл
|
|
||||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
|
||||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
|
||||||
Title: Заголовок
|
|
||||||
FileIFrameField:
|
|
||||||
ATTACH: 'Attach {type}'
|
|
||||||
ATTACHONCESAVED: '{type}s can be attached once you have saved the record for the first time.'
|
|
||||||
ATTACHONCESAVED2: 'Files can be attached once you have saved the record for the first time.'
|
|
||||||
DELETE: 'Delete {type}'
|
|
||||||
DISALLOWEDFILETYPE: 'This filetype is not allowed to be uploaded'
|
|
||||||
FILE: Файл
|
|
||||||
FROMCOMPUTER: 'From your Computer'
|
|
||||||
FROMFILESTORE: 'From the File Store'
|
|
||||||
NOSOURCE: 'Please select a source file to attach'
|
|
||||||
REPLACE: 'Replace {type}'
|
|
||||||
FileIFrameField_iframe.ss:
|
|
||||||
TITLE: 'Image Uploading Iframe'
|
|
||||||
Filesystem:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted'
|
|
||||||
=======
|
|
||||||
SYNCRESULTS: 'Синхронизация завершена; создано элементов: {createdcount}, удалено элементов: {deletedcount}'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Folder:
|
|
||||||
PLURALNAME: Folders
|
|
||||||
SINGULARNAME: Folder
|
|
||||||
ForgotPasswordEmail.ss:
|
|
||||||
HELLO: Здравствуйте
|
|
||||||
TEXT1: 'Это ваша'
|
|
||||||
TEXT2: 'ссылка переустановки пароля'
|
|
||||||
TEXT3: для
|
|
||||||
Form:
|
|
||||||
FIELDISREQUIRED: 'Поле %s является обязательным'
|
|
||||||
SubmitBtnLabel: Go
|
|
||||||
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
|
|
||||||
VALIDATIONNOTUNIQUE: 'Введенное значение не уникально'
|
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Пароли не совпадают'
|
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Пароли не могут быть пустыми'
|
|
||||||
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
|
|
||||||
VALIDATOR: Валидатор
|
|
||||||
VALIDCURRENCY: 'Please enter a valid currency'
|
|
||||||
FormField:
|
|
||||||
NONE: 'не выбрано'
|
|
||||||
GridAction:
|
|
||||||
DELETE_DESCRIPTION: Delete
|
|
||||||
Delete: Delete
|
|
||||||
UnlinkRelation: Unlink
|
|
||||||
GridField:
|
|
||||||
Add: 'Добавить {name}'
|
|
||||||
Filter: Filter
|
|
||||||
FilterBy: 'Фильтровать по'
|
|
||||||
Find: Find
|
|
||||||
LEVELUP: 'Уровень выше'
|
|
||||||
LinkExisting: 'Link Existing'
|
|
||||||
NewRecord: 'New %s'
|
|
||||||
NoItemsFound: 'No items found'
|
|
||||||
PRINTEDAT: 'Printed at'
|
|
||||||
PRINTEDBY: 'Printed by'
|
|
||||||
PlaceHolder: 'Найти {type}'
|
|
||||||
PlaceHolderWithLabels: 'Find {type} by {name}'
|
|
||||||
RelationSearch: 'Relation search'
|
|
||||||
ResetFilter: Reset
|
|
||||||
GridFieldAction_Delete:
|
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
|
||||||
GridFieldDetailForm:
|
|
||||||
Create: Создать
|
|
||||||
Delete: Удалить
|
|
||||||
DeletePermissionsFailure: 'No delete permissions'
|
|
||||||
Deleted: 'Deleted %s %s'
|
|
||||||
Save: Сохранить
|
|
||||||
Saved: 'Сохранено %s %s'
|
|
||||||
GridFieldItemEditView.ss: null
|
|
||||||
Group:
|
|
||||||
AddRole: 'Добавить роль для этой группы'
|
|
||||||
Code: 'Код группы'
|
|
||||||
DefaultGroupTitleAdministrators: Администраторы
|
|
||||||
DefaultGroupTitleContentAuthors: Авторы
|
|
||||||
Description: Описание
|
|
||||||
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
|
|
||||||
Locked: 'Блокировано?'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
NoRoles: 'No roles found'
|
|
||||||
=======
|
|
||||||
NoRoles: 'Ролей не найдено'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
PLURALNAME: Groups
|
|
||||||
Parent: 'Родительская группа'
|
|
||||||
RolesAddEditLink: 'Добавить/редактировать роли'
|
|
||||||
SINGULARNAME: Group
|
|
||||||
Sort: 'Порядок сортировки'
|
|
||||||
has_many_Permissions: 'Права групп пользователей'
|
|
||||||
many_many_Members: 'Члены группы'
|
|
||||||
GroupImportForm:
|
|
||||||
Help1: '<p>Import one or more groups in <em>CSV</em> format (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the imported file</li> <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li> <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not cleared.</li> </ul></div>'
|
|
||||||
ResultCreated: 'Создано {count} групп'
|
|
||||||
ResultDeleted: 'Deleted %d groups'
|
|
||||||
ResultUpdated: 'Updated %d groups'
|
|
||||||
Hierarchy:
|
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
|
||||||
HtmlEditorField:
|
|
||||||
ADDURL: 'Добавить URL'
|
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
|
||||||
ANCHORVALUE: Якорь
|
|
||||||
BUTTONINSERT: Insert
|
|
||||||
BUTTONINSERTLINK: 'Вставить ссылку'
|
|
||||||
BUTTONREMOVELINK: 'Удалить ссылку'
|
|
||||||
BUTTONUpdate: Update
|
|
||||||
CAPTIONTEXT: 'Caption text'
|
|
||||||
CSSCLASS: Выравнивание/Стиль
|
|
||||||
CSSCLASSCENTER: 'По центру без текста по бокам'
|
|
||||||
CSSCLASSLEFT: 'Слева с обтеканием текста'
|
|
||||||
CSSCLASSLEFTALONE: 'Независимо слева.'
|
|
||||||
CSSCLASSRIGHT: 'Справа с обтеканием текста'
|
|
||||||
DETAILS: Details
|
|
||||||
EMAIL: 'Адрес email'
|
|
||||||
FILE: Файл
|
|
||||||
FOLDER: Папка
|
|
||||||
FROMCMS: 'From the CMS'
|
|
||||||
FROMCOMPUTER: 'From your computer'
|
|
||||||
FROMWEB: 'From the web'
|
|
||||||
FindInFolder: 'Найти в папке'
|
|
||||||
IMAGEALT: 'Альтернативный текст (alt)'
|
|
||||||
IMAGEALTTEXT: 'Альтернативный текст (alt) - показывается, если изображение недоступно'
|
|
||||||
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can not be displayed'
|
|
||||||
IMAGEDIMENSIONS: Размеры
|
|
||||||
IMAGEHEIGHTPX: Высота
|
|
||||||
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
|
|
||||||
IMAGETITLETEXT: 'Title text (tooltip)'
|
|
||||||
IMAGETITLETEXTDESC: 'For additional information about the image'
|
|
||||||
IMAGEWIDTHPX: Ширина
|
|
||||||
INSERTMEDIA: 'Insert Media'
|
|
||||||
LINK: Ссылка
|
|
||||||
LINKANCHOR: 'Якорь на этой странице'
|
|
||||||
LINKDESCR: 'Описание ссылки'
|
|
||||||
LINKEMAIL: 'Адрес email'
|
|
||||||
LINKEXTERNAL: 'Другой сайт'
|
|
||||||
LINKFILE: 'Скачивание файла'
|
|
||||||
LINKINTERNAL: 'Страницу данного сайта'
|
|
||||||
LINKOPENNEWWIN: 'Открыть ссылку в новом окне?'
|
|
||||||
LINKTO: 'Ссылка на'
|
|
||||||
PAGE: Страница
|
|
||||||
URL: URL
|
|
||||||
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
|
|
||||||
UpdateMEDIA: 'Update Media'
|
|
||||||
Image:
|
|
||||||
<<<<<<< HEAD
|
|
||||||
PLURALNAME: Files
|
|
||||||
SINGULARNAME: File
|
|
||||||
=======
|
|
||||||
PLURALNAME: Файлы
|
|
||||||
SINGULARNAME: Файл
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
ImageField:
|
|
||||||
IMAGE: Image
|
|
||||||
Image_Cached:
|
|
||||||
PLURALNAME: Files
|
|
||||||
SINGULARNAME: File
|
|
||||||
Image_iframe.ss:
|
|
||||||
TITLE: 'Iframe загрузки изображений'
|
|
||||||
LeftAndMain:
|
|
||||||
CANT_REORGANISE: 'У вас нет права редактировать страницы верхнего уровня. Изменения не были сохранены.'
|
|
||||||
DELETED: Удалено.
|
|
||||||
DropdownBatchActionsDefault: Actions
|
|
||||||
HELP: Помощь
|
|
||||||
PAGETYPE: 'Тип страницы:'
|
|
||||||
PERMAGAIN: 'Вы вышли из Системы Управления Сайтом. Если Вы хотите войти снова, введите внизу имя пользователя и пароль.'
|
|
||||||
PERMALREADY: 'Извините, у вас нет доступа к этому разделу Системы Управления. Если Вы хотите войти под другой учетной записью, сделайте это ниже'
|
|
||||||
PERMDEFAULT: 'Введите ваши адрес электр. почты и пароль для доступа к системе.'
|
|
||||||
PLEASESAVE: 'Пожалуйста, сохраните страницу: ее нельзя обновить, т.к. она еще не была сохранена.'
|
|
||||||
PreviewButton: Просмотр
|
|
||||||
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
|
|
||||||
SAVEDUP: Сохранено.
|
|
||||||
VersionUnknown: unknown
|
|
||||||
LeftAndMain_Menu.ss:
|
|
||||||
Hello: Hi
|
|
||||||
LOGOUT: 'Log out'
|
|
||||||
LoginAttempt:
|
|
||||||
Email: Email
|
|
||||||
IP: IP-адрес
|
|
||||||
PLURALNAME: 'Login Attempts'
|
|
||||||
SINGULARNAME: 'Login Attempt'
|
|
||||||
Status: Статус
|
|
||||||
Member:
|
|
||||||
ADDGROUP: 'Добавить группу'
|
|
||||||
BUTTONCHANGEPASSWORD: 'Изменить пароль'
|
|
||||||
BUTTONLOGIN: Войти
|
|
||||||
BUTTONLOGINOTHER: 'Войти под другим именем'
|
|
||||||
BUTTONLOSTPASSWORD: 'Я забыл пароль'
|
|
||||||
CONFIRMNEWPASSWORD: 'Подтвердить новый пароль'
|
|
||||||
CONFIRMPASSWORD: 'Подтвердить пароль'
|
|
||||||
DATEFORMAT: 'Date format'
|
|
||||||
DefaultAdminFirstname: 'Default Admin'
|
|
||||||
DefaultDateTime: 'по умолчанию'
|
|
||||||
EMAIL: Email
|
|
||||||
EMPTYNEWPASSWORD: 'Поле для нового пароля не может быть пустым; пожалуйста, повторите попытку'
|
|
||||||
ENTEREMAIL: 'Введите email, чтобы получить ссылку на сброс пароля.'
|
|
||||||
ERRORLOCKEDOUT: 'Ваша учетная запись временно заблокирована из-за слишком большого количества неудачных попыток авторизации. Пожалуйста, попытайтесь снова через 20 минут.'
|
|
||||||
ERRORNEWPASSWORD: 'Вы ввели Ваш новый пароль по-разному, попробуйте снова'
|
|
||||||
ERRORPASSWORDNOTMATCH: 'Введенный пароль неверен, попробуйте снова'
|
|
||||||
ERRORWRONGCRED: 'Вероятно адрес email или пароль введены неверно. Попробуйте снова.'
|
|
||||||
FIRSTNAME: Имя
|
|
||||||
INTERFACELANG: 'Язык интерфейса'
|
|
||||||
INVALIDNEWPASSWORD: 'Недопустимый пароль: {password}'
|
|
||||||
LOGGEDINAS: 'Вы вошли в систему как {name}.'
|
|
||||||
NEWPASSWORD: 'Новый пароль'
|
|
||||||
PASSWORD: Пароль
|
|
||||||
PLURALNAME: 'Члены группы'
|
|
||||||
PROFILESAVESUCCESS: 'Сохранение прошло успешно'
|
|
||||||
REMEMBERME: 'Запомнить меня?'
|
|
||||||
SINGULARNAME: 'Член группы'
|
|
||||||
SUBJECTPASSWORDCHANGED: 'Ваш пароль изменен'
|
|
||||||
SUBJECTPASSWORDRESET: 'Ссылка для переустановки пароля'
|
|
||||||
SURNAME: Фамилия
|
|
||||||
<<<<<<< HEAD
|
|
||||||
TIMEFORMAT: 'Time format'
|
|
||||||
=======
|
|
||||||
TIMEFORMAT: 'Формат времени'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
VALIDATIONMEMBEREXISTS: 'Этот адрес email уже зарегистрирован'
|
|
||||||
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
|
|
||||||
WELCOMEBACK: 'Добро пожаловать, {firstname}'
|
|
||||||
YOUROLDPASSWORD: 'Ваш прежний пароль'
|
|
||||||
belongs_many_many_Groups: Группы
|
|
||||||
db_LastVisited: 'Дата последнего видита'
|
|
||||||
db_Locale: 'Локаль интерфейса'
|
|
||||||
db_LockedOutUntil: 'Заблокировано до'
|
|
||||||
db_NumVisit: 'Количество посещений'
|
|
||||||
db_Password: Пароль
|
|
||||||
db_PasswordExpiry: 'Дата устаревания пароля'
|
|
||||||
MemberAuthenticator:
|
|
||||||
TITLE: 'Email и Пароль'
|
|
||||||
MemberDatetimeOptionsetField:
|
|
||||||
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
'APPLY FILTER': 'Apply Filter'
|
|
||||||
=======
|
|
||||||
'APPLY FILTER': 'Применить фильтр'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
Custom: Custom
|
|
||||||
DATEFORMATBAD: 'Date format is invalid'
|
|
||||||
DAYNOLEADING: 'Day of month without leading zero'
|
|
||||||
DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second'
|
|
||||||
FOURDIGITYEAR: 'Four-digit year'
|
|
||||||
FULLNAMEMONTH: 'Full name of month (e.g. June)'
|
|
||||||
HOURNOLEADING: 'Hour without leading zero'
|
|
||||||
MINUTENOLEADING: 'Minute without leading zero'
|
|
||||||
MONTHNOLEADING: 'Month digit without leading zero'
|
|
||||||
Preview: Preview
|
|
||||||
SHORTMONTH: 'Short name of month (e.g. Jun)'
|
|
||||||
TOGGLEHELP: 'Toggle formatting help'
|
|
||||||
TWODIGITDAY: 'Two-digit day of month'
|
|
||||||
TWODIGITHOUR: 'Two digits of hour (00 through 23)'
|
|
||||||
TWODIGITMINUTE: 'Two digits of minute (00 through 59)'
|
|
||||||
TWODIGITMONTH: 'Two-digit month (01=January, etc.)'
|
|
||||||
TWODIGITSECOND: 'Two digits of second (00 through 59)'
|
|
||||||
TWODIGITYEAR: 'Two-digit year'
|
|
||||||
MemberImportForm:
|
|
||||||
Help1: '<p>Import users in <em>CSV format</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Show advanced usage</a></small></p>'
|
|
||||||
Help2: '<div class="advanced"> <h4>Advanced usage</h4> <ul> <li>Allowed columns: <em>%s</em></li> <li>Existing users are matched by their unique <em>Code</em> property, and updated with any new values from the imported file.</li> <li>Groups can be assigned by the <em>Groups</em> column. Groups are identified by their <em>Code</em> property, multiple groups can be separated by comma. Existing group memberships are not cleared.</li> </ul></div>'
|
|
||||||
ResultCreated: 'Создано {count} пользователей'
|
|
||||||
ResultDeleted: 'Deleted %d members'
|
|
||||||
ResultNone: 'No changes'
|
|
||||||
ResultUpdated: 'Updated {count} members'
|
|
||||||
MemberPassword:
|
|
||||||
PLURALNAME: 'Member Passwords'
|
|
||||||
SINGULARNAME: 'Member Password'
|
|
||||||
MemberTableField: null
|
|
||||||
ModelAdmin:
|
|
||||||
DELETE: Удалить
|
|
||||||
DELETEDRECORDS: 'Deleted {count} records.'
|
|
||||||
IMPORT: 'Импорт из CSV'
|
|
||||||
IMPORTEDRECORDS: 'Imported {count} records.'
|
|
||||||
NOCSVFILE: 'Выберите CSV-файл для импорта'
|
|
||||||
NOIMPORT: 'Нечего импортировать'
|
|
||||||
RESET: Reset
|
|
||||||
Title: 'Data Models'
|
|
||||||
UPDATEDRECORDS: 'Updated {count} records.'
|
|
||||||
ModelAdmin_ImportSpec.ss:
|
|
||||||
IMPORTSPECFIELDS: 'Database columns'
|
|
||||||
IMPORTSPECLINK: 'Show Specification for %s'
|
|
||||||
IMPORTSPECRELATIONS: Relations
|
|
||||||
IMPORTSPECTITLE: 'Specification for %s'
|
|
||||||
ModelAdmin_Tools.ss:
|
|
||||||
FILTER: Filter
|
|
||||||
IMPORT: Import
|
|
||||||
ModelSidebar.ss:
|
|
||||||
IMPORT_TAB_HEADER: Import
|
|
||||||
SEARCHLISTINGS: Search
|
|
||||||
MoneyField:
|
|
||||||
FIELDLABELAMOUNT: Amount
|
|
||||||
FIELDLABELCURRENCY: Currency
|
|
||||||
NullableField:
|
|
||||||
IsNullLabel: Недействительно
|
|
||||||
NumericField:
|
|
||||||
VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field'
|
|
||||||
Pagination:
|
|
||||||
Page: Page
|
|
||||||
View: View
|
|
||||||
Permission:
|
|
||||||
AdminGroup: Administrator
|
|
||||||
CMS_ACCESS_CATEGORY: 'Доступ к CMS'
|
|
||||||
FULLADMINRIGHTS: 'Все права администратора'
|
|
||||||
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
|
|
||||||
PLURALNAME: Permissions
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SINGULARNAME: Permission
|
|
||||||
=======
|
|
||||||
SINGULARNAME: 'Право доступа'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
PermissionCheckboxSetField:
|
|
||||||
AssignedTo: 'assigned to "{title}"'
|
|
||||||
FromGroup: 'inherited from group "{title}"'
|
|
||||||
FromRole: 'inherited from role "{title}"'
|
|
||||||
FromRoleOnGroup: 'inherited from role "%s" on group "%s"'
|
|
||||||
PermissionRole:
|
|
||||||
PLURALNAME: Roles
|
|
||||||
SINGULARNAME: Role
|
|
||||||
PermissionRoleCode:
|
|
||||||
PLURALNAME: 'Permission Role Cods'
|
|
||||||
SINGULARNAME: 'Permission Role Code'
|
|
||||||
Permissions:
|
|
||||||
PERMISSIONS_CATEGORY: 'Роли и разрешения доступа'
|
|
||||||
PhoneNumberField:
|
|
||||||
VALIDATION: 'Пожалуйста, введите верный номер телефона'
|
|
||||||
RelationComplexTableField.ss:
|
|
||||||
ADD: Добавить
|
|
||||||
CSVEXPORT: 'Export to CSV'
|
|
||||||
NOTFOUND: 'No items found'
|
|
||||||
Security:
|
|
||||||
ALREADYLOGGEDIN: 'У Вас нет доступа к этой странице. Если у вас имеется другая учетная запись, имеющая доступ к этой странице, введите ее данные ниже.'
|
|
||||||
BUTTONSEND: 'Отправить мне ссылку переустановки пароля'
|
|
||||||
CHANGEPASSWORDBELOW: 'Ниже Вы можете изменить свой пароль.'
|
|
||||||
CHANGEPASSWORDHEADER: 'Измените свой пароль'
|
|
||||||
ENTERNEWPASSWORD: 'Пожалуйста, введите новый пароль.'
|
|
||||||
ERRORPASSWORDPERMISSION: 'Вы должны войти в систему, чтобы изменить Ваш пароль!'
|
|
||||||
LOGGEDOUT: 'Вы вышли. Если Вы хотите войти снова, введите ваши учетные данные ниже.'
|
|
||||||
LOGIN: Вход
|
|
||||||
NOTEPAGESECURED: 'Эта страница защищена. Пожалуйста, введите свои учетные данные для входа.'
|
|
||||||
NOTERESETLINKINVALID: '<p>The password reset link is invalid or expired.</p><p>You can request a new one <a href="{link1}">here</a> or change your password after you <a href="{link2}">logged in</a>.</p>'
|
|
||||||
NOTERESETPASSWORD: 'Введите Ваш адрес email, и Вам будет отправлена ссылка, по которой Вы сможете переустановить свой пароль'
|
|
||||||
PASSWORDSENTHEADER: 'Ссылка для переустановки пароля выслана на ''{email}'''
|
|
||||||
PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.'
|
|
||||||
SecurityAdmin:
|
|
||||||
ACCESS_HELP: 'Allow viewing, adding and editing users, as well as assigning permissions and roles to them.'
|
|
||||||
APPLY_ROLES: 'Apply roles to groups'
|
|
||||||
APPLY_ROLES_HELP: 'Возможность редактировать роли, присвоенные той или иной группе. Необходимо разрешение на доступ к разделу "Пользователи".'
|
|
||||||
EDITPERMISSIONS: 'Задать разрешения и IP адреса для каждой группы'
|
|
||||||
EDITPERMISSIONS_HELP: 'Возможность редактировать права доступа и IP-адреса определенной группы. Необходимо разрешение на доступ к разделу "Безопасность".'
|
|
||||||
GROUPNAME: 'Имя группы'
|
|
||||||
IMPORTGROUPS: 'Импортировать группы'
|
|
||||||
IMPORTUSERS: 'Импортировать пользователей'
|
|
||||||
MEMBERS: Участники
|
|
||||||
MENUTITLE: Безопасность
|
|
||||||
MemberListCaution: 'Внимание: при удалении участников из этого списка они будут удалены из всех групп и из базы данных'
|
|
||||||
NEWGROUP: 'Новая группа'
|
|
||||||
PERMISSIONS: 'Права доступа'
|
|
||||||
ROLES: Роли
|
|
||||||
ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required.'
|
|
||||||
TABROLES: Роли
|
|
||||||
Users: Пользователи
|
|
||||||
SecurityAdmin_MemberImportForm:
|
|
||||||
BtnImport: 'Import from CSV'
|
|
||||||
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
|
|
||||||
SilverStripeNavigator:
|
|
||||||
Edit: Edit
|
|
||||||
SimpleImageField:
|
|
||||||
NOUPLOAD: 'Не загружено ни одного изображения'
|
|
||||||
SiteTree:
|
|
||||||
TABMAIN: Основное
|
|
||||||
TableField:
|
|
||||||
ISREQUIRED: 'In %s ''%s'' is required'
|
|
||||||
TableField.ss:
|
|
||||||
ADD: 'Добавить новый ряд'
|
|
||||||
ADDITEM: 'Add %s'
|
|
||||||
TableListField:
|
|
||||||
CSVEXPORT: 'Экспорт в CSV'
|
|
||||||
PRINT: Печать
|
|
||||||
Print: Печать
|
|
||||||
SELECT: 'Выбрать:'
|
|
||||||
TableListField.ss:
|
|
||||||
NOITEMSFOUND: 'No items found'
|
|
||||||
SORTASC: 'По возрастанию'
|
|
||||||
SORTDESC: 'По убыванию'
|
|
||||||
TableListField_PageControls.ss:
|
|
||||||
DISPLAYING: Displaying
|
|
||||||
OF: of
|
|
||||||
TO: to
|
|
||||||
VIEWFIRST: Первый
|
|
||||||
VIEWLAST: Последний
|
|
||||||
VIEWNEXT: Следующий
|
|
||||||
VIEWPREVIOUS: Предыдущий
|
|
||||||
TimeField:
|
|
||||||
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
|
|
||||||
ToggleField:
|
|
||||||
LESS: меньше
|
|
||||||
MORE: больше
|
|
||||||
UploadField:
|
|
||||||
ATTACHFILE: 'Прикрепить файл'
|
|
||||||
ATTACHFILES: 'Прикрепить файл(ы)'
|
|
||||||
AttachFile: 'Прикрепить файл(ы)'
|
|
||||||
DELETE: 'Delete from files'
|
|
||||||
DELETEINFO: 'Permanently delete this file from the file store'
|
|
||||||
DOEDIT: Сохранить
|
|
||||||
DROPFILE: 'drop a file'
|
|
||||||
DROPFILES: 'drop files'
|
|
||||||
Dimensions: Dimensions
|
|
||||||
EDIT: Edit
|
|
||||||
EDITINFO: 'Редактировать этот файл'
|
|
||||||
FIELDNOTSET: 'Информация о файле не найдена'
|
|
||||||
FROMCOMPUTER: 'С компьютера'
|
|
||||||
FROMCOMPUTERINFO: 'Select from files'
|
|
||||||
<<<<<<< HEAD
|
|
||||||
FROMFILES: 'From files'
|
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
|
||||||
MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.'
|
|
||||||
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
|
|
||||||
REMOVE: Remove
|
|
||||||
REMOVEERROR: 'Error removing file'
|
|
||||||
=======
|
|
||||||
FROMFILES: 'Из файлов'
|
|
||||||
HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.'
|
|
||||||
MAXNUMBEROFFILES: 'Превышено максимальное количество файлов ({count}).'
|
|
||||||
MAXNUMBEROFFILESSHORT: 'Можно загрузить не более {count} файлов'
|
|
||||||
REMOVE: Удалить
|
|
||||||
REMOVEERROR: 'Ошибка при удалении файла'
|
|
||||||
>>>>>>> origin/translation-staging
|
|
||||||
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
|
|
||||||
STARTALL: 'Стартовать все'
|
|
||||||
STARTALLINFO: 'Start all uploads'
|
|
||||||
Saved: Saved
|
|
||||||
Versioned:
|
|
||||||
has_many_Versions: Версии
|
|
@ -31,34 +31,21 @@ abstract class DataExtension extends Extension {
|
|||||||
'api_access' => false,
|
'api_access' => false,
|
||||||
);
|
);
|
||||||
|
|
||||||
static function add_to_class($class, $extensionClass, $args = null) {
|
static function get_extra_config($class, $extension, $args) {
|
||||||
if(method_exists($class, 'extraDBFields')) {
|
if(method_exists($extension, 'extraDBFields')) {
|
||||||
$extraStaticsMethod = 'extraDBFields';
|
$extraStaticsMethod = 'extraDBFields';
|
||||||
} else {
|
} else {
|
||||||
$extraStaticsMethod = 'extraStatics';
|
$extraStaticsMethod = 'extraStatics';
|
||||||
}
|
}
|
||||||
|
|
||||||
$statics = Injector::inst()->get($extensionClass, true, $args)->$extraStaticsMethod($class, $extensionClass);
|
$statics = Injector::inst()->get($extension, true, $args)->$extraStaticsMethod();
|
||||||
|
|
||||||
if ($statics) {
|
if ($statics) {
|
||||||
Deprecation::notice('3.1.0', "$extraStaticsMethod deprecated. Just define statics on your extension, or use add_to_class", Deprecation::SCOPE_GLOBAL);
|
Deprecation::notice('3.1.0', "$extraStaticsMethod deprecated. Just define statics on your extension, or use get_extra_config", Deprecation::SCOPE_GLOBAL);
|
||||||
|
return $statics;
|
||||||
// TODO: This currently makes extraStatics the MOST IMPORTANT config layer, not the least
|
|
||||||
foreach (self::$extendable_statics as $key => $merge) {
|
|
||||||
if (isset($statics[$key])) {
|
|
||||||
if (!$merge) Config::inst()->remove($class, $key);
|
|
||||||
Config::inst()->update($class, $key, $statics[$key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO - remove this
|
|
||||||
DataObject::$cache_has_own_table[$class] = null;
|
|
||||||
DataObject::$cache_has_own_table_field[$class] = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
parent::add_to_class($class, $extensionClass, $args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function unload_extra_statics($class, $extension) {
|
public static function unload_extra_statics($class, $extension) {
|
||||||
throw new Exception('unload_extra_statics gone');
|
throw new Exception('unload_extra_statics gone');
|
||||||
}
|
}
|
||||||
|
@ -25,9 +25,10 @@ class Hierarchy extends DataExtension {
|
|||||||
function augmentWrite(&$manipulation) {
|
function augmentWrite(&$manipulation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static function add_to_class($class, $extensionClass, $args = null) {
|
static function get_extra_config($class, $extension, $args) {
|
||||||
Config::inst()->update($class, 'has_one', array('Parent' => $class));
|
return array(
|
||||||
parent::add_to_class($class, $extensionClass, $args);
|
'has_one' => array('Parent' => $class)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -107,9 +107,10 @@ class Versioned extends DataExtension {
|
|||||||
'Version' => 'Int'
|
'Version' => 'Int'
|
||||||
);
|
);
|
||||||
|
|
||||||
static function add_to_class($class, $extensionClass, $args = null) {
|
static function get_extra_config($class, $extension, $args) {
|
||||||
Config::inst()->update($class, 'has_many', array('Versions' => $class));
|
array(
|
||||||
parent::add_to_class($class, $extensionClass, $args);
|
'has_many' => array('Versions' => $class)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,14 +75,16 @@ class FulltextSearchable extends DataExtension {
|
|||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
|
|
||||||
static function add_to_class($class, $extensionClass, $args = null) {
|
static function get_extra_config($class, $extensionClass, $args) {
|
||||||
Config::inst()->update($class, 'indexes', array('SearchFields' => array(
|
return array(
|
||||||
'type' => 'fulltext',
|
'indexes' => array(
|
||||||
'name' => 'SearchFields',
|
'SearchFields' => array(
|
||||||
'value' => $args[0]
|
'type' => 'fulltext',
|
||||||
)));
|
'name' => 'SearchFields',
|
||||||
|
'value' => $args[0]
|
||||||
parent::add_to_class($class, $extensionClass, $args);
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<div class="ss-uploadfield-item-info">
|
<div class="ss-uploadfield-item-info">
|
||||||
<label class="ss-uploadfield-fromcomputer ss-ui-button ss-ui-action-constructive" title="<% _t('AssetUploadField.FROMCOMPUTERINFO', 'Upload from your computer') %>" data-icon="drive-upload">
|
<label class="ss-uploadfield-fromcomputer ss-ui-button ss-ui-action-constructive" title="<% _t('AssetUploadField.FROMCOMPUTERINFO', 'Upload from your computer') %>" data-icon="drive-upload">
|
||||||
<% _t('AssetUploadField.TOUPLOAD', 'Choose file(s) to upload...') %>
|
<% _t('AssetUploadField.TOUPLOAD', 'Choose files to upload...') %>
|
||||||
<input id="$id" name="$getName" class="$extraClass ss-uploadfield-fromcomputer-fileinput" data-config="$configString" type="file"<% if $multiple %> multiple="multiple"<% end_if %> title="<% _t('AssetUploadField.FROMCOMPUTER', 'Choose files from your computer') %>" />
|
<input id="$id" name="$getName" class="$extraClass ss-uploadfield-fromcomputer-fileinput" data-config="$configString" type="file"<% if $multiple %> multiple="multiple"<% end_if %> title="<% _t('AssetUploadField.FROMCOMPUTER', 'Choose files from your computer') %>" />
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<div class="ss-uploadfield-item-info">
|
<div class="ss-uploadfield-item-info">
|
||||||
<label class="ss-uploadfield-fromcomputer ss-ui-button ss-ui-action-constructive" title="<% _t('AssetUploadField.FROMCOMPUTERINFO', 'Upload from your computer') %>" data-icon="drive-upload">
|
<label class="ss-uploadfield-fromcomputer ss-ui-button ss-ui-action-constructive" title="<% _t('AssetUploadField.FROMCOMPUTERINFO', 'Upload from your computer') %>" data-icon="drive-upload">
|
||||||
<% _t('AssetUploadField.TOUPLOAD', 'Choose file(s) to upload...') %>
|
<% _t('AssetUploadField.TOUPLOAD', 'Choose files to upload...') %>
|
||||||
<input id="$id" name="$getName" class="$extraClass ss-uploadfield-fromcomputer-fileinput" data-config="$configString" type="file"<% if $multiple %> multiple="multiple"<% end_if %> title="<% _t('AssetUploadField.FROMCOMPUTER', 'Choose files from your computer') %>" />
|
<input id="$id" name="$getName" class="$extraClass ss-uploadfield-fromcomputer-fileinput" data-config="$configString" type="file"<% if $multiple %> multiple="multiple"<% end_if %> title="<% _t('AssetUploadField.FROMCOMPUTER', 'Choose files from your computer') %>" />
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="bottom-all" colspan="$Colspan">
|
<td class="bottom-all" colspan="$Colspan">
|
||||||
<span class="pagination-records-number">$FirstShownRecord - $LastShownRecord of $NumRecords</span>
|
<span class="pagination-records-number">
|
||||||
|
$FirstShownRecord -
|
||||||
|
$LastShownRecord
|
||||||
|
<% _t('TableListField_PageControls.ss.OF', 'of', 'Example: View 1 of 2') %>
|
||||||
|
$NumRecords
|
||||||
|
</span>
|
||||||
|
|
||||||
<% if Message %>
|
<% if Message %>
|
||||||
<div class="datagrid-footer-message">$Message</div>
|
<div class="datagrid-footer-message">$Message</div>
|
||||||
|
89
tests/core/manifest/ConfigManifestTest.php
Normal file
89
tests/core/manifest/ConfigManifestTest.php
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class ConfigManifestTest_ConfigManifestAccess extends SS_ConfigManifest {
|
||||||
|
public function relativeOrder($a, $b) {
|
||||||
|
return parent::relativeOrder($a, $b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ConfigManifestTest extends SapphireTest {
|
||||||
|
|
||||||
|
function testRelativeOrder() {
|
||||||
|
$accessor = new ConfigManifestTest_ConfigManifestAccess(BASE_PATH, true, false);
|
||||||
|
|
||||||
|
// A fragment with a fully wildcard before rule
|
||||||
|
$beforeWildcarded = array(
|
||||||
|
'module' => 'foo', 'file' => 'alpha', 'name' => '1',
|
||||||
|
'before' => array(array('module' => '*', 'file' => '*', 'name' => '*'))
|
||||||
|
);
|
||||||
|
// A fragment with a fully wildcard before rule and a fully explicit after rule
|
||||||
|
$beforeWildcardedAfterExplicit = array_merge($beforeWildcarded, array(
|
||||||
|
'after' => array(array('module' => 'bar', 'file' => 'beta', 'name' => '2'))
|
||||||
|
));
|
||||||
|
// A fragment with a fully wildcard before rule and two fully explicit after rules
|
||||||
|
$beforeWildcardedAfterTwoExplicitRules = array_merge($beforeWildcarded, array(
|
||||||
|
'after' => array(
|
||||||
|
array('module' => 'bar', 'file' => 'beta', 'name' => '2'),
|
||||||
|
array('module' => 'baz', 'file' => 'gamma', 'name' => '3')
|
||||||
|
)
|
||||||
|
));
|
||||||
|
// A fragment with a fully wildcard before rule and a partially explicit after rule
|
||||||
|
$beforeWildcardedAfterPartialWildcarded = array_merge($beforeWildcarded, array(
|
||||||
|
'after' => array(array('module' => 'bar', 'file' => 'beta', 'name' => '*'))
|
||||||
|
));
|
||||||
|
|
||||||
|
// Wildcard should match any module
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcarded,
|
||||||
|
array('module' => 'qux', 'file' => 'delta', 'name' => '4')
|
||||||
|
), 'before');
|
||||||
|
|
||||||
|
// Wildcard should match any module even if there is an opposing rule, if opposing rule doesn't match
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterExplicit,
|
||||||
|
array('module' => 'qux', 'file' => 'delta', 'name' => '4')
|
||||||
|
), 'before');
|
||||||
|
|
||||||
|
// Wildcard should match any module even if there is an opposing rule, if opposing rule doesn't match, no matter how many opposing rules
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterExplicit,
|
||||||
|
array('module' => 'qux', 'file' => 'delta', 'name' => '4')
|
||||||
|
), 'before');
|
||||||
|
|
||||||
|
// Wildcard should match any module even if there is an opposing rule, if opposing rule doesn't match (even if some portions do)
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterExplicit,
|
||||||
|
array('module' => 'bar', 'file' => 'beta', 'name' => 'nomatchy')
|
||||||
|
), 'before');
|
||||||
|
|
||||||
|
// When opposing rule matches, wildcard should be ignored
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterExplicit,
|
||||||
|
array('module' => 'bar', 'file' => 'beta', 'name' => '2')
|
||||||
|
), 'after');
|
||||||
|
|
||||||
|
// When any one of mutiple opposing rule exists, wildcard should be ignored
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterTwoExplicitRules,
|
||||||
|
array('module' => 'bar', 'file' => 'beta', 'name' => '2')
|
||||||
|
), 'after');
|
||||||
|
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterTwoExplicitRules,
|
||||||
|
array('module' => 'baz', 'file' => 'gamma', 'name' => '3')
|
||||||
|
), 'after');
|
||||||
|
|
||||||
|
// When two opposed wildcard rules, and more specific one doesn't match, other should win
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterPartialWildcarded,
|
||||||
|
array('module' => 'qux', 'file' => 'delta', 'name' => '4')
|
||||||
|
), 'before');
|
||||||
|
|
||||||
|
// When two opposed wildcard rules, and more specific one does match, more specific one should win
|
||||||
|
$this->assertEquals($accessor->relativeOrder(
|
||||||
|
$beforeWildcardedAfterPartialWildcarded,
|
||||||
|
array('module' => 'bar', 'file' => 'beta', 'name' => 'wildcardmatchy')
|
||||||
|
), 'after');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user