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', { 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_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_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_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_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?", "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_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_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_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_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?", "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", "UploadField.WRITEFAILED": "Tiedoston kirjoittaminen levylle epäonnistui",
"VALIDATOR.FIELDREQUIRED": "Syötä \"%s\", se on vaadittu tieto." "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", "UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk",
"VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je." "VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je."
}); });
} }

View File

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

View File

@ -42,4 +42,4 @@
"UploadField.Uploaded": "Prenešeno", "UploadField.Uploaded": "Prenešeno",
"UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk", "UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk",
"VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je." "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 = new TextField(..);
$field->setTemplate('MyCustomTextField'); $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"> <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 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 Documentation
* [api:Form] * [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 CANCEL: Abbrechen
CANT_REORGANISE: "Sie besitzen nicht die benötigten Zugriffsrechte um Seiten der höchsten Ebene zu bearbeiten. Ihre Änderungen wurden nicht gespeichert." 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. DELETED: Gelöscht.
DropdownBatchActionsDefault: Aktionen
HELP: Hilfe 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." 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." 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." 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 PreviewButton: Vorschau
REORGANISATIONSUCCESSFUL: "Der Seitenbaum wurde erfolgreich sortiert." REORGANISATIONSUCCESSFUL: "Der Seitenbaum wurde erfolgreich sortiert."
SAVEDUP: Gespeichert. SAVEDUP: Gespeichert.

View File

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

View File

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

View File

@ -225,7 +225,7 @@ fi:
PngType: "PNG-kuva - hyvä yleinen muoto" PngType: "PNG-kuva - hyvä yleinen muoto"
SINGULARNAME: Tiedosto SINGULARNAME: Tiedosto
TOOLARGE: "Tiedostokoko on liian suuri: maks. sallittu koko on {size}" TOOLARGE: "Tiedostokoko on liian suuri: maks. sallittu koko on {size}"
TOOLARGESHORT: "Sallittu tiedostokoko ylitetty {size}" TOOLARGESHORT: "Sallittu tiedostokoko {size} ylitetty "
TiffType: TIFF-kuva TiffType: TIFF-kuva
Title: Otsikko Title: Otsikko
WavType: WAV-äänitiedosto WavType: WAV-äänitiedosto
@ -391,7 +391,7 @@ fi:
FindInFolder: "Etsi kansiosta" FindInFolder: "Etsi kansiosta"
IMAGEALT: "Vaihtoehtoinen teksti (alt)" IMAGEALT: "Vaihtoehtoinen teksti (alt)"
IMAGEALTTEXT: "Vaihtoehtoinen teksti (alt) - näytetään jos kuvaa ei voida näyttää" 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 IMAGEDIMENSIONS: Mitat
IMAGEHEIGHTPX: Korkeus IMAGEHEIGHTPX: Korkeus
IMAGETITLE: "Otsikko (tooltip) - kuvan lisätietoja varten" IMAGETITLE: "Otsikko (tooltip) - kuvan lisätietoja varten"
@ -426,13 +426,13 @@ fi:
CANCEL: Peruuta CANCEL: Peruuta
CANT_REORGANISE: "Sinulla ei ole oikeuksia mennä ylemmän tason sivuille. Muutoksiasi ei tallennettu." CANT_REORGANISE: "Sinulla ei ole oikeuksia mennä ylemmän tason sivuille. Muutoksiasi ei tallennettu."
DELETED: Poistettu. DELETED: Poistettu.
DropdownBatchActionsDefault: Toiminnot DropdownBatchActionsDefault: "Valitse toiminto..."
HELP: Ohje 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." 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." 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." 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 PreviewButton: Esikatselu
REORGANISATIONSUCCESSFUL: "Hakemistopuu uudelleenjärjestettiin onnistuneesti." REORGANISATIONSUCCESSFUL: "Hakemistopuu uudelleenjärjestettiin onnistuneesti."
SAVEDUP: Tallennettu. SAVEDUP: Tallennettu.
@ -488,7 +488,7 @@ fi:
SUBJECTPASSWORDRESET: "Salasanasi palautuslinkki" SUBJECTPASSWORDRESET: "Salasanasi palautuslinkki"
SURNAME: Sukunimi SURNAME: Sukunimi
TIMEFORMAT: Aikamuoto 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}))" ValidationIdentifierFailed: "Olemassa olevan käyttäjän id:n #{id} päälle ei voida kirjoittaa samalla tunnisteella ({name} = {value}))"
WELCOMEBACK: "Tervetuloa takaisin, {firstname}" WELCOMEBACK: "Tervetuloa takaisin, {firstname}"
YOUROLDPASSWORD: "Vanha salasanasi" YOUROLDPASSWORD: "Vanha salasanasi"

View File

