Merge remote-tracking branch 'origin/master' into translation-staging

This commit is contained in:
Ingo Schommer 2012-08-27 09:17:40 +02:00
commit c191f1f2ac
20 changed files with 2458 additions and 103 deletions

View File

@ -1,6 +1,19 @@
language: php language: php
php: php:
- 5.3 - 5.3
- 5.4
env:
- TESTDB=SQLITE
- TESTDB=MYSQL
- TESTDB=PGSQL
matrix:
exclude:
- php: 5.4
env: TESTDB=PGSQL
- php: 5.4
env: TESTDB=SQLITE
before_script: before_script:
- ./tests/travis/before_script ~/builds/ss - ./tests/travis/before_script ~/builds/ss

View File

@ -285,7 +285,8 @@
} }
// Replace inner content // Replace inner content
node.addClass(origClasses).html(newNode.html()); var origChildren = node.children('ul').detach();
node.addClass(origClasses).html(newNode.html()).append(origChildren);
if (nextNode && nextNode.length) { if (nextNode && nextNode.length) {
this.jstree('move_node', node, nextNode, 'before'); this.jstree('move_node', node, nextNode, 'before');
@ -354,23 +355,25 @@
return; return;
} }
var correctStateFn = function(node) {
self.jstree('deselect_all');
self.jstree('select_node', node);
// Similar to jstree's correct_state, but doesn't remove children
var hasChildren = (node.children('ul').length > 0);
node.toggleClass('jstree-leaf', !hasChildren);
if(!hasChildren) node.removeClass('jstree-closed jstree-open');
};
// Check if node exists, create if necessary // Check if node exists, create if necessary
if(node.length) { if(node.length) {
self.updateNode(node, nodeData.html, nodeData); self.updateNode(node, nodeData.html, nodeData);
setTimeout(function() { setTimeout(function() {
self.jstree('deselect_all'); correctStateFn(node) ;
self.jstree('select_node', node);
// Manually correct state, which checks for children and
// removes toggle arrow (should really be done by jstree internally)
self.jstree('correct_state', node);
}, 500); }, 500);
} else { } else {
includesNewNode = true; includesNewNode = true;
self.createNode(nodeData.html, nodeData, function(newNode) { self.createNode(nodeData.html, nodeData, function(newNode) {
self.jstree('deselect_all'); correctStateFn(newNode);
self.jstree('select_node', newNode);
// Manually remove toggle node, see above
self.jstree('correct_state', newNode);
}); });
} }
}); });

View File

@ -1,4 +1,4 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
@ -244,8 +244,8 @@
<h3 class="sectionHeading">Theme selection <small>Step 4 of 5</small></h3> <h3 class="sectionHeading">Theme selection <small>Step 4 of 5</small></h3>
<p class="helpText">You can change the theme or <a href="http://silverstripe.org/themes">download</a> another from the SilverStripe website after installation.</p> <p class="helpText">You can change the theme or <a href="http://silverstripe.org/themes">download</a> another from the SilverStripe website after installation.</p>
<ul id="Themes"> <ul id="Themes">
<li><input type="radio" name="template" value="simple" id="Simple" <?php if(!isset($_POST['template']) || $_POST['template'] == 'simple') {?>checked="checked"<?php }?>><label for="Simple"><a href="https://github.com/silverstripe-themes/silverstripe-simple">Simple</a> - our default theme ready to use.</label></li> <li><input type="radio" name="template" value="simple" id="Simple" <?php if(!isset($_POST['template']) || $_POST['template'] == 'simple') {?>checked="checked"<?php }?>><label for="Simple"><a href="https://github.com/silverstripe-themes/silverstripe-simple">Simple</a> - our default theme ready to use, or begin the <a href="http://doc.silverstripe.org/sapphire/en/tutorials" target="_blank">tutorial</a>.</label></li>
<li><input type="radio" name="template" value="tutorial" id="EmptyTemplate" <?php if(isset($_POST['template']) && $_POST['template'] == 'tutorial') {?>checked="checked"<?php }?>><label for="EmptyTemplate">Empty template - ready to begin the <a href="http://doc.silverstripe.org/sapphire/en/tutorials" target="_blank">tutorial</a>.</label></li> <li><input type="radio" name="template" value="tutorial" id="EmptyTemplate" <?php if(isset($_POST['template']) && $_POST['template'] == 'tutorial') {?>checked="checked"<?php }?>><label for="EmptyTemplate">Empty template</label></li>
</ul> </ul>
<h3 class="sectionHeading" id="install">Confirm Install <small>Step 5 of 5</small></h3> <h3 class="sectionHeading" id="install">Confirm Install <small>Step 5 of 5</small></h3>

