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'
|
||||
---
|
||||
Name: coreroutes
|
||||
After: cms/routes#modelascontrollerroutes
|
||||
Before: '*'
|
||||
After:
|
||||
- framework/routes#rootroutes
|
||||
- cms/routes#modelascontrollerroutes
|
||||
---
|
||||
Director:
|
||||
rules:
|
||||
@ -21,7 +23,11 @@ Director:
|
||||
'interactive': 'SapphireREPL'
|
||||
---
|
||||
Name: adminroutes
|
||||
After: framework/routes#coreroutes
|
||||
Before: '*'
|
||||
After:
|
||||
- framework/routes#rootroutes
|
||||
- framework/routes#coreroutes
|
||||
- cms/routes#modelascontrollerroutes
|
||||
---
|
||||
Director:
|
||||
rules:
|
||||
|
@ -336,9 +336,8 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
||||
}
|
||||
|
||||
function handleRequest(SS_HTTPRequest $request, DataModel $model = null) {
|
||||
$title = $this->Title();
|
||||
|
||||
$response = parent::handleRequest($request, $model);
|
||||
$title = $this->Title();
|
||||
if(!$response->getHeader('X-Controller')) $response->addHeader('X-Controller', $this->class);
|
||||
if(!$response->getHeader('X-Title')) $response->addHeader('X-Title', $title);
|
||||
|
||||
@ -1342,7 +1341,9 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
||||
* @return string
|
||||
*/
|
||||
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) {
|
||||
if($menuItem->LinkingMode != 'link') return $menuItem->Title;
|
||||
|
@ -232,5 +232,24 @@ class ClassInfo {
|
||||
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;
|
||||
}
|
||||
|
||||
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 */
|
||||
static protected $for_class_instances = array();
|
||||
|
||||
@ -371,14 +365,17 @@ class Config {
|
||||
|
||||
// Then look at the static variables
|
||||
$nothing = new stdClass();
|
||||
$classes = array($class);
|
||||
|
||||
$sources = array($class);
|
||||
// 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])) {
|
||||
$classes = array_merge($classes, self::$extra_static_sources[$class]);
|
||||
if (($sourceOptions & self::EXCLUDE_EXTRA_SOURCES) != self::EXCLUDE_EXTRA_SOURCES) {
|
||||
$extraSources = Object::get_extra_config_sources($class);
|
||||
if ($extraSources) $sources = array_merge($sources, $extraSources);
|
||||
}
|
||||
|
||||
foreach ($classes as $staticSource) {
|
||||
$value = Object::static_lookup($staticSource, $name, $nothing);
|
||||
foreach ($sources as $staticSource) {
|
||||
if (is_array($staticSource)) $value = isset($staticSource[$name]) ? $staticSource[$name] : $nothing;
|
||||
else $value = Object::static_lookup($staticSource, $name, $nothing);
|
||||
|
||||
if ($value !== $nothing) {
|
||||
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
|
||||
* 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). */
|
||||
protected $data;
|
||||
|
||||
@ -68,7 +68,68 @@ class SS_DAG {
|
||||
$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;
|
||||
}
|
||||
|
||||
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
|
||||
*
|
||||
* TODO: This is likely to be replaced by event sytem before 3.0 final, so be aware
|
||||
* this API is fairly unstable.
|
||||
*
|
||||
* @static
|
||||
* @param $class
|
||||
*/
|
||||
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) {
|
||||
unset(self::$classes_constructed[$subclass]);
|
||||
unset(self::$extra_methods[$subclass]);
|
||||
unset(self::$extension_sources[$subclass]);
|
||||
}
|
||||
|
||||
Config::inst()->update($class, 'extensions', array($extension));
|
||||
@ -505,6 +506,7 @@ abstract class Object {
|
||||
if($subclasses) foreach($subclasses as $subclass) {
|
||||
unset(self::$classes_constructed[$subclass]);
|
||||
unset(self::$extra_methods[$subclass]);
|
||||
unset(self::$extension_sources[$subclass]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -531,35 +533,63 @@ 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() {
|
||||
$this->class = get_class($this);
|
||||
|
||||
// Don't bother checking some classes that should never be extended
|
||||
static $notExtendable = array('Object', 'ViewableData', 'RequestHandler');
|
||||
foreach(ClassInfo::ancestry(get_called_class()) as $class) {
|
||||
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 (!isset(self::$_added_extensions[$extensionClass][$class])) {
|
||||
// First call the add_to_class method - this will inherit down & is defined on Extension, so if not defined, no worries
|
||||
call_user_func(array($extensionClass, 'add_to_class'), $class, $extensionClass, $extensionArgs);
|
||||
|
||||
// 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($extensions) foreach($extensions as $extension) {
|
||||
$instance = self::create_from_string($extension);
|
||||
$instance->setOwner(null, $class);
|
||||
$this->extension_instances[$instance->class] = $instance;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -217,7 +217,8 @@ class SS_ConfigManifest {
|
||||
foreach (array('before', 'after') as $order) {
|
||||
if (isset($header[$order])) {
|
||||
// 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 "*"
|
||||
$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"
|
||||
*/
|
||||
protected function relativeOrder($a, $b) {
|
||||
$matchesSomeRule = array();
|
||||
$matches = array();
|
||||
|
||||
// Do the same thing for after and before
|
||||
foreach (array('after'=>'before', 'before'=>'after') as $rulename => $opposite) {
|
||||
$matchesSomeRule[$rulename] = false;
|
||||
foreach (array('before', 'after') as $rulename) {
|
||||
$matches[$rulename] = array();
|
||||
|
||||
// If no rule specified, we don't match it
|
||||
if (isset($a[$rulename])) {
|
||||
// Figure out for each rule, which part matches
|
||||
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) {
|
||||
$partMatches = true;
|
||||
|
||||
// If part is *, we match _unless_ the opposite rule has a non-* matcher than also matches $b
|
||||
if ($rule[$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;
|
||||
foreach(array('module', 'file', 'name') as $part) {
|
||||
// If part is *, we match _unless_ the opposite rule has a non-* matcher than also matches $b
|
||||
if ($rule[$part] == '*') {
|
||||
$match[$part] = 'wild';
|
||||
}
|
||||
else {
|
||||
$match[$part] = ($rule[$part] == $b[$part]);
|
||||
}
|
||||
|
||||
$matchesSomeRule[$rulename] = $matchesSomeRule[$rulename] || $matchesRule;
|
||||
}
|
||||
|
||||
$matches[$rulename][] = $match;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if it matches both rules - problem if so
|
||||
if ($matchesSomeRule['before'] && $matchesSomeRule['after']) {
|
||||
user_error('Config fragment requires itself to be both before _and_ after another fragment', E_USER_ERROR);
|
||||
// Figure out the specificness of each match. 1 an actual match, 0 for a wildcard match, remove if no match
|
||||
$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;
|
||||
}
|
||||
}
|
||||
|
||||
return $matchesSomeRule['before'] ? 'before' : ($matchesSomeRule['after'] ? 'after' : 'undefined');
|
||||
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);
|
||||
}
|
||||
else {
|
||||
return ($matchlevel['before'] > $matchlevel['after']) ? 'before' : 'after';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -749,27 +749,27 @@ class File extends DataObject {
|
||||
*/
|
||||
function getFileType() {
|
||||
$types = array(
|
||||
'gif' => 'GIF image - good for diagrams',
|
||||
'jpg' => 'JPEG image - good for photos',
|
||||
'jpeg' => 'JPEG image - good for photos',
|
||||
'png' => 'PNG image - good general-purpose format',
|
||||
'ico' => 'Icon image',
|
||||
'tiff' => 'Tagged image format',
|
||||
'doc' => 'Word document',
|
||||
'xls' => 'Excel spreadsheet',
|
||||
'zip' => 'ZIP compressed file',
|
||||
'gz' => 'GZIP compressed file',
|
||||
'dmg' => 'Apple disk image',
|
||||
'pdf' => 'Adobe Acrobat PDF file',
|
||||
'mp3' => 'MP3 audio file',
|
||||
'wav' => 'WAV audo file',
|
||||
'avi' => 'AVI video file',
|
||||
'mpg' => 'MPEG video file',
|
||||
'mpeg' => 'MPEG video file',
|
||||
'js' => 'Javascript file',
|
||||
'css' => 'CSS file',
|
||||
'html' => 'HTML file',
|
||||
'htm' => 'HTML file'
|
||||
'gif' => _t('File.GifType', 'GIF image - good for diagrams'),
|
||||
'jpg' => _t('File.JpgType', 'JPEG image - good for photos'),
|
||||
'jpeg' => _t('File.JpgType', 'JPEG image - good for photos'),
|
||||
'png' => _t('File.PngType', 'PNG image - good general-purpose format'),
|
||||
'ico' => _t('File.IcoType', 'Icon image'),
|
||||
'tiff' => _t('File.TiffType', 'Tagged image format'),
|
||||
'doc' => _t('File.DocType', 'Word document'),
|
||||
'xls' => _t('File.XlsType', 'Excel spreadsheet'),
|
||||
'zip' => _t('File.ZipType', 'ZIP compressed file'),
|
||||
'gz' => _t('File.GzType', 'GZIP compressed file'),
|
||||
'dmg' => _t('File.DmgType', 'Apple disk image'),
|
||||
'pdf' => _t('File.PdfType', 'Adobe Acrobat PDF file'),
|
||||
'mp3' => _t('File.Mp3Type', 'MP3 audio file'),
|
||||
'wav' => _t('File.WavType', 'WAV audo file'),
|
||||
'avi' => _t('File.AviType', 'AVI video file'),
|
||||
'mpg' => _t('File.MpgType', 'MPEG video file'),
|
||||
'mpeg' => _t('File.MpgType', 'MPEG video file'),
|
||||
'js' => _t('File.JsType', 'Javascript file'),
|
||||
'css' => _t('File.CssType', 'CSS file'),
|
||||
'html' => _t('File.HtmlType', 'HTML file'),
|
||||
'htm' => _t('File.HtlType', 'HTML file')
|
||||
);
|
||||
|
||||
$ext = $this->getExtension();
|
||||
|
@ -599,7 +599,11 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE;
|
||||
}
|
||||
|
||||
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++) {
|
||||
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?',
|
||||
'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.',
|
||||
'HtmlEditorField.SelectAnchor': 'Select an anchor',
|
||||
'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.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'
|
||||
FROMCOMPUTERINFO: 'Upload from your computer'
|
||||
TOTAL: Total
|
||||
TOUPLOAD: 'Choose files to upload...'
|
||||
UPLOADINPROGRESS: 'Please wait… upload in progress'
|
||||
UPLOADOR: OR
|
||||
BBCodeParser:
|
||||
@ -143,18 +144,37 @@ en:
|
||||
Enum:
|
||||
ANY: Any
|
||||
File:
|
||||
AviType: 'AVI video file'
|
||||
Content: Content
|
||||
CssType: 'CSS file'
|
||||
DmgType: 'Apple disk image'
|
||||
DocType: 'Word document'
|
||||
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})'
|
||||
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.'
|
||||
NOVALIDUPLOAD: 'File is not a valid upload'
|
||||
Name: Name
|
||||
PLURALNAME: Files
|
||||
PdfType: 'Adobe Acrobat PDF file'
|
||||
PngType: 'PNG image - good general-purpose format'
|
||||
SINGULARNAME: File
|
||||
TOOLARGE: 'Filesize is too large, maximum {size} allowed'
|
||||
TOOLARGESHORT: 'Filesize exceeds {size}'
|
||||
TiffType: 'Tagged image format'
|
||||
Title: Title
|
||||
WavType: 'WAV audo file'
|
||||
XlsType: 'Excel spreadsheet'
|
||||
ZipType: 'ZIP compressed file'
|
||||
FileIFrameField:
|
||||
ATTACH: 'Attach {type}'
|
||||
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,32 +31,19 @@ abstract class DataExtension extends Extension {
|
||||
'api_access' => false,
|
||||
);
|
||||
|
||||
static function add_to_class($class, $extensionClass, $args = null) {
|
||||
if(method_exists($class, 'extraDBFields')) {
|
||||
static function get_extra_config($class, $extension, $args) {
|
||||
if(method_exists($extension, 'extraDBFields')) {
|
||||
$extraStaticsMethod = 'extraDBFields';
|
||||
} else {
|
||||
$extraStaticsMethod = 'extraStatics';
|
||||
}
|
||||
|
||||
$statics = Injector::inst()->get($extensionClass, true, $args)->$extraStaticsMethod($class, $extensionClass);
|
||||
$statics = Injector::inst()->get($extension, true, $args)->$extraStaticsMethod();
|
||||
|
||||
if ($statics) {
|
||||
Deprecation::notice('3.1.0', "$extraStaticsMethod deprecated. Just define statics on your extension, or use add_to_class", Deprecation::SCOPE_GLOBAL);
|
||||
|
||||
// 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;
|
||||
Deprecation::notice('3.1.0', "$extraStaticsMethod deprecated. Just define statics on your extension, or use get_extra_config", Deprecation::SCOPE_GLOBAL);
|
||||
return $statics;
|
||||
}
|
||||
|
||||
parent::add_to_class($class, $extensionClass, $args);
|
||||
}
|
||||
|
||||
public static function unload_extra_statics($class, $extension) {
|
||||
|
@ -25,9 +25,10 @@ class Hierarchy extends DataExtension {
|
||||
function augmentWrite(&$manipulation) {
|
||||
}
|
||||
|
||||
static function add_to_class($class, $extensionClass, $args = null) {
|
||||
Config::inst()->update($class, 'has_one', array('Parent' => $class));
|
||||
parent::add_to_class($class, $extensionClass, $args);
|
||||
static function get_extra_config($class, $extension, $args) {
|
||||
return array(
|
||||
'has_one' => array('Parent' => $class)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -107,9 +107,10 @@ class Versioned extends DataExtension {
|
||||
'Version' => 'Int'
|
||||
);
|
||||
|
||||
static function add_to_class($class, $extensionClass, $args = null) {
|
||||
Config::inst()->update($class, 'has_many', array('Versions' => $class));
|
||||
parent::add_to_class($class, $extensionClass, $args);
|
||||
static function get_extra_config($class, $extension, $args) {
|
||||
array(
|
||||
'has_many' => array('Versions' => $class)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -75,14 +75,16 @@ class FulltextSearchable extends DataExtension {
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
static function add_to_class($class, $extensionClass, $args = null) {
|
||||
Config::inst()->update($class, 'indexes', array('SearchFields' => array(
|
||||
'type' => 'fulltext',
|
||||
'name' => 'SearchFields',
|
||||
'value' => $args[0]
|
||||
)));
|
||||
|
||||
parent::add_to_class($class, $extensionClass, $args);
|
||||
static function get_extra_config($class, $extensionClass, $args) {
|
||||
return array(
|
||||
'indexes' => array(
|
||||
'SearchFields' => array(
|
||||
'type' => 'fulltext',
|
||||
'name' => 'SearchFields',
|
||||
'value' => $args[0]
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
<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">
|
||||
<% _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') %>" />
|
||||
</label>
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
<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">
|
||||
<% _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') %>" />
|
||||
</label>
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
<tr>
|
||||
<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 %>
|
||||
<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