@ -216,15 +216,12 @@ it:
MODIFIED: Modificato MODIFIED: Modificato
Mp3Type: "File audio MP3" Mp3Type: "File audio MP3"
MpgType: "File video MPEG" MpgType: "File video MPEG"
NOFILESIZE: "La dimensione del file è zero byte."
NOVALIDUPLOAD: "Il file caricato non è valido" NOVALIDUPLOAD: "Il file caricato non è valido"
Name: Nome Name: Nome
PLURALNAME: File PLURALNAME: File
PdfType: "File Adobe Acrobat PDF" PdfType: "File Adobe Acrobat PDF"
PngType: "Immagine PNG - consigliata per utilizzo generico" PngType: "Immagine PNG - consigliata per utilizzo generico"
SINGULARNAME: File SINGULARNAME: File
TOOLARGE: "La dimensione del file è troppo grande, massimo consentito {size}"
TOOLARGESHORT: "La dimensione del file eccede {size}"
TiffType: "Immagine TIFF" TiffType: "Immagine TIFF"
Title: Titolo Title: Titolo
WavType: "File audio WAV" WavType: "File audio WAV"
@ -389,8 +386,6 @@ it:
FROMWEB: "Dal web" FROMWEB: "Dal web"
FindInFolder: "Trova nella Cartella" FindInFolder: "Trova nella Cartella"
IMAGEALT: "Testo alternativo (alt)" 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 IMAGEDIMENSIONS: Dimensioni
IMAGEHEIGHTPX: Altezza IMAGEHEIGHTPX: Altezza
IMAGETITLE: "Titolo (tooltip) - per informazioni aggiuntive sull'immagine." IMAGETITLE: "Titolo (tooltip) - per informazioni aggiuntive sull'immagine."
@ -425,13 +420,10 @@ it:
CANCEL: Annulla CANCEL: Annulla
CANT_REORGANISE: "Non hai i permessi per modificare le pagine di primo livello. Le modifiche non sono state salvate." CANT_REORGANISE: "Non hai i permessi per modificare le pagine di primo livello. Le modifiche non sono state salvate."
DELETED: Eliminato. DELETED: Eliminato.
DropdownBatchActionsDefault: Azioni
HELP: Aiuto HELP: Aiuto
PAGETYPE: "Tipo di pagina:"
PERMAGAIN: "Sei stato disconnesso dal CMS. Se desideri autenticarti nuovamente, inserisci qui sotto nome utente e password." 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." 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" 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 PreviewButton: Anteprima
REORGANISATIONSUCCESSFUL: "Albero del sito riorganizzato con successo." REORGANISATIONSUCCESSFUL: "Albero del sito riorganizzato con successo."
SAVEDUP: Salvato. SAVEDUP: Salvato.
@ -487,7 +479,6 @@ it:
SUBJECTPASSWORDRESET: "Link per azzerare la tua password" SUBJECTPASSWORDRESET: "Link per azzerare la tua password"
SURNAME: Cognome SURNAME: Cognome
TIMEFORMAT: "Formato dell'ora" 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}))" ValidationIdentifierFailed: "Non posso sovrascrivere l'utente esistente #{id} con identificatore identico ({name} = {value}))"
WELCOMEBACK: "Bentornato, {firstname}" WELCOMEBACK: "Bentornato, {firstname}"
YOUROLDPASSWORD: "La tua vecchia password" YOUROLDPASSWORD: "La tua vecchia password"

View File

