diff --git a/core/model/SiteTree.php b/core/model/SiteTree.php index 0b24de699..12df6f7ff 100644 --- a/core/model/SiteTree.php +++ b/core/model/SiteTree.php @@ -7,7 +7,7 @@ * In addition, it contains a number of static methods for querying the site tree. * @package cms */ -class SiteTree extends DataObject implements PermissionProvider { +class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvider { /** * Indicates what kind of children this page type can have. @@ -1465,29 +1465,42 @@ class SiteTree extends DataObject implements PermissionProvider { $classes = ClassInfo::getValidSubClasses('SiteTree'); array_shift($classes); - $currentAddAction = null; $currentClass = null; foreach($classes as $class) { $instance = singleton($class); if((($instance instanceof HiddenClass) || !$instance->canCreate()) && ($class != $this->class)) continue; - $addAction = $instance->i18n_singular_name(); + $pageTypeName = $instance->i18n_singular_name(); if($class == $this->class) { $currentClass = $class; - $currentAddAction = $addAction; + $result[$class] = $pageTypeName; } else { - $result[$class] = ($class == $this->class) - ? _t('SiteTree.CURRENTLY', 'Currently').' '.$addAction - : _t('SiteTree.CHANGETO', 'Change to').' '.$addAction; + $translation = _t( + 'SiteTree.CHANGETO', + 'Change to "%s"', + PR_MEDIUM, + "Pagetype selection dropdown with class names" + ); + // @todo legacy fix to avoid empty classname dropdowns when translation doesn't include %s + if(strpos('%s', $translation) !== FALSE) { + $result[$class] = sprintf( + $translation, + $pageTypeName + ); + } else { + $result[$class] = "{$translation} \"{$pageTypeName}\""; + } } } // sort alphabetically, and put current on top asort($result); + $currentPageTypeName = $result[$currentClass]; + unset($result[$currentClass]); $result = array_reverse($result); - $result[$currentClass] = $currentAddAction.' ('._t('SiteTree.CURRENT','current').')'; + $result[$currentClass] = $currentPageTypeName; $result = array_reverse($result); return $result; @@ -1691,6 +1704,19 @@ class SiteTree extends DataObject implements PermissionProvider { ) ); } + + /** + * Overloaded to also provide entities for 'Page' class which is usually + * located in custom code, hence textcollector picks it up for the wrong folder. + */ + function provideI18nEntities() { + $entities = parent::provideI18nEntities(); + + if(isset($entities['Page.SINGULARNAME'])) $entities['Page.SINGULARNAME'][3] = 'sapphire'; + if(isset($entities['Page.PLURALNAME'])) $entities['Page.PLURALNAME'][3] = 'sapphire'; + + return $entities; + } } ?> \ No newline at end of file diff --git a/lang/de_DE.php b/lang/de_DE.php index d8f083f80..0392fbb2c 100644 --- a/lang/de_DE.php +++ b/lang/de_DE.php @@ -60,8 +60,19 @@ $lang['de_DE']['BBCodeParser']['UNORDEREDEXAMPLE1'] = 'Ungeordneter Eintrag 1'; $lang['de_DE']['BBCodeParser']['UNORDEREDEXAMPLE2'] = 'Ungeordneter Eintrag 2'; $lang['de_DE']['ChangePasswordEmail.ss']['CHANGEPASSWORDTEXT1'] = 'Sie haben ihr Passwort geändert für'; $lang['de_DE']['ChangePasswordEmail.ss']['CHANGEPASSWORDTEXT2'] = 'Sie können nun folgende Angaben benutzen um sich einzuloggen'; +$lang['de_DE']['ChangePasswordEmail.ss']['EMAIL'] = 'E-Mail'; $lang['de_DE']['ChangePasswordEmail.ss']['HELLO'] = 'Hi'; +$lang['de_DE']['ChangePasswordEmail.ss']['PASSWORD'] = 'Passwort'; +$lang['de_DE']['CMSMain']['DELETE'] = 'Von Entwurf-Seite löschen'; +$lang['de_DE']['CollectionController.ss']['ADDNEWRECORD'] = 'Neuen Eintrag hinzufügen'; +$lang['de_DE']['CollectionController.ss']['SEARCH'] = 'Suche'; +$lang['de_DE']['CollectionController_Results.ss']['NEXT'] = 'nächster'; +$lang['de_DE']['CollectionController_Results.ss']['NORESULTSFOUND'] = 'Keine Einträge gefunden'; +$lang['de_DE']['CollectionController_Results.ss']['PREV'] = 'vorheriger'; +$lang['de_DE']['CollectionController_Results.ss']['RESULTS'] = 'Ergebnisse'; +$lang['de_DE']['ComplexTableField']['CLOSEPOPUP'] = 'Popup schließen'; $lang['de_DE']['ComplexTableField.ss']['ADDITEM'] = 'Hinzufügen'; +$lang['de_DE']['ComplexTableField.ss']['CSVEXPORT'] = 'CSV Export'; $lang['de_DE']['ComplexTableField.ss']['DELETE'] = 'löschen'; $lang['de_DE']['ComplexTableField.ss']['DELETEROW'] = 'Zeile löschen'; $lang['de_DE']['ComplexTableField.ss']['EDIT'] = 'ändern'; @@ -95,6 +106,8 @@ $lang['de_DE']['CreditCardField']['VALIDATIONJS1'] = 'Bitte versichern Sie sich, $lang['de_DE']['CreditCardField']['VALIDATIONJS2'] = 'Kreditkartenummer richtig'; $lang['de_DE']['CurrencyField']['CURRENCYSYMBOL'] = '€'; $lang['de_DE']['CurrencyField']['VALIDATIONJS'] = 'Bitte geben Sie eine gültige Währung ein.'; +$lang['de_DE']['DataObject']['PLURALNAME'] = 'DataObjects'; +$lang['de_DE']['DataObject']['SINGULARNAME'] = 'DataObject'; $lang['de_DE']['DataReport']['EXPORTCSV'] = 'Ins CSV exportieren.'; $lang['de_DE']['Date']['AGO'] = 'vor'; $lang['de_DE']['Date']['AWAY'] = 'weg'; @@ -145,8 +158,12 @@ $lang['de_DE']['ErrorPage']['505'] = '505 - HTTP Version wird nicht unterstützt $lang['de_DE']['ErrorPage']['CODE'] = 'Fehlercode'; $lang['de_DE']['ErrorPage']['DEFAULTERRORPAGECONTENT'] = '

Entschuldigung, möglicherweise versuchen Sie eine Seite zu erreichen die nicht existiert.

Bitte überprüfen Sie die Schreibweise der URL die Sie versucht haben zu erreichen und versuchen Sie es noch einmal.

'; $lang['de_DE']['ErrorPage']['DEFAULTERRORPAGETITLE'] = 'Seite nicht gefunden'; +$lang['de_DE']['ErrorPage']['PLURALNAME'] = 'Fehlerseiten'; +$lang['de_DE']['ErrorPage']['SINGULARNAME'] = 'Fehlerseite'; $lang['de_DE']['File']['NOFILESIZE'] = 'Dateigröße ist 0 bytes'; -$lang['de_DE']['FileIFrameField']['NOTEADDFILES'] = 'Sie können Dateien hinzufügen sobald Sie das erste mal gespeichert haben'; +$lang['de_DE']['File']['PLURALNAME'] = 'Dateien'; +$lang['de_DE']['File']['SINGULARNAME'] = 'Datei'; +$lang['de_DE']['FileIframeField']['NOTEADDFILES'] = 'Sie können Dateien hinzufügen sobald Sie das erste mal gespeichert haben'; $lang['de_DE']['Folder']['CREATED'] = 'Zuerst hochgeladen'; $lang['de_DE']['Folder']['DELETEUNUSEDTHUMBNAILS'] = 'löschen ungebrauchte Vorschaubilder'; $lang['de_DE']['Folder']['DELSELECTED'] = 'Löschen selektierte Dateien'; @@ -154,6 +171,8 @@ $lang['de_DE']['Folder']['DETAILSTAB'] = 'Detail'; $lang['de_DE']['Folder']['FILENAME'] = 'Dateiname'; $lang['de_DE']['Folder']['FILESTAB'] = 'Dateien'; $lang['de_DE']['Folder']['LASTEDITED'] = 'Zuletzt geändert'; +$lang['de_DE']['Folder']['PLURALNAME'] = 'Ordner'; +$lang['de_DE']['Folder']['SINGULARNAME'] = 'Ordner'; $lang['de_DE']['Folder']['TITLE'] = 'Titel'; $lang['de_DE']['Folder']['TYPE'] = 'Typ'; $lang['de_DE']['Folder']['UNUSEDFILESTAB'] = 'ungebrauchte Dateien'; @@ -185,6 +204,10 @@ $lang['de_DE']['Form']['VALIDATOR'] = 'Prüfer'; $lang['de_DE']['Form']['VALIDCURRENCY'] = 'Bitte geben Sie eine gültige Währung an'; $lang['de_DE']['FormField']['NONE'] = 'keine'; $lang['de_DE']['GhostPage']['NOLINKED'] = 'Diese Stellvertreter-Seite ist nicht verlinkt.'; +$lang['de_DE']['GhostPage']['PLURALNAME'] = 'Kopien'; +$lang['de_DE']['GhostPage']['SINGULARNAME'] = 'Kopie'; +$lang['de_DE']['Group']['PLURALNAME'] = 'Gruppen'; +$lang['de_DE']['Group']['SINGULARNAME'] = 'Gruppe'; $lang['de_DE']['GSTNumberField']['VALIDATION'] = 'Bitte geben Sie eine gültige GST Nummer ein'; $lang['de_DE']['GSTNumberField']['VALIDATIONJS'] = 'Bitte geben Sie eine korrekte Steuernummer ein.'; $lang['de_DE']['HtmlEditorField']['ALTTEXT'] = 'Beschreibung'; @@ -230,6 +253,7 @@ $lang['de_DE']['HtmlEditorField']['FORMATH4'] = 'Überschrift 4'; $lang['de_DE']['HtmlEditorField']['FORMATH5'] = 'Überschrift 5'; $lang['de_DE']['HtmlEditorField']['FORMATH6'] = 'Überschrift 6'; $lang['de_DE']['HtmlEditorField']['FORMATP'] = 'Paragraph'; +$lang['de_DE']['HtmlEditorField']['FORMATPRE'] = 'Präformatiert'; $lang['de_DE']['HtmlEditorField']['HR'] = 'Horizontale Linie einfügen'; $lang['de_DE']['HtmlEditorField']['IMAGE'] = 'Bild'; $lang['de_DE']['HtmlEditorField']['IMAGEDIMENSIONS'] = 'Dimensionen'; @@ -264,6 +288,8 @@ $lang['de_DE']['HtmlEditorField']['UNLINK'] = 'Verweis entfernen'; $lang['de_DE']['HtmlEditorField']['UPLOAD'] = 'hochladen'; $lang['de_DE']['HtmlEditorField']['URL'] = 'URL'; $lang['de_DE']['HtmlEditorField']['VISUALAID'] = 'Hinweistexte anzeigen/verbergen'; +$lang['de_DE']['Image']['PLURALNAME'] = 'Bilder'; +$lang['de_DE']['Image']['SINGULARNAME'] = 'Bild'; $lang['de_DE']['ImageField']['NOTEADDIMAGES'] = 'Sie können Bilder hinzufügen nachdem Sie das erste mal gespeichert haben'; $lang['de_DE']['ImageUplaoder']['ONEFROMFILESTORE'] = 'mit einem aus dem Dateispeicher'; $lang['de_DE']['ImageUploader']['ATTACH'] = '%s anhängen'; @@ -274,6 +300,8 @@ $lang['de_DE']['ImageUploader']['ONEFROMCOMPUTER'] = 'mit einer von Ihrem Comput $lang['de_DE']['ImageUploader']['REALLYDELETE'] = 'Möchten Sie wirklich %s löschen?'; $lang['de_DE']['ImageUploader']['REPLACE'] = 'Ersetzen'; $lang['de_DE']['Image_iframe.ss']['TITLE'] = 'Iframe Bilder hochladen'; +$lang['de_DE']['LoginAttempt']['PLURALNAME'] = 'Loginversuche'; +$lang['de_DE']['LoginAttempt']['SINGULARNAME'] = 'Login-Versuch'; $lang['de_DE']['Member']['ADDRESS'] = 'Adresse'; $lang['de_DE']['Member']['BUTTONCHANGEPASSWORD'] = 'Passwort ändern'; $lang['de_DE']['Member']['BUTTONLOGIN'] = 'Einloggen'; @@ -303,7 +331,10 @@ $lang['de_DE']['Member']['PASSWORD'] = 'Passwort'; $lang['de_DE']['Member']['PASSWORDCHANGED'] = 'Ihr Passwort wurde geändert und eine Kopie wurde per Email an Sie versendet'; $lang['de_DE']['Member']['PERSONALDETAILS'] = 'Persönliche Daten'; $lang['de_DE']['Member']['PHONE'] = 'Telefon'; +$lang['de_DE']['Member']['PLURALNAME'] = 'Benutzer'; $lang['de_DE']['Member']['REMEMBERME'] = 'Für das nächste mal merken?'; +$lang['de_DE']['Member']['SECURITYGROUPS'] = 'Sicherheitsgruppen'; +$lang['de_DE']['Member']['SINGULARNAME'] = 'Benutzer'; $lang['de_DE']['Member']['SUBJECTPASSWORDCHANGED'] = 'Ihr Passwort wurde geändert'; $lang['de_DE']['Member']['SUBJECTPASSWORDRESET'] = 'Ihr Link zur Passwortrücksetzung'; $lang['de_DE']['Member']['SURNAME'] = 'Nachname'; @@ -312,19 +343,32 @@ $lang['de_DE']['Member']['VALIDATIONMEMBEREXISTS'] = 'Es gibt bereits ein Mitgli $lang['de_DE']['Member']['WELCOMEBACK'] = 'Willkommen zurück %s'; $lang['de_DE']['Member']['YOUROLDPASSWORD'] = 'Ihr alten Passwort'; $lang['de_DE']['MemberAuthenticator']['TITLE'] = 'Email & Passwort'; +$lang['de_DE']['MemberPassword']['PLURALNAME'] = 'Benutzerpasswörter'; +$lang['de_DE']['MemberPassword']['SINGULARNAME'] = 'Benutzerpasswort'; $lang['de_DE']['NumericField']['VALIDATION'] = '%s ist keine Zahl, nur Zahlen dürfen in dieses Feld eingetragen werden'; $lang['de_DE']['NumericField']['VALIDATIONJS'] = 'ist keine Ziffer. Dieses Feld akzeptiert nur Ziffern.'; +$lang['de_DE']['Page']['PLURALNAME'] = 'Seiten'; +$lang['de_DE']['Page']['SINGULARNAME'] = 'Seite'; $lang['de_DE']['Permission']['FULLADMINRIGHTS'] = 'Unbeschränkte Administratorenrechte'; $lang['de_DE']['Permission']['PERMSDEFINED'] = 'Die folgenden Berechtigungen sind definiert:'; +$lang['de_DE']['Permission']['PLURALNAME'] = 'Zugriffsberechtigungen'; +$lang['de_DE']['Permission']['SINGULARNAME'] = 'Zugriffsberechtigung'; $lang['de_DE']['PhoneNumberField']['VALIDATION'] = 'Bitte geben Sie eine gültige Telefonnummer ein'; +$lang['de_DE']['QueuedEmail']['PLURALNAME'] = 'Emails'; +$lang['de_DE']['QueuedEmail']['SINGULARNAME'] = 'Zeitverzögerte Email'; +$lang['de_DE']['RecordController']['DELETESUCCESS'] = 'Eintrag erfolgreich gelöscht'; +$lang['de_DE']['RecordController']['SAVESUCCESS'] = 'Eintrag gespeichert'; $lang['de_DE']['RedirectorPage']['HASBEENSETUP'] = 'Eine Weiterleitungsseite wurde erstellt ohne das eine Weiterleitung definiert wurde.'; $lang['de_DE']['RedirectorPage']['HEADER'] = 'Diese Seite wird Nutzer auf eine andere Seite weiterleiten'; $lang['de_DE']['RedirectorPage']['OTHERURL'] = 'Andere Webseiten URL'; +$lang['de_DE']['RedirectorPage']['PLURALNAME'] = 'Weiterleitungen'; $lang['de_DE']['RedirectorPage']['REDIRECTTO'] = 'Weiterleiten zu'; $lang['de_DE']['RedirectorPage']['REDIRECTTOEXTERNAL'] = 'Andere Website'; $lang['de_DE']['RedirectorPage']['REDIRECTTOPAGE'] = 'Eine Seite auf Ihrer Website'; +$lang['de_DE']['RedirectorPage']['SINGULARNAME'] = 'Weiterleitung'; $lang['de_DE']['RedirectorPage']['YOURPAGE'] = 'Seite auf Ihrer Website'; $lang['de_DE']['RelationComplexTableField.ss']['ADD'] = 'Hinzufügen'; +$lang['de_DE']['RelationComplexTableField.ss']['CSVEXPORT'] = 'CSV Export'; $lang['de_DE']['RelationComplexTableField.ss']['DELETE'] = 'löschen'; $lang['de_DE']['RelationComplexTableField.ss']['EDIT'] = 'editieren'; $lang['de_DE']['RelationComplexTableField.ss']['NOTFOUND'] = 'Keine Artikel gefunden'; @@ -380,7 +424,7 @@ $lang['de_DE']['SiteTree']['ALLOWCOMMENTS'] = 'Kommentare auf dieser Seite erlau $lang['de_DE']['SiteTree']['APPEARSVIRTUALPAGES'] = 'Dieser Inhalt erscheint auch auf den virtuellen Seiten im %s Bereich.'; $lang['de_DE']['SiteTree']['BUTTONCANCELDRAFT'] = 'Verwerfe Entwurfsänderungen'; $lang['de_DE']['SiteTree']['BUTTONCANCELDRAFTDESC'] = 'Löschen Sie Ihren Entwurf und kehren Sie zur derzeit veröffentlichten Seite zurück.'; -$lang['de_DE']['SiteTree']['BUTTONSAVEPUBLISH'] = 'Speichern und Veröffentlichen'; +$lang['de_DE']['SiteTree']['BUTTONSAVEPUBLISH'] = 'Sichern & Veröffentlichen'; $lang['de_DE']['SiteTree']['BUTTONUNPUBLISH'] = 'Veröffentlichung zurücknehmen'; $lang['de_DE']['SiteTree']['BUTTONUNPUBLISHDESC'] = 'Entferne diese Seite aus der veröffentlichten Website'; $lang['de_DE']['SiteTree']['CHANGETO'] = 'Ändern zu'; @@ -416,12 +460,15 @@ $lang['de_DE']['SiteTree']['NOTEUSEASHOMEPAGE'] = 'Diese Seite als "Homepage" f $lang['de_DE']['SiteTree']['PAGESLINKING'] = 'Die folgenden Seiten verweisen auf diese Seite:'; $lang['de_DE']['SiteTree']['PAGETITLE'] = 'Seiten Name'; $lang['de_DE']['SiteTree']['PAGETYPE'] = 'Seitentyp'; +$lang['de_DE']['SiteTree']['PLURALNAME'] = 'Seiten'; +$lang['de_DE']['SiteTree']['PRIORITYAUTOSET'] = 'Automatisch, basierend auf der Tiefe der Verschachtelung der Seite'; $lang['de_DE']['SiteTree']['PRIORITYLEASTIMPORTANT'] = 'am wenigsten wichtig'; $lang['de_DE']['SiteTree']['PRIORITYMOSTIMPORTANT'] = 'am wichtigsten'; $lang['de_DE']['SiteTree']['PRIORITYNOTINDEXED'] = 'Nicht indiziert.'; $lang['de_DE']['SiteTree']['REMOVEDFROMDRAFT'] = 'von der Entwurfsseite entfernt '; $lang['de_DE']['SiteTree']['SHOWINMENUS'] = 'In Menüs anzeigen?'; $lang['de_DE']['SiteTree']['SHOWINSEARCH'] = 'In der Suche anzeigen?'; +$lang['de_DE']['SiteTree']['SINGULARNAME'] = 'Seite'; $lang['de_DE']['SiteTree']['TABACCESS'] = 'Zugriff'; $lang['de_DE']['SiteTree']['TABBACKLINKS'] = 'Rückverweise'; $lang['de_DE']['SiteTree']['TABBEHAVIOUR'] = 'Verhalten'; @@ -461,5 +508,11 @@ $lang['de_DE']['TypeDropdown']['NONE'] = 'Keine'; $lang['de_DE']['VirtualPage']['CHOOSE'] = 'Wählen Sie eine Seite auf die Sie verweisen möchten'; $lang['de_DE']['VirtualPage']['EDITCONTENT'] = 'drücken Sie hier um den Inhalt abzuändern'; $lang['de_DE']['VirtualPage']['HEADER'] = 'Dies ist eine virtuelle Seite'; -$lang['de_DE']['ConfirmedFormAction']['CONFIRMATION'] = 'Sind Sie sicher?'; +$lang['de_DE']['VirtualPage']['PLURALNAME'] = 'Virtuelle Seiten'; +$lang['de_DE']['VirtualPage']['SINGULARNAME'] = 'Virtuelle Seite'; +$lang['de_DE']['Widget']['PLURALNAME'] = 'Widgets'; +$lang['de_DE']['Widget']['SINGULARNAME'] = 'Widget'; +$lang['de_DE']['WidgetArea']['PLURALNAME'] = 'Widgetbereiche'; +$lang['de_DE']['WidgetArea']['SINGULARNAME'] = 'Widgetbereich'; + ?> \ No newline at end of file diff --git a/lang/en_US.php b/lang/en_US.php index eb5aef941..492096214 100644 --- a/lang/en_US.php +++ b/lang/en_US.php @@ -2,6 +2,16 @@ global $lang; +$lang['en_US']['Page']['PLURALNAME'] = array( + 'Pags', + 50, + 'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface' +); +$lang['en_US']['Page']['SINGULARNAME'] = array( + 'Page', + 50, + 'Singular name of the object, used in dropdowns and to generally identify a single object in the interface' +); $lang['en_US']['AdvancedSearchForm']['ALLWORDS'] = 'All Words'; $lang['en_US']['AdvancedSearchForm']['ATLEAST'] = 'At Least One Of the Words'; $lang['en_US']['AdvancedSearchForm']['EXACT'] = 'Exact Phrase'; @@ -676,9 +686,11 @@ $lang['en_US']['SiteTree']['BUTTONCANCELDRAFTDESC'] = 'Delete your draft and rev $lang['en_US']['SiteTree']['BUTTONSAVEPUBLISH'] = 'Save and Publish'; $lang['en_US']['SiteTree']['BUTTONUNPUBLISH'] = 'Unpublish'; $lang['en_US']['SiteTree']['BUTTONUNPUBLISHDESC'] = 'Remove this page from the published site'; -$lang['en_US']['SiteTree']['CHANGETO'] = 'Change to'; -$lang['en_US']['SiteTree']['CURRENT'] = 'current'; -$lang['en_US']['SiteTree']['CURRENTLY'] = 'Currently'; +$lang['en_US']['SiteTree']['CHANGETO'] = array( + 'Change to "%s"', + PR_MEDIUM, + 'Pagetype selection dropdown with class names' +); $lang['en_US']['SiteTree']['Comments'] = 'Comments'; $lang['en_US']['SiteTree']['Content'] = array( 'Content',