Merge branch '3.4' into 3.5

This commit is contained in:
Daniel Hensby 2016-11-28 13:36:06 +00:00
commit 4bb6765392
No known key found for this signature in database
GPG Key ID: B00D1E9767F0B06E
13 changed files with 608 additions and 465 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": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa?", "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"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": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa?", "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"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

@ -0,0 +1,16 @@
# 3.1.21
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Security
* 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016)
* 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
### Bugfixes
* 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby)

View File

@ -0,0 +1,29 @@
# 3.2.6
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Security
* 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016)
* 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015)
* 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014)
* 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013)
* 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008)
* 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member-&gt;canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011)
* 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
### Bugfixes
* 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee)
* 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby)
* 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby)
* 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby)
* 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby)
* 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman)
* 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby)

View File

@ -0,0 +1,36 @@
# 3.3.4
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Security
* 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016)
* 2016-08-02 [12a6b35](https://github.com/silverstripe/silverstripe-framework/commit/12a6b357e761f09d818fd0013eb2d85014de79a0) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015)
* 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015)
* 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014)
* 2016-07-25 [b1f4497](https://github.com/silverstripe/silverstripe-framework/commit/b1f449762b5d11658b11d5036d5ae361a95fd61e) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014)
* 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013)
* 2016-07-22 [281b0de](https://github.com/silverstripe/silverstripe-framework/commit/281b0de571fe0ae159ac47891c02acf2214fa619) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013)
* 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008)
* 2016-07-15 [dc47f7e](https://github.com/silverstripe/silverstripe-framework/commit/dc47f7ec9adf67a3f31887467de5b110e8e5b285) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008)
* 2016-07-14 [2b30ade](https://github.com/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442) ChangePasswordForm does not check $member-&gt;canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011)
* 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member-&gt;canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011)
* 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [cff2ea9](https://github.com/silverstripe/silverstripe-reports/commit/cff2ea9a98f592d80083633aef6bd082480281d9) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
### Bugfixes
* 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee)
* 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby)
* 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby)
* 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby)
* 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby)
* 2016-08-15 [5ad8157](https://github.com/silverstripe/silverstripe-cms/commit/5ad8157655a5dd581cbc90a95e8588907794a9c9) Fix regression in FormField casting (Damian Mooyman)
* 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman)
* 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby)

View File