@ -2,16 +2,16 @@
namespace SilverStripe\Forms; 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\Controller;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Control\Director; use SilverStripe\Control\Director;
use SilverStripe\Control\HTTP; use SilverStripe\Control\HTTP;
use SilverStripe\Control\HTTPRequest;
use SilverStripe\Control\HTTPResponse;
use SilverStripe\Control\HTTPResponse_Exception;
use SilverStripe\Control\RequestHandler; use SilverStripe\Control\RequestHandler;
use SilverStripe\Control\Session;
use SilverStripe\Core\Convert;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\Dev\Deprecation; use SilverStripe\Dev\Deprecation;
use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\DataObjectInterface; use SilverStripe\ORM\DataObjectInterface;
@ -19,8 +19,8 @@ use SilverStripe\ORM\FieldType\DBHTMLText;
use SilverStripe\ORM\SS_List; use SilverStripe\ORM\SS_List;
use SilverStripe\ORM\ValidationException; use SilverStripe\ORM\ValidationException;
use SilverStripe\ORM\ValidationResult; use SilverStripe\ORM\ValidationResult;
use SilverStripe\Security\SecurityToken;
use SilverStripe\Security\NullSecurityToken; use SilverStripe\Security\NullSecurityToken;
use SilverStripe\Security\SecurityToken;
use SilverStripe\View\SSViewer; use SilverStripe\View\SSViewer;
/** /**
@ -1661,16 +1661,30 @@ class Form extends RequestHandler
if (array_key_exists($name, $data)) { if (array_key_exists($name, $data)) {
$exists = true; $exists = true;
$val = $data[$name]; $val = $data[$name];
} // If field is in array-notation we need to access nested data } elseif (preg_match_all('/(.*)\[(.*)\]/U', $name, $matches)) {
elseif (strpos($name, '[')) { // If field is in array-notation we need to access nested data
// First encode data using PHP's method of converting nested arrays to form data //discard first match which is just the whole string
$flatData = urldecode(http_build_query($data)); array_shift($matches);
// Then pull the value out from that flattened string $keys = array_pop($matches);
preg_match('/' . addcslashes($name, '[]') . '=([^&]*)/', $flatData, $matches); $name = array_shift($matches);
$name = array_shift($name);
if (isset($matches[1])) { if (array_key_exists($name, $data)) {
$exists = true; $tmpData = &$data[$name];
$val = $matches[1]; // 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) public function duplicate($doWrite = true)
{ {
$map = $this->toMap();
unset($map['Created']);
/** @var static $clone */ /** @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->ID = 0;
$clone->invokeWithExtensions('onBeforeDuplicate', $this, $doWrite); $clone->invokeWithExtensions('onBeforeDuplicate', $this, $doWrite);

View File

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

View File

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

View File

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

View File

@ -73,6 +73,20 @@ class HTMLEditorFieldTest extends FunctionalTest
parent::tearDown(); 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() public function testBasicSaving()
{ {
$obj = new TestObject(); $obj = new TestObject();

View File

@ -8,6 +8,20 @@ use SilverStripe\Forms\TextareaField;
class TextareaFieldTest extends SapphireTest 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. * 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\ORM\DataObject;
use SilverStripe\Dev\SapphireTest; use SilverStripe\Dev\SapphireTest;
use SilverStripe\ORM\FieldType\DBDatetime;
class DataObjectDuplicationTest extends SapphireTest class DataObjectDuplicationTest extends SapphireTest
{ {
@ -18,10 +19,11 @@ class DataObjectDuplicationTest extends SapphireTest
public function testDuplicate() public function testDuplicate()
{ {
DBDatetime::set_mock_now('2016-01-01 01:01:01');
$orig = new DataObjectDuplicationTest\Class1(); $orig = new DataObjectDuplicationTest\Class1();
$orig->text = 'foo'; $orig->text = 'foo';
$orig->write(); $orig->write();
DBDatetime::set_mock_now('2016-01-02 01:01:01');
$duplicate = $orig->duplicate(); $duplicate = $orig->duplicate();
$this->assertInstanceOf( $this->assertInstanceOf(
DataObjectDuplicationTest\Class1::class, DataObjectDuplicationTest\Class1::class,
@ -43,6 +45,8 @@ class DataObjectDuplicationTest extends SapphireTest
DataObjectDuplicationTest\Class1::get()->Count(), DataObjectDuplicationTest\Class1::get()->Count(),
'Only creates a single duplicate' '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() public function testDuplicateHasOne()

View File

@ -213,35 +213,39 @@ class ShortcodeParserTest extends SapphireTest
$this->assertEquals(preg_replace('/\s+/', '', $a), preg_replace('/\s+/', '', $b), $message); $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 // Left extracts to before the current block
$this->assertEqualsIgnoringWhitespace( $this->assertEqualsIgnoringWhitespace(
'Code<div>FooBar</div>', 'Code<div>FooBar</div>',
$this->parser->parse('<div>Foo[test_shortcode class=left]Code[/test_shortcode]Bar</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 // Even if the immediate parent isn't a the current block
$this->assertEqualsIgnoringWhitespace( $this->assertEqualsIgnoringWhitespace(
'Code<div>Foo<b>BarBaz</b>Qux</div>', '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>') $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 // Center splits the current block
$this->assertEqualsIgnoringWhitespace( $this->assertEqualsIgnoringWhitespace(
'<div>Foo</div>Code<div>Bar</div>', '<div>Foo</div>Code<div>Bar</div>',
$this->parser->parse('<div>Foo[test_shortcode class=center]Code[/test_shortcode]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 // Even if the immediate parent isn't a the current block
$this->assertEqualsIgnoringWhitespace( $this->assertEqualsIgnoringWhitespace(
'<div>Foo<b>Bar</b></div>Code<div><b>Baz</b>Qux</div>', '<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>') $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 // No class means don't extract
$this->assertEqualsIgnoringWhitespace( $this->assertEqualsIgnoringWhitespace(
'<div>FooCodeBar</div>', '<div>FooCodeBar</div>',