Merge branch '3'

This commit is contained in:
Daniel Hensby 2016-12-28 13:52:49 +00:00
commit 664c0eafbe
No known key found for this signature in database
GPG Key ID: B00D1E9767F0B06E
26 changed files with 705 additions and 560 deletions

View File

@ -8,7 +8,7 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') {
ss.i18n.addDictionary('fi', {
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti arkistoida nämä sivut?\n\nValitut sivut ja kaikki niiden alasivut poistetaan julkaisusta sekä siirretään arkistoon.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa nämä sivut näkyvistä?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti julkaista?",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti palauttaa sivut?\n\nArkistoitujen sivujen alasivut palautetaan juuritasolle, jos niitä sivuja ei palauteta.",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa julkaisusta?",

View File

@ -1,7 +1,7 @@
{
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti arkistoida nämä sivut?\n\nValitut sivut ja kaikki niiden alasivut poistetaan julkaisusta sekä siirretään arkistoon.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa nämä sivut näkyvistä?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti julkaista?",
"CMSMAIN.BATCH_RESTORE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti palauttaa sivut?\n\nArkistoitujen sivujen alasivut palautetaan juuritasolle, jos niitä sivuja ei palauteta.",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa julkaisusta?",

View File

@ -50,4 +50,4 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') {
"UploadField.WRITEFAILED": "Tiedoston kirjoittaminen levylle epäonnistui",
"VALIDATOR.FIELDREQUIRED": "Syötä \"%s\", se on vaadittu tieto."
});
}
}

View File

@ -50,4 +50,4 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') {
"UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk",
"VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je."
});
}
}

View File

@ -42,4 +42,4 @@
"UploadField.Uploaded": "Ladattu",
"UploadField.WRITEFAILED": "Tiedoston kirjoittaminen levylle epäonnistui",
"VALIDATOR.FIELDREQUIRED": "Syötä \"%s\", se on vaadittu tieto."
}
}

View File

@ -42,4 +42,4 @@
"UploadField.Uploaded": "Prenešeno",
"UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk",
"VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je."
}
}

View File