@ -0,0 +1,67 @@
# 3.4.2
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Security
* 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010)
* 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016)
* 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015)
* 2016-08-02 [12a6b35](https://github.com/silverstripe/silverstripe-framework/commit/12a6b357e761f09d818fd0013eb2d85014de79a0) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015)
* 2016-08-02 [049cdef](https://github.com/silverstripe/silverstripe-framework/commit/049cdefacfd3122d59d5488c1317f999fe8aacc4) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015)
* 2016-07-25 [fa7f5af](https://github.com/silverstripe/silverstripe-framework/commit/fa7f5af8618a83c865b11fd6cc981ad9661046e6) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014)
* 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014)
* 2016-07-25 [b1f4497](https://github.com/silverstripe/silverstripe-framework/commit/b1f449762b5d11658b11d5036d5ae361a95fd61e) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014)
* 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013)
* 2016-07-22 [281b0de](https://github.com/silverstripe/silverstripe-framework/commit/281b0de571fe0ae159ac47891c02acf2214fa619) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013)
* 2016-07-22 [83e3302](https://github.com/silverstripe/silverstripe-framework/commit/83e3302c0425d9b0e4fe42e82e3df03379f4dca5) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013)
* 2016-07-15 [f85dea2](https://github.com/silverstripe/silverstripe-framework/commit/f85dea2e6d5b303abd43b5e5efc07c66c8d2acf4) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008)
* 2016-07-15 [dc47f7e](https://github.com/silverstripe/silverstripe-framework/commit/dc47f7ec9adf67a3f31887467de5b110e8e5b285) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008)
* 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008)
* 2016-07-14 [6d41db7](https://github.com/silverstripe/silverstripe-framework/commit/6d41db77fa78f473db7bcff389456c980ef4e412) ChangePasswordForm does not check $member-&gt;canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011)
* 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member-&gt;canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011)
* 2016-07-14 [2b30ade](https://github.com/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442) ChangePasswordForm does not check $member-&gt;canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011)
* 2016-07-14 [cff2ea9](https://github.com/silverstripe/silverstripe-reports/commit/cff2ea9a98f592d80083633aef6bd082480281d9) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [efa20d2](https://github.com/silverstripe/silverstripe-reports/commit/efa20d2da03f80758cce7fe697c62f7f42fe098a) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012)
* 2016-05-03 [3fa84cf](https://github.com/silverstripe/silverstripe-framework/commit/3fa84cf0c64a539d78600c36364817a8e38411d8) Encode user supplied URL for embeding into page (Daniel Hensby) - See [ss-2016-007](http://www.silverstripe.org/download/security-releases/ss-2016-007)
### API Changes
* 2016-09-05 [c6457c5](https://github.com/silverstripe/silverstripe-framework/commit/c6457c50e970654b43ff009933a80a1a493186fb) Allow has_many fixtures to be declared with array format as well as many_many (#5944) (Damian Mooyman)
### Bugfixes
* 2016-11-09 [ebae480](https://github.com/silverstripe/silverstripe-framework/commit/ebae480c662032d58a14f44055428b9309563874) Fix regression in aggregate column lookup from #6199 (Damian Mooyman)
* 2016-11-09 [6bf36fb](https://github.com/silverstripe/silverstripe-framework/commit/6bf36fbd30c9d0e1375430e692b0e50206a0cfcb) Correct return type for Member::currentUser() (Loz Calver)
* 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee)
* 2016-11-03 [135a647](https://github.com/silverstripe/silverstripe-framework/commit/135a64761fac74cc7ac75640551c5a14874ade95) Ensure that builds use the 3.4 dependencies. (Sam Minnee)
* 2016-10-30 [747bd4c](https://github.com/silverstripe/silverstripe-framework/commit/747bd4cac00383fffea66dea75f7e21e13df7088) filterAny error message now refers to correct method name (Daniel Hensby)
* 2016-10-22 [bec5adf](https://github.com/silverstripe/silverstripe-framework/commit/bec5adf09b733904a4e8d0aa55bdc337489af533) Versioned sort by ID (Jonathon Menz)
* 2016-10-19 [b0445f7](https://github.com/silverstripe/silverstripe-framework/commit/b0445f72e4cce324308bb32384d578e43753cd6d) Ambiguous column SQL error (Jonathon Menz)
* 2016-10-16 [fe81607](https://github.com/silverstripe/silverstripe-framework/commit/fe816076fc5a2b3b1e497b8c51c76430311eea2c) Make simplexml_load_file work on shared php-fpm (Nicola Fontana)
* 2016-10-11 [7368dec](https://github.com/silverstripe/silverstripe-framework/commit/7368deca8f409c5aba94a6b646d7c0ac4fbd452f) Fix issue with SS_List as datasource for dropdown field (Damian Mooyman)
* 2016-10-07 [ae83b7b](https://github.com/silverstripe/silverstripe-cms/commit/ae83b7b5ef28df5f5b3f752435f3b36b078f619a) History controller now shows right comparison versions (Daniel Hensby)
* 2016-10-04 [797be6a](https://github.com/silverstripe/silverstripe-framework/commit/797be6ac82f6938af06c24c99150648ff214f797) Revert natural sort (Jonathon Menz)
* 2016-10-04 [6dde5ce](https://github.com/silverstripe/silverstripe-framework/commit/6dde5ce5718911d8e405eb590c68036ceaa6e608) Absolute alternate_base_url no longer breaks session cookies (Daniel Hensby)
* 2016-10-03 [98d95cd](https://github.com/silverstripe/silverstripe-cms/commit/98d95cd70708ae1f15a9bf5c5a661cd66f449f2f) Sort order for duplicated child pages is now retained (Daniel Hensby)
* 2016-09-29 [ae4108b](https://github.com/silverstripe/silverstripe-framework/commit/ae4108bf00e9503c5748c4129df7e1c3ea8c8b5f) Content-Disposition header breaks in Firefox (#4087) (Anton Smith)
* 2016-09-19 [32d1856](https://github.com/silverstripe/silverstripe-framework/commit/32d1856d40416438c52b8eb0651814a0fd32c0eb) Debug::caller() will now handle errors from outside function calls (#6029) (Daniel Hensby)
* 2016-09-19 [d2d770c](https://github.com/silverstripe/silverstripe-framework/commit/d2d770c6fbaeb3ea209853dd44017198a6232c01) Frontend UploadField wouldn't call ssdialog (Cristian Torres)
* 2016-09-14 [cd8904e](https://github.com/silverstripe/silverstripe-framework/commit/cd8904e0454617b243c8e89c06c694844817f212) ing button destroy bug (3Dgoo)
* 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby)
* 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby)
* 2016-09-01 [f2ed59e](https://github.com/silverstripe/silverstripe-framework/commit/f2ed59e1851b4506f02994dd4a1f3ffa86938cb9) Empty dmyfields on DateField now validate as true (Daniel Hensby)
* 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby)
* 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby)
* 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman)
* 2016-08-15 [5ad8157](https://github.com/silverstripe/silverstripe-cms/commit/5ad8157655a5dd581cbc90a95e8588907794a9c9) Fix regression in FormField casting (Damian Mooyman)
* 2016-08-15 [a6a9cd7](https://github.com/silverstripe/silverstripe-cms/commit/a6a9cd729fd24b19f7b39fdeb867a491489687e0) Fix regression in FormField casting (Damian Mooyman)
* 2016-08-11 [d4114b3](https://github.com/silverstripe/silverstripe-framework/commit/d4114b3dce73ffaf786af7ce76f2e1c6f1483d47) include related fields on canFilter() check (Jonathon Menz)
* 2016-08-09 [63fc4db](https://github.com/silverstripe/silverstripe-cms/commit/63fc4dbcaebcc7063f8075681d8b1f09608afe1c) Fix extra border in page settings (Damian Mooyman)
* 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby)

View File

@ -220,11 +220,6 @@ class UploadField extends FileField {
$this->getValidator()->setAllowedExtensions( $this->getValidator()->setAllowedExtensions(
array_filter(Config::inst()->get('File', 'allowed_extensions')) array_filter(Config::inst()->get('File', 'allowed_extensions'))
); );
// get the lower max size
$maxUpload = File::ini2bytes(ini_get('upload_max_filesize'));
$maxPost = File::ini2bytes(ini_get('post_max_size'));
$this->getValidator()->setAllowedMaxFileSize(min($maxUpload, $maxPost));
} }
/** /**

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

@ -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: "Filesize 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: "Filesize is too large, maximum {size} allowed"
TOOLARGESHORT: 'File size exceeds {size}' TOOLARGESHORT: "Filesize 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 cannot be displayed"
IMAGEALTTEXTDESC: 'Shown to screen readers or if image can''t be displayed' IMAGEALTTEXTDESC: "Shown to screen readers or if image can not 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: Actions
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 upated 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?' REMEMBERME: "Remember me next time?"
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 %s"
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

@ -606,9 +606,9 @@ class ShortcodeParser extends Object {
if(!empty($tag['attrs']['location'])) $class = $tag['attrs']['location']; if(!empty($tag['attrs']['location'])) $class = $tag['attrs']['location'];
else if(!empty($tag['attrs']['class'])) $class = $tag['attrs']['class']; else if(!empty($tag['attrs']['class'])) $class = $tag['attrs']['class'];
$location = self::INLINE; $location = self::INLINE;
if($class == 'left' || $class == 'right') $location = self::BEFORE; if($class == 'left' || $class == 'right') $location = self::BEFORE;
if($class == 'center' || $class == 'leftALone') $location = self::SPLIT; if($class == 'center' || $class == 'leftAlone') $location = self::SPLIT;
if(!$parent) { if(!$parent) {
if($location !== self::INLINE) { if($location !== self::INLINE) {