View File

@ -246,44 +246,6 @@ use case could be when you want to find all the members that does not exist in a
// ... Finding all members that does not belong to $group. // ... Finding all members that does not belong to $group.
$otherMembers = Member::get()->subtract($group->Members()); $otherMembers = Member::get()->subtract($group->Members());
### Relation filters
So far we have only filtered a data list by fields on the object that you're requesting. For simple cases, this might
be okay, but often, a data model is made up of a number of related objects. For example, in SilverStripe each member
can be placed in a number of groups, and each group has a number of permissions.
For this, the SilverStripe ORM supports **Relation Filters**. Any ORM request can be filtered by fields on a related
object by specifying the filter key as `<relation-name>.<field-in-related-object>`. You can chain relations together
as many times as is necessary.
For example, this will return all members assigned to a group that has a permission record with the code "ADMIN". In
other words, it will return all administrators.
:::php
$members = Member::get()->filter(array(
'Groups.Permissions.Code:ExactMatch' => 'ADMIN',
));
Note that we are just joining these tables to filter the records. Even if a member is in more than 1 administrator
group, unique members will still be returned by this query.
The other features of filters can be applied to relation filters as well. This will return all members in groups whose
names start with 'A' or 'B'.
:::php
$members = Member::get()->filter(array(
'Groups.Title:StartsWith' => array('A', 'B'),
));
You can even follow a relation back to the original model class! This will return all members are in at least 1 group
that also has a member called Sam.
:::php
$members = Member::get()->filter(array(
'Groups.Members.FirstName' => 'Sam'
));
### Raw SQL options for advanced users ### Raw SQL options for advanced users
Occasionally, the system described above won't let you do exactly what you need to do. In these situtations, we have Occasionally, the system described above won't let you do exactly what you need to do. In these situtations, we have

View File

@ -133,7 +133,11 @@ class GridFieldDeleteAction implements GridField_ColumnProvider, GridField_Actio
if($actionName == 'deleterecord' && !$item->canDelete()) { if($actionName == 'deleterecord' && !$item->canDelete()) {
throw new ValidationException(_t('GridFieldAction_Delete.DeletePermissionsFailure',"No delete permissions"),0); throw new ValidationException(_t('GridFieldAction_Delete.DeletePermissionsFailure',"No delete permissions"),0);
} }
$gridField->getList()->remove($item); if($actionName == 'deleterecord') {
$item->delete();
} else {
$gridField->getList()->remove($item);
}
} }
} }
} }

View File

@ -384,7 +384,13 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler {
$form->sessionMessage($message, 'good'); $form->sessionMessage($message, 'good');
return Controller::curr()->redirect($this->Link()); if($new_record) {
return Controller::curr()->redirect($this->Link());
} else {
// Return new view, as we can't do a "virtual redirect" via the CMS Ajax
// to the same URL (it assumes that its content is already current, and doesn't reload)
return $this->edit(Controller::curr()->getRequest());
}
} }
function doDelete($data, $form) { function doDelete($data, $form) {

591
lang/de.yml.orig Normal file
View File

@ -0,0 +1,591 @@
de:
AssetAdmin:
<<<<<<< HEAD
ADDFILES: 'Add files'
=======
ADDFILES: 'Dateien hinzufügen'
>>>>>>> origin/translation-staging
EditOrgMenu: 'Edit &amp; 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 &amp; 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 &amp; 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

586
lang/mi_NZ.yml.orig Normal file
View File

@ -0,0 +1,586 @@
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:
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:
-
- 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:
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:
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 &amp; 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ā &amp; 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:
Print:
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 Normal file
View File

@ -0,0 +1,556 @@
nl:
AssetAdmin:
ADDFILES: 'Add files'
EditOrgMenu: 'Edit &amp; 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 &amp; 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 Normal file
View File

@ -0,0 +1,586 @@
ru:
AssetAdmin:
ADDFILES: 'Add files'
EditOrgMenu: 'Edit &amp; 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 &amp; 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: Версии

View File

@ -656,6 +656,7 @@ function max($field) {
$fieldExpression = $this->expressionForField($field, $subSelect); $fieldExpression = $this->expressionForField($field, $subSelect);
$subSelect->setSelect(array()); $subSelect->setSelect(array());
$subSelect->selectField($fieldExpression, $field); $subSelect->selectField($fieldExpression, $field);
$subSelect->setOrderBy(null);
$this->where($this->expressionForField($field, $this).' NOT IN ('.$subSelect->sql().')'); $this->where($this->expressionForField($field, $this).' NOT IN ('.$subSelect->sql().')');
return $this; return $this;

View File

@ -575,22 +575,9 @@ class Hierarchy extends DataExtension {
if(!$showAll) $children = $children->where('"ShowInMenus" = 1'); if(!$showAll) $children = $children->where('"ShowInMenus" = 1');
// Query the live site // Query the live site
$children->dataQuery()->setQueryParam('Versioned.mode', 'stage'); $children->dataQuery()->setQueryParam('Versioned.mode', $onlyDeletedFromStage ? 'stage_unique' : 'stage');
$children->dataQuery()->setQueryParam('Versioned.stage', 'Live'); $children->dataQuery()->setQueryParam('Versioned.stage', 'Live');
if($onlyDeletedFromStage) {
// Note that this makes a second query, and could be optimised to be a join
$stageChildren = DataObject::get($baseClass)
->where("\"{$baseClass}\".\"ID\" != $id");
$stageChildren->dataQuery()->setQueryParam('Versioned.mode', 'stage');
$stageChildren->dataQuery()->setQueryParam('Versioned.stage', '');
$ids = $stageChildren->column("ID");
if($ids) {
$children = $children->where("\"$baseClass\".\"ID\" NOT IN (" . implode(',',$ids) . ")");
}
}
return $children; return $children;
} }

View File

@ -162,16 +162,16 @@ class Versioned extends DataExtension {
// Link to the version archived on that date // Link to the version archived on that date
$safeDate = Convert::raw2sql($date); $safeDate = Convert::raw2sql($date);
$query->addWhere( $query->addWhere(
"`{$baseTable}_versions`.`Version` IN "\"{$baseTable}_versions\".\"Version\" IN
(SELECT LatestVersion FROM (SELECT LatestVersion FROM
(SELECT (SELECT
`{$baseTable}_versions`.`RecordID`, \"{$baseTable}_versions\".\"RecordID\",
MAX(`{$baseTable}_versions`.`Version`) AS LatestVersion MAX(\"{$baseTable}_versions\".\"Version\") AS LatestVersion
FROM `{$baseTable}_versions` FROM \"{$baseTable}_versions\"
WHERE `{$baseTable}_versions`.`LastEdited` <= '$safeDate' WHERE \"{$baseTable}_versions\".\"LastEdited\" <= '$safeDate'
GROUP BY `{$baseTable}_versions`.`RecordID` GROUP BY \"{$baseTable}_versions\".\"RecordID\"
) AS `{$baseTable}_versions_latest` ) AS \"{$baseTable}_versions_latest\"
WHERE `{$baseTable}_versions_latest`.`RecordID` = `{$baseTable}_versions`.`RecordID` WHERE \"{$baseTable}_versions_latest\".\"RecordID\" = \"{$baseTable}_versions\".\"RecordID\"
)"); )");
break; break;
@ -192,6 +192,26 @@ class Versioned extends DataExtension {
} }
break; break;
// Reading a specific stage, but only return items that aren't in any other stage
case 'stage_unique':
$stage = $dataQuery->getQueryParam('Versioned.stage');
// Recurse to do the default stage behavior (must be first, we rely on stage renaming happening before below)
$dataQuery->setQueryParam('Versioned.mode', 'stage');
$this->augmentSQL($query, $dataQuery);
// Now exclude any ID from any other stage. Note that we double rename to avoid the regular stage rename
// renaming all subquery references to be Versioned.stage
foreach($this->stages as $excluding) {
if ($excluding == $stage) continue;
$tempName = 'ExclusionarySource_'.$excluding;
$excludingTable = $baseTable . ($excluding && $excluding != $this->defaultStage ? "_$excluding" : '');
$query->addWhere('"'.$baseTable.'"."ID" NOT IN (SELECT "ID" FROM "'.$tempName.'")');
$query->renameTable($tempName, $excludingTable);
}
break;
// Return all version instances // Return all version instances
case 'all_versions': case 'all_versions':
@ -208,21 +228,22 @@ class Versioned extends DataExtension {
$query->selectField(sprintf('"%s_versions"."%s"', $baseTable, $name), $name); $query->selectField(sprintf('"%s_versions"."%s"', $baseTable, $name), $name);
} }
$query->selectField(sprintf('"%s_versions"."%s"', $baseTable, 'RecordID'), "ID"); $query->selectField(sprintf('"%s_versions"."%s"', $baseTable, 'RecordID'), "ID");
$query->addOrderBy(sprintf('"%s_versions"."%s"', $baseTable, 'Version'));
// latest_version has one more step // latest_version has one more step
// Return latest version instances, regardless of whether they are on a particular stage // Return latest version instances, regardless of whether they are on a particular stage
// This provides "show all, including deleted" functonality // This provides "show all, including deleted" functonality
if($dataQuery->getQueryParam('Versioned.mode') == 'latest_versions') { if($dataQuery->getQueryParam('Versioned.mode') == 'latest_versions') {
$query->addWhere( $query->addWhere(
"`{$alias}_versions`.`Version` IN "\"{$alias}_versions\".\"Version\" IN
(SELECT LatestVersion FROM (SELECT LatestVersion FROM
(SELECT (SELECT
`{$alias}_versions`.`RecordID`, \"{$alias}_versions\".\"RecordID\",
MAX(`{$alias}_versions`.`Version`) AS LatestVersion MAX(\"{$alias}_versions\".\"Version\") AS LatestVersion
FROM `{$alias}_versions` FROM \"{$alias}_versions\"
GROUP BY `{$alias}_versions`.`RecordID` GROUP BY \"{$alias}_versions\".\"RecordID\"
) AS `{$alias}_versions_latest` ) AS \"{$alias}_versions_latest\"
WHERE `{$alias}_versions_latest`.`RecordID` = `{$alias}_versions`.`RecordID` WHERE \"{$alias}_versions_latest\".\"RecordID\" = \"{$alias}_versions\".\"RecordID\"
)"); )");
} }
break; break;
@ -363,7 +384,7 @@ class Versioned extends DataExtension {
$versionIndexes = array_merge( $versionIndexes = array_merge(
array( array(
'RecordID_Version' => array('type' => 'unique', 'value' => 'RecordID,Version'), 'RecordID_Version' => array('type' => 'unique', 'value' => '"RecordID","Version"'),
'RecordID' => true, 'RecordID' => true,
'Version' => true, 'Version' => true,
), ),

View File

@ -14,11 +14,12 @@ class GreaterThanFilter extends SearchFilter {
*/ */
public function apply(DataQuery $query) { public function apply(DataQuery $query) {
$this->model = $query->applyRelation($this->relation); $this->model = $query->applyRelation($this->relation);
return $query->where(sprintf( $value = $this->getDbFormattedValue();
"%s > '%s'",
$this->getDbName(), if(is_numeric($value)) $filter = sprintf("%s > %s", $this->getDbName(), Convert::raw2sql($value));
Convert::raw2sql($this->getDbFormattedValue()) else $filter = sprintf("%s > '%s'", $this->getDbName(), Convert::raw2sql($value));
));
return $query->where($filter);
} }
public function isEmpty() { public function isEmpty() {

View File

@ -18,8 +18,10 @@ class RequirementsTest extends SapphireTest {
$backend->javascript('http://www.mydomain.com/test.js'); $backend->javascript('http://www.mydomain.com/test.js');
$backend->javascript('https://www.mysecuredomain.com/test.js'); $backend->javascript('https://www.mysecuredomain.com/test.js');
$backend->javascript('//scheme-relative.example.com/test.js');
$backend->css('http://www.mydomain.com/test.css'); $backend->css('http://www.mydomain.com/test.css');
$backend->css('https://www.mysecuredomain.com/test.css'); $backend->css('https://www.mysecuredomain.com/test.css');
$backend->css('//scheme-relative.example.com/test.css');
$html = $backend->includeInHTML(false, self::$html_template); $html = $backend->includeInHTML(false, self::$html_template);
@ -31,6 +33,10 @@ class RequirementsTest extends SapphireTest {
(strpos($html, 'https://www.mysecuredomain.com/test.js') !== false), (strpos($html, 'https://www.mysecuredomain.com/test.js') !== false),
'Load external secure javascript URL' 'Load external secure javascript URL'
); );
$this->assertTrue(
(strpos($html, '//scheme-relative.example.com/test.js') !== false),
'Load external scheme-relative javascript URL'
);
$this->assertTrue( $this->assertTrue(
(strpos($html, 'http://www.mydomain.com/test.css') !== false), (strpos($html, 'http://www.mydomain.com/test.css') !== false),
'Load external CSS URL' 'Load external CSS URL'
@ -39,6 +45,10 @@ class RequirementsTest extends SapphireTest {
(strpos($html, 'https://www.mysecuredomain.com/test.css') !== false), (strpos($html, 'https://www.mysecuredomain.com/test.css') !== false),
'Load external secure CSS URL' 'Load external secure CSS URL'
); );
$this->assertTrue(
(strpos($html, '//scheme-relative.example.com/test.css') !== false),
'Load scheme-relative CSS URL'
);
} }
protected function setupCombinedRequirements($backend) { protected function setupCombinedRequirements($backend) {

View File

@ -28,8 +28,10 @@ class DataObjectLazyLoadingTest extends SapphireTest {
$expected = 'SELECT DISTINCT "DataObjectTest_Team"."ClassName", "DataObjectTest_Team"."Created", ' . $expected = 'SELECT DISTINCT "DataObjectTest_Team"."ClassName", "DataObjectTest_Team"."Created", ' .
'"DataObjectTest_Team"."LastEdited", "DataObjectTest_Team"."ID", CASE WHEN '. '"DataObjectTest_Team"."LastEdited", "DataObjectTest_Team"."ID", CASE WHEN '.
'"DataObjectTest_Team"."ClassName" IS NOT NULL THEN "DataObjectTest_Team"."ClassName" ELSE ' . '"DataObjectTest_Team"."ClassName" IS NOT NULL THEN "DataObjectTest_Team"."ClassName" ELSE ' .
$db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName" FROM "DataObjectTest_Team" WHERE ' . $db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName", "DataObjectTest_Team"."Title" '.
'("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').'))'; 'FROM "DataObjectTest_Team" ' .
'WHERE ("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').'))' .
' ORDER BY "DataObjectTest_Team"."Title" ASC';
$this->assertEquals($expected, $playerList->sql()); $this->assertEquals($expected, $playerList->sql());
} }
@ -43,7 +45,8 @@ class DataObjectLazyLoadingTest extends SapphireTest {
'"DataObjectTest_Team"."ClassName" IS NOT NULL THEN "DataObjectTest_Team"."ClassName" ELSE ' . '"DataObjectTest_Team"."ClassName" IS NOT NULL THEN "DataObjectTest_Team"."ClassName" ELSE ' .
$db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName" FROM "DataObjectTest_Team" LEFT JOIN ' . $db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName" FROM "DataObjectTest_Team" LEFT JOIN ' .
'"DataObjectTest_SubTeam" ON "DataObjectTest_SubTeam"."ID" = "DataObjectTest_Team"."ID" WHERE ' . '"DataObjectTest_SubTeam" ON "DataObjectTest_SubTeam"."ID" = "DataObjectTest_Team"."ID" WHERE ' .
'("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').'))'; '("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').')) ' .
'ORDER BY "DataObjectTest_Team"."Title" ASC';
$this->assertEquals($expected, $playerList->sql()); $this->assertEquals($expected, $playerList->sql());
} }
@ -55,7 +58,8 @@ class DataObjectLazyLoadingTest extends SapphireTest {
'"DataObjectTest_Team"."LastEdited", "DataObjectTest_Team"."Title", "DataObjectTest_Team"."ID", ' . '"DataObjectTest_Team"."LastEdited", "DataObjectTest_Team"."Title", "DataObjectTest_Team"."ID", ' .
'CASE WHEN "DataObjectTest_Team"."ClassName" IS NOT NULL THEN "DataObjectTest_Team"."ClassName" ELSE ' . 'CASE WHEN "DataObjectTest_Team"."ClassName" IS NOT NULL THEN "DataObjectTest_Team"."ClassName" ELSE ' .
$db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName" FROM "DataObjectTest_Team" WHERE ' . $db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName" FROM "DataObjectTest_Team" WHERE ' .
'("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').'))'; '("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').')) ' .
'ORDER BY "DataObjectTest_Team"."Title" ASC';
$this->assertEquals($expected, $playerList->sql()); $this->assertEquals($expected, $playerList->sql());
} }
@ -66,9 +70,10 @@ class DataObjectLazyLoadingTest extends SapphireTest {
$expected = 'SELECT DISTINCT "DataObjectTest_Team"."ClassName", "DataObjectTest_Team"."Created", ' . $expected = 'SELECT DISTINCT "DataObjectTest_Team"."ClassName", "DataObjectTest_Team"."Created", ' .
'"DataObjectTest_Team"."LastEdited", "DataObjectTest_SubTeam"."SubclassDatabaseField", ' . '"DataObjectTest_Team"."LastEdited", "DataObjectTest_SubTeam"."SubclassDatabaseField", ' .
'"DataObjectTest_Team"."ID", CASE WHEN "DataObjectTest_Team"."ClassName" IS NOT NULL THEN ' . '"DataObjectTest_Team"."ID", CASE WHEN "DataObjectTest_Team"."ClassName" IS NOT NULL THEN ' .
'"DataObjectTest_Team"."ClassName" ELSE '.$db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName" FROM ' . '"DataObjectTest_Team"."ClassName" ELSE '.$db->prepStringForDB('DataObjectTest_Team').' END AS "RecordClassName", "DataObjectTest_Team"."Title" FROM ' .
'"DataObjectTest_Team" LEFT JOIN "DataObjectTest_SubTeam" ON "DataObjectTest_SubTeam"."ID" = ' . '"DataObjectTest_Team" LEFT JOIN "DataObjectTest_SubTeam" ON "DataObjectTest_SubTeam"."ID" = ' .
'"DataObjectTest_Team"."ID" WHERE ("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').'))'; '"DataObjectTest_Team"."ID" WHERE ("DataObjectTest_Team"."ClassName" IN ('.$db->prepStringForDB('DataObjectTest_SubTeam').')) ' .
'ORDER BY "DataObjectTest_Team"."Title" ASC';
$this->assertEquals($expected, $playerList->sql()); $this->assertEquals($expected, $playerList->sql());
} }

View File

@ -863,7 +863,7 @@ class DataObjectTest extends SapphireTest {
// Check that the values of those fields are properly read from the database // Check that the values of those fields are properly read from the database
$values = DataObject::get("DataObjectTest_Team", "\"DataObjectTest_Team\".\"ID\" IN $values = DataObject::get("DataObjectTest_Team", "\"DataObjectTest_Team\".\"ID\" IN
($obj1->ID, $obj2->ID)")->column("SubclassDatabaseField"); ($obj1->ID, $obj2->ID)")->column("SubclassDatabaseField");
$this->assertEquals(array('obj1', 'obj2'), $values); $this->assertEquals(array_intersect($values, array('obj1', 'obj2')), $values);
} }
function testClassNameSetForNewObjects() { function testClassNameSetForNewObjects() {
@ -1111,6 +1111,8 @@ class DataObjectTest_Team extends DataObject implements TestOnly {
) )
); );
static $default_sort = "Title";
function MyTitle() { function MyTitle() {
return 'Team ' . $this->Title; return 'Team ' . $this->Title;
} }

View File

@ -4,12 +4,32 @@ ob_start();
define('SS_ENVIRONMENT_TYPE', 'dev'); define('SS_ENVIRONMENT_TYPE', 'dev');
/* Database connection */ /* Database connection */
define('SS_DATABASE_CLASS', 'SQLitePDODatabase'); $db = getenv('TESTDB');
switch($db) {
case "PGSQL";
define('SS_DATABASE_CLASS', 'PostgreSQLDatabase');
define('SS_DATABASE_USERNAME', 'postgres');
define('SS_DATABASE_PASSWORD', '');
break;
case "MYSQL":
define('SS_DATABASE_CLASS', 'MySQLDatabase');
define('SS_DATABASE_USERNAME', 'root');
define('SS_DATABASE_PASSWORD', '');
break;
default:
define('SS_DATABASE_CLASS', 'SQLitePDODatabase');
define('SS_DATABASE_USERNAME', 'root');
define('SS_DATABASE_PASSWORD', '');
}
echo SS_DATABASE_CLASS;
define('SS_DATABASE_SERVER', 'localhost'); define('SS_DATABASE_SERVER', 'localhost');
define('SS_DATABASE_USERNAME', 'root');
define('SS_DATABASE_PASSWORD', '');
define('SS_DATABASE_CHOOSE_NAME', true); define('SS_DATABASE_CHOOSE_NAME', true);
/* Configure a default username and password to access the CMS on all sites in this environment. */ /* Configure a default username and password to access the CMS on all sites in this environment. */
define('SS_DEFAULT_ADMIN_USERNAME', 'username'); define('SS_DEFAULT_ADMIN_USERNAME', 'username');
define('SS_DEFAULT_ADMIN_PASSWORD', 'password'); define('SS_DEFAULT_ADMIN_PASSWORD', 'password');

View File

@ -1,6 +1,7 @@
BUILD_DIR=$1 BUILD_DIR=$1
git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR
git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sqlite3.git $BUILD_DIR/sqlite3 git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sqlite3.git $BUILD_DIR/sqlite3
git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-postgresql.git $BUILD_DIR/postgresql
cp ./tests/travis/_ss_environment.php $BUILD_DIR cp ./tests/travis/_ss_environment.php $BUILD_DIR
cp ./tests/travis/_config.php $BUILD_DIR/mysite cp ./tests/travis/_config.php $BUILD_DIR/mysite
cp -r . $BUILD_DIR/framework cp -r . $BUILD_DIR/framework

View File

@ -781,7 +781,7 @@ class Requirements_Backend {
* @return string|boolean * @return string|boolean
*/ */
protected function path_for_file($fileOrUrl) { protected function path_for_file($fileOrUrl) {
if(preg_match('/^http[s]?/', $fileOrUrl)) { if(preg_match('{^//|http[s]?}', $fileOrUrl)) {
return $fileOrUrl; return $fileOrUrl;
} elseif(Director::fileExists($fileOrUrl)) { } elseif(Director::fileExists($fileOrUrl)) {
$prefix = Director::baseURL(); $prefix = Director::baseURL();