@ -14,7 +14,7 @@ can be rendered out using custom templates using `setTemplate`.
$field = new TextField(..);
$field->setTemplate('MyCustomTextField');
Both `MyCustomTemplate.ss` and `MyCustomTextField.ss` should be located in **mysite/templates/Includes/**
Both `MyCustomTemplate.ss` and `MyCustomTextField.ss` should be located in **mysite/templates/forms/** or the same directory as the core.
<div class="notice" markdown="1">
It's recommended to copy the contents of the template you're going to replace and use that as a start. For instance, if
@ -66,4 +66,4 @@ well as the available syntax, see the [Templates](../templates) documentation.
## API Documentation
* [api:Form]
* [api:FormField]
* [api:FormField]

View File

@ -0,0 +1,19 @@
# 3.4.3
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Bugfixes
* 2016-12-21 [f314b86](https://github.com/silverstripe/silverstripe-framework/commit/f314b86ad804b021cda255e4645e99e8d971fa8a) Temp disable shortcode SPLIT behaviour due to crash (#6436) (Damian Mooyman)
* 2016-12-18 [222ee6b](https://github.com/silverstripe/silverstripe-framework/commit/222ee6bde270712fee60c1b796a65f7b7dd4979f) ed a pagination bug (PingMetal)
* 2016-12-16 [c007e85](https://github.com/silverstripe/silverstripe-framework/commit/c007e85d1b9a1affd0ea7646b6a8c37d78b4450c) Suppress HtmlEditorField casting (Damian Mooyman)
* 2016-12-08 [5248be9](https://github.com/silverstripe/silverstripe-framework/commit/5248be92268e343dc0bacafd4c15de0c79d1f592) Handle fields with square brackets (Daniel Hensby)
* 2016-12-05 [2181e3b](https://github.com/silverstripe/silverstripe-framework/commit/2181e3b86b3663352efdfb2e3896081b1e0ae4db) Fix localisation issues (Damian Mooyman)
* 2016-12-05 [224b2a4](https://github.com/silverstripe/silverstripe-cms/commit/224b2a4cbad768f27a19b14c2b9ce53efa619619) Fix localisation issues in CMS (Damian Mooyman)
* 2016-11-29 [9ec1d35](https://github.com/silverstripe/silverstripe-framework/commit/9ec1d35f2bd09bee50d3a3629d9589f8871abd98) Fix behat tests unable to capture HTML editor fields (Damian Mooyman)
* 2016-11-24 [a4760b8](https://github.com/silverstripe/silverstripe-framework/commit/a4760b8ee409c2c96a0e77445debf931259cb9aa) Fixed issue where a shortcode's location would not get set to split when using the class leftAlone (UndefinedOffset)
* 2016-11-23 [03b4e6e](https://github.com/silverstripe/silverstripe-framework/commit/03b4e6ea3201736c62a73e301489fe6a65a01a0f) Tests shouldnt set date or time format to null (Daniel Hensby)
* 2016-11-22 [b2503ac](https://github.com/silverstripe/silverstripe-cms/commit/b2503ac004f5e99d2041732dea702735128ecf1e) content authors unable to duplicate top-level pages (fixes #1685) (Loz Calver)
* 2016-11-04 [dd9ade4](https://github.com/silverstripe/silverstripe-framework/commit/dd9ade429454b1053ab5c2003663eeb66b5866d6) UploadField incorrectly setting max upload size (Daniel Hensby)

View File

@ -0,0 +1,20 @@
# 3.5.1
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Bugfixes
* 2016-12-21 [ffdb99e](https://github.com/silverstripe/silverstripe-framework/commit/ffdb99e78d6ff179c22c5b53f0517fdd75abb858) Temp disable shortcode SPLIT behaviour due to crash (#6436) (Damian Mooyman)
* 2016-12-18 [222ee6b](https://github.com/silverstripe/silverstripe-framework/commit/222ee6bde270712fee60c1b796a65f7b7dd4979f) ed a pagination bug (PingMetal)
* 2016-12-16 [c007e85](https://github.com/silverstripe/silverstripe-framework/commit/c007e85d1b9a1affd0ea7646b6a8c37d78b4450c) Suppress HtmlEditorField casting (Damian Mooyman)
* 2016-12-08 [5248be9](https://github.com/silverstripe/silverstripe-framework/commit/5248be92268e343dc0bacafd4c15de0c79d1f592) Handle fields with square brackets (Daniel Hensby)
* 2016-12-06 [3fca7b3](https://github.com/silverstripe/silverstripe-framework/commit/3fca7b3c4d8ada19e8abbed70548eb63d1f476e3) hard-coded boolean in CsvBulkLoader (Colin Tucker)
* 2016-12-05 [2181e3b](https://github.com/silverstripe/silverstripe-framework/commit/2181e3b86b3663352efdfb2e3896081b1e0ae4db) Fix localisation issues (Damian Mooyman)
* 2016-12-05 [224b2a4](https://github.com/silverstripe/silverstripe-cms/commit/224b2a4cbad768f27a19b14c2b9ce53efa619619) Fix localisation issues in CMS (Damian Mooyman)
* 2016-11-29 [9ec1d35](https://github.com/silverstripe/silverstripe-framework/commit/9ec1d35f2bd09bee50d3a3629d9589f8871abd98) Fix behat tests unable to capture HTML editor fields (Damian Mooyman)
* 2016-11-24 [a4760b8](https://github.com/silverstripe/silverstripe-framework/commit/a4760b8ee409c2c96a0e77445debf931259cb9aa) Fixed issue where a shortcode's location would not get set to split when using the class leftAlone (UndefinedOffset)
* 2016-11-23 [03b4e6e](https://github.com/silverstripe/silverstripe-framework/commit/03b4e6ea3201736c62a73e301489fe6a65a01a0f) Tests shouldnt set date or time format to null (Daniel Hensby)
* 2016-11-22 [b2503ac](https://github.com/silverstripe/silverstripe-cms/commit/b2503ac004f5e99d2041732dea702735128ecf1e) content authors unable to duplicate top-level pages (fixes #1685) (Loz Calver)
* 2016-11-04 [dd9ade4](https://github.com/silverstripe/silverstripe-framework/commit/dd9ade429454b1053ab5c2003663eeb66b5866d6) UploadField incorrectly setting max upload size (Daniel Hensby)

View File

@ -0,0 +1,17 @@
# 3.4.3-rc1
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Bugfixes
* 2016-12-16 [c007e85](https://github.com/silverstripe/silverstripe-framework/commit/c007e85d1b9a1affd0ea7646b6a8c37d78b4450c) Suppress HtmlEditorField casting (Damian Mooyman)
* 2016-12-08 [5248be9](https://github.com/silverstripe/silverstripe-framework/commit/5248be92268e343dc0bacafd4c15de0c79d1f592) Handle fields with square brackets (Daniel Hensby)
* 2016-12-05 [2181e3b](https://github.com/silverstripe/silverstripe-framework/commit/2181e3b86b3663352efdfb2e3896081b1e0ae4db) Fix localisation issues (Damian Mooyman)
* 2016-12-05 [224b2a4](https://github.com/silverstripe/silverstripe-cms/commit/224b2a4cbad768f27a19b14c2b9ce53efa619619) Fix localisation issues in CMS (Damian Mooyman)
* 2016-11-29 [9ec1d35](https://github.com/silverstripe/silverstripe-framework/commit/9ec1d35f2bd09bee50d3a3629d9589f8871abd98) Fix behat tests unable to capture HTML editor fields (Damian Mooyman)
* 2016-11-24 [a4760b8](https://github.com/silverstripe/silverstripe-framework/commit/a4760b8ee409c2c96a0e77445debf931259cb9aa) Fixed issue where a shortcode's location would not get set to split when using the class leftAlone (UndefinedOffset)
* 2016-11-23 [03b4e6e](https://github.com/silverstripe/silverstripe-framework/commit/03b4e6ea3201736c62a73e301489fe6a65a01a0f) Tests shouldnt set date or time format to null (Daniel Hensby)
* 2016-11-22 [b2503ac](https://github.com/silverstripe/silverstripe-cms/commit/b2503ac004f5e99d2041732dea702735128ecf1e) content authors unable to duplicate top-level pages (fixes #1685) (Loz Calver)
* 2016-11-04 [dd9ade4](https://github.com/silverstripe/silverstripe-framework/commit/dd9ade429454b1053ab5c2003663eeb66b5866d6) UploadField incorrectly setting max upload size (Daniel Hensby)

View File

@ -0,0 +1,17 @@
# 3.5.1-rc1
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Bugfixes
* 2016-12-08 [5248be9](https://github.com/silverstripe/silverstripe-framework/commit/5248be92268e343dc0bacafd4c15de0c79d1f592) Handle fields with square brackets (Daniel Hensby)
* 2016-12-06 [3fca7b3](https://github.com/silverstripe/silverstripe-framework/commit/3fca7b3c4d8ada19e8abbed70548eb63d1f476e3) hard-coded boolean in CsvBulkLoader (Colin Tucker)
* 2016-12-05 [2181e3b](https://github.com/silverstripe/silverstripe-framework/commit/2181e3b86b3663352efdfb2e3896081b1e0ae4db) Fix localisation issues (Damian Mooyman)
* 2016-12-05 [224b2a4](https://github.com/silverstripe/silverstripe-cms/commit/224b2a4cbad768f27a19b14c2b9ce53efa619619) Fix localisation issues in CMS (Damian Mooyman)
* 2016-11-29 [9ec1d35](https://github.com/silverstripe/silverstripe-framework/commit/9ec1d35f2bd09bee50d3a3629d9589f8871abd98) Fix behat tests unable to capture HTML editor fields (Damian Mooyman)
* 2016-11-24 [a4760b8](https://github.com/silverstripe/silverstripe-framework/commit/a4760b8ee409c2c96a0e77445debf931259cb9aa) Fixed issue where a shortcode's location would not get set to split when using the class leftAlone (UndefinedOffset)
* 2016-11-23 [03b4e6e](https://github.com/silverstripe/silverstripe-framework/commit/03b4e6ea3201736c62a73e301489fe6a65a01a0f) Tests shouldnt set date or time format to null (Daniel Hensby)
* 2016-11-22 [b2503ac](https://github.com/silverstripe/silverstripe-cms/commit/b2503ac004f5e99d2041732dea702735128ecf1e) content authors unable to duplicate top-level pages (fixes #1685) (Loz Calver)
* 2016-11-04 [dd9ade4](https://github.com/silverstripe/silverstripe-framework/commit/dd9ade429454b1053ab5c2003663eeb66b5866d6) UploadField incorrectly setting max upload size (Daniel Hensby)

View File

@ -0,0 +1,10 @@
# 3.5.1-rc2
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Bugfixes
* 2016-12-18 [222ee6b](https://github.com/silverstripe/silverstripe-framework/commit/222ee6bde270712fee60c1b796a65f7b7dd4979f) ed a pagination bug (PingMetal)
* 2016-12-16 [c007e85](https://github.com/silverstripe/silverstripe-framework/commit/c007e85d1b9a1affd0ea7646b6a8c37d78b4450c) Suppress HtmlEditorField casting (Damian Mooyman)

View File

@ -390,13 +390,10 @@ de:
CANCEL: Abbrechen
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: "Sie müssen angemeldet sein, um auf diesen Bereich zugreifen zu können. Bitte geben Sie Ihre Zugangsdaten 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.

View File

@ -1,156 +1,156 @@
en:
AddToCampaign:
ErrorCampaignPermissionDenied: "It seems you don't have the necessary permissions to add {ObjectTitle} to {CampaignTitle}"
ErrorGeneral: "We apologise, but there was an error"
ErrorItemPermissionDenied: "It seems you don't have the necessary permissions to add {ObjectTitle} to a campaign"
ErrorNotFound: "That {Type} couldn't be found"
Success: "Successfully added {ObjectTitle} to {CampaignTitle}"
ErrorCampaignPermissionDenied: 'It seems you don''t have the necessary permissions to add {ObjectTitle} to {CampaignTitle}'
ErrorGeneral: 'We apologise, but there was an error'
ErrorItemPermissionDenied: 'It seems you don''t have the necessary permissions to add {ObjectTitle} to a campaign'
ErrorNotFound: 'That {Type} couldn''t be found'
Success: 'Successfully added {ObjectTitle} to {CampaignTitle}'
AssetAdmin:
ALLOWEDEXTS: "Allowed file upload extensions"
HIDEALLOWEDEXTS: "Hide allowed extensions"
ALLOWEDEXTS: 'Allowed file upload extensions'
HIDEALLOWEDEXTS: 'Hide allowed extensions'
NEWFOLDER: NewFolder
SHOWALLOWEDEXTS: "Show allowed extensions"
SHOWALLOWEDEXTS: 'Show allowed extensions'
AssetTableField:
CREATED: "First uploaded"
CREATED: 'First uploaded'
DIM: Dimensions
FILENAME: Filename
FOLDER: Folder
HEIGHT: Height
LASTEDIT: "Last changed"
LASTEDIT: 'Last changed'
OWNER: Owner
PATH: Path
SIZE: "File size"
SIZE: 'File size'
TITLE: Title
TYPE: "File type"
TYPE: 'File type'
URL: URL
WIDTH: Width
AssetUploadField:
ChooseFiles: "Choose files"
DRAGFILESHERE: "Drag files here"
DROPAREA: "Drop Area"
EDITALL: "Edit all"
EDITANDORGANIZE: "Edit & organize"
EDITINFO: "Edit files"
ChooseFiles: 'Choose files'
DRAGFILESHERE: 'Drag files here'
DROPAREA: 'Drop Area'
EDITALL: 'Edit all'
EDITANDORGANIZE: 'Edit & organize'
EDITINFO: 'Edit files'
FILES: Files
FROMCOMPUTER: "Choose files from your computer"
FROMCOMPUTERINFO: "Upload from your computer"
INSERTURL: "Insert from URL"
REMOVEINFO: "Remove this file from this field"
FROMCOMPUTER: 'Choose files from your computer'
FROMCOMPUTERINFO: 'Upload from your computer'
INSERTURL: 'Insert from URL'
REMOVEINFO: 'Remove this file from this field'
TOTAL: Total
TOUPLOAD: "Choose files to upload..."
UPLOADINPROGRESS: "Please wait… upload in progress"
TOUPLOAD: 'Choose files to upload...'
UPLOADINPROGRESS: 'Please wait… upload in progress'
UPLOADOR: OR
BBCodeParser:
ALIGNEMENT: Alignment
ALIGNEMENTEXAMPLE: "right aligned"
BOLD: "Bold Text"
ALIGNEMENTEXAMPLE: 'right aligned'
BOLD: 'Bold Text'
BOLDEXAMPLE: Bold
CODE: "Code Block"
CODEDESCRIPTION: "Unformatted code block"
CODEEXAMPLE: "Code block"
COLORED: "Colored text"
COLOREDEXAMPLE: "blue text"
EMAILLINK: "Email link"
EMAILLINKDESCRIPTION: "Create link to an email address"
CODE: 'Code Block'
CODEDESCRIPTION: 'Unformatted code block'
CODEEXAMPLE: 'Code block'
COLORED: 'Colored text'
COLOREDEXAMPLE: 'blue text'
EMAILLINK: 'Email link'
EMAILLINKDESCRIPTION: 'Create link to an email address'
IMAGE: Image
IMAGEDESCRIPTION: "Show an image in your post"
ITALIC: "Italic Text"
IMAGEDESCRIPTION: 'Show an image in your post'
ITALIC: 'Italic Text'
ITALICEXAMPLE: Italics
LINK: "Website link"
LINKDESCRIPTION: "Link to another website or URL"
STRUCK: "Struck-out Text"
LINK: 'Website link'
LINKDESCRIPTION: 'Link to another website or URL'
STRUCK: 'Struck-out Text'
STRUCKEXAMPLE: Struck-out
UNDERLINE: "Underlined Text"
UNDERLINE: 'Underlined Text'
UNDERLINEEXAMPLE: Underlined
UNORDERED: "Unordered list"
UNORDEREDDESCRIPTION: "Unordered list"
UNORDEREDEXAMPLE1: "unordered item 1"
UNORDERED: 'Unordered list'
UNORDEREDDESCRIPTION: 'Unordered list'
UNORDEREDEXAMPLE1: 'unordered item 1'
BackLink_Button_ss:
Back: Back
BasicAuth:
ENTERINFO: "Please enter a username and password."
ERRORNOTADMIN: "That user is not an administrator."
ERRORNOTREC: "That username / password isn't recognised"
ENTERINFO: 'Please enter a username and password.'
ERRORNOTADMIN: 'That user is not an administrator.'
ERRORNOTREC: 'That username / password isn''t recognised'
Boolean:
ANY: Any
NOANSWER: "No"
YESANSWER: "Yes"
NOANSWER: 'No'
YESANSWER: 'Yes'
CAMPAIGNS:
ADDTOCAMPAIGN: "Add to Campaign"
ADDTOCAMPAIGN: 'Add to Campaign'
CMSLoadingScreen_ss:
LOADING: Loading...
REQUIREJS: "The CMS requires that you have JavaScript enabled."
REQUIREJS: 'The CMS requires that you have JavaScript enabled.'
CMSMain:
ACCESS: "Access to '{title}' section"
ACCESSALLINTERFACES: "Access to all CMS sections"
ACCESSALLINTERFACESHELP: "Overrules more specific access settings."
ACCESS: 'Access to ''{title}'' section'
ACCESSALLINTERFACES: 'Access to all CMS sections'
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
SAVE: Save
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: "Forgot password?"
BUTTONLOGIN: "Log back in"
BUTTONLOGOUT: "Log out"
PASSWORDEXPIRED: "<p>Your password has expired. <a target=\"_top\" href=\"{link}\">Please choose a new one.</a></p>"
BUTTONFORGOTPASSWORD: 'Forgot password?'
BUTTONLOGIN: 'Log back in'
BUTTONLOGOUT: 'Log out'
PASSWORDEXPIRED: '<p>Your password has expired. <a target="_top" href="{link}">Please choose a new one.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: "Website preview"
PREVIEW: 'Website preview'
CMSPagesController_Tools_ss:
FILTER: Filter
CMSProfileController:
MENUTITLE: "My Profile"
MENUTITLE: 'My Profile'
CMSSecurity:
INVALIDUSER: "<p>Invalid user. <a target=\"_top\" href=\"{link}\">Please re-authenticate here</a> to continue.</p>"
LoginMessage: "<p>If you have any unsaved work you can return to where you left off by logging back in below.</p>"
INVALIDUSER: '<p>Invalid user. <a target="_top" href="{link}">Please re-authenticate here</a> to continue.</p>'
LoginMessage: '<p>If you have any unsaved work you can return to where you left off by logging back in below.</p>'
SUCCESS: Success
SUCCESSCONTENT: "<p>Login success. If you are not automatically redirected <a target=\"_top\" href=\"{link}\">click here</a></p>"
TimedOutTitleAnonymous: "Your session has timed out."
TimedOutTitleMember: "Hey {name}!<br />Your session has timed out."
SUCCESSCONTENT: '<p>Login success. If you are not automatically redirected <a target="_top" href="{link}">click here</a></p>'
TimedOutTitleAnonymous: 'Your session has timed out.'
TimedOutTitleMember: 'Hey {name}!<br />Your session has timed out.'
CampaignAdmin:
ACCESS_HELP: "Allow viewing of the campaign publishing section."
ACCESS_HELP: 'Allow viewing of the campaign publishing section.'
MENUTITLE: Campaigns
Campaigns:
AddToCampaign: "Add To Campaign"
AddToCampaignFormFieldLabel: "Select a Campaign"
AddToCampaign: 'Add To Campaign'
AddToCampaignFormFieldLabel: 'Select a Campaign'
ChangePasswordEmail_ss:
CHANGEPASSWORDFOREMAIL: "The password for account with email address {email} has been changed. If you didn't change your password please change your password using the link below"
CHANGEPASSWORDTEXT1: "You changed your password for"
CHANGEPASSWORDTEXT2: "You can now use the following credentials to log in:"
CHANGEPASSWORDTEXT3: "Change password"
CHANGEPASSWORDFOREMAIL: 'The password for account with email address {email} has been changed. If you didn''t change your password please change your password using the link below'
CHANGEPASSWORDTEXT1: 'You changed your password for'
CHANGEPASSWORDTEXT2: 'You can now use the following credentials to log in:'
CHANGEPASSWORDTEXT3: 'Change password'
EMAIL: Email
HELLO: Hi
PASSWORD: Password
ChangeSet:
DESCRIPTION_AND: "{first} and {second}"
DESCRIPTION_AND: '{first} and {second}'
DESCRIPTION_ITEM: item
DESCRIPTION_ITEMS: items
DESCRIPTION_LIST_FIRST: "{item}"
DESCRIPTION_LIST_LAST: "{list}, and {item}"
DESCRIPTION_LIST_MID: "{list}, {item}"
DESCRIPTION_OTHER_ITEM: "other item"
DESCRIPTION_OTHER_ITEMS: "other items"
DESCRIPTION_LIST_FIRST: '{item}'
DESCRIPTION_LIST_LAST: '{list}, and {item}'
DESCRIPTION_LIST_MID: '{list}, {item}'
DESCRIPTION_OTHER_ITEM: 'other item'
DESCRIPTION_OTHER_ITEMS: 'other items'
NAME: Name
PLURALNAME: Campaigns
SINGULARNAME: Campaign
STATE: State
ChangeSetItem:
PLURALNAME: "Change Set Items"
SINGULARNAME: "Change Set Item"
PLURALNAME: 'Change Set Items'
SINGULARNAME: 'Change Set Item'
CheckboxField:
NOANSWER: "No"
YESANSWER: "Yes"
NOANSWER: 'No'
YESANSWER: 'Yes'
CheckboxFieldSetField:
SOURCE_VALIDATION: "Please select a value within the list provided. {value} is not a valid option"
SOURCE_VALIDATION: 'Please select a value within the list provided. {value} is not a valid option'
CheckboxSetField:
SOURCE_VALIDATION: "Please select a value within the list provided. '{value}' is not a valid option"
SOURCE_VALIDATION: 'Please select a value within the list provided. ''{value}'' is not a valid option'
ConfirmedPasswordField:
ATLEAST: "Passwords must be at least {min} characters long."
BETWEEN: "Passwords must be {min} to {max} characters long."
CURRENT_PASSWORD_ERROR: "The current password you have entered is not correct."
CURRENT_PASSWORD_MISSING: "You must enter your current password."
LOGGED_IN_ERROR: "You must be logged in to change your password."
MAXIMUM: "Passwords must be at most {max} characters long."
SHOWONCLICKTITLE: "Change Password"
ATLEAST: 'Passwords must be at least {min} characters long.'
BETWEEN: 'Passwords must be {min} to {max} characters long.'
CURRENT_PASSWORD_ERROR: 'The current password you have entered is not correct.'
CURRENT_PASSWORD_MISSING: 'You must enter your current password.'
LOGGED_IN_ERROR: 'You must be logged in to change your password.'
MAXIMUM: 'Passwords must be at most {max} characters long.'
SHOWONCLICKTITLE: 'Change Password'
ContentController:
DRAFT_SITE_ACCESS_RESTRICTION: "You must log in with your CMS password in order to view the draft or archived content. <a href=\"%s\">Click here to go back to the published site.</a>"
NOTLOGGEDIN: "Not logged in"
DRAFT_SITE_ACCESS_RESTRICTION: 'You must log in with your CMS password in order to view the draft or archived content. <a href="%s">Click here to go back to the published site.</a>'
NOTLOGGEDIN: 'Not logged in'
CreditCardField:
FIRST: first
FOURTH: fourth
@ -159,261 +159,261 @@ en:
CurrencyField:
CURRENCYSYMBOL: $
DataObject:
PLURALNAME: "Data Objects"
SINGULARNAME: "Data Object"
PLURALNAME: 'Data Objects'
SINGULARNAME: 'Data Object'
Date:
DAY: day
DAYS: days
HOUR: hour
HOURS: hours
LessThanMinuteAgo: "less than a minute"
LessThanMinuteAgo: 'less than a minute'
MIN: min
MINS: mins
MONTH: month
MONTHS: months
SEC: sec
SECS: secs
TIMEDIFFAGO: "{difference} ago"
TIMEDIFFIN: "in {difference}"
TIMEDIFFAGO: '{difference} ago'
TIMEDIFFIN: 'in {difference}'
YEAR: year
YEARS: years
DateField:
NOTSET: "not set"
NOTSET: 'not set'
TODAY: 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})"
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"
NOTSET: 'Not set'
Director:
INVALID_REQUEST: "Invalid request"
INVALID_REQUEST: 'Invalid request'
DropdownField:
CHOOSE: (Choose)
CHOOSESEARCH: "(Choose or Search)"
CHOOSE_MODEL: "(Choose {name})"
SOURCE_VALIDATION: "Please select a value within the list provided. {value} is not a valid option"
CHOOSESEARCH: '(Choose or Search)'
CHOOSE_MODEL: '(Choose {name})'
SOURCE_VALIDATION: 'Please select a value within the list provided. {value} is not a valid option'
EmailField:
VALIDATION: "Please enter an email address"
VALIDATION: 'Please enter an email address'
Enum:
ANY: Any
File:
AviType: "AVI video file"
AviType: 'AVI video file'
Content: Content
CssType: "CSS file"
CssType: 'CSS file'
DRAFT: Draft
DmgType: "Apple disk image"
DocType: "Word document"
DmgType: 'Apple disk image'
DocType: 'Word document'
Filename: Filename
GifType: "GIF image - good for diagrams"
GzType: "GZIP compressed file"
HtlType: "HTML file"
HtmlType: "HTML file"
INVALIDEXTENSION: "Extension is not allowed (valid: {extensions})"
INVALIDEXTENSIONSHORT: "Extension is not allowed"
INVALIDEXTENSION_SHORT: "Extension is not allowed"
IcoType: "Icon image"
JpgType: "JPEG image - good for photos"
JsType: "Javascript file"
GifType: 'GIF image - good for diagrams'
GzType: 'GZIP compressed file'
HtlType: 'HTML file'
HtmlType: 'HTML file'
INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})'
INVALIDEXTENSIONSHORT: 'Extension is not allowed'
INVALIDEXTENSION_SHORT: 'Extension is not allowed'
IcoType: 'Icon image'
JpgType: 'JPEG image - good for photos'
JsType: 'Javascript file'
MODIFIED: Modified
Mp3Type: "MP3 audio file"
MpgType: "MPEG video file"
NOFILESIZE: "File size is zero bytes."
NOVALIDUPLOAD: "File is not a valid upload"
Mp3Type: 'MP3 audio file'
MpgType: 'MPEG video file'
NOFILESIZE: 'File size is zero bytes.'
NOVALIDUPLOAD: 'File is not a valid upload'
Name: Name
PLURALNAME: Files
PdfType: "Adobe Acrobat PDF file"
PngType: "PNG image - good general-purpose format"
PdfType: 'Adobe Acrobat PDF file'
PngType: 'PNG image - good general-purpose format'
SINGULARNAME: File
TOOLARGE: "File size is too large, maximum {size} allowed"
TOOLARGESHORT: "File size exceeds {size}"
TiffType: "Tagged image format"
TOOLARGE: 'File size is too large, maximum {size} allowed'
TOOLARGESHORT: 'File size exceeds {size}'
TiffType: 'Tagged image format'
Title: Title
WavType: "WAV audo file"
XlsType: "Excel spreadsheet"
ZipType: "ZIP compressed file"
WavType: 'WAV audo file'
XlsType: 'Excel spreadsheet'
ZipType: 'ZIP compressed file'
Filesystem:
SYNCRESULTS: "Sync complete: {createdcount} items created, {deletedcount} items deleted"
SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted'
Folder:
PLURALNAME: Folders
SINGULARNAME: Folder
ForgotPasswordEmail_ss:
HELLO: Hi
TEXT1: "Here is your"
TEXT2: "password reset link"
TEXT1: 'Here is your'
TEXT2: 'password reset link'
TEXT3: for
Form:
CSRF_EXPIRED_MESSAGE: "Your session has expired. Please re-submit the form."
CSRF_FAILED_MESSAGE: "There seems to have been a technical problem. Please click the back button, refresh your browser, and try again."
FIELDISREQUIRED: "{name} is required"
CSRF_EXPIRED_MESSAGE: 'Your session has expired. Please re-submit the form.'
CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.'
FIELDISREQUIRED: '{name} is required'
SubmitBtnLabel: Go
VALIDATIONCREDIT: "Please ensure you have entered the credit card number correctly"
VALIDATIONCREDITNUMBER: "Please ensure you have entered the {number} credit card number correctly"
VALIDATIONNOTUNIQUE: "The value entered is not unique"
VALIDATIONPASSWORDSDONTMATCH: "Passwords don't match"
VALIDATIONPASSWORDSNOTEMPTY: "Passwords can't be empty"
VALIDATIONSTRONGPASSWORD: "Passwords must have at least one digit and one alphanumeric character"
VALIDATIONCREDIT: 'Please ensure you have entered the credit card number correctly'
VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly'
VALIDATIONNOTUNIQUE: 'The value entered is not unique'
VALIDATIONPASSWORDSDONTMATCH: 'Passwords don''t match'
VALIDATIONPASSWORDSNOTEMPTY: 'Passwords can''t be empty'
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
VALIDATOR: Validator
VALIDCURRENCY: "Please enter a valid currency"
VALIDCURRENCY: 'Please enter a valid currency'
FormField:
Example: "e.g. %s"
Example: 'e.g. %s'
NONE: none
GridAction:
DELETE_DESCRIPTION: Delete
Delete: Delete
UnlinkRelation: Unlink
GridField:
Add: "Add {name}"
Add: 'Add {name}'
Filter: Filter
FilterBy: "Filter by "
FilterBy: 'Filter by '
Find: Find
LEVELUP: "Level up"
LinkExisting: "Link Existing"
NewRecord: "New %s"
NoItemsFound: "No items found"
PRINTEDAT: "Printed at"
PRINTEDBY: "Printed by"
PlaceHolder: "Find {type}"
PlaceHolderWithLabels: "Find {type} by {name}"
RelationSearch: "Relation search"
LEVELUP: 'Level up'
LinkExisting: 'Link Existing'
NewRecord: 'New %s'
NoItemsFound: 'No items found'
PRINTEDAT: 'Printed at'
PRINTEDBY: 'Printed by'
PlaceHolder: 'Find {type}'
PlaceHolderWithLabels: 'Find {type} by {name}'
RelationSearch: 'Relation search'
ResetFilter: Reset
GridFieldAction_Delete:
DeletePermissionsFailure: "No delete permissions"
EditPermissionsFailure: "No permission to unlink record"
DeletePermissionsFailure: 'No delete permissions'
EditPermissionsFailure: 'No permission to unlink record'
GridFieldDetailForm:
CancelBtn: Cancel
Create: Create
Delete: Delete
DeletePermissionsFailure: "No delete permissions"
Deleted: "Deleted %s %s"
DeletePermissionsFailure: 'No delete permissions'
Deleted: 'Deleted %s %s'
Save: Save
Saved: "Saved {name} {link}"
Saved: 'Saved {name} {link}'
GridFieldEditButton_ss:
EDIT: Edit
GridFieldItemEditView:
Go_back: "Go back"
Go_back: 'Go back'
Group:
AddRole: "Add a role for this group"
Code: "Group Code"
AddRole: 'Add a role for this group'
Code: 'Group Code'
DefaultGroupTitleAdministrators: Administrators
DefaultGroupTitleContentAuthors: "Content Authors"
DefaultGroupTitleContentAuthors: 'Content Authors'
Description: Description
GroupReminder: "If you choose a parent group, this group will take all it's roles"
HierarchyPermsError: "Can't assign parent group \"%s\" with privileged permissions (requires ADMIN access)"
Locked: Locked?
NoRoles: "No roles found"
GroupReminder: 'If you choose a parent group, this group will take all it''s roles'
HierarchyPermsError: 'Can''t assign parent group "%s" with privileged permissions (requires ADMIN access)'
Locked: 'Locked?'
NoRoles: 'No roles found'
PLURALNAME: Groups
Parent: "Parent Group"
RolesAddEditLink: "Manage roles"
Parent: 'Parent Group'
RolesAddEditLink: 'Manage roles'
SINGULARNAME: Group
Sort: "Sort Order"
Sort: 'Sort Order'
has_many_Permissions: Permissions
many_many_Members: 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: "Created {count} groups"
ResultDeleted: "Deleted %d groups"
ResultUpdated: "Updated %d groups"
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: 'Created {count} groups'
ResultDeleted: 'Deleted %d groups'
ResultUpdated: 'Updated %d groups'
HTMLEditorField:
ANCHORSCANNOTACCESSPAGE: "You are not permitted to access the content of the target page."
ANCHORSPAGENOTFOUND: "Target page not found."
ANCHORSCANNOTACCESSPAGE: 'You are not permitted to access the content of the target page.'
ANCHORSPAGENOTFOUND: 'Target page not found.'
ANCHORVALUE: Anchor
BUTTONADDURL: "Add url"
CAPTIONTEXT: "Caption text"
CSSCLASS: "Alignment / style"
CSSCLASSCENTER: "Centered, on its own."
CSSCLASSLEFT: "On the left, with text wrapping around."
CSSCLASSLEFTALONE: "On the left, on its own."
CSSCLASSRIGHT: "On the right, with text wrapping around."
BUTTONADDURL: 'Add url'
CAPTIONTEXT: 'Caption text'
CSSCLASS: 'Alignment / style'
CSSCLASSCENTER: 'Centered, on its own.'
CSSCLASSLEFT: 'On the left, with text wrapping around.'
CSSCLASSLEFTALONE: 'On the left, on its own.'
CSSCLASSRIGHT: 'On the right, with text wrapping around.'
DETAILS: Details
EMAIL: "Email address"
EMAIL: 'Email address'
FILE: SilverStripe\Assets\File
FOLDER: Folder
IMAGEALT: "Alternative text (alt)"
IMAGEALTTEXT: "Alternative text (alt) - shown if image can't be displayed"
IMAGEALTTEXTDESC: "Shown to screen readers or if image can't be displayed"
IMAGEALT: 'Alternative text (alt)'
IMAGEALTTEXT: 'Alternative text (alt) - shown if image can''t be displayed'
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can''t be displayed'
IMAGEDIMENSIONS: Dimensions
IMAGEHEIGHTPX: Height
IMAGETITLE: "Title text (tooltip) - for additional information about the image"
IMAGETITLETEXT: "Title text (tooltip)"
IMAGETITLETEXTDESC: "For additional information about the image"
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
IMAGETITLETEXT: 'Title text (tooltip)'
IMAGETITLETEXTDESC: 'For additional information about the image'
IMAGEWIDTHPX: Width
INSERTMEDIA: "Insert media from"
LINK: "Insert Link"
LINKANCHOR: "Link to an anchor on this page"
LINKDESCR: "Link description"
LINKDETAILS: "Link details"
LINKEMAIL: "Link to an email address"
LINKEXTERNAL: "Link to another website"
LINKFILE: "Link to download a file"
LINKINTERNAL: "Link to a page on this site"
LINKOPENNEWWIN: "Open link in a new window?"
LINKTO: "Link type"
INSERTMEDIA: 'Insert media from'
LINK: 'Insert Link'
LINKANCHOR: 'Link to an anchor on this page'
LINKDESCR: 'Link description'
LINKDETAILS: 'Link details'
LINKEMAIL: 'Link to an email address'
LINKEXTERNAL: 'Link to another website'
LINKFILE: 'Link to download a file'
LINKINTERNAL: 'Link to a page on this site'
LINKOPENNEWWIN: 'Open link in a new window?'
LINKTO: 'Link type'
PAGE: Page
SUBJECT: "Email subject"
SUBJECT: 'Email subject'
URL: URL
URLDESCRIPTION: "Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.<br /><br />Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page."
URLNOTANOEMBEDRESOURCE: "The URL '{url}' could not be turned into a media resource."
UpdateMEDIA: "Update media"
URLDESCRIPTION: 'Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.<br /><br />Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page.'
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
UpdateMEDIA: 'Update media'
HTMLEditorField_Toolbar:
ERROR_ABSOLUTE: "Only absolute urls can be embedded"
ERROR_HOSTNAME: "This file hostname is not included in the whitelist"
ERROR_ID: "Need either \"ID\" or \"FileURL\" parameter to identify the file"
ERROR_NOTFOUND: "Unable to find file to view"
ERROR_OEMBED_REMOTE: "Embed is only compatible with remote files"
ERROR_SCHEME: "This file scheme is not included in the whitelist"
ERROR_ABSOLUTE: 'Only absolute urls can be embedded'
ERROR_HOSTNAME: 'This file hostname is not included in the whitelist'
ERROR_ID: 'Need either "ID" or "FileURL" parameter to identify the file'
ERROR_NOTFOUND: 'Unable to find file to view'
ERROR_OEMBED_REMOTE: 'Embed is only compatible with remote files'
ERROR_SCHEME: 'This file scheme is not included in the whitelist'
Hierarchy:
InfiniteLoopNotAllowed: "Infinite loop found within the \"{type}\" hierarchy. Please change the parent to resolve this"
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
HtmlEditorField:
ADDURL: "Add URL"
ADJUSTDETAILSDIMENSIONS: "Details &amp; dimensions"
ANCHORSCANNOTACCESSPAGE: "You are not permitted to access the content of the target page."
ANCHORSPAGENOTFOUND: "Target page not found."
ADDURL: 'Add URL'
ADJUSTDETAILSDIMENSIONS: 'Details &amp; dimensions'
ANCHORSCANNOTACCESSPAGE: 'You are not permitted to access the content of the target page.'
ANCHORSPAGENOTFOUND: 'Target page not found.'
ANCHORVALUE: Anchor
BUTTONADDURL: "Add url"
BUTTONADDURL: 'Add url'
BUTTONINSERT: Insert
BUTTONINSERTLINK: "Insert link"
BUTTONREMOVELINK: "Remove link"
BUTTONINSERTLINK: 'Insert link'
BUTTONREMOVELINK: 'Remove link'
BUTTONUpdate: Update
CAPTIONTEXT: "Caption text"
CSSCLASS: "Alignment / style"
CSSCLASSCENTER: "Centered, on its own."
CSSCLASSLEFT: "On the left, with text wrapping around."
CSSCLASSLEFTALONE: "On the left, on its own."
CSSCLASSRIGHT: "On the right, with text wrapping around."
CAPTIONTEXT: 'Caption text'
CSSCLASS: 'Alignment / style'
CSSCLASSCENTER: 'Centered, on its own.'
CSSCLASSLEFT: 'On the left, with text wrapping around.'
CSSCLASSLEFTALONE: 'On the left, on its own.'
CSSCLASSRIGHT: 'On the right, with text wrapping around.'
DETAILS: Details
EMAIL: "Email address"
EMAIL: 'Email address'
FILE: File
FOLDER: Folder
FROMCMS: "From the CMS"
FROMCOMPUTER: "From your computer"
FROMWEB: "From the web"
FindInFolder: "Find in Folder"
IMAGEALT: "Alternative text (alt)"
IMAGEALTTEXT: "Alternative text (alt) - shown if image can't be displayed"
IMAGEALTTEXTDESC: "Shown to screen readers or if image can't be displayed"
FROMCMS: 'From the CMS'
FROMCOMPUTER: 'From your computer'
FROMWEB: 'From the web'
FindInFolder: 'Find in Folder'
IMAGEALT: 'Alternative text (alt)'
IMAGEALTTEXT: 'Alternative text (alt) - shown if image can''t be displayed'
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can''t be displayed'
IMAGEDIMENSIONS: Dimensions
IMAGEHEIGHTPX: Height
IMAGETITLE: "Title text (tooltip) - for additional information about the image"
IMAGETITLETEXT: "Title text (tooltip)"
IMAGETITLETEXTDESC: "For additional information about the image"
IMAGETITLE: 'Title text (tooltip) - for additional information about the image'
IMAGETITLETEXT: 'Title text (tooltip)'
IMAGETITLETEXTDESC: 'For additional information about the image'
IMAGEWIDTHPX: Width
INSERTMEDIA: "Insert Media"
LINK: "Insert Link"
LINKANCHOR: "Anchor on this page"
LINKDESCR: "Link description"
LINKEMAIL: "Email address"
LINKEXTERNAL: "Another website"
LINKFILE: "Download a file"
LINKINTERNAL: "Page on the site"
LINKOPENNEWWIN: "Open link in a new window?"
LINKTO: "Link to"
INSERTMEDIA: 'Insert Media'
LINK: 'Insert Link'
LINKANCHOR: 'Anchor on this page'
LINKDESCR: 'Link description'
LINKEMAIL: 'Email address'
LINKEXTERNAL: 'Another website'
LINKFILE: 'Download a file'
LINKINTERNAL: 'Page on the site'
LINKOPENNEWWIN: 'Open link in a new window?'
LINKTO: 'Link to'
PAGE: Page
SUBJECT: "Email subject"
SUBJECT: 'Email subject'
URL: URL
URLDESCRIPTION: "Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.<br /><br />Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page."
URLNOTANOEMBEDRESOURCE: "The URL '{url}' could not be turned into a media resource."
UpdateMEDIA: "Update Media"
URLDESCRIPTION: 'Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.<br /><br />Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page.'
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
UpdateMEDIA: 'Update Media'
Image:
PLURALNAME: Files
SINGULARNAME: File
@ -421,135 +421,135 @@ en:
PLURALNAME: Files
SINGULARNAME: File
Image_iframe_ss:
TITLE: "Image Uploading Iframe"
TITLE: 'Image Uploading Iframe'
LeftAndMain:
CANCEL: Cancel
CANT_REORGANISE: "You do not have permission to alter Top level pages. Your change was not saved."
CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.'
DELETED: Deleted.
DropdownBatchActionsDefault: "Choose an action..."
DropdownBatchActionsDefault: 'Choose an action...'
HELP: Help
PAGETYPE: "Page type"
PERMAGAIN: "You have been logged out of the CMS. If you would like to log in again, enter a username and password below."
PERMALREADY: "I'm sorry, but you can't access that part of the CMS. If you want to log in as someone else, do so below."
PERMDEFAULT: "You must be logged in to access the administration area; please enter your credentials below."
PLEASESAVE: "Please Save Page: This page could not be updated because it hasn't been saved yet."
PAGETYPE: 'Page type'
PERMAGAIN: 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.'
PERMALREADY: 'I''m sorry, but you can''t access that part of the CMS. If you want to log in as someone else, do so below.'
PERMDEFAULT: 'You must be logged in to access the administration area; please enter your credentials below.'
PLEASESAVE: 'Please Save Page: This page could not be updated because it hasn''t been saved yet.'
PreviewButton: Preview
REORGANISATIONSUCCESSFUL: "Reorganised the site tree successfully."
REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.'
SAVEDUP: Saved.
ShowAsList: "show as list"
TooManyPages: "Too many pages"
ValidationError: "Validation error"
ShowAsList: 'show as list'
TooManyPages: 'Too many pages'
ValidationError: 'Validation error'
VersionUnknown: unknown
LeftAndMain_Menu_ss:
Hello: Hi
LOGOUT: "Log out"
LOGOUT: 'Log out'
ListboxField:
SOURCE_VALIDATION: "Please select a value within the list provided. %s is not a valid option"
SOURCE_VALIDATION: 'Please select a value within the list provided. %s is not a valid option'
LoginAttempt:
Email: "Email Address"
IP: "IP Address"
PLURALNAME: "Login Attempts"
SINGULARNAME: "Login Attempt"
Email: 'Email Address'
IP: 'IP Address'
PLURALNAME: 'Login Attempts'
SINGULARNAME: 'Login Attempt'
Status: Status
Member:
ADDGROUP: "Add group"
BUTTONCHANGEPASSWORD: "Change Password"
BUTTONLOGIN: "Log in"
BUTTONLOGINOTHER: "Log in as someone else"
BUTTONLOSTPASSWORD: "I've lost my password"
CANTEDIT: "You don't have permission to do that"
CONFIRMNEWPASSWORD: "Confirm New Password"
CONFIRMPASSWORD: "Confirm Password"
CURRENT_PASSWORD: "Current Password"
DATEFORMAT: "Date format"
DefaultAdminFirstname: "Default Admin"
ADDGROUP: 'Add group'
BUTTONCHANGEPASSWORD: 'Change Password'
BUTTONLOGIN: 'Log in'
BUTTONLOGINOTHER: 'Log in as someone else'
BUTTONLOSTPASSWORD: 'I''ve lost my password'
CANTEDIT: 'You don''t have permission to do that'
CONFIRMNEWPASSWORD: 'Confirm New Password'
CONFIRMPASSWORD: 'Confirm Password'
CURRENT_PASSWORD: 'Current Password'
DATEFORMAT: 'Date format'
DefaultAdminFirstname: 'Default Admin'
DefaultDateTime: default
EDIT_PASSWORD: "New Password"
EDIT_PASSWORD: 'New Password'
EMAIL: Email
EMPTYNEWPASSWORD: "The new password can't be empty, please try again"
ENTEREMAIL: "Please enter an email address to get a password reset link."
ERRORLOCKEDOUT2: "Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in {count} minutes."
ERRORNEWPASSWORD: "You have entered your new password differently, try again"
ERRORPASSWORDNOTMATCH: "Your current password does not match, please try again"
ERRORWRONGCRED: "The provided details don't seem to be correct. Please try again."
FIRSTNAME: "First Name"
INTERFACELANG: "Interface Language"
INVALIDNEWPASSWORD: "We couldn't accept that password: {password}"
KEEPMESIGNEDIN: "Keep me signed in"
LOGGEDINAS: "You're logged in as {name}."
NEWPASSWORD: "New Password"
NoPassword: "There is no password on this member."
EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again'
ENTEREMAIL: 'Please enter an email address to get a password reset link.'
ERRORLOCKEDOUT2: 'Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in {count} minutes.'
ERRORNEWPASSWORD: 'You have entered your new password differently, try again'
ERRORPASSWORDNOTMATCH: 'Your current password does not match, please try again'
ERRORWRONGCRED: 'The provided details don''t seem to be correct. Please try again.'
FIRSTNAME: 'First Name'
INTERFACELANG: 'Interface Language'
INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}'
KEEPMESIGNEDIN: 'Keep me signed in'
LOGGEDINAS: 'You''re logged in as {name}.'
NEWPASSWORD: 'New Password'
NoPassword: 'There is no password on this member.'
PASSWORD: Password
PASSWORDEXPIRED: "Your password has expired. Please choose a new one."
PASSWORDEXPIRED: 'Your password has expired. Please choose a new one.'
PLURALNAME: Members
REMEMBERME: 'Remember me next time? (for %d days on this device)'
SINGULARNAME: Member
SUBJECTPASSWORDCHANGED: "Your password has been changed"
SUBJECTPASSWORDRESET: "Your password reset link"
SUBJECTPASSWORDCHANGED: 'Your password has been changed'
SUBJECTPASSWORDRESET: 'Your password reset link'
SURNAME: Surname
TIMEFORMAT: "Time format"
VALIDATIONMEMBEREXISTS: "A member already exists with the same {identifier}"
ValidationIdentifierFailed: "Can't overwrite existing member #{id} with identical identifier ({name} = {value}))"
WELCOMEBACK: "Welcome Back, {firstname}"
YOUROLDPASSWORD: "Your old password"
TIMEFORMAT: 'Time format'
VALIDATIONMEMBEREXISTS: 'A member already exists with the same {identifier}'
ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))'
WELCOMEBACK: 'Welcome Back, {firstname}'
YOUROLDPASSWORD: 'Your old password'
belongs_many_many_Groups: Groups
db_LastVisited: "Last Visited Date"
db_Locale: "Interface Locale"
db_LockedOutUntil: "Locked out until"
db_NumVisit: "Number of Visits"
db_LastVisited: 'Last Visited Date'
db_Locale: 'Interface Locale'
db_LockedOutUntil: 'Locked out until'
db_NumVisit: 'Number of Visits'
db_Password: Password
db_PasswordExpiry: "Password Expiry Date"
db_PasswordExpiry: 'Password Expiry Date'
MemberAuthenticator:
TITLE: "E-mail &amp; Password"
TITLE: 'E-mail &amp; Password'
MemberDatetimeOptionsetField:
AMORPM: "AM (Ante meridiem) or PM (Post meridiem)"
AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)'
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"
HOURNOLEADING24: "Hour without leading zero, 24 hour format"
MINUTENOLEADING: "Minute without leading zero"
MONTHNOLEADING: "Month digit without leading zero"
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'
HOURNOLEADING24: 'Hour without leading zero, 24 hour format'
MINUTENOLEADING: 'Minute without leading zero'
MONTHNOLEADING: 'Month digit without leading zero'
Preview: Preview
SHORTMONTH: "Short name of month (e.g. Jun)"
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"
Toggle: "Show formatting help"
SHORTMONTH: 'Short name of month (e.g. Jun)'
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'
Toggle: 'Show formatting help'
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: "Created {count} members"
ResultDeleted: "Deleted %d members"
ResultNone: "No changes"
ResultUpdated: "Updated {count} members"
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: 'Created {count} members'
ResultDeleted: 'Deleted %d members'
ResultNone: 'No changes'
ResultUpdated: 'Updated {count} members'
MemberPassword:
PLURALNAME: "Member Passwords"
SINGULARNAME: "Member Password"
PLURALNAME: 'Member Passwords'
SINGULARNAME: 'Member Password'
MemberTableField:
APPLY_FILTER: "Apply Filter"
APPLY_FILTER: 'Apply Filter'
ModelAdmin:
DELETE: Delete
DELETEDRECORDS: "Deleted {count} records."
EMPTYBEFOREIMPORT: "Replace data"
IMPORT: "Import from CSV"
IMPORTEDRECORDS: "Imported {count} records."
NOCSVFILE: "Please browse for a CSV file to import"
NOIMPORT: "Nothing to import"
DELETEDRECORDS: 'Deleted {count} records.'
EMPTYBEFOREIMPORT: 'Replace data'
IMPORT: 'Import from CSV'
IMPORTEDRECORDS: 'Imported {count} records.'
NOCSVFILE: 'Please browse for a CSV file to import'
NOIMPORT: 'Nothing to import'
RESET: Reset
Title: "Data Models"
UPDATEDRECORDS: "Updated {count} records."
Title: 'Data Models'
UPDATEDRECORDS: 'Updated {count} records.'
ModelAdmin_ImportSpec_ss:
IMPORTSPECFIELDS: "Database columns"
IMPORTSPECLINK: "Show Specification for %s"
IMPORTSPECFIELDS: 'Database columns'
IMPORTSPECLINK: 'Show Specification for %s'
IMPORTSPECRELATIONS: Relations
IMPORTSPECTITLE: "Specification for %s"
IMPORTSPECTITLE: 'Specification for %s'
ModelAdmin_Tools_ss:
FILTER: Filter
IMPORT: Import
@ -560,100 +560,100 @@ en:
FIELDLABELAMOUNT: Amount
FIELDLABELCURRENCY: Currency
MultiSelectField:
SOURCE_VALIDATION: "Please select values within the list provided. Invalid option(s) {value} given"
SOURCE_VALIDATION: 'Please select values within the list provided. Invalid option(s) {value} given'
NullableField:
IsNullLabel: "Is Null"
IsNullLabel: 'Is Null'
NumericField:
VALIDATION: "'{value}' is not a number, only numbers can be accepted for this field"
VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field'
Pagination:
Page: Page
View: View
PasswordValidator:
LOWCHARSTRENGTH: "Please increase password strength by adding some of the following characters: %s"
PREVPASSWORD: "You've already used that password in the past, please choose a new password"
TOOSHORT: "Password is too short, it must be %s or more characters long"
LOWCHARSTRENGTH: 'Please increase password strength by adding some of the following characters: %s'
PREVPASSWORD: 'You''ve already used that password in the past, please choose a new password'
TOOSHORT: 'Password is too short, it must be %s or more characters long'
Permission:
AdminGroup: Administrator
CMS_ACCESS_CATEGORY: "CMS Access"
FULLADMINRIGHTS: "Full administrative rights"
FULLADMINRIGHTS_HELP: "Implies and overrules all other assigned permissions."
CMS_ACCESS_CATEGORY: 'CMS Access'
FULLADMINRIGHTS: 'Full administrative rights'
FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.'
PLURALNAME: Permissions
SINGULARNAME: Permission
PermissionCheckboxSetField:
AssignedTo: "assigned to \"{title}\""
FromGroup: "inherited from group \"{title}\""
FromRole: "inherited from role \"{title}\""
FromRoleOnGroup: "inherited from role \"%s\" on group \"%s\""
AssignedTo: 'assigned to "{title}"'
FromGroup: 'inherited from group "{title}"'
FromRole: 'inherited from role "{title}"'
FromRoleOnGroup: 'inherited from role "%s" on group "%s"'
PermissionRole:
OnlyAdminCanApply: "Only admin can apply"
OnlyAdminCanApply: 'Only admin can apply'
PLURALNAME: Roles
SINGULARNAME: Role
Title: Title
PermissionRoleCode:
PLURALNAME: "Permission Role Codes"
PermsError: "Can't assign code \"%s\" with privileged permissions (requires ADMIN access)"
SINGULARNAME: "Permission Role Code"
PLURALNAME: 'Permission Role Codes'
PermsError: 'Can''t assign code "%s" with privileged permissions (requires ADMIN access)'
SINGULARNAME: 'Permission Role Code'
Permissions:
PERMISSIONS_CATEGORY: "Roles and access permissions"
UserPermissionsIntro: "Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups."
PERMISSIONS_CATEGORY: 'Roles and access permissions'
UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.'
PhoneNumberField:
VALIDATION: "Please enter a valid phone number"
VALIDATION: 'Please enter a valid phone number'
RememberLoginHash:
PLURALNAME: "Remember Login Hashs"
SINGULARNAME: "Remember Login Hash"
PLURALNAME: 'Remember Login Hashs'
SINGULARNAME: 'Remember Login Hash'
Security:
ALREADYLOGGEDIN: "You don't have access to this page. If you have another account that can access that page, you can log in again below."
BUTTONSEND: "Send me the password reset link"
CHANGEPASSWORDBELOW: "You can change your password below."
CHANGEPASSWORDHEADER: "Change your password"
ENTERNEWPASSWORD: "Please enter a new password."
ERRORPASSWORDPERMISSION: "You must be logged in in order to change your password!"
LOGGEDOUT: "You have been logged out. If you would like to log in again, enter your credentials below."
LOGIN: "Log in"
LOSTPASSWORDHEADER: "Lost Password"
NOTEPAGESECURED: "That page is secured. Enter your credentials below and we will send you right along."
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: "Enter your e-mail address and we will send you a link with which you can reset your password"
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."
ALREADYLOGGEDIN: 'You don''t have access to this page. If you have another account that can access that page, you can log in again below.'
BUTTONSEND: 'Send me the password reset link'
CHANGEPASSWORDBELOW: 'You can change your password below.'
CHANGEPASSWORDHEADER: 'Change your password'
ENTERNEWPASSWORD: 'Please enter a new password.'
ERRORPASSWORDPERMISSION: 'You must be logged in in order to change your password!'
LOGGEDOUT: 'You have been logged out. If you would like to log in again, enter your credentials below.'
LOGIN: 'Log in'
LOSTPASSWORDHEADER: 'Lost Password'
NOTEPAGESECURED: 'That page is secured. Enter your credentials below and we will send you right along.'
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: 'Enter your e-mail address and we will send you a link with which you can reset your password'
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: "Allow viewing, adding and editing users, as well as assigning permissions and roles to them."
APPLY_ROLES: "Apply roles to groups"
APPLY_ROLES_HELP: "Ability to edit the roles assigned to a group. Requires the \"Access to 'Users' section\" permission."
EDITPERMISSIONS: "Manage permissions for groups"
EDITPERMISSIONS_HELP: "Ability to edit Permissions and IP Addresses for a group. Requires the \"Access to 'Security' section\" permission."
GROUPNAME: "Group name"
IMPORTGROUPS: "Import groups"
IMPORTUSERS: "Import users"
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: 'Ability to edit the roles assigned to a group. Requires the "Access to ''Users'' section" permission.'
EDITPERMISSIONS: 'Manage permissions for groups'
EDITPERMISSIONS_HELP: 'Ability to edit Permissions and IP Addresses for a group. Requires the "Access to ''Security'' section" permission.'
GROUPNAME: 'Group name'
IMPORTGROUPS: 'Import groups'
IMPORTUSERS: 'Import users'
MEMBERS: Members
MENUTITLE: Security
MemberListCaution: "Caution: Removing members from this list will remove them from all groups and the database"
NEWGROUP: "New Group"
MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database'
NEWGROUP: 'New Group'
PERMISSIONS: Permissions
ROLES: Roles
ROLESDESCRIPTION: "Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required."
ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.<br />They are inherited from parent groups if required.'
TABROLES: Roles
Users: Users
SecurityAdmin_MemberImportForm:
BtnImport: "Import from CSV"
FileFieldLabel: "CSV File <small>(Allowed extensions: *.csv)</small>"
BtnImport: 'Import from CSV'
FileFieldLabel: 'CSV File <small>(Allowed extensions: *.csv)</small>'
SilverStripeNavigator:
Auto: Auto
ChangeViewMode: "Change view mode"
ChangeViewMode: 'Change view mode'
Desktop: Desktop
DualWindowView: "Dual Window"
DualWindowView: 'Dual Window'
Edit: Edit
EditView: "Edit mode"
EditView: 'Edit mode'
Mobile: Mobile
PreviewState: "Preview State"
PreviewView: "Preview mode"
PreviewState: 'Preview State'
PreviewView: 'Preview mode'
Responsive: Responsive
SplitView: "Split mode"
SplitView: 'Split mode'
Tablet: Tablet
ViewDeviceWidth: "Select a preview width"
ViewDeviceWidth: 'Select a preview width'
Width: width
SilverStripe\Admin\CMSProfileController:
MENUTITLE: "My Profile"
MENUTITLE: 'My Profile'
SilverStripe\Admin\CampaignAdmin:
MENUTITLE: Campaigns
SilverStripe\Admin\SecurityAdmin:
@ -668,26 +668,26 @@ en:
PLURALNAME: Images
SINGULARNAME: Image
SilverStripe\ORM\DataObject:
PLURALNAME: "Data Objects"
SINGULARNAME: "Data Object"
PLURALNAME: 'Data Objects'
SINGULARNAME: 'Data Object'
SilverStripe\ORM\Versioning\ChangeSet:
PLURALNAME: Campaigns
SINGULARNAME: Campaign
SilverStripe\ORM\Versioning\ChangeSetItem:
PLURALNAME: "Change Set Items"
SINGULARNAME: "Change Set Item"
PLURALNAME: 'Change Set Items'
SINGULARNAME: 'Change Set Item'
SilverStripe\Security\Group:
PLURALNAME: Groups
SINGULARNAME: Group
SilverStripe\Security\LoginAttempt:
PLURALNAME: "Login Attempts"
SINGULARNAME: "Login Attempt"
PLURALNAME: 'Login Attempts'
SINGULARNAME: 'Login Attempt'
SilverStripe\Security\Member:
PLURALNAME: Members
SINGULARNAME: Member
SilverStripe\Security\MemberPassword:
PLURALNAME: "Member Passwords"
SINGULARNAME: "Member Password"
PLURALNAME: 'Member Passwords'
SINGULARNAME: 'Member Password'
SilverStripe\Security\Permission:
PLURALNAME: Permissions
SINGULARNAME: Permission
@ -695,64 +695,64 @@ en:
PLURALNAME: Roles
SINGULARNAME: Role
SilverStripe\Security\PermissionRoleCode:
PLURALNAME: "Permission Role Codes"
SINGULARNAME: "Permission Role Code"
PLURALNAME: 'Permission Role Codes'
SINGULARNAME: 'Permission Role Code'
SilverStripe\Security\RememberLoginHash:
PLURALNAME: "Remember Login Hashs"
SINGULARNAME: "Remember Login Hash"
PLURALNAME: 'Remember Login Hashs'
SINGULARNAME: 'Remember Login Hash'
SiteTree:
TABMAIN: Main
TableListField:
CSVEXPORT: "Export to CSV"
CSVEXPORT: 'Export to CSV'
Print: Print
TableListField_PageControls_ss:
OF: of
TextField:
VALIDATEMAXLENGTH: "The value for {name} must not exceed {maxLength} characters in length"
VALIDATEMAXLENGTH: 'The value for {name} must not exceed {maxLength} characters in length'
TimeField:
VALIDATEFORMAT: "Please enter a valid time format ({format})"
VALIDATEFORMAT: 'Please enter a valid time format ({format})'
ToggleField:
LESS: less
MORE: more
UploadField:
ATTACHFILE: "Attach a file"
ATTACHFILES: "Attach files"
AttachFile: "Attach file(s)"
CHOOSEANOTHERFILE: "Choose another file"
CHOOSEANOTHERINFO: "Replace this file with another one from the file store"
DELETE: "Delete from files"
DELETEINFO: "Permanently delete this file from the file store"
ATTACHFILE: 'Attach a file'
ATTACHFILES: 'Attach files'
AttachFile: 'Attach file(s)'
CHOOSEANOTHERFILE: 'Choose another file'
CHOOSEANOTHERINFO: 'Replace this file with another one from the file store'
DELETE: 'Delete from files'
DELETEINFO: 'Permanently delete this file from the file store'
DOEDIT: Save
DROPFILE: "drop a file"
DROPFILES: "drop files"
DROPFILE: 'drop a file'
DROPFILES: 'drop files'
Dimensions: Dimensions
EDIT: Edit
EDITINFO: "Edit this file"
FIELDNOTSET: "File information not found"
FROMCOMPUTER: "From your computer"
FROMCOMPUTERINFO: "Select from files"
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."
MAXNUMBEROFFILESONE: "Can only upload one file"
MAXNUMBEROFFILESSHORT: "Can only upload {count} files"
OVERWRITEWARNING: "File with the same name already exists"
EDITINFO: 'Edit this file'
FIELDNOTSET: 'File information not found'
FROMCOMPUTER: 'From your computer'
FROMCOMPUTERINFO: 'Select from files'
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.'
MAXNUMBEROFFILESONE: 'Can only upload one file'
MAXNUMBEROFFILESSHORT: 'Can only upload {count} files'
OVERWRITEWARNING: 'File with the same name already exists'
REMOVE: Remove
REMOVEINFO: "Remove this file from here, but do not delete it from the file store"
STARTALL: "Start all"
REMOVEINFO: 'Remove this file from here, but do not delete it from the file store'
STARTALL: 'Start all'
Saved: Saved
UPLOADSINTO: "saves into /{path}"
UPLOADSINTO: 'saves into /{path}'
Versioned:
INFERRED_TITLE: "Generated by publish of '{title}' at {created}"
INFERRED_TITLE: 'Generated by publish of ''{title}'' at {created}'
has_many_Versions: Versions
VersionedGridFieldItemRequest:
ARCHIVE: Archive
Archived: "Archived %s %s"
BUTTONARCHIVEDESC: "Unpublish and send to archive"
Archived: 'Archived %s %s'
BUTTONARCHIVEDESC: 'Unpublish and send to archive'
BUTTONPUBLISH: Publish
BUTTONUNPUBLISH: Unpublish
BUTTONUNPUBLISHDESC: "Remove this record from the published site"
Published: "Published {name} {link}"
Unpublished: "Unpublished %s %s"
BUTTONUNPUBLISHDESC: 'Remove this record from the published site'
Published: 'Published {name} {link}'
Unpublished: 'Unpublished %s %s'
i18n:
PLURAL: "{number} {form}"
PLURAL: '{number} {form}'

View File

@ -68,9 +68,9 @@ fa_IR:
BackLink_Button_ss:
Back: بازگشت
BasicAuth:
ENTERINFO: "لطفاً یک نام‌کاربری و رمز عبور را وارد نمایید."
ENTERINFO: "لطفاً یک نام‌کاربری و گذرواژه را وارد نمایید."
ERRORNOTADMIN: "این کاربر یک مدیر نیست."
ERRORNOTREC: "این نام کاربری / رمز عبور شناخته‌شده نیست"
ERRORNOTREC: "این نام کاربری / گذرواژه شناخته‌شده نیست"
Boolean:
ANY: هر
NOANSWER: خیر
@ -86,10 +86,10 @@ fa_IR:
ACCESSALLINTERFACESHELP: "شامل تنظیمات دسترسی‌های ویژه می‌شود."
SAVE: ذخیره
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: "رمز عبور را فراموش کرده‌اید؟"
BUTTONFORGOTPASSWORD: "گذرواژه را فراموش کرده‌اید؟"
BUTTONLOGIN: "ورود دوباره"
BUTTONLOGOUT: خروج
PASSWORDEXPIRED: "<p>رمز عبور شما منقضی شده‌است. <a target=\"_top\" href=\"{link}\">لطفاً یکی دیگر برگزینید.</a></p>"
PASSWORDEXPIRED: "<p>گذرواژه شما منقضی شده‌است. <a target=\"_top\" href=\"{link}\">لطفاً یکی دیگر برگزینید.</a></p>"
CMSPageHistoryController_versions_ss:
PREVIEW: "پیش‌نمایش وب‌سایت"
CMSPagesController_Tools_ss:
@ -109,12 +109,12 @@ fa_IR:
AddToCampaign: "افزودن به کمپین"
AddToCampaignFormFieldLabel: "انتخاب یک کمپین"
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: "شما رمز عبورتان را تغییر دادید برای"
CHANGEPASSWORDTEXT1: "شما گذرواژه‌تان را تغییر دادید برای"
CHANGEPASSWORDTEXT2: "اکنون می‌توانید با این اطلاعات وارد شوید:"
CHANGEPASSWORDTEXT3: "تغییر رمز عبور"
CHANGEPASSWORDTEXT3: "تغییر گذرواژه"
EMAIL: ايميل
HELLO: درود
PASSWORD: "رمز عبور"
PASSWORD: گذرواژه
ChangeSet:
DESCRIPTION_AND: "{first} و {second}"
DESCRIPTION_ITEM: آیتم
@ -136,14 +136,15 @@ fa_IR:
CheckboxSetField:
SOURCE_VALIDATION: "لطفاً یک ارزش از لیست فراهم‌شده برگزینید. '{value}' یک گزینه معتبر نیست"
ConfirmedPasswordField:
ATLEAST: "رمزهای عبور باید حداقل {min} کاراکتر باشد."
BETWEEN: "رمزهای عبور باید بین {min} تا {max} کاراکتر باشد."
CURRENT_PASSWORD_MISSING: "شما باید رمز عبور کنونی خود را وارد نمایید."
LOGGED_IN_ERROR: "جهت تغییر رمز عبور خود باید وارد شده باشید."
MAXIMUM: "رمزهای عبور باید حداکثر {max} کاراکتر باشد."
SHOWONCLICKTITLE: "تغییر رمز عبور"
ATLEAST: "گذرواژه باید حداقل {min} کاراکتر باشد."
BETWEEN: "گذرواژه باید بین {min} تا {max} کاراکتر باشد."
CURRENT_PASSWORD_ERROR: "گذرواژه‌ای که وارد نموده‌اید درست نیست."
CURRENT_PASSWORD_MISSING: "شما باید گذرواژه کنونی خود را وارد نمایید."
LOGGED_IN_ERROR: "جهت تغییر گذرواژه خود باید وارد شده باشید."
MAXIMUM: "گذرواژه باید حداکثر {max} کاراکتر باشد."
SHOWONCLICKTITLE: "تغییر گذرواژه"
ContentController:
DRAFT_SITE_ACCESS_RESTRICTION: "برای نمایش پیش‌نویس یا محتوای آرشیو شده باید با رمز عبور سی‌ام‌اس خود وارد شوید. <a href=\"%s\">اینجا را کلیک کنید</a> تا به سایت منتشر‌شده بازگردید."
DRAFT_SITE_ACCESS_RESTRICTION: "برای نمایش پیش‌نویس یا محتوای آرشیو شده باید با گذرواژه سی‌ام‌اس خود وارد شوید. <a href=\"%s\">اینجا را کلیک کنید</a> تا به سایت منتشر‌شده بازگردید."
NOTLOGGEDIN: "وارد نشده"
CreditCardField:
FIRST: نخست
@ -193,6 +194,7 @@ fa_IR:
AviType: "فایل ویدیو AVI"
Content: محتوا
CssType: "فایل CSS"
DRAFT: پیش‌نویس
DmgType: "دیسک ایمیج اپل"
DocType: "فایل Word"
Filename: "نام فايل"
@ -205,6 +207,7 @@ fa_IR:
IcoType: "تصویر آیکن"
JpgType: "تصویر JPEG - مناسب برای عکس‌ها"
JsType: "فایل جاوااسکریپت"
MODIFIED: "تغییر یافته"
Mp3Type: "فایل صوتی MP3"
MpgType: "فایل ویدیویی MPEG"
NOVALIDUPLOAD: "فایل یک بارگذاری معتبر نیست"
@ -226,7 +229,7 @@ fa_IR:
ForgotPasswordEmail_ss:
HELLO: درود
TEXT1: "شما اینجاست"
TEXT2: "لینک نوسازی رمز عبور"
TEXT2: "لینک ازنوسازی گذرواژه"
TEXT3: برای
Form:
CSRF_EXPIRED_MESSAGE: "جلسه شما به پایان رسیده است. لطفاً فرم را مجدداً ارسال کنید."
@ -235,9 +238,9 @@ fa_IR:
SubmitBtnLabel: برو
VALIDATIONCREDITNUMBER: "لطفاً اطمینان حاصل‌کنید که {number} شماره کارت اعتباری را به درستی وارد کرده‌اید"
VALIDATIONNOTUNIQUE: "مقدار وارد شده یکتا نیست"
VALIDATIONPASSWORDSDONTMATCH: "رمزهای عبور همانند هم نیستند"
VALIDATIONPASSWORDSNOTEMPTY: "رمزهای عبور نباید تهی باشند"
VALIDATIONSTRONGPASSWORD: "رمزهای عبور باید حداقل شامل یک شماره و یک کاراکتر الفبایی باشند"
VALIDATIONPASSWORDSDONTMATCH: "گذرواژه‌ها همانند هم نیستند"
VALIDATIONPASSWORDSNOTEMPTY: "گذرواژه‌ها نباید تهی باشند"
VALIDATIONSTRONGPASSWORD: "گذرواژه‌ها باید حداقل شامل یک شماره و یک کاراکتر الفبایی باشند"
VALIDATOR: اعتبارسنج
VALIDCURRENCY: "لطفاً یک واحد پول معتبر وارد نمایید"
FormField:
@ -303,6 +306,7 @@ fa_IR:
ANCHORSCANNOTACCESSPAGE: "شما مجاز به دسترسی به محتوای صفحه هدف نیستید."
ANCHORSPAGENOTFOUND: "صفحه‌ی هدف پیدا نشد."
BUTTONADDURL: "افزودن نشانی اینترنتی"
CAPTIONTEXT: "متن کپشن"
CSSCLASS: "چیدمان / سبک"
DETAILS: جزئیات
EMAIL: "نشانی ایمیل"
@ -315,7 +319,12 @@ fa_IR:
INSERTMEDIA: "واردکردن رسانه از"
LINK: "واردکردن لینک"
LINKDESCR: "توضیحات لینک"
LINKDETAILS: "جزئیات لینک"
LINKEMAIL: "لینک به یک نشانی ایمیل"
LINKEXTERNAL: "لینک به وب‌سایت دیگر"
LINKFILE: "لینک به یک فایل قابل دانلود"
LINKOPENNEWWIN: "لینک در پنجره جدید باز شود؟"
LINKTO: "نوع لینک"
PAGE: صفحه
SUBJECT: "موضوع ایمیل"
URL: "نشانی اینترنتی"
@ -330,8 +339,8 @@ fa_IR:
ANCHORSPAGENOTFOUND: "صفحه‌ی هدف پیدا نشد"
BUTTONADDURL: "افزودن نشانی اینترنتی"
BUTTONINSERT: "وارد کردن"
BUTTONINSERTLINK: "گذاشتن پیوند"
BUTTONREMOVELINK: "برداشتن پیوند"
BUTTONINSERTLINK: "وارد کردن لینک"
BUTTONREMOVELINK: "حذف لینک"
BUTTONUpdate: "به روزرسانی"
CAPTIONTEXT: "متن کپشن"
CSSCLASS: "جاگیری / الگو"
@ -347,14 +356,14 @@ fa_IR:
IMAGEHEIGHTPX: بلندی
IMAGEWIDTHPX: پهنا
INSERTMEDIA: "واردکردن رسانه"
LINK: پیوند
LINK: "واردکردن لینک"
LINKDESCR: "توضیحات لینک"
LINKEMAIL: "پست الکترونیک"
LINKEXTERNAL: "تارگاه دیگر"
LINKFILE: "یک پرونده را بارگزاری کنید"
LINKINTERNAL: "برگ در تارگاه"
LINKOPENNEWWIN: "در پنجره جدید باز شود ؟"
LINKTO: "پیوند به"
LINKOPENNEWWIN: "در یک پنجره‌ی جدید باز شود؟"
LINKTO: "لینک به"
PAGE: برگ
SUBJECT: "موضوع پست الکترونیک"
URL: نشانی
@ -370,13 +379,17 @@ fa_IR:
LeftAndMain:
CANCEL: لغو
DELETED: "حذف شده"
DropdownBatchActionsDefault: "یک عملکرد انتخاب کنید..."
HELP: کمک
PERMAGAIN: "شما از سیستم مدیریت محتوا خارج شده اید.اگر میخواهید دوباره وارد شوید نام کاربری و رمز عبور خود را در قسمت زیر وارد کنید"
PAGETYPE: "نوع صفحه"
PERMAGAIN: "شما از سیستم مدیریت محتوا خارج شده اید.اگر میخواهید دوباره وارد شوید نام کاربری و گذرواژه خود را در قسمت زیر وارد کنید"
PERMDEFAULT: "جهت ورود به محیط مدیریت باید وارد شده باشید؛ لطفاً اطلاعات خود را در زیر وارد نمایید."
PreviewButton: پیش‌نمایش
SAVEDUP: "ذخیره شده"
ShowAsList: "نمایش به‌صورت لیست"
TooManyPages: "صفحات بسیار زیاد"
ValidationError: "خطای اعتبارسنجی"
VersionUnknown: نامشخص
LeftAndMain_Menu_ss:
Hello: درود
LOGOUT: خروج
@ -390,46 +403,49 @@ fa_IR:
Status: وضعیت
Member:
ADDGROUP: "افزودن گروه"
BUTTONCHANGEPASSWORD: "تغییر رمز عبور"
BUTTONCHANGEPASSWORD: "تغییر گذرواژه"
BUTTONLOGIN: ورود
BUTTONLOGINOTHER: "ورود به عنوان شخصی دیگر"
BUTTONLOSTPASSWORD: "من رمز عبور خود را فراموش کرده‌ام"
BUTTONLOSTPASSWORD: "من گذرواژه خود را فراموش کرده‌ام"
CANTEDIT: "شما دسترسی انجام این کار را ندارید."
CONFIRMNEWPASSWORD: "تکرار رمز عبور جدید"
CONFIRMPASSWORD: "تکرار رمز عبور"
CURRENT_PASSWORD: "رمز ورود کنونی"
CONFIRMNEWPASSWORD: "تکرار گذرواژه جدید"
CONFIRMPASSWORD: "تکرار گذرواژه"
CURRENT_PASSWORD: "گذرواژه کنونی"
DATEFORMAT: "قالب تاریخ"
DefaultAdminFirstname: "مدیر پیشفرض"
DefaultDateTime: پیش‌فرض
EDIT_PASSWORD: "رمز ورود جدید"
EDIT_PASSWORD: "گذرواژه جدید"
EMAIL: "پست الکترونیک"
EMPTYNEWPASSWORD: "رمز عبور جدید نمیتواند خالی باشد، لطفا دوباره تلاش کنید"
ENTEREMAIL: "لطفاً یک نشانی ایمیل وارد نمایید تا پیوند ازنوسازی رمز عبور را دریافت کنید."
ERRORPASSWORDNOTMATCH: "رمز عبور کنونی همانند نیست، لطفاً مجدداً تلاش نمایید"
ENTEREMAIL: "لطفاً یک نشانی ایمیل وارد نمایید تا لینک ازنوسازی گذرواژه را دریافت کنید."
ERRORNEWPASSWORD: "شما گذرواژه جدید خود را متفاوت وارد کرده‌اید، دوباره امتحان نمایید"
ERRORPASSWORDNOTMATCH: "گذرواژه کنونی همانند نیست، لطفاً مجدداً تلاش نمایید"
FIRSTNAME: نام
INTERFACELANG: "زبان برنامه"
INVALIDNEWPASSWORD: "ما نتوانستیم این گذرواژه را بپذیریم: {password}"
KEEPMESIGNEDIN: "مرا واردشده نگه‌دار"
LOGGEDINAS: "شما به {name} عنوان وارد شده‌اید."
NEWPASSWORD: "گذرواژه تازه"
NoPassword: "رمز عبوری برای این کاربر وجود ندارد"
PASSWORD: "رمز عبور"
PASSWORDEXPIRED: "رمز عبور شما منقضی شده‌است. لطفاً یکی جدید برگزینید."
NoPassword: "گذرواژه‌ای برای این کاربر وجود ندارد"
PASSWORD: گذرواژه
PASSWORDEXPIRED: "گذرواژه شما منقضی شده‌است. لطفاً یکی جدید برگزینید."
PLURALNAME: اعضاء
REMEMBERME: "مرا برای بار بعد به خاطر بسپار؟"
SINGULARNAME: عضو
SUBJECTPASSWORDCHANGED: "گذرواژه شما دگرگون شد"
SUBJECTPASSWORDRESET: "پیوند ازنوسازی گذرواژه شما"
SUBJECTPASSWORDCHANGED: "گذرواژه شما تغییر یافته است"
SUBJECTPASSWORDRESET: "لینک ازنوسازی گذرواژه شما"
SURNAME: "نام خانوادگی"
TIMEFORMAT: "قالب زمان"
WELCOMEBACK: "خوش آمدید، {firstname}"
YOUROLDPASSWORD: "رمز عبور قدیمی"
YOUROLDPASSWORD: "گذرواژه قدیمی شما"
belongs_many_many_Groups: گروه‌ها
db_LastVisited: "تاریخ آخرین بازدید"
db_LockedOutUntil: "بسته شده تا "
db_NumVisit: "شمار بازدید"
db_Password: "رمز عبور"
db_PasswordExpiry: "تاریخ از میان رفتن گذرواژه"
db_Password: گذرواژه
db_PasswordExpiry: "تاریخ انقضاء گذرواژه"
MemberAuthenticator:
TITLE: "ایمیل و رمز عبور"
TITLE: "ایمیل و گذرواژه"
MemberDatetimeOptionsetField:
AMORPM: "ق‌ظ (قبل‌از‌ظهر) یا ب‌ظ (بعد‌از‌ظهر)"
Custom: دلخواه
@ -437,6 +453,8 @@ fa_IR:
DAYNOLEADING: "روز از ماه بدون نمایش صفر در ابتدا"
FOURDIGITYEAR: "سال چهار عددی"
FULLNAMEMONTH: "نام کامل ماه (مثال ژوئن)"
HOURNOLEADING: "ساعت بدون صفر آغازین"
HOURNOLEADING24: "ساعت بدون صفر آغازین، قالب ۲۴ ساعته"
MINUTENOLEADING: "دقیقه بدون نمایش صفر در ابتدا"
MONTHNOLEADING: "عدد ماه بدون نمایش صفر در ابتدا"
Preview: پیش‌نمایش
@ -454,8 +472,8 @@ fa_IR:
ResultNone: "تغییری ایجاد نشد"
ResultUpdated: "به‌روز‌رسانی {count} عضو"
MemberPassword:
PLURALNAME: "رمزهای عبور کاربر"
SINGULARNAME: "رمز عبور کاربر"
PLURALNAME: "گذرواژه‌های کاربر"
SINGULARNAME: "گذرواژه کاربر"
MemberTableField:
APPLY_FILTER: "اعمال پالایش"
ModelAdmin:
@ -488,7 +506,7 @@ fa_IR:
Page: صفحه
View: نمایش
PasswordValidator:
TOOSHORT: "رمز عبور بسیار کوتاه است، باید %s کاراکتر یا بیشتر باشد"
TOOSHORT: "گذرواژه بسیار کوتاه است، باید %s کاراکتر یا بیشتر باشد"
Permission:
AdminGroup: "مدیر کل"
CMS_ACCESS_CATEGORY: "دسترسی CMS"
@ -512,15 +530,15 @@ fa_IR:
VALIDATION: "لطفاً شماره تلفن معتبر وارد کنید"
Security:
ALREADYLOGGEDIN: "شما به این صفحه دسترسی ندارید. اگر حساب کاربری دیگری دارید که به این صفحه دسترسی دارد، شما میتوانید دوباره وارد شوید.."
BUTTONSEND: "برایم یک ازنوسازی رمز عبور ارسال کن"
CHANGEPASSWORDBELOW: "می‌توانید رمز عبور خود را در پایین تغییر دهید."
BUTTONSEND: "برایم لینک ازنوسازی گذرواژه ارسال کن"
CHANGEPASSWORDBELOW: "می‌توانید گذرواژه خود را در پایین تغییر دهید."
CHANGEPASSWORDHEADER: "تغییر گذرواژه"
ENTERNEWPASSWORD: "لطفاً گذرواژه جدید را وارد کنید."
ERRORPASSWORDPERMISSION: "جهت تغییر رمز عبور خود باید وارد شده باشید!"
ERRORPASSWORDPERMISSION: "جهت تغییر گذرواژه خود باید وارد شده باشید!"
LOGGEDOUT: "شما خارج شده‌اید. اگر مایل هستید دوباره وارد شوید، اطلاعات معتبر خود را در زیر وارد نمایید."
LOGIN: ورود
LOSTPASSWORDHEADER: "فراموشی رمز عبور"
PASSWORDSENTHEADER: "پیوند ازنوسازی رمز عبور به '{email}' ارسال شد"
LOSTPASSWORDHEADER: "فراموشی گذرواژه"
PASSWORDSENTHEADER: "لینک ازنوسازی گذرواژه به '{email}' ارسال شد"
SecurityAdmin:
APPLY_ROLES: "اعمال وظایف به گروه"
EDITPERMISSIONS: "مدیریت دسترسی‌های گروه‌ها"
@ -579,8 +597,8 @@ fa_IR:
PLURALNAME: اعضاء
SINGULARNAME: عضو
SilverStripe\Security\MemberPassword:
PLURALNAME: "رمز عبورهای عضو"
SINGULARNAME: "رمز عبور عضو"
PLURALNAME: "گذرواژه‌های کاربر"
SINGULARNAME: "گذرواژه کاربر"
SilverStripe\Security\Permission:
PLURALNAME: مجوز‌ها
SINGULARNAME: مجوز
@ -594,6 +612,7 @@ fa_IR:
TimeField:
VALIDATEFORMAT: "لطفاً یک قالب زمان معتبر وارد نمایید ({format})"
ToggleField:
LESS: کمتر
MORE: بیشتر
UploadField:
ATTACHFILE: "ضمیمه کردن یک فایل"
@ -611,6 +630,7 @@ fa_IR:
FROMCOMPUTER: "از کامپیوتر شما"
FROMCOMPUTERINFO: "انتخاب از فایل‌ها"
FROMFILES: "از فایل‌ها"
HOTLINKINFO: "اطلاعات: این تصویر هات‌لینک‌شده می‌شود. لطفاً مطمئن شوید برای این‌کار دارای مجوزهایی از خالق سایت اصلی هستید."
MAXNUMBEROFFILESONE: "تنها یک فایل را می‌تواند آپلود کند"
MAXNUMBEROFFILESSHORT: "تنها {count} فایل را می‌تواند آپلود کند"
OVERWRITEWARNING: "فایل با نام یکسان از پیش وجود دارد"
@ -625,5 +645,6 @@ fa_IR:
BUTTONARCHIVEDESC: "عدم انتشار و ارسال به بایگانی"
BUTTONPUBLISH: انتشار
BUTTONUNPUBLISH: "عدم انتشار"
Published: "منتشرشده {name} {link}"
i18n:
PLURAL: "{number} {form}"

View File

@ -225,7 +225,7 @@ fi:
PngType: "PNG-kuva - hyvä yleinen muoto"
SINGULARNAME: Tiedosto
TOOLARGE: "Tiedostokoko on liian suuri: maks. sallittu koko on {size}"
TOOLARGESHORT: "Sallittu tiedostokoko ylitetty {size}"
TOOLARGESHORT: "Sallittu tiedostokoko {size} ylitetty "
TiffType: TIFF-kuva
Title: Otsikko
WavType: WAV-äänitiedosto
@ -391,7 +391,7 @@ fi:
FindInFolder: "Etsi kansiosta"
IMAGEALT: "Vaihtoehtoinen teksti (alt)"
IMAGEALTTEXT: "Vaihtoehtoinen teksti (alt) - näytetään jos kuvaa ei voida näyttää"
IMAGEALTTEXTDESC: "Näytetään ruudunlukuohjelmille tai jos kuvaa ei voi näyttää"
IMAGEALTTEXTDESC: "Näytetään ruudunlukuohjelmille tai jos kuvia ei voi näyttää"
IMAGEDIMENSIONS: Mitat
IMAGEHEIGHTPX: Korkeus
IMAGETITLE: "Otsikko (tooltip) - kuvan lisätietoja varten"
@ -426,13 +426,13 @@ fi:
CANCEL: Peruuta
CANT_REORGANISE: "Sinulla ei ole oikeuksia mennä ylemmän tason sivuille. Muutoksiasi ei tallennettu."
DELETED: Poistettu.
DropdownBatchActionsDefault: Toiminnot
DropdownBatchActionsDefault: "Valitse toiminto..."
HELP: Ohje
PAGETYPE: "Sivutyyppi:"
PAGETYPE: "Sivun tyyppi"
PERMAGAIN: "Olet kirjautunut ulos CMS:stä. Jos haluat kirjautua uudelleen sisään, syötä käyttäjätunnuksesi ja salasanasi alla."
PERMALREADY: "Pahoittelut, mutta et pääse tähän osaan CMS:ää. Jos haluat kirjautua jonain muuna, voit tehdä sen alta."
PERMDEFAULT: "Sinun tulee olla kirjautuneena ylläpito-osioon; syötä tunnuksesi kenttiin."
PLEASESAVE: "Tallenna sivu: tätä sivua ei voitu päivittää, koska sitä ei ole vielä tallennettu."
PLEASESAVE: "Tätä sivua ei voitu päivittää, koska sitä ei ole vielä tallennettu. Tallenna sivu."
PreviewButton: Esikatselu
REORGANISATIONSUCCESSFUL: "Hakemistopuu uudelleenjärjestettiin onnistuneesti."
SAVEDUP: Tallennettu.
@ -488,7 +488,7 @@ fi:
SUBJECTPASSWORDRESET: "Salasanasi palautuslinkki"
SURNAME: Sukunimi
TIMEFORMAT: Aikamuoto
VALIDATIONMEMBEREXISTS: "Toisella käyttäjällä on jo olemassa sama %s"
VALIDATIONMEMBEREXISTS: "Rekisteröityneellä käyttäjällä on jo käytössä tämä {identifier}."
ValidationIdentifierFailed: "Olemassa olevan käyttäjän id:n #{id} päälle ei voida kirjoittaa samalla tunnisteella ({name} = {value}))"
WELCOMEBACK: "Tervetuloa takaisin, {firstname}"
YOUROLDPASSWORD: "Vanha salasanasi"

View File

@ -216,15 +216,12 @@ it:
MODIFIED: Modificato
Mp3Type: "File audio MP3"
MpgType: "File video MPEG"
NOFILESIZE: "La dimensione del file è zero byte."
NOVALIDUPLOAD: "Il file caricato non è valido"
Name: Nome
PLURALNAME: File
PdfType: "File Adobe Acrobat PDF"
PngType: "Immagine PNG - consigliata per utilizzo generico"
SINGULARNAME: File
TOOLARGE: "La dimensione del file è troppo grande, massimo consentito {size}"
TOOLARGESHORT: "La dimensione del file eccede {size}"
TiffType: "Immagine TIFF"
Title: Titolo
WavType: "File audio WAV"
@ -389,8 +386,6 @@ it:
FROMWEB: "Dal web"
FindInFolder: "Trova nella Cartella"
IMAGEALT: "Testo alternativo (alt)"
IMAGEALTTEXT: "Testo alternativo (alt) - mostrato nel caso l'immagine non possa essere visualizzata"
IMAGEALTTEXTDESC: "Mostrato agli screen reader o se l'immagine non può essere visualizzata"
IMAGEDIMENSIONS: Dimensioni
IMAGEHEIGHTPX: Altezza
IMAGETITLE: "Titolo (tooltip) - per informazioni aggiuntive sull'immagine."
@ -425,13 +420,10 @@ it:
CANCEL: Annulla
CANT_REORGANISE: "Non hai i permessi per modificare le pagine di primo livello. Le modifiche non sono state salvate."
DELETED: Eliminato.
DropdownBatchActionsDefault: Azioni
HELP: Aiuto
PAGETYPE: "Tipo di pagina:"
PERMAGAIN: "Sei stato disconnesso dal CMS. Se desideri autenticarti nuovamente, inserisci qui sotto nome utente e password."
PERMALREADY: "Siamo spiacenti, ma non puoi accedere a questa sezione del CMS. Se desideri autenticarti come qualcun altro, fallo qui sotto."
PERMDEFAULT: "Devi essere autenticato per accedere all'area amministrativa; Per favore inserisci le tue credenziali qui sotto"
PLEASESAVE: "Per favore salva la pagina: La stessa potrebbe non venire aggiornata se non si provvede quanto prima a salvarla."
PreviewButton: Anteprima
REORGANISATIONSUCCESSFUL: "Albero del sito riorganizzato con successo."
SAVEDUP: Salvato.
@ -487,7 +479,6 @@ it:
SUBJECTPASSWORDRESET: "Link per azzerare la tua password"
SURNAME: Cognome
TIMEFORMAT: "Formato dell'ora"
VALIDATIONMEMBEREXISTS: "Esiste già un utente con l'e-mail %s"
ValidationIdentifierFailed: "Non posso sovrascrivere l'utente esistente #{id} con identificatore identico ({name} = {value}))"
WELCOMEBACK: "Bentornato, {firstname}"
YOUROLDPASSWORD: "La tua vecchia password"

View File

@ -2,16 +2,16 @@
namespace SilverStripe\Forms;
use SilverStripe\Control\HTTPRequest;
use SilverStripe\Control\HTTPResponse_Exception;
use SilverStripe\Core\Convert;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\Control\Session;
use SilverStripe\Control\Controller;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Control\Director;
use SilverStripe\Control\HTTP;
use SilverStripe\Control\HTTPRequest;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Control\HTTPResponse_Exception;
use SilverStripe\Control\RequestHandler;
use SilverStripe\Control\Session;
use SilverStripe\Core\Convert;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\Dev\Deprecation;
use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\DataObjectInterface;
@ -19,8 +19,8 @@ use SilverStripe\ORM\FieldType\DBHTMLText;
use SilverStripe\ORM\SS_List;
use SilverStripe\ORM\ValidationException;
use SilverStripe\ORM\ValidationResult;
use SilverStripe\Security\SecurityToken;
use SilverStripe\Security\NullSecurityToken;
use SilverStripe\Security\SecurityToken;
use SilverStripe\View\SSViewer;
/**
@ -1661,16 +1661,30 @@ class Form extends RequestHandler
if (array_key_exists($name, $data)) {
$exists = true;
$val = $data[$name];
} // If field is in array-notation we need to access nested data
elseif (strpos($name, '[')) {
// First encode data using PHP's method of converting nested arrays to form data
$flatData = urldecode(http_build_query($data));
// Then pull the value out from that flattened string
preg_match('/' . addcslashes($name, '[]') . '=([^&]*)/', $flatData, $matches);
if (isset($matches[1])) {
$exists = true;
$val = $matches[1];
} elseif (preg_match_all('/(.*)\[(.*)\]/U', $name, $matches)) {
// If field is in array-notation we need to access nested data
//discard first match which is just the whole string
array_shift($matches);
$keys = array_pop($matches);
$name = array_shift($matches);
$name = array_shift($name);
if (array_key_exists($name, $data)) {
$tmpData = &$data[$name];
// drill down into the data array looking for the corresponding value
foreach ($keys as $arrayKey) {
if ($arrayKey !== '') {
$tmpData = &$tmpData[$arrayKey];
} else {
//empty square brackets means new array
if (is_array($tmpData)) {
$tmpData = array_shift($tmpData);
}
}
}
if ($tmpData) {
$val = $tmpData;
$exists = true;
}
}
}
}

View File

@ -416,8 +416,10 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
*/
public function duplicate($doWrite = true)
{
$map = $this->toMap();
unset($map['Created']);
/** @var static $clone */
$clone = Injector::inst()->create(static::class, $this->toMap(), false, $this->model);
$clone = Injector::inst()->create(static::class, $map, false, $this->model);
$clone->ID = 0;
$clone->invokeWithExtensions('onBeforeDuplicate', $this, $doWrite);

View File

@ -322,6 +322,7 @@ class PaginatedList extends ListDecorator
}
$left = max($current - $offset, 1);
$right = min($current + $offset, $total);
$range = range($current - $offset, $current + $offset);
if ($left + $context > $total) {
@ -333,8 +334,8 @@ class PaginatedList extends ListDecorator
$num = $i + 1;
$emptyRange = $num != 1 && $num != $total && (
$num == $left - 1 || $num == $left + $context + 1
);
$num == $left - 1 || $num == $right + 1
);
if ($emptyRange) {
$result->push(new ArrayData(array(

View File

@ -689,11 +689,11 @@ class ShortcodeParser extends Object
}
$location = self::INLINE;
/**
* Below code disabled due to https://github.com/silverstripe/silverstripe-framework/issues/5987
if ($class == 'left' || $class == 'right') {
$location = self::BEFORE;
}
/**
* Below code disabled due to https://github.com/silverstripe/silverstripe-framework/issues/5987
if ($class == 'center' || $class == 'leftAlone') {
$location = self::SPLIT;
}

View File

@ -93,10 +93,10 @@ class FormTest extends FunctionalTest
$form->loadDataFrom($requestData);
$fields = $form->Fields();
$this->assertEquals($fields->fieldByName('key1')->Value(), 'val1');
$this->assertEquals($fields->fieldByName('namespace[key2]')->Value(), 'val2');
$this->assertEquals($fields->fieldByName('namespace[key3][key4]')->Value(), 'val4');
$this->assertEquals($fields->fieldByName('othernamespace[key5][key6][key7]')->Value(), 'val7');
$this->assertEquals('val1', $fields->fieldByName('key1')->Value());
$this->assertEquals('val2', $fields->fieldByName('namespace[key2]')->Value());
$this->assertEquals('val4', $fields->fieldByName('namespace[key3][key4]')->Value());
$this->assertEquals('val7', $fields->fieldByName('othernamespace[key5][key6][key7]')->Value());
}
public function testSubmitReadonlyFields()

View File

@ -73,6 +73,20 @@ class HTMLEditorFieldTest extends FunctionalTest
parent::tearDown();
}
public function testCasting()
{
// Test special characters
$inputText = "These are some unicodes: ä, ö, & ü";
$field = new HTMLEditorField("Test", "Test");
$field->setValue($inputText);
$this->assertContains('These are some unicodes: &auml;, &ouml;, &amp; &uuml;', $field->Field());
// Test shortcodes
$inputText = "Shortcode: [file_link id=4]";
$field = new HTMLEditorField("Test", "Test");
$field->setValue($inputText);
$this->assertContains('Shortcode: [file_link id=4]', $field->Field());
}
public function testBasicSaving()
{
$obj = new TestObject();

View File

@ -8,6 +8,20 @@ use SilverStripe\Forms\TextareaField;
class TextareaFieldTest extends SapphireTest
{
public function testCasting()
{
// Test special characters
$inputText = "These are some unicodes: ä, ö, & ü";
$field = new TextareaField("Test", "Test");
$field->setValue($inputText);
$this->assertContains('These are some unicodes: &auml;, &ouml;, &amp; &uuml;', $field->Field());
// Test shortcodes
$inputText = "Shortcode: [file_link id=4]";
$field = new TextareaField("Test", "Test");
$field->setValue($inputText);
$this->assertContains('Shortcode: [file_link id=4]', $field->Field());
}
/**
* Quick smoke test to ensure that text with unicodes is being displayed properly in readonly fields.
*/

View File

@ -4,6 +4,7 @@ namespace SilverStripe\ORM\Tests;
use SilverStripe\ORM\DataObject;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\ORM\FieldType\DBDatetime;
class DataObjectDuplicationTest extends SapphireTest
{
@ -18,10 +19,11 @@ class DataObjectDuplicationTest extends SapphireTest
public function testDuplicate()
{
DBDatetime::set_mock_now('2016-01-01 01:01:01');
$orig = new DataObjectDuplicationTest\Class1();
$orig->text = 'foo';
$orig->write();
DBDatetime::set_mock_now('2016-01-02 01:01:01');
$duplicate = $orig->duplicate();
$this->assertInstanceOf(
DataObjectDuplicationTest\Class1::class,
@ -43,6 +45,8 @@ class DataObjectDuplicationTest extends SapphireTest
DataObjectDuplicationTest\Class1::get()->Count(),
'Only creates a single duplicate'
);
$this->assertEquals(DBDatetime::now()->Nice(), $duplicate->dbObject('Created')->Nice());
$this->assertNotEquals($orig->dbObject('Created')->Nice(), $duplicate->dbObject('Created')->Nice());
}
public function testDuplicateHasOne()

View File

@ -213,35 +213,39 @@ class ShortcodeParserTest extends SapphireTest
$this->assertEquals(preg_replace('/\s+/', '', $a), preg_replace('/\s+/', '', $b), $message);
}
public function testtExtract()
public function testExtractBefore()
{
$this->markTestSkipped(
'Feature disabled due to https://github.com/silverstripe/silverstripe-framework/issues/5987'
);
// Left extracts to before the current block
$this->assertEqualsIgnoringWhitespace(
'Code<div>FooBar</div>',
$this->parser->parse('<div>Foo[test_shortcode class=left]Code[/test_shortcode]Bar</div>')
);
// Even if the immediate parent isn't a the current block
$this->assertEqualsIgnoringWhitespace(
'Code<div>Foo<b>BarBaz</b>Qux</div>',
$this->parser->parse('<div>Foo<b>Bar[test_shortcode class=left]Code[/test_shortcode]Baz</b>Qux</div>')
);
}
public function testExtractSplit()
{
$this->markTestSkipped(
'Feature disabled due to https://github.com/silverstripe/silverstripe-framework/issues/5987'
);
// Center splits the current block
$this->assertEqualsIgnoringWhitespace(
'<div>Foo</div>Code<div>Bar</div>',
$this->parser->parse('<div>Foo[test_shortcode class=center]Code[/test_shortcode]Bar</div>')
);
// Even if the immediate parent isn't a the current block
$this->assertEqualsIgnoringWhitespace(
'<div>Foo<b>Bar</b></div>Code<div><b>Baz</b>Qux</div>',
$this->parser->parse('<div>Foo<b>Bar[test_shortcode class=center]Code[/test_shortcode]Baz</b>Qux</div>')
);
}
public function testExtractNone()
{
// No class means don't extract
$this->assertEqualsIgnoringWhitespace(
'<div>FooCodeBar</div>',