rbarreiros: #1918 Translate newsletter and other strings

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47832 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2008-01-10 03:28:13 +00:00
parent 5529aa2e5f
commit fea4042c3c
51 changed files with 655 additions and 258 deletions

View File

@ -231,6 +231,27 @@ class DataObject extends Controller implements DataObjectInterface {
return $name; return $name;
} }
/**
* Get the translated user friendly singular name of this DataObject
* same as singular_name() but runs it through the translating function
*
* NOTE:
* It uses as default text if no translation found the $add_action when
* defined or else the default text is singular_name()
*
* Translating string is in the form:
* $this->class.SINGULARNAME
* Example:
* Page.SINGULARNAME
*
* @return string User friendly translated singular name of this DataObject
*/
function i18n_singular_name()
{
$name = (!empty($this->add_action)) ? $this->add_action : $this->singular_name();
return _t($this->class.'.SINGULARNAME', $name);
}
/** /**
* Get the user friendly plural name of this DataObject * Get the user friendly plural name of this DataObject
* If the name is not defined (by renaming $plural_name in the subclass), * If the name is not defined (by renaming $plural_name in the subclass),
@ -250,6 +271,22 @@ class DataObject extends Controller implements DataObjectInterface {
} }
} }
/**
* Get the translated user friendly plural name of this DataObject
* Same as plural_name but runs it through the translation function
* Translation string is in the form:
* $this->class.PLURALNAME
* Example:
* Page.PLURALNAME
*
* @return string User friendly translated plural name of this DataObject
*/
function i18n_plural_name()
{
$name = $this->plural_name();
return _t($this->class.'.PLURALNAME', $name);
}
/** /**
* Returns the associated database record - in this case, the object itself. * Returns the associated database record - in this case, the object itself.
* This is included so that you can call $dataOrController->data() and get a DataObject all the time. * This is included so that you can call $dataOrController->data() and get a DataObject all the time.

View File

@ -27,10 +27,10 @@ class ErrorPage extends Page {
if(!DataObject::get_one("ErrorPage", "ErrorCode = '404'")) { if(!DataObject::get_one("ErrorPage", "ErrorCode = '404'")) {
$errorpage = new ErrorPage(); $errorpage = new ErrorPage();
$errorpage->ErrorCode = 404; $errorpage->ErrorCode = 404;
$errorpage->Title = "Page not found"; $errorpage->Title = _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found');
$errorpage->URLSegment = "page-not-found"; $errorpage->URLSegment = "page-not-found";
$errorpage->ShowInMenus = false; $errorpage->ShowInMenus = false;
$errorpage->Content = "<p>Sorry, it seems you were trying to access a page that doesn't exist.</p><p>Please check the spelling of the URL you were trying to access and try again.</p>"; $errorpage->Content = _t('ErrorPage.DEFAULTERRORPAGECONTENT', '<p>Sorry, it seems you were trying to access a page that doesn\'t exist.</p><p>Please check the spelling of the URL you were trying to access and try again.</p>');
$errorpage->Status = "New page"; $errorpage->Status = "New page";
$errorpage->write(); $errorpage->write();
// Don't publish, as the manifest may not be built yet // Don't publish, as the manifest may not be built yet
@ -50,8 +50,8 @@ class ErrorPage extends Page {
"ErrorCode", "ErrorCode",
_t('ErrorPage.CODE', "Error code"), _t('ErrorPage.CODE', "Error code"),
array( array(
404 => "404 - Page not found", 404 => _t('ErrorPage.404', '404 - Page not found'),
500 => "500 - Server error" 500 => _t('ErrorPage.500', '500 - Server error')
) )
), ),
"Content" "Content"

View File

@ -708,8 +708,8 @@ class SiteTree extends DataObject {
if(!DataObject::get_one("SiteTree", "URLSegment = 'home'")) { if(!DataObject::get_one("SiteTree", "URLSegment = 'home'")) {
$homepage = new Page(); $homepage = new Page();
$homepage->Title = "Home"; $homepage->Title = _t('SiteTree.DEFAULTHOMETITLE', 'Home');
$homepage->Content = "<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href=\"admin/\">the CMS</a>. You can now access the <a href=\"http://doc.silverstripe.com\">developer documentation</a>, or begin <a href=\"http://doc.silverstripe.com/doku.php?id=tutorials\">the tutorials.</a></p>"; $homepage->Content = _t('SiteTree.DEFAULTHOMECONTENT', '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href=\"admin/\">the CMS</a>. You can now access the <a href=\"http://doc.silverstripe.com\">developer documentation</a>, or begin <a href=\"http://doc.silverstripe.com/doku.php?id=tutorials\">the tutorials.</a></p>');
$homepage->URLSegment = "home"; $homepage->URLSegment = "home";
$homepage->Status = "Published"; $homepage->Status = "Published";
$homepage->write(); $homepage->write();
@ -720,8 +720,8 @@ class SiteTree extends DataObject {
if(DB::query("SELECT COUNT(*) FROM SiteTree")->value() == 1) { if(DB::query("SELECT COUNT(*) FROM SiteTree")->value() == 1) {
$aboutus = new Page(); $aboutus = new Page();
$aboutus->Title = "About Us"; $aboutus->Title = _t('SiteTree.DEFAULTABOUTTITLE', 'About Us');
$aboutus->Content = "<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>"; $aboutus->Content = _t('SiteTree.DEFAULTABOUTCONTENT', '<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>');
$aboutus->URLSegment = "about-us"; $aboutus->URLSegment = "about-us";
$aboutus->Status = "Published"; $aboutus->Status = "Published";
$aboutus->write(); $aboutus->write();
@ -729,8 +729,8 @@ class SiteTree extends DataObject {
Database::alteration_message("About Us created","created"); Database::alteration_message("About Us created","created");
$contactus = new Page(); $contactus = new Page();
$contactus->Title = "Contact Us"; $contactus->Title = _t('SiteTree.DEFAULTCONTACTTITLE', 'Contact Us');
$contactus->Content = "<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>"; $contactus->Content = _t('SiteTree.DEFAULTCONTACTCONTENT', '<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>');
$contactus->URLSegment = "contact-us"; $contactus->URLSegment = "contact-us";
$contactus->Status = "Published"; $contactus->Status = "Published";
$contactus->write(); $contactus->write();
@ -1220,25 +1220,28 @@ class SiteTree extends DataObject {
$instance = singleton($class); $instance = singleton($class);
if((($instance instanceof HiddenClass) || !$instance->canCreate()) && ($class != $this->class)) continue; if((($instance instanceof HiddenClass) || !$instance->canCreate()) && ($class != $this->class)) continue;
/*
$addAction = $instance->uninherited('add_action', true); $addAction = $instance->uninherited('add_action', true);
if(!$addAction) { if(!$addAction) {
$addAction = $instance->singular_name(); $addAction = $instance->singular_name();
} }
*/
$addAction = $instance->i18n_singular_name();
if($class == $this->class) { if($class == $this->class) {
$currentClass = $class; $currentClass = $class;
$currentAddAction = $addAction; $currentAddAction = $addAction;
} else { } else {
$result[$class] = ($class == $this->class) $result[$class] = ($class == $this->class)
? "Currently $addAction" ? _t('SiteTree.CURRENTLY', 'Currently').' '.$addAction
: "Change to $addAction"; : _t('SiteTree.CHANGETO', 'Change to').' '.$addAction;
} }
} }
// sort alphabetically, and put current on top // sort alphabetically, and put current on top
asort($result); asort($result);
$result = array_reverse($result); $result = array_reverse($result);
$result[$currentClass] = "{$currentAddAction} (current)"; $result[$currentClass] = $currentAddAction.' ('._t('SiteTree.CURRENT','current').')';
$result = array_reverse($result); $result = array_reverse($result);
return $result; return $result;

View File

@ -610,17 +610,17 @@ class Translatable extends DataObjectDecorator {
} }
$fields->addFieldsToTab( $fields->addFieldsToTab(
'Root', 'Root',
new Tab("Translations", new Tab(_t('Translatable.TRANSLATIONS', 'Translations'),
new HeaderField("Create new translation", 2), new HeaderField(_t('Translatable.CREATE', 'Create new translation'), 2),
$langDropdown = new LanguageDropdownField("NewTransLang", "New language", $alreadyTranslatedLangs), $langDropdown = new LanguageDropdownField("NewTransLang", _t('Translatable.NEWLANGUAGE', 'New language'), $alreadyTranslatedLangs),
$createButton = new InlineFormAction('createtranslation',"Create") $createButton = new InlineFormAction('createtranslation',_t('Translatable.CREATEBUTTON', 'Create'))
) )
); );
if (count($alreadyTranslatedLangs)) { if (count($alreadyTranslatedLangs)) {
$fields->addFieldsToTab( $fields->addFieldsToTab(
'Root.Translations', 'Root.Translations',
new FieldSet( new FieldSet(
new HeaderField("Existing translations:", 3), new HeaderField(_t('Translatable.EXISTING', 'Existing translations:'), 3),
new LiteralField('existingtrans',implode(', ',$alreadyTranslatedLangs)) new LiteralField('existingtrans',implode(', ',$alreadyTranslatedLangs))
) )
); );

View File

@ -104,7 +104,7 @@ class Date extends DBField {
if(time() < strtotime($this->value)) $agoWord = _t("Date.AWAY", " away"); if(time() < strtotime($this->value)) $agoWord = _t("Date.AWAY", " away");
else $agoWord = _t("Date.AGO", " ago"); else $agoWord = _t("Date.AGO", " ago");
return $this->TimeDiff() . $agoWord; return $this->TimeDiff() . ' ' . $agoWord;
} }
} }

View File

@ -91,7 +91,7 @@ class BankAccountField extends FormField {
$jsRequired .= "require('$name')\n"; $jsRequired .= "require('$name')\n";
} }
} }
$error = _t('BankAccountField.VALIDATIONJS', 'Please enter a valid bank number');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -115,7 +115,7 @@ Behaviour.register({
// TODO Find a way to mark multiple error fields // TODO Find a way to mark multiple error fields
validationError( validationError(
fieldName+"-AccountNumber", fieldName+"-AccountNumber",
"Please enter a valid bank number", "$error",
"validation", "validation",
false false
); );

View File

@ -16,7 +16,7 @@ class CompositeDateField extends DateField {
list($year,$month, $date) = explode('-', $value); list($year,$month, $date) = explode('-', $value);
$this->dateDropdown = new DropdownField($name."[date]", "", $this->dateDropdown = new DropdownField($name."[date]", "",
array('NotSet' => '(Day)', array('NotSet' => '('._t('CompositeDateField.DAY', 'Day').')',
'01'=>'01', '02'=>'02', '03'=>'03', '04'=>'04', '05'=>'05', '01'=>'01', '02'=>'02', '03'=>'03', '04'=>'04', '05'=>'05',
'06'=>'06', '07'=>'07', '08'=>'08', '09'=>'09', '10'=>'10', '06'=>'06', '07'=>'07', '08'=>'08', '09'=>'09', '10'=>'10',
'11'=>'11', '12'=>'12', '13'=>'13', '14'=>'14', '15'=>'15', '11'=>'11', '12'=>'12', '13'=>'13', '14'=>'14', '15'=>'15',
@ -29,7 +29,7 @@ class CompositeDateField extends DateField {
); );
$this->monthDropdown = new DropdownField($name."[month]", "", $this->monthDropdown = new DropdownField($name."[month]", "",
array( 'NotSet' => '(Month)', array( 'NotSet' => '('._t('CompositeDateField.MONTH', 'Month').')',
'01'=>'01', '02'=>'02', '03'=>'03', '04'=>'04', '05'=>'05', '01'=>'01', '02'=>'02', '03'=>'03', '04'=>'04', '05'=>'05',
'06'=>'06', '07'=>'07', '08'=>'08', '09'=>'09', '10'=>'10', '06'=>'06', '07'=>'07', '08'=>'08', '09'=>'09', '10'=>'10',
'11'=>'11', '12'=>'12' '11'=>'11', '12'=>'12'
@ -94,7 +94,11 @@ class CompositeDateField extends DateField {
function jsValidation() { function jsValidation() {
$formID = $this->form->FormName(); $formID = $this->form->FormName();
$error1 = _t('CompositeDateField.VALIDATIONJS1', 'Please ensure you have set the');
$error2 = _t('CompositeDateField.VALIDATIONJS2', 'correctly.');
$day = _t('CompositeDateField.DAYJS', 'day');
$month = _t('CompositeDateField.MONTHJS', 'month');
$year = _t('CompositeDateField.YEARJS', 'year');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -110,11 +114,11 @@ Behaviour.register({
// The default selected value is 'NotSet' // The default selected value is 'NotSet'
if(dateParts[i].value == 'NotSet'){ if(dateParts[i].value == 'NotSet'){
switch(i){ switch(i){
case 0: err = "day"; break; case 0: err = "$day"; break;
case 1: err = "month"; break; case 1: err = "$month"; break;
case 2: err = "year"; break; case 2: err = "$year"; break;
} }
validationError(dateParts[i],"Please ensure you have set the '" + err + "' correctly.","validation"); validationError(dateParts[i],"$error1 '" + err + "' $error2","validation");
return false; return false;
} }
} }

View File

@ -154,18 +154,20 @@ class ConfirmedPasswordField extends FormField {
return true; return true;
} }
"; ";
$error1 = _t('ConfirmedPasswordField.HAVETOMATCH', 'Passwords have to match.');
$jsTests .= " $jsTests .= "
if(passEl.value != confEl.value) { if(passEl.value != confEl.value) {
validationError(confEl, \"Passwords have to match.\", \"error\"); validationError(confEl, \"$error1\", \"error\");
return false; return false;
} }
"; ";
$error2 = _t('ConfirmedPasswordField.NOEMPTY', 'Passwords can\'t be empty.');
if(!$this->canBeEmpty) { if(!$this->canBeEmpty) {
$jsTests .= " $jsTests .= "
if(!passEl.value || !confEl.value) { if(!passEl.value || !confEl.value) {
validationError(confEl, \"Passwords can't be empty.\", \"error\"); validationError(confEl, \"$error2\", \"error\");
return false; return false;
} }
"; ";
@ -174,13 +176,13 @@ class ConfirmedPasswordField extends FormField {
if(($this->minLength || $this->maxLength)) { if(($this->minLength || $this->maxLength)) {
if($this->minLength && $this->maxLength) { if($this->minLength && $this->maxLength) {
$limit = "{$this->minLength},{$this->maxLength}"; $limit = "{$this->minLength},{$this->maxLength}";
$errorMsg = "Passwords must be {$this->minLength} to {$this->maxLength} characters long."; $errorMsg = sprintf(_t('ConfirmedPasswordField.BETWEEN', 'Passwords must be %s to %s characters long.'), $this->minLength, $this->maxLength);
} elseif($this->minLength) { } elseif($this->minLength) {
$limit = "{$this->minLength}"; $limit = "{$this->minLength}";
$errorMsg = "Passwords must be at least {$this->minLength} characters long."; $errorMsg = sprintf(_t('ConfirmedPasswordField.ATLEAST', 'Passwords must be at least %s characters long.'), $this->minLength);
} elseif($this->maxLength) { } elseif($this->maxLength) {
$limit = "0,{$this->maxLength}"; $limit = "0,{$this->maxLength}";
$errorMsg = "Passwords must be at most {$this->maxLength} characters long."; $errorMsg = sprintf(_t('ConfirmedPasswordField.MAXIMUM', 'Passwords must be at most %s characters long.'), $this->maxLength);
} }
$limitRegex = '/^.{' . $limit . '}$/'; $limitRegex = '/^.{' . $limit . '}$/';
$jsTests .= " $jsTests .= "
@ -191,12 +193,13 @@ class ConfirmedPasswordField extends FormField {
"; ";
} }
$error3 = _t('ConfirmedPasswordField.LEASTONE', 'Passwords must have at least one digit and one alphanumeric character.');
if($this->requireStrongPassword) { if($this->requireStrongPassword) {
$jsTests .= " $jsTests .= "
if(!passEl.value.match(/^(([a-zA-Z]+\d+)|(\d+[a-zA-Z]+))[a-zA-Z0-9]*$/)) { if(!passEl.value.match(/^(([a-zA-Z]+\d+)|(\d+[a-zA-Z]+))[a-zA-Z0-9]*$/)) {
validationError( validationError(
confEl, confEl,
\"Passwords must have at least one digit and one alphanumeric character.\", \"$error3\",
\"error\" \"error\"
); );
return false; return false;
@ -273,13 +276,13 @@ JS;
if(($this->minLength || $this->maxLength)) { if(($this->minLength || $this->maxLength)) {
if($this->minLength && $this->maxLength) { if($this->minLength && $this->maxLength) {
$limit = "{$this->minLength},{$this->maxLength}"; $limit = "{$this->minLength},{$this->maxLength}";
$errorMsg = "Passwords must be {$this->minLength} to {$this->maxLength} characters long."; $errorMsg = sprintf(_t('ConfirmedPasswordField.BETWEEN', 'Passwords must be %s to %s characters long.'), $this->minLength, $this->maxLength);
} elseif($this->minLength) { } elseif($this->minLength) {
$limit = "{$this->minLength}"; $limit = "{$this->minLength}";
$errorMsg = "Passwords must be at least {$this->minLength} characters long."; $errorMsg = sprintf(_t('ConfirmedPasswordField.ATLEAST', 'Passwords must be at least %s characters long.'), $this->minLength);
} elseif($this->maxLength) { } elseif($this->maxLength) {
$limit = "0,{$this->maxLength}"; $limit = "0,{$this->maxLength}";
$errorMsg = "Passwords must be at most {$this->maxLength} characters long."; $errorMsg = sprintf(_t('ConfirmedPasswordField.MAXIMUM', 'Passwords must be at most %s characters long.'), $this->maxLength);
} }
$limitRegex = '/^.{' . $limit . '}$/'; $limitRegex = '/^.{' . $limit . '}$/';
if(!empty($value) && !preg_match($limitRegex,$value)) { if(!empty($value) && !preg_match($limitRegex,$value)) {

View File

@ -29,7 +29,12 @@ class CreditCardField extends TextField {
function jsValidation() { function jsValidation() {
$formID = $this->form->FormName(); $formID = $this->form->FormName();
$error = _t('CreditCardField.VALIDATIONJS1', 'Please ensure you have entered the');
$error2 = _t('CreditCardField.VALIDATIONJS2', 'credit card number correctly.');
$first = _t('CreditCardField.FIRST', 'first');
$second = _t('CreditCardField.SECOND', 'second');
$third = _t('CreditCardField.THIRD', 'third');
$fourth = _t('CreditCardField.FOURTH', 'fourth');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -58,12 +63,12 @@ Behaviour.register({
!cardParts[i].value.match(/[0-9]{4}/) !cardParts[i].value.match(/[0-9]{4}/)
){ ){
switch(i){ switch(i){
case 0: number = "first"; break; case 0: number = "$first"; break;
case 1: number = "second"; break; case 1: number = "$second"; break;
case 2: number = "third"; break; case 2: number = "$third"; break;
case 3: number = "fourth"; break; case 3: number = "$fourth"; break;
} }
validationError(cardParts[i],"Please ensure you have entered the " + number + " credit card number correctly.","validation",false); validationError(cardParts[i],"$error1 " + number + " $error2","validation",false);
return false; return false;
} }
} }
@ -86,10 +91,10 @@ JS;
if($this->value) foreach($this->value as $part){ if($this->value) foreach($this->value as $part){
if(!$part || !(strlen($part) == 4) || !ereg("([0-9]{4})",$part)){ if(!$part || !(strlen($part) == 4) || !ereg("([0-9]{4})",$part)){
switch($i){ switch($i){
case 0: $number = "first"; break; case 0: $number = _t('CreditCardField.FIRST', 'first'); break;
case 1: $number = "second"; break; case 1: $number = _t('CreditCardField.SECOND', 'second'); break;
case 2: $number = "third"; break; case 2: $number = _t('CreditCardField.THIRD', 'third'); break;
case 3: $number = "fourth"; break; case 3: $number = _t('CreditCardField.FOURTH', 'fourth'); break;
} }
$validator->validationError( $validator->validationError(
$this->name, $this->name,

View File

@ -45,7 +45,7 @@ class CurrencyField extends TextField {
*/ */
function jsValidation() { function jsValidation() {
$formID = $this->form->FormName(); $formID = $this->form->FormName();
$error = _t('CurrencyField.VALIDATIONJS', 'Please enter a valid currency.');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -55,7 +55,7 @@ Behaviour.register({
var value = \$F(el); var value = \$F(el);
if(value.length > 0 && !value.match(/^\\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?\$/)) { if(value.length > 0 && !value.match(/^\\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?\$/)) {
validationError(el,"Please enter a valid currency.","validation",false); validationError(el,"$error","validation",false);
return false; return false;
} }
return true; return true;
@ -91,10 +91,10 @@ class CurrencyField_Readonly extends ReadonlyField{
function Field() { function Field() {
if($this->value){ if($this->value){
$val = $this->dontEscape ? ($this->reserveNL?Convert::raw2xml($this->value):$this->value) : Convert::raw2xml($this->value); $val = $this->dontEscape ? ($this->reserveNL?Convert::raw2xml($this->value):$this->value) : Convert::raw2xml($this->value);
$val = '$' . number_format(preg_replace('/[^0-9.]/',"",$val), 2); $val = _t('CurrencyField.CURRENCYSYMBOL', '$') . number_format(preg_replace('/[^0-9.]/',"",$val), 2);
}else { }else {
$val = '<i>$0.00</i>'; $val = '<i>'._t('CurrencyField.CURRENCYSYMBOL', '$').'0.00</i>';
} }
$valforInput = $this->value ? Convert::raw2att($val) : ""; $valforInput = $this->value ? Convert::raw2att($val) : "";
return "<span class=\"readonly\" id=\"" . $this->id() . "\">$val</span><input type=\"hidden\" name=\"".$this->name."\" value=\"".$valforInput."\" />"; return "<span class=\"readonly\" id=\"" . $this->id() . "\">$val</span><input type=\"hidden\" name=\"".$this->name."\" value=\"".$valforInput."\" />";

View File

@ -135,9 +135,10 @@ HTML
$idexport = $this->id() . '_exportToCSV'; $idexport = $this->id() . '_exportToCSV';
$idtype = $this->id() . '_Type'; $idtype = $this->id() . '_Type';
$class = $this->class; $class = $this->class;
if($this->export){ if($this->export){
$exportButton =<<<HTML $value = _t('EXPORTCSV', 'Export to CSV');
<input name="$idexport" style="width: 12em" type="button" id="$idexport" class="DataReport_ExportToCSVButton" value="Export to CSV" /> $exportButton =<<<HTML
<input name="$idexport" style="width: 12em" type="button" id="$idexport" class="DataReport_ExportToCSVButton" value="$value" />
<input name="Type" type="hidden" value="$class" id="$idtype" /> <input name="Type" type="hidden" value="$class" id="$idtype" />
HTML HTML
; ;

View File

@ -42,7 +42,7 @@ class DateField extends TextField {
function jsValidation($formID = null) function jsValidation($formID = null)
{ {
if(!$formID)$formID = $this->form->FormName(); if(!$formID)$formID = $this->form->FormName();
$error = _t('DateField.VALIDATIONJS', 'Please enter a valid date format (DD/MM/YYYY).');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -51,7 +51,7 @@ Behaviour.register({
var value = \$F(el); var value = \$F(el);
if(value && value.length > 0 && !value.match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-90-9]{2,4}\$/)) { if(value && value.length > 0 && !value.match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-90-9]{2,4}\$/)) {
validationError(el,"Please enter a valid date format (DD/MM/YYYY).","validation",false); validationError(el,"$error","validation",false);
return false; return false;
} }
return true; return true;
@ -98,7 +98,7 @@ class DateField_Disabled extends DateField {
function setValue($val) { function setValue($val) {
if($val && $val != "0000-00-00") $this->value = date('d/m/Y', strtotime($val)); if($val && $val != "0000-00-00") $this->value = date('d/m/Y', strtotime($val));
else $this->value = "(No date set)"; else $this->value = '('._t('DateField.NODATESET', 'No date set').')';
} }
function Field() { function Field() {
@ -107,12 +107,12 @@ class DateField_Disabled extends DateField {
$df->setValue($this->dataValue()); $df->setValue($this->dataValue());
if(date('Y-m-d', time()) == $this->dataValue()) { if(date('Y-m-d', time()) == $this->dataValue()) {
$val = Convert::raw2xml($this->value . ' (today)'); $val = Convert::raw2xml($this->value . ' ('._t('DateField.TODAY','today').')');
} else { } else {
$val = Convert::raw2xml($this->value . ', ' . $df->Ago()); $val = Convert::raw2xml($this->value . ', ' . $df->Ago());
} }
} else { } else {
$val = '<i>(not set)</i>'; $val = '<i>('._t('DateField.NOTSET', 'not set').')</i>';
} }
return "<span class=\"readonly\" id=\"" . $this->id() . "\">$val</span>"; return "<span class=\"readonly\" id=\"" . $this->id() . "\">$val</span>";

View File

@ -42,9 +42,9 @@ class EditableCheckbox extends EditableFormField {
function getFilterField() { function getFilterField() {
return new OptionsetField( $this->Name, return new OptionsetField( $this->Name,
$this->Title, $this->Title,
array( '-1' => '(Any)', array( '-1' => '('._t('EditableCheckbox.ANY', 'Any').')',
'on' => 'Selected', 'on' => _t('EditableCheckbox.SELECTED', 'Selected'),
'0' => 'Not selected' ) '0' => _t('EditableCheckbox.NOTSELECTED', 'Not selected') )
); );
} }
} }

View File

@ -30,7 +30,7 @@ class EditableEmailField extends EditableFormField {
$baseName = "Fields[$this->ID]"; $baseName = "Fields[$this->ID]";
$extraFields = new FieldSet( $extraFields = new FieldSet(
new CheckboxField( $baseName . "[SendCopy]", "Send copy of submission to this address", $this->SendCopy ) new CheckboxField( $baseName . "[SendCopy]", _t('EditableEmailField.SENDCOPY', 'Send copy of submission to this address'), $this->SendCopy )
); );
foreach( parent::ExtraOptions() as $extraField ) foreach( parent::ExtraOptions() as $extraField )

View File

@ -78,7 +78,7 @@ class EditableFormField extends DataObject {
$readOnlyAttr = ''; $readOnlyAttr = '';
} }
return "<input type=\"text\" class=\"text\" title=\"(Enter Question)\" value=\"$titleAttr\" name=\"Fields[{$this->ID}][Title]\"$readOnlyAttr />"; return "<input type=\"text\" class=\"text\" title=\"("._t('EditableFormField.ENTERQUESTION', 'Enter Question').")\" value=\"$titleAttr\" name=\"Fields[{$this->ID}][Title]\"$readOnlyAttr />";
} }
function Name() { function Name() {
@ -111,9 +111,9 @@ class EditableFormField extends DataObject {
$extraOptions = new FieldSet(); $extraOptions = new FieldSet();
if( !$this->Parent()->hasMethod( 'hideExtraOption' ) ){ if( !$this->Parent()->hasMethod( 'hideExtraOption' ) ){
$extraOptions->push( new CheckboxField($baseName . "[Required]", "Required?", $this->Required) ); $extraOptions->push( new CheckboxField($baseName . "[Required]", _t('EditableFormField.REQUIRED', 'Required?'), $this->Required) );
}elseif( !$this->Parent()->hideExtraOption( 'Required' ) ){ }elseif( !$this->Parent()->hideExtraOption( 'Required' ) ){
$extraOptions->push( new CheckboxField($baseName . "[Required]", "Required?", $this->Required) ); $extraOptions->push( new CheckboxField($baseName . "[Required]", _t('EditableFormField.REQUIRED', 'Required?'), $this->Required) );
} }
if( $this->Parent()->hasMethod( 'getExtraOptionsForField' ) ) { if( $this->Parent()->hasMethod( 'getExtraOptionsForField' ) ) {

View File

@ -37,12 +37,12 @@ class EditableTextField extends EditableFormField {
$baseName = "Fields[$this->ID]"; $baseName = "Fields[$this->ID]";
$extraFields = new FieldSet( $extraFields = new FieldSet(
new TextField($baseName . "[Size]", "Length of text box", (string)$this->Size), new TextField($baseName . "[Size]", _t('EditableTextField.TEXTBOXLENGTH', 'Length of text box'), (string)$this->Size),
new FieldGroup("Text length", new FieldGroup(_t('EditableTextField.TEXTLENGTH', 'Text length'),
new TextField($baseName . "[MinLength]", "", (string)$this->MinLength), new TextField($baseName . "[MinLength]", "", (string)$this->MinLength),
new TextField($baseName . "[MaxLength]", " - ", (string)$this->MaxLength) new TextField($baseName . "[MaxLength]", " - ", (string)$this->MaxLength)
), ),
new TextField($baseName . "[Rows]", "Number of rows", (string)$this->Rows) new TextField($baseName . "[Rows]", _t('EditableTextField.NUMBERROWS', 'Number of rows'), (string)$this->Rows)
); );
foreach( parent::ExtraOptions() as $extraField ) foreach( parent::ExtraOptions() as $extraField )
@ -89,9 +89,9 @@ class EditableTextField extends EditableFormField {
$disabled = ''; $disabled = '';
} }
if( $this->Rows == 1 ){ if( $this->Rows == 1 ){
return '<div class="field text"><label class="left">Default Text </label> <input class="defaultText" name="Fields['.Convert::raw2att( $this->ID ).'][Default]" type="text" value="'.Convert::raw2att( $this->getField('Default') ).'"'.$disabled.' /></div>'; return '<div class="field text"><label class="left">'._t('EditableTextField.DEFAULTTEXT', 'Default Text').' </label> <input class="defaultText" name="Fields['.Convert::raw2att( $this->ID ).'][Default]" type="text" value="'.Convert::raw2att( $this->getField('Default') ).'"'.$disabled.' /></div>';
}else{ }else{
return '<div class="field text"><label class="left">Default Text </label> <textarea class="defaultText" name="Fields['.Convert::raw2att( $this->ID ).'][Default]"'.$disabled.'>'.Convert::raw2att( $this->getField('Default') ).'</textarea></div>'; return '<div class="field text"><label class="left">'._t('EditableTextField.DEFAULTTEXT', 'Default Text').' </label> <textarea class="defaultText" name="Fields['.Convert::raw2att( $this->ID ).'][Default]"'.$disabled.'>'.Convert::raw2att( $this->getField('Default') ).'</textarea></div>';
} }
} }
} }

View File

@ -14,7 +14,7 @@ class EmailField extends TextField {
function jsValidation() { function jsValidation() {
$formID = $this->form->FormName(); $formID = $this->form->FormName();
$error = _t('EmailField.VALIDATIONJS', 'Please enter an email address.');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -25,7 +25,7 @@ Behaviour.register({
if(el.value.match(/^([a-zA-Z0-9_+\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)) { if(el.value.match(/^([a-zA-Z0-9_+\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)) {
return true; return true;
} else { } else {
validationError(el, "Please enter an email address.","validation"); validationError(el, "$error","validation");
return false; return false;
} }
} }

View File

@ -642,7 +642,7 @@ class Form extends ViewableData {
$result .= "</ul>"; $result .= "</ul>";
if( $this->validator ) if( $this->validator )
$result .= "<h3>Validator</h3>" . $this->validator->debug(); $result .= '<h3>'._t('Form.VALIDATOR', 'Validator').'</h3>' . $this->validator->debug();
return $result; return $result;
} }

View File

@ -231,7 +231,7 @@ class FormField extends ViewableData {
*/ */
function Field() { function Field() {
if($this->value) $val = $this->dontEscape ? ($this->reserveNL?Convert::raw2xml($this->value):$this->value) : Convert::raw2xml($this->value); if($this->value) $val = $this->dontEscape ? ($this->reserveNL?Convert::raw2xml($this->value):$this->value) : Convert::raw2xml($this->value);
else $val = '<i>(none)</i>'; else $val = '<i>('._t('FormField.NONE', 'none').')</i>';
$valforInput = $this->value ? Convert::raw2att($val) : ""; $valforInput = $this->value ? Convert::raw2att($val) : "";
return "<span class=\"readonly\" id=\"" . $this->id() . "\">$val</span>\n<input type=\"hidden\" name=\"".$this->name."\" value=\"".$valforInput."\" />"; return "<span class=\"readonly\" id=\"" . $this->id() . "\">$val</span>\n<input type=\"hidden\" name=\"".$this->name."\" value=\"".$valforInput."\" />";
} }

View File

@ -15,7 +15,7 @@ class GSTNumberField extends TextField {
function jsValidation() { function jsValidation() {
$formID = $this->form->FormName(); $formID = $this->form->FormName();
$error = _t('GSTNumberField.VALIDATIONJS', 'Please enter a valid GST Number');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -25,7 +25,7 @@ Behaviour.register({
var value = \$F(el); var value = \$F(el);
if(value.length > 0 && !value.match(/^[0-9]{2}[\-]?[0-9]{3}[\-]?[0-9]{3,4}\$/)) { if(value.length > 0 && !value.match(/^[0-9]{2}[\-]?[0-9]{3}[\-]?[0-9]{3,4}\$/)) {
validationError(el,"Please enter a valid GST Number","validation",false); validationError(el,"$error","validation",false);
return false; return false;
} }
return true; return true;

View File

@ -340,7 +340,7 @@ class HtmlEditorField_Toolbar extends ViewableData {
$this->controller, $this->controller,
"{$this->name}.LinkForm", "{$this->name}.LinkForm",
new FieldSet( new FieldSet(
new LiteralField('Heading', '<h2><img src="cms/images/closeicon.gif" alt="close" title="close" />Link</h2>'), new LiteralField('Heading', '<h2><img src="cms/images/closeicon.gif" alt="'._t('HtmlEditorField.CLOSE', 'close').'" title="'._t('HtmlEditorField.CLOSE', 'close').'" />'._t('HtmlEditorField.LINK', 'Link').'</h2>'),
new OptionsetField("LinkType", _t('HtmlEditorField.LINKTO', "Link to"), new OptionsetField("LinkType", _t('HtmlEditorField.LINKTO', "Link to"),
array( array(
"internal" => _t('HtmlEditorField.LINKINTERNAL',"Page on the site"), "internal" => _t('HtmlEditorField.LINKINTERNAL',"Page on the site"),
@ -370,7 +370,7 @@ class HtmlEditorField_Toolbar extends ViewableData {
$this->controller, $this->controller,
"{$this->name}.ImageForm", "{$this->name}.ImageForm",
new FieldSet( new FieldSet(
new LiteralField('Heading', '<h2><img src="cms/images/closeicon.gif" alt="close" title="close" />Image</h2>'), new LiteralField('Heading', '<h2><img src="cms/images/closeicon.gif" alt="'._t('HtmlEditorField.CLOSE', 'close').'" title="'._t('HtmlEditorField.CLOSE', 'close').'" />'._t('HtmlEditorField.IMAGE', 'Image').'</h2>'),
new TreeDropdownField("FolderID", _t('HtmlEditorField.FOLDER', "Folder"), "Folder"), new TreeDropdownField("FolderID", _t('HtmlEditorField.FOLDER', "Folder"), "Folder"),
new LiteralField('AddFolderOrUpload', new LiteralField('AddFolderOrUpload',
'<div style="clear:both;"></div><div id="AddFolderGroup" style="display:inline"> '<div style="clear:both;"></div><div id="AddFolderGroup" style="display:inline">
@ -410,7 +410,7 @@ class HtmlEditorField_Toolbar extends ViewableData {
$this->controller, $this->controller,
"{$this->name}.FlashForm", "{$this->name}.FlashForm",
new FieldSet( new FieldSet(
new LiteralField('Heading', '<h2><img src="cms/images/closeicon.gif" alt="close" title="close" />Flash</h2>'), new LiteralField('Heading', '<h2><img src="cms/images/closeicon.gif" alt="'._t('HtmlEditorField.CLOSE', 'close').'" title="'._t('HtmlEditorField.CLOSE', 'close').'" />'._t('HtmlEditorField.FLASH', 'Flash').'</h2>'),
new TreeDropdownField("FolderID", _t('HtmlEditorField.FOLDER'), "Folder"), new TreeDropdownField("FolderID", _t('HtmlEditorField.FOLDER'), "Folder"),
new ThumbnailStripField("Flash", "FolderID", "getflash"), new ThumbnailStripField("Flash", "FolderID", "getflash"),
new FieldGroup(_t('HtmlEditorField.IMAGEDIMENSIONS', "Dimensions"), new FieldGroup(_t('HtmlEditorField.IMAGEDIMENSIONS', "Dimensions"),

View File

@ -15,7 +15,7 @@ class NumericField extends TextField{
function jsValidation() { function jsValidation() {
$formID = $this->form->FormName(); $formID = $this->form->FormName();
$error = _t('NumericField.VALIDATIONJS', 'is not a number, only numbers can be accepted for this field');
$jsFunc =<<<JS $jsFunc =<<<JS
Behaviour.register({ Behaviour.register({
"#$formID": { "#$formID": {
@ -26,7 +26,7 @@ Behaviour.register({
if(el.value.match(/^([0-9]+(\.[0-9]+)?$)/)) { if(el.value.match(/^([0-9]+(\.[0-9]+)?$)/)) {
return true; return true;
} else { } else {
validationError(el, "'" + el.value + "' is not a number, only numbers can be accepted for this field","validation"); validationError(el, "'" + el.value + "' $error","validation");
return false; return false;
} }
} }

View File

@ -68,8 +68,8 @@ HTML;
*/ */
function gettree() { function gettree() {
echo "<div class=\"actions\"> echo "<div class=\"actions\">
<input type=\"button\" name=\"save\" value=\"save\" /> <input type=\"button\" name=\"save\" value=\""._t('TreeSelectorField.SAVE', 'save')."\" />
<input type=\"button\" name=\"cancel\" value=\"cancel\" /> <input type=\"button\" name=\"cancel\" value=\""._t('TreeSelectorField.CANCEL', 'cancel')."\" />
</div>"; </div>";

View File

@ -182,8 +182,8 @@ class FieldEditor extends FormField {
function FormOptions() { function FormOptions() {
if($this->haveFormOptions){ if($this->haveFormOptions){
$fields = new FieldSet( $fields = new FieldSet(
new EmailField( "{$this->name}[EmailTo]", "Email submission to:", $this->form->getRecord()->EmailTo ), new EmailField( "{$this->name}[EmailTo]", _t('FieldEditor.EMAILSUBMISSION', 'Email submission to:'), $this->form->getRecord()->EmailTo ),
new CheckboxField( "{$this->name}[EmailOnSubmit]", "Email form on submit:", $this->form->getRecord()->EmailOnSubmit ) new CheckboxField( "{$this->name}[EmailOnSubmit]", _t('FieldEditor.EMAILONSUBMIT', 'Email form on submit:'), $this->form->getRecord()->EmailOnSubmit )
); );
if( $this->form->getRecord()->hasMethod( 'customFormActions' ) ) { if( $this->form->getRecord()->hasMethod( 'customFormActions' ) ) {

View File

@ -271,4 +271,349 @@ $lang['pt_PT']['VirtualPage']['CHOOSE'] = 'Escolha uma página para onde redirec
$lang['pt_PT']['VirtualPage']['EDITCONTENT'] = 'clique aqui para editar o conteúdo'; $lang['pt_PT']['VirtualPage']['EDITCONTENT'] = 'clique aqui para editar o conteúdo';
$lang['pt_PT']['VirtualPage']['HEADER'] = 'Esta é uma página virtual'; $lang['pt_PT']['VirtualPage']['HEADER'] = 'Esta é uma página virtual';
// --- New New New
// SiteTree.php
$lang['pt_PT']['SiteTree']['CHANGETO'] = 'Mudar para';
$lang['pt_PT']['SiteTree']['CURRENTLY'] = 'Actualmente';
$lang['pt_PT']['SiteTree']['CURRENT'] = 'Actual';
$lang['pt_PT']['Page']['SINGULARNAME'] = 'Página';
$lang['pt_PT']['Page']['PLURALNAME'] = 'Páginas';
$lang['pt_PT']['ErrorPage']['SINGULARNAME'] = 'Página de Erro';
$lang['pt_PT']['ErrorPage']['PLURALNAME'] = 'Páginas de Erro';
$lang['pt_PT']['UserDefinedForm']['SINGULARNAME'] = 'Formulário Definido pelo Utilizador';
$lang['pt_PT']['UserDefinedForm']['PLURALNAME'] = 'Formulários Definidos pelo Utilizador';
$lang['pt_PT']['RedirectorPage']['SINGULARNAME'] = 'Página de Redireccionamento';
$lang['pt_PT']['RedirectorPage']['PLURALNAME'] = 'Páginas de Redireccionamento';
$lang['pt_PT']['VirtualPage']['SINGULARNAME'] = 'Página Virtual';
$lang['pt_PT']['VirtualPage']['PLURALNAME'] = 'Páginas Virtuais';
$lang['pt_PT']['SubscribeForm']['SINGULARNAME'] = 'Página de Subscrição';
$lang['pt_PT']['SubscribeForm']['PLURALNAME'] = 'Páginas de Subscrição';
// --- New New New New
// forms/TreeSelectorField.php
$lang['pt_PT']['TreeSelectorField']['SAVE'] = 'gravar';
$lang['pt_PT']['TreeSelectorField']['CANCEL'] = 'cancelar';
// forms/NumericField.php
$lang['pt_PT']['NumericField']['VALIDATIONJS'] = 'não é um número. Apenas números podem ser inseridos neste campo';
// forms/HtmlEditorField.php
$lang['pt_PT']['HtmlEditorField']['CLOSE'] = 'fechar';
$lang['pt_PT']['HtmlEditorField']['LINK'] = 'Link';
$lang['pt_PT']['HtmlEditorField']['IMAGE'] = 'Imagem';
$lang['pt_PT']['HtmlEditorField']['FLASH'] = 'Flash';
// forms/GSTNumberField.php
$lang['pt_PT']['GSTNumberField']['VALIDATIONJS'] = 'Por favor insira um número GST válido';
// forms/Form.php
$lang['pt_PT']['Form']['VALIDATOR'] = 'Validador';
// forms/FormField.php
$lang['pt_PT']['FormField']['NONE'] = 'nenhum';
// forms/EmailField.php
$lang['pt_PT']['EmailField']['VALIDATIONJS'] = 'Por favor insira um endereço de email.';
// forms/EditableTextField.php
$lang['pt_PT']['EditableTextField']['TEXTBOXLENGTH'] = 'Tamanho da caixa de texto';
$lang['pt_PT']['EditableTextField']['TEXTLENGTH'] = 'Comprimento do texto';
$lang['pt_PT']['EditableTextField']['NUMBERROWS'] = 'Número de linhas';
$lang['pt_PT']['EditableTextField']['DEFAULTTEXT'] = 'Texto pré-definido';
// forms/EditableFormField.php
$lang['pt_PT']['EditableFormField']['ENTERQUESTION'] = 'Insira a questão';
$lang['pt_PT']['EditableFormField']['REQUIRED'] = 'Obrigatório?';
// forms/EditableEmailField.php
$lang['pt_PT']['EditableEmailField']['SENDCOPY'] = 'Enviar uma cópia do formulário para este email';
// forms/EditableCheckbox.php
$lang['pt_PT']['EditableCheckbox']['ANY'] = 'Qualquer um';
$lang['pt_PT']['EditableCheckbox']['SELECTED'] = 'Seleccionado';
$lang['pt_PT']['EditableCheckbox']['NOTSELECTED'] = 'Não Seleccionado';
// forms/DateField.php
$lang['pt_PT']['DateField']['VALIDATIONJS'] = 'Por favor insira uma data válida (DD/MM/AAAA).';
$lang['pt_PT']['DateField']['NODATESET'] = 'Nenhuma data definida';
$lang['pt_PT']['DateField']['TODAY'] = 'Hoje';
$lang['pt_PT']['DateField']['NOTSET'] = 'Não definido';
// forms/DataReport.php
$lang['pt_PT']['DataReport']['EXPORTCSV'] = 'Exportar para CSV';
// forms/CurrencyField.php
$lang['pt_PT']['CurrencyField']['VALIDATIONJS'] = 'Por favor insira um valor monetário correcto.';
$lang['pt_PT']['CurrencyField']['CURRENCYSYMBOL'] = '€';
// forms/CreditCardField.php
$lang['pt_PT']['CreditCardField']['VALIDATIONJS1'] = 'Por favor certifique-se que inseriu o';
$lang['pt_PT']['CreditCardField']['VALIDATIONJS2'] = 'número correctamente';
$lang['pt_PT']['CreditCardField']['FIRST'] = 'primeiro';
$lang['pt_PT']['CreditCardField']['SECOND'] = 'segundo';
$lang['pt_PT']['CreditCardField']['THIRD'] = 'terceiro';
$lang['pt_PT']['CreditCardField']['FOURTH'] = 'quarto';
// forms/ConfirmedPasswordField.php
$lang['pt_PT']['ConfirmedPasswordField']['HAVETOMATCH'] = 'As passwords teem de coincidir.';
$lang['pt_PT']['ConfirmedPasswordField']['NOEMPTY'] = 'A password não pode estar vazia.';
$lang['pt_PT']['ConfirmedPasswordField']['BETWEEN'] = 'As passwords devem ter entre %s e %s caracteres';
$lang['pt_PT']['ConfirmedPasswordField']['ATLEAST'] = 'As passwords devem ter no mínimo %s caracteres';
$lang['pt_PT']['ConfirmedPasswordField']['MAXIMUM'] = 'As passwords podem ter no máximo %s caracteres';
$lang['pt_PT']['ConfirmedPasswordField']['LEASTONE'] = 'As passwords devem conter pelo menos um numero e um caracter alfanumérico';
// forms/CompositeDateField.php
$lang['pt_PT']['CompositeDateField']['DAY'] = 'Dia';
$lang['pt_PT']['CompositeDateField']['MONTH'] = 'Mês';
$lang['pt_PT']['CompositeDateField']['VALIDATIONJS1'] = 'Por favor certifique-se que tem o';
$lang['pt_PT']['CompositeDateField']['VALIDATIONJS2'] = 'correcto';
$lang['pt_PT']['CompositeDateField']['DAYJS'] = 'dia';
$lang['pt_PT']['CompositeDateField']['MONTHJS'] = 'mês';
$lang['pt_PT']['CompositeDateField']['YEARJS'] = 'ano';
// forms/BankAccountField.php
$lang['pt_PT']['BankAccountField']['VALIDATIONJS'] = 'Por favor, insira um número bancário correcto';
// forms/editor/FieldEditor.php
$lang['pt_PT']['FieldEditor']['EMAILSUBMISSION'] = 'Enviar os dados para o email:';
$lang['pt_PT']['FieldEditor']['EMAILONSUBMIT'] = 'Enviar email após submissão dos dados:';
// parsers/BBCodeParser.php
$lang['pt_PT']['BBCodeParser']['BOLD'] = 'Texto Negrito';
$lang['pt_PT']['BBCodeParser']['BOLDEXAMPLE'] = 'Negrito';
$lang['pt_PT']['BBCodeParser']['ITALIC'] = 'Texto Itálico';
$lang['pt_PT']['BBCodeParser']['ITALICEXAMPLE'] = 'Itálico';
$lang['pt_PT']['BBCodeParser']['UNDERLINE'] = 'Texto Sublinhado';
$lang['pt_PT']['BBCodeParser']['UNDERLINEEXAMPLE'] = 'Sublinhado';
$lang['pt_PT']['BBCodeParser']['STRUCK'] = 'Texto Rasurado';
$lang['pt_PT']['BBCodeParser']['STRUCKEXAMPLE'] = 'Rasurado';
$lang['pt_PT']['BBCodeParser']['COLORED'] = 'Texto Colorido';
$lang['pt_PT']['BBCodeParser']['COLOREDEXAMPLE'] = 'texto azul';
$lang['pt_PT']['BBCodeParser']['ALIGNEMENT'] = 'Alinhamento';
$lang['pt_PT']['BBCodeParser']['ALIGNEMENTEXAMPLE'] = 'alinhado à direita';
$lang['pt_PT']['BBCodeParser']['LINK'] = 'Link';
$lang['pt_PT']['BBCodeParser']['LINKDESCRIPTION'] = 'Link para outro site';
$lang['pt_PT']['BBCodeParser']['EMAILLINK'] = 'Link de Email';
$lang['pt_PT']['BBCodeParser']['EMAILLINKDESCRIPTION'] = 'Criar um link para um endereço de email';
$lang['pt_PT']['BBCodeParser']['IMAGE'] = 'Imagem';
$lang['pt_PT']['BBCodeParser']['IMAGEDESCRIPTION'] = 'Mostrar uma imagem';
$lang['pt_PT']['BBCodeParser']['CODE'] = 'Código';
$lang['pt_PT']['BBCodeParser']['CODEDESCRIPTION'] = 'Bloco de texto não formatado';
$lang['pt_PT']['BBCodeParser']['CODEEXAMPLE'] = 'Bloco de código';
$lang['pt_PT']['BBCodeParser']['UNORDERED'] = 'Lista sem ordenação';
$lang['pt_PT']['BBCodeParser']['UNORDEREDDESCRIPTION'] = 'Lista sem ordenação';
$lang['pt_PT']['BBCodeParser']['UNORDEREDEXAMPLE1'] = 'item sem ordenação 1';
$lang['pt_PT']['BBCodeParser']['UNORDEREDEXAMPLE2'] = 'item sem ordenação 2';
// search/AdvancedSearchForm.php
$lang['pt_PT']['AdvancedSearchForm']['SEARCHBY'] = 'PROCURAR POR';
$lang['pt_PT']['AdvancedSearchForm']['ALLWORDS'] = 'Todas as palavras';
$lang['pt_PT']['AdvancedSearchForm']['EXACT'] = 'Frase exacta';
$lang['pt_PT']['AdvancedSearchForm']['ATLEAST'] = 'Pelo menos uma das palavras';
$lang['pt_PT']['AdvancedSearchForm']['WITHOUT'] = 'Sem as palavras';
$lang['pt_PT']['AdvancedSearchForm']['SORTBY'] = 'ORDENAR POR';
$lang['pt_PT']['AdvancedSearchForm']['RELEVANCE'] = 'Relevância';
$lang['pt_PT']['AdvancedSearchForm']['LASTUPDATED'] = 'Última actualização';
$lang['pt_PT']['AdvancedSearchForm']['PAGETITLE'] = 'Título da Página';
$lang['pt_PT']['AdvancedSearchForm']['LASTUPDATEDHEADER'] = 'ÚLTIMA ACTUALIZAÇÂO';
$lang['pt_PT']['AdvancedSearchForm']['FROM'] = 'De';
$lang['pt_PT']['AdvancedSearchForm']['TO'] = 'Até';
$lang['pt_PT']['AdvancedSearchForm']['GO'] = 'Ir';
// search/SearchForm.php
$lang['pt_PT']['SearchForm']['SEARCH'] = 'Procurar';
$lang['pt_PT']['SearchForm']['GO'] = 'Ir';
// security/Security.php
$lang['pt_PT']['Security']['LOGIN'] = 'Autenticação';
$lang['pt_PT']['Security']['PERMFAILURE'] = 'Esta página requer autenticação e previlégios de administrador.
Insira as sua credenciais abaixo para continuar.';
$lang['pt_PT']['Security']['ENCDISABLED1'] = 'Encriptação de passwords desligada!';
$lang['pt_PT']['Security']['ENCDISABLED2'] = 'Para encriptas as passwords, insira a seguinte linha';
$lang['pt_PT']['Security']['ENCDISABLED3'] = 'em mysite/_config.php';
$lang['pt_PT']['Security']['NOTHINGTOENCRYPT1'] = 'Sem passwords para encriptar';
$lang['pt_PT']['Security']['NOTHINGTOENCRYPT2'] = 'Todos os membros teem as passwords encriptadas!';
$lang['pt_PT']['Security']['ENCRYPT'] = 'Encriptar todas as passwords';
$lang['pt_PT']['Security']['ENCRYPTWITH'] = 'As passwords serão encriptadas com o algoritmo &quot;%s&quot;';
$lang['pt_PT']['Security']['ENCRYPTWITHSALT'] = 'com uma chave para aumentar a segurança';
$lang['pt_PT']['Security']['ENCRYPTWITHOUTSALT'] = 'sem chave para aumentar a segurança';
$lang['pt_PT']['Security']['ENCRYPTEDMEMBERS'] = 'Password encriptada para o membro';
$lang['pt_PT']['Security']['EMAIL'] = 'Email:';
$lang['pt_PT']['Security']['ID'] = 'ID:';
// security/Permission.php
$lang['pt_PT']['Permission']['FULLADMINRIGHTS'] = 'Previlégios de Administrador';
$lang['pt_PT']['Permission']['PERMSDEFINED'] = 'Estão definidas as seguintes permissões';
// core/model/Translatable.php
$lang['pt_PT']['Translatable']['TRANSLATIONS'] = 'Traduções';
$lang['pt_PT']['Translatable']['CREATE'] = 'Criar nova tradução';
$lang['pt_PT']['Translatable']['NEWLANGUAGE'] = 'Nova Língua';
$lang['pt_PT']['Translatable']['CREATEBUTTON'] = 'Criar';
$lang['pt_PT']['Translatable']['EXISTING'] = 'Traduções existentes';
// core/model/SiteTree.php
$lang['pt_PT']['SiteTree']['DEFAULTHOMETITLE'] = 'Início';
$lang['pt_PT']['SiteTree']['DEFAULTHOMECONTENT'] = '<p>Bem-vindo ao Silverstripe! Esta é a página inicial pré-definida. Pode editar esta página no <a href=\"admin/\">CMS</a>. Pode vêr a <a href=\"http://doc.silverstripe.com\">documentação de desenvolvimento</a>, ou os <a href=\"http://doc.silverstripe.com/doku.php?id=tutorials\">tutoriais.</a></p>';
$lang['pt_PT']['SiteTree']['DEFAULTABOUTTITLE'] = 'Sobre';
$lang['pt_PT']['SiteTree']['DEFAULTABOUTCONTENT'] = '<p>Pode inserir o seu conteúdo nesta página ou apaga-la e criar novas.</p>';
$lang['pt_PT']['SiteTree']['DEFAULTCONTACTTITLE'] = 'Contacte-nos';
$lang['pt_PT']['SiteTree']['DEFAULTCONTACTCONTENT'] = '<p>Pode inserir o seu conteúdo nesta página ou apaga-la e criar novas.</p>';
// core/model/ErrorPage.php
$lang['pt_PT']['ErrorPage']['DEFAULTERRORPAGETITLE'] = 'Página de Erro';
$lang['pt_PT']['ErrorPage']['DEFAULTERRORPAGECONTENT'] = '<p>Pedimos desculpa, mas aparentemente tentou aceder a uma página que não existe.</p><p>Verifique o URL que utilizou e tente novamente.</p>';
$lang['pt_PT']['ErrorPage']['404'] = '404 - Página não encontrada';
$lang['pt_PT']['ErrorPage']['500'] = '500 - Erro do servidor';
// SubmittedFormReportField.ss
$lang['pt_PT']['SubmittedFormReportField.ss']['SUBMITTED'] = 'Inserido em';
// RelationComplexTableField.ss
$lang['pt_PT']['RelationComplexTableField.ss']['ADD'] = 'Adicionar';
$lang['pt_PT']['RelationComplexTableField.ss']['SHOW'] = 'Mostrar';
$lang['pt_PT']['RelationComplexTableField.ss']['EDIT'] = 'Editar';
$lang['pt_PT']['RelationComplexTableField.ss']['DELETE'] = 'Apagar';
$lang['pt_PT']['RelationComplexTableField.ss']['NOTFOUND'] = 'Nenhum item encontrado';
// FieldEditor.ss
$lang['pt_PT']['FieldEditor.ss']['ADD'] = 'Adicionar';
$lang['pt_PT']['FieldEditor.ss']['TEXTTITLE'] = 'Adicionar campo de texto';
$lang['pt_PT']['FieldEditor.ss']['TEXT'] = 'Texto';
$lang['pt_PT']['FieldEditor.ss']['CHECKBOXTITLE'] = 'Adicionar caixa de tick';
$lang['pt_PT']['FieldEditor.ss']['CHECKBOX'] = 'Caixa de Tick';
$lang['pt_PT']['FieldEditor.ss']['DROPDOWNTITLE'] = 'Adicionar caixa de selecção';
$lang['pt_PT']['FieldEditor.ss']['DROPDOWN'] = 'Caixa de selecção';
$lang['pt_PT']['FieldEditor.ss']['RADIOSETTITLE'] = 'Adicionar conjunto de botões de rádio';
$lang['pt_PT']['FieldEditor.ss']['RADIOSET'] = 'Conjunto de Botões de Rádio';
$lang['pt_PT']['FieldEditor.ss']['EMAILTITLE'] = 'Adicionar campo de email';
$lang['pt_PT']['FieldEditor.ss']['EMAIL'] = 'Campo de email';
$lang['pt_PT']['FieldEditor.ss']['FORMHEADINGTITLE'] = 'Adicionar cabeçalho';
$lang['pt_PT']['FieldEditor.ss']['FORMHEADING'] = 'Cabeçalho';
$lang['pt_PT']['FieldEditor.ss']['DATETITLE'] = 'Adicionar Campo de Data';
$lang['pt_PT']['FieldEditor.ss']['DATE'] = 'Data';
$lang['pt_PT']['FieldEditor.ss']['FILETITLE'] = 'Adicionar Campo de envio de ficheiro';
$lang['pt_PT']['FieldEditor.ss']['FILE'] = 'Ficheiro';
$lang['pt_PT']['FieldEditor.ss']['CHECKBOXGROUPTITLE'] = 'Adicionar Grupo de caixas de tick';
$lang['pt_PT']['FieldEditor.ss']['CHECKBOXGROUP'] = 'Grupo de Caixas de tick';
$lang['pt_PT']['FieldEditor.ss']['MEMBERTITLE'] = 'Adicionar Selecção de Membros';
$lang['pt_PT']['FieldEditor.ss']['MEMBER'] = 'Selecção de Membros';
// EditableTextField.ss
$lang['pt_PT']['EditableTextField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableTextField.ss']['TEXTFIELD'] = 'Campo de texto';
$lang['pt_PT']['EditableTextField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableTextField.ss']['DELETE'] = 'Apagar este campo';
// EditableRadioOption.ss
$lang['pt_PT']['EditableRadioOption.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableRadioOption.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableRadioOption.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
// EditableRadioField.ss
$lang['pt_PT']['EditableRadioField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableRadioField.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableRadioField.ss']['SET'] = 'Conjunto de botões de rádio';
$lang['pt_PT']['EditableRadioField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableRadioField.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableRadioField.ss']['REQUIRED'] = 'Este campo é obrigatório para este formulário e não pode ser apagado.';
$lang['pt_PT']['EditableRadioField.ss']['ADD'] = 'Adicionar opção';
// EditableFormHeading.ss
$lang['pt_PT']['EditableFormHeading.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableFormHeading.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableFormHeading.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableFormHeading.ss']['HEADING'] = 'Cabeçalho';
// EditableFormField.ss
$lang['pt_PT']['EditableFormField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableFormField.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableFormField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableFormField.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableFormField.ss']['REQUIRED'] = 'Este campo é obrigatório para este formulário e não pode ser apagado.';
// EditableRadioOption.ss
$lang['pt_PT']['EditableFormFieldOption.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableFormFieldOption.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableFormFieldOption.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
// EditableFileField.ss
$lang['pt_PT']['EditableFileField.ss']['DRAG'] = 'Arraste para reordenar os campos';
// EditableFileField.ss
$lang['pt_PT']['EditableFileField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableFileField.ss']['FILE'] = 'Campo de envio de ficheiro';
$lang['pt_PT']['EditableFileField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableFileField.ss']['DELETE'] = 'Remover esta opção';
// EditableEmailField.ss
$lang['pt_PT']['EditableEmailField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableEmailField.ss']['EMAIL'] = 'Campo de email';
$lang['pt_PT']['EditableEmailField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableEmailField.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableEmailField.ss']['REQUIRED'] = 'Este campo é obrigatório para este formulário e não pode ser apagado.';
// EditableDropdown.ss
$lang['pt_PT']['EditableDropdown.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableDropdown.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableDropdown.ss']['DROPDOWN'] = 'Lista de Selecção';
$lang['pt_PT']['EditableDropdown.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableDropdown.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableDropdown.ss']['REQUIRED'] = 'Este campo é obrigatório para este formulário e não pode ser apagado.';
// EditableDropdownOption.ss
$lang['pt_PT']['EditableDropdownOption.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableDropdownOption.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableDropdownOption.ss']['DELETE'] = 'Remover esta opção';
// EditableDateField.ss
$lang['pt_PT']['EditableDateField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableDateField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableDateField.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableDateField.ss']['DATE'] = 'Campo de Data';
// EditableCheckbox.ss
$lang['pt_PT']['EditableCheckbox.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableCheckbox.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableCheckbox.ss']['CHECKBOX'] = 'Caixa de tick';
$lang['pt_PT']['EditableCheckbox.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableCheckbox.ss']['DELETE'] = 'Remover esta opção';
// EditableCheckboxOption.ss
$lang['pt_PT']['EditableCheckboxOption.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableCheckboxOption.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableCheckboxOption.ss']['DELETE'] = 'Remover esta opção';
// EditableCheckboxGroupField.ss
$lang['pt_PT']['EditableCheckboxGroupField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['DATE'] = 'Campo de Data';
// EditableCheckboxGroupField.ss
$lang['pt_PT']['EditableCheckboxGroupField.ss']['LOCKED'] = 'Estes campos não podem ser alterados';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['DRAG'] = 'Arraste para reordenar os campos';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['CHECKBOXGROUP'] = 'Grupo de Caixas de tick';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['MORE'] = 'Mais opções';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['DELETE'] = 'Remover esta opção';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['REQUIRED'] = 'Este campo é obrigatório para este formulário e não pode ser apagado.';
$lang['pt_PT']['EditableCheckboxGroupField.ss']['ADD'] = 'Adicionar opção';
// ForgotPasswordEmail.ss
$lang['pt_PT']['ForgotPasswordEmail.ss']['TEXT1'] = 'Aqui está o seu';
$lang['pt_PT']['ForgotPasswordEmail.ss']['TEXT2'] = 'link de reset da password';
$lang['pt_PT']['ForgotPasswordEmail.ss']['TEXT3'] = 'para';
// TableListField_PageControls.ss
$lang['pt_PT']['TableListField_PageControls.ss']['VIEWLAST'] = 'Ver último';
$lang['pt_PT']['TableListField_PageControls.ss']['VIEWFIRST'] = 'Ver primeiro';
$lang['pt_PT']['TableListField_PageControls.ss']['VIEWPREVIOUS'] = 'Ver anterior';
$lang['pt_PT']['TableListField_PageControls.ss']['VIEWNEXT'] = 'Ver próximo';
$lang['pt_PT']['TableListField_PageControls.ss']['DISPLAYING'] = 'A Mostrar';
$lang['pt_PT']['TableListField_PageControls.ss']['TO'] = 'até';
$lang['pt_PT']['TableListField_PageControls.ss']['OF'] = 'de';
?> ?>

View File

@ -38,66 +38,66 @@ class BBCodeParser extends TextParser {
static function usable_tags() { static function usable_tags() {
return new DataObjectSet( return new DataObjectSet(
new ArrayData(array( new ArrayData(array(
"Title" => "Bold Text", "Title" => _t('BBCodeParser.BOLD', 'Bold Text'),
"Example" => "[b]<b>Bold</b>[/b]" "Example" => '[b]<b>'._t('BBCodeParser.BOLDEXAMPLE', 'Bold').'</b>[/b]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Italic Text", "Title" => _t('BBCodeParser.ITALIC', 'Italic Text'),
"Example" => "[i]<i>Italics</i>[/i]" "Example" => '[i]<i>'._t('BBCodeParser.ITALICEXAMPLE', 'Italics').'</i>[/i]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Underlined Text", "Title" => _t('BBCodeParser.UNDERLINE', 'Underlined Text'),
"Example" => "[u]<u>Underlined</u>[/u]" "Example" => '[u]<u>'._t('BBCodeParser.UNDERLINEEXAMPLE', 'Underlined').'</u>[/u]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Struck-out Text", "Title" => _t('BBCodeParser.STRUCK', 'Struck-out Text'),
"Example" => "[s]<s>Struck-out</s>[/s]" "Example" => '[s]<s>'._t('BBCodeParser.STRUCKEXAMPLE', 'Struck-out').'</s>[/s]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Colored text", "Title" => _t('BBCodeParser.COLORED', 'Colored text'),
"Example" => "[color=blue]blue text[/color]" "Example" => '[color=blue]'._t('BBCodeParser.COLOREDEXAMPLE', 'blue text').'[/color]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Alignment", "Title" => _t('BBCodeParser.ALIGNEMENT', 'Alignment'),
"Example" => "[align=right]right aligned[/align]" "Example" => '[align=right]'._t('BBCodeParser.ALIGNEMENTEXAMPLE', 'right aligned').'[/align]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Website link", "Title" => _t('BBCodeParser.LINK', 'Website link'),
"Description" => "Link to another website or URL", "Description" => _t('BBCodeParser.LINKDESCRIPTION', 'Link to another website or URL'),
"Example" => "[url]http://www.website.com/[/url]" "Example" => '[url]http://www.website.com/[/url]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Website link", "Title" => _t('BBCodeParser.LINK', 'Website link'),
"Description" => "Link to another website or URL", "Description" => _t('BBCodeParser.LINKDESCRIPTION', 'Link to another website or URL'),
"Example" => "[url=http://www.website.com/]Some website[/url]" "Example" => "[url=http://www.website.com/]Some website[/url]"
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Email link", "Title" => _t('BBCodeParser.EMAILLINK', 'Email link'),
"Description" => "Create link to an email address", "Description" => _t('BBCodeParser.EMAILLINKDESCRIPTION', 'Create link to an email address'),
"Example" => "[email]you@yoursite.com[/email]" "Example" => "[email]you@yoursite.com[/email]"
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Email link", "Title" => _t('BBCodeParser.EMAILLINK', 'Email link'),
"Description" => "Create link to an email address", "Description" => _t('BBCodeParser.EMAILLINKDESCRIPTION', 'Create link to an email address'),
"Example" => "[email=you@yoursite.com]email me[/email]" "Example" => "[email=you@yoursite.com]email me[/email]"
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Image", "Title" => _t('BBCodeParser.IMAGE', 'Image'),
"Description" => "Show an image in your post", "Description" => _t('BBCodeParser.IMAGEDESCRIPTION', 'Show an image in your post'),
"Example" => "[img]http://www.website.com/image.jpg[/img]" "Example" => "[img]http://www.website.com/image.jpg[/img]"
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Code Block", "Title" => _t('BBCodeParser.CODE', 'Code Block'),
"Description" => "Unformatted code block", "Description" => _t('BBCodeParser.CODEDESCRIPTION', 'Unformatted code block'),
"Example" => "[code]Code block[/code]" "Example" => '[code]'._t('BBCodeParser.CODEEXAMPLE', 'Code block').'[/code]'
)), )),
new ArrayData(array( new ArrayData(array(
"Title" => "Unordered list", "Title" => _t('BBCodeParser.UNORDERED', 'Unordered list'),
"Description" => "Unordered list", "Description" => _t('BBCodeParser.UNORDEREDDESCRIPTION', 'Unordered list'),
"Example" => "[ulist][*]unordered item 1[*]unordered item 2[/ulist]" "Example" => '[ulist][*]'._t('BBCodeParser.UNORDEREDEXAMPLE1', 'unordered item 1').'[*]'._t('BBCodeParser.UNORDEREDEXAMPLE2', 'unordered item 2').'[/ulist]'
)) ))

View File

@ -19,27 +19,27 @@ class AdvancedSearchForm extends SearchForm {
if(!$fields) { if(!$fields) {
$fields = new FieldSet( $fields = new FieldSet(
$searchBy = new CompositeField( $searchBy = new CompositeField(
new HeaderField("SEARCH BY"), new HeaderField(_t('AdvancedSearchForm.SEARCHBY', 'SEARCH BY')),
new TextField("+", "All Words"), new TextField("+", _t('AdvancedSearchForm.ALLWORDS', 'All Words')),
new TextField("quote", "Exact Phrase"), new TextField("quote", _t('AdvancedSearchForm.EXACT', 'Exact Phrase')),
new TextField("any", "At Least One Of the Words"), new TextField("any", _t('AdvancedSearchForm.ATLEAST', 'At Least One Of the Words')),
new TextField("-", "Without the Words") new TextField("-", _t('AdvancedSearchForm.WITHOUT', 'Without the Words'))
), ),
$sortBy = new CompositeField( $sortBy = new CompositeField(
new HeaderField("SORT RESULTS BY"), new HeaderField(_t('AdvancedSearchForm.SORTBY', 'SORT RESULTS BY')),
new OptionsetField("sortby", "", new OptionsetField("sortby", "",
array( array(
'Relevance' =>'Relevance', 'Relevance' => _t('AdvancedSearchForm.RELEVANCE', 'Relevance'),
'LastUpdated' => 'Last Updated', 'LastUpdated' => _t('AdvancedSearchForm.LASTUPDATED', 'Last Updated'),
'PageTitle' => 'Page Title', 'PageTitle' => _t('AdvancedSearchForm.PAGETITLE', 'Page Title'),
), ),
'Relevance' 'Relevance'
) )
), ),
$chooseDate = new CompositeField( $chooseDate = new CompositeField(
new HeaderField("LAST UPDATED"), new HeaderField(_t('AdvancedSearchForm.LASTUPDATEDHEADER', 'LAST UPDATED')),
new CompositeDateField("From", "From"), new CompositeDateField("From", _t('AdvancedSearchForm.FROM', 'From')),
new CompositeDateField("To", "To") new CompositeDateField("To", _t('AdvancedSearchForm.TO', 'To'))
) )
); );
@ -51,7 +51,7 @@ class AdvancedSearchForm extends SearchForm {
if(!$actions) { if(!$actions) {
$actions = new FieldSet( $actions = new FieldSet(
new FormAction("results", "Go") new FormAction("results", _t('AdvancedSearchForm.GO', 'Go'))
); );
} }
parent::__construct($controller, $name, $fields, $actions); parent::__construct($controller, $name, $fields, $actions);

View File

@ -21,11 +21,11 @@ class SearchForm extends Form {
$this->showInSearchTurnOn = $showInSearchTurnOn; $this->showInSearchTurnOn = $showInSearchTurnOn;
if(!$fields) { if(!$fields) {
$fields = new FieldSet(new TextField("Search", "Search")); $fields = new FieldSet(new TextField("Search", _t('SearchForm.SEARCH', 'Search'));
} }
if(!$actions) { if(!$actions) {
$actions = new FieldSet( $actions = new FieldSet(
new FormAction("getResults", "Go") new FormAction("getResults", _t('SearchForm.GO', 'Go'))
); );
} }

View File

@ -434,7 +434,7 @@ class Permission extends DataObject {
? '(select)' ? '(select)'
: $blankItemText; : $blankItemText;
} }
$allCodes['ADMIN'] = 'Full administrative rights'; $allCodes['ADMIN'] = _t('Permission.FULLADMINRIGHTS', 'Full administrative rights');
if($classes) foreach($classes as $class) { if($classes) foreach($classes as $class) {
$SNG = singleton($class); $SNG = singleton($class);
@ -464,7 +464,7 @@ class Permission extends DataObject {
if(!Permission::check('ADMIN')) if(!Permission::check('ADMIN'))
Security::permissionFailure(); Security::permissionFailure();
echo "<h1>The following permission codes are defined</h1>"; echo '<h1>'._t('Permission.PERMSDEFINED', 'The following permission codes are defined').'</h1>';
$codes = self::get_codes(); $codes = self::get_codes();
echo "<pre>"; echo "<pre>";
print_r($codes); print_r($codes);

View File

@ -243,7 +243,7 @@ class Security extends Controller {
} }
$tmpPage = new Page(); $tmpPage = new Page();
$tmpPage->Title = "Log in"; $tmpPage->Title = _t('Security.LOGIN', 'Log in');
$tmpPage->URLSegment = "Security"; $tmpPage->URLSegment = "Security";
$tmpPage->ID = -1; // Set the page ID to -1 so we dont get the top level pages as its children $tmpPage->ID = -1; // Set the page ID to -1 so we dont get the top level pages as its children
@ -784,16 +784,16 @@ class Security extends Controller {
// Only administrators can run this method // Only administrators can run this method
if(!Member::currentUser() || !Member::currentUser()->isAdmin()) { if(!Member::currentUser() || !Member::currentUser()->isAdmin()) {
Security::permissionFailure($this, Security::permissionFailure($this,
"This page is secured and you need administrator rights to access it. " . _t('Security.PERMFAILURE',' This page is secured and you need administrator rights to access it.
"Enter your credentials below and we will send you right along."); Enter your credentials below and we will send you right along.'));
return; return;
} }
if(self::$encryptPasswords == false) { if(self::$encryptPasswords == false) {
print "<h1>Password encryption disabled!</h1>\n"; print '<h1>'._t('Security.ENCDISABLED1', 'Password encryption disabled!')."</h1>\n";
print "<p>To encrypt your passwords change your password settings by adding\n"; print '<p>'._t('Security.ENCDISABLED2', 'To encrypt your passwords change your password settings by adding')."\n";
print "<pre>Security::encrypt_passwords(true);</pre>\nto mysite/_config.php</p>"; print "<pre>Security::encrypt_passwords(true);</pre>\n"._t('Security.ENCDISABLED3', 'to mysite/_config.php')."</p>";
return; return;
} }
@ -804,20 +804,19 @@ class Security extends Controller {
"PasswordEncryption = 'none' AND Password IS NOT NULL"); "PasswordEncryption = 'none' AND Password IS NOT NULL");
if(!$members) { if(!$members) {
print "<h1>No passwords to encrypt</h1>\n"; print '<h1>'._t('Security.NOTHINGTOENCRYPT1', 'No passwords to encrypt')."</h1>\n";
print "<p>There are no members with a clear text password that could be encrypted!</p>\n"; print '<p>'._t('Security.NOTHINGTOENCRYPT2', 'There are no members with a clear text password that could be encrypted!')."</p>\n";
return; return;
} }
// Encrypt the passwords... // Encrypt the passwords...
print "<h1>Encrypting all passwords</h1>"; print '<h1>'._t('Security.ENCRYPT', 'Encrypting all passwords').'</h1>';
print '<p>The passwords will be encrypted using the &quot;' . print '<p>'.sprintf(_t('Security.ENCRYPTWITH', 'The passwords will be encrypted using the &quot;%s&quot; algorithm'), htmlentities(self::$encryptionAlgorithm));
htmlentities(self::$encryptionAlgorithm) . '&quot; algorithm ';
print (self::$useSalt) print (self::$useSalt)
? "with a salt to increase the security.</p>\n" ? _t('Security.ENCRYPTWITHSALT', 'with a salt to increase the security.')."</p>\n"
: "without using a salt to increase the security.</p><p>\n"; : _t('Security.ENCRYPTWITHOUTSALT', 'without using a salt to increase the security.')."</p><p>\n";
foreach($members as $member) { foreach($members as $member) {
// Force the update of the member record, as new passwords get // Force the update of the member record, as new passwords get
@ -826,9 +825,9 @@ class Security extends Controller {
$member->forceChange(); $member->forceChange();
$member->write(); $member->write();
print " Encrypted credentials for member &quot;"; print ' '._t('Security.ENCRYPTEDMEMBERS', 'Encrypted credentials for member &quot;');
print htmlentities($member->getTitle()) . '&quot; (ID: ' . $member->ID . print htmlentities($member->getTitle()) . '&quot; ('._t('Security.ID', 'ID:').' ' . $member->ID .
'; E-Mail: ' . htmlentities($member->Email) . ")<br />\n"; '; '._t('Security.EMAIL', 'E-Mail:').' ' . htmlentities($member->Email) . ")<br />\n";
} }
print '</p>'; print '</p>';

View File

@ -47,7 +47,7 @@
<tr> <tr>
<% if Markable %><td width="18">&nbsp;</td><% end_if %> <% if Markable %><td width="18">&nbsp;</td><% end_if %>
<td colspan="$ItemCount"> <td colspan="$ItemCount">
<a class="popuplink addlink" href="$AddLink" alt="add"><img src="cms/images/add.gif" alt="add" /><% _t('ADDITEM', 'Add', PR_MEDIUM, 'Add [name]') %> $Title</a> <a class="popuplink addlink" href="$AddLink" alt="add"><img src="cms/images/add.gif" alt="<% _t('ADDITEM', 'add') %>" /><% _t('ADDITEM', 'Add', PR_MEDIUM, 'Add [name]') %> $Title</a>
</td> </td>
<% if Can(show) %><td width="18">&nbsp;</td><% end_if %> <% if Can(show) %><td width="18">&nbsp;</td><% end_if %>
<% if Can(edit) %><td width="18">&nbsp;</td><% end_if %> <% if Can(edit) %><td width="18">&nbsp;</td><% end_if %>

View File

@ -1,14 +1,14 @@
<div class="EditableCheckbox EditableFormField" id="$Name.Attr"> <div class="EditableCheckbox EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<% if isReadonly %> <% if isReadonly %>
<img class="handle" src="sapphire/images/drag-readonly.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag-readonly.gif" alt="<% _t('LOCKED', 'This field cannot be modified') %>" />
<% else %> <% else %>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<% end_if %> <% end_if %>
<img class="icon" src="sapphire/images/fe_icons/checkbox.png" alt="Checkbox field" /> <img class="icon" src="sapphire/images/fe_icons/checkbox.png" alt="<% _t('CHECKBOX', 'Checkbox field') %>" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
</div> </div>
<div class="ExtraOptions" id="$Name.Attr-extraOptions"> <div class="ExtraOptions" id="$Name.Attr-extraOptions">
<div class="FieldDefault"> <div class="FieldDefault">

View File

@ -1,21 +1,21 @@
<div class="EditableCheckboxGroupField EditableMultiOptionFormField EditableFormField" id="$Name.Attr"> <div class="EditableCheckboxGroupField EditableMultiOptionFormField EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<% if isReadonly %> <% if isReadonly %>
<img class="handle" src="sapphire/images/drag_readonly.gif" alt="These fields cannot be modified" /> <img class="handle" src="sapphire/images/drag_readonly.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<% end_if %> <% end_if %>
<img class="icon" src="sapphire/images/fe_icons/checkboxes.png" alt="Checkbox group" title="Checkbox group" /> <img class="icon" src="sapphire/images/fe_icons/checkboxes.png" alt="<% _t('CHECKBOXGROUP', 'Checkbox group') %>" title="<% _t('CHECKBOXGROUP', 'Checkbox group') %>" />
$TitleField $TitleField
<input type="hidden" name="hiddenDefaultOption" value="$DefaultOption" /> <input type="hidden" name="hiddenDefaultOption" value="$DefaultOption" />
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<% if isReadonly %> <% if isReadonly %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<% if CanDelete %> <% if CanDelete %>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="This field is required for this form and cannot be deleted" /> <img src="cms/images/locked.gif" alt="<% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %>" />
<% end_if %> <% end_if %>
<% end_if %> <% end_if %>
</div> </div>
@ -35,7 +35,7 @@
<% end_control %> <% end_control %>
<li class="AddDropdownOption"> <li class="AddDropdownOption">
<input class="text" type="text" name="$Name.Attr[NewOption]" value="" /> <input class="text" type="text" name="$Name.Attr[NewOption]" value="" />
<a href="#" title="Add option to field"><img src="cms/images/add.gif" alt="Add new option" /></a> <a href="#" title="<% _t('ADD', 'Add option to field') %>"><img src="cms/images/add.gif" alt="<% _t('ADD', 'Add new option') %>" /></a>
</li> </li>
<% end_if %> <% end_if %>
</ul> </ul>

View File

@ -1,10 +1,10 @@
<li> <li>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of options" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of options') %>" />
<input type="radio" name="$Name.Attr[Default]" value="$ID" /> <input type="radio" name="$Name.Attr[Default]" value="$ID" />
<input type="text" name="$Name.Attr[Title]" value="$Title.Attr" /> <input type="text" name="$Name.Attr[Title]" value="$Title.Attr" />
<% if isReadonly %> <% if isReadonly %>
<a href="#"><img src="cms/images/delete.gif" alt="Remove this option" /></a> <a href="#"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Remove this option') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% end_if %> <% end_if %>
</li> </li>

View File

@ -1,10 +1,10 @@
<div id="$Name.Attr" class="EditableDateField EditableFormField"> <div id="$Name.Attr" class="EditableDateField EditableFormField">
<div class="FieldInfo"> <div class="FieldInfo">
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<img class="icon" src="sapphire/images/fe_icons/date-time.png" alt="Date Field" /> <img class="icon" src="sapphire/images/fe_icons/date-time.png" alt="<% _t('DATE', 'Date Field') %>" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
</div> </div>
<div class="ExtraOptions" id="$Name.Attr-extraOptions"> <div class="ExtraOptions" id="$Name.Attr-extraOptions">
<div class="FieldDefault"> <div class="FieldDefault">

View File

@ -1,20 +1,20 @@
<div class="EditableDropdown EditableMultiOptionFormField EditableFormField" id="$Name.Attr"> <div class="EditableDropdown EditableMultiOptionFormField EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<% if isReadonly %> <% if isReadonly %>
<img class="handle" src="sapphire/images/drag_readonly.gif" alt="These fields cannot be modified" /> <img class="handle" src="sapphire/images/drag_readonly.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<% end_if %> <% end_if %>
<img class="icon" src="sapphire/images/fe_icons/dropdown.png" alt="Dropdown box" title="Dropdown box"/> <img class="icon" src="sapphire/images/fe_icons/dropdown.png" alt="<% _t('DROPDOWN', 'Dropdown box') %>" title="<% _t('DROPDOWN', 'Dropdown box') %>"/>
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<% if isReadonly %> <% if isReadonly %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<% if CanDelete %> <% if CanDelete %>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="This field is required for this form and cannot be deleted" /> <img src="cms/images/locked.gif" alt="<% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %>" />
<% end_if %> <% end_if %>
<% end_if %> <% end_if %>
</div> </div>
@ -34,7 +34,7 @@
<% end_control %> <% end_control %>
<li class="AddDropdownOption"> <li class="AddDropdownOption">
<input class="text" type="text" name="$Name.Attr[NewOption]" value="" /> <input class="text" type="text" name="$Name.Attr[NewOption]" value="" />
<a href="#" title="Add option to field"><img src="cms/images/add.gif" alt="Add new option" /></a> <a href="#" title="<% _t('ADD', 'Add option to field') %>"><img src="cms/images/add.gif" alt="<% _t('ADD', 'Add new option') %>" /></a>
</li> </li>
<% end_if %> <% end_if %>
</ul> </ul>

View File

@ -1,10 +1,10 @@
<li> <li>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of options" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of options') %>" />
<input type="text" name="$Name.Attr[Title]" value="$Title.Attr" /> <input type="text" name="$Name.Attr[Title]" value="$Title.Attr" />
<input type="radio" name="$Name.Attr[Default]" value="$ID" /> <input type="radio" name="$Name.Attr[Default]" value="$ID" />
<% if isReadonly %> <% if isReadonly %>
<a href="#"><img src="cms/images/delete.gif" alt="Remove this option" /></a> <a href="#"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Remove this option') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% end_if %> <% end_if %>
</li> </li>

View File

@ -1,13 +1,13 @@
<div class="EditableEmailField EditableFormField" id="$Name.Attr"> <div class="EditableEmailField EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<img class="icon" src="sapphire/images/fe_icons/text-email.png" alt="Email address field" /> <img class="icon" src="sapphire/images/fe_icons/text-email.png" alt="<% _t('EMAIL', 'Email address field') %>" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<% if CanDelete %> <% if CanDelete %>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="This field is required for this form and cannot be deleted" /> <img src="cms/images/locked.gif" alt="<% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %>" />
<% end_if %> <% end_if %>
</div> </div>
<div class="ExtraOptions" id="$Name.Attr-extraOptions"> <div class="ExtraOptions" id="$Name.Attr-extraOptions">

View File

@ -1,10 +1,10 @@
<div id="$Name.Attr" class="EditableFormField EditableFileField"> <div id="$Name.Attr" class="EditableFormField EditableFileField">
<div class="FieldInfo"> <div class="FieldInfo">
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<img class="icon" src="sapphire/images/fe_icons/file-upload.png" alt="File upload field" /> <img class="icon" src="sapphire/images/fe_icons/file-upload.png" alt="<% _t('FILE', 'File upload field') %>" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
</div> </div>
<div class="ExtraOptions" id="$Name.Attr-extraOptions"> <div class="ExtraOptions" id="$Name.Attr-extraOptions">
<div class="FieldDefault"> <div class="FieldDefault">

View File

@ -1,20 +1,20 @@
<div class="$ClassName EditableFormField" id="$Name.Attr"> <div class="$ClassName EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<% if isReadonly %> <% if isReadonly %>
<img class="handle" src="sapphire/images/drag_readonly.gif" alt="These fields cannot be modified" /> <img class="handle" src="sapphire/images/drag_readonly.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<% end_if %> <% end_if %>
<img class="icon" src="sapphire/images/fe_icons/{$ClassName.LowerCase}.png" alt="$ClassName" title="$singular_name" /> <img class="icon" src="sapphire/images/fe_icons/{$ClassName.LowerCase}.png" alt="$ClassName" title="$singular_name" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<% if isReadonly %> <% if isReadonly %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<% if CanDelete %> <% if CanDelete %>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="This field is required for this form and cannot be deleted" /> <img src="cms/images/locked.gif" alt="<% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %>" />
<% end_if %> <% end_if %>
<% end_if %> <% end_if %>
</div> </div>

View File

@ -1,15 +1,15 @@
<li class="EditableFormFieldOption" id="$ID"> <li class="EditableFormFieldOption" id="$ID">
<% if isReadonly %> <% if isReadonly %>
<img class="handle" src="sapphire/images/drag_readonly.gif" alt="These fields cannot be modified" /> <img class="handle" src="sapphire/images/drag_readonly.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
$DefaultSelect $DefaultSelect
<input class="text" type="text" name="$Name.Attr[Title]" value="$Title.Attr" disabled="disabled" /> <input class="text" type="text" name="$Name.Attr[Title]" value="$Title.Attr" disabled="disabled" />
<input type="hidden" name="$Name.Attr[Sort]" value="$ID" /> <input type="hidden" name="$Name.Attr[Sort]" value="$ID" />
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
$DefaultSelect $DefaultSelect
<input class="text" type="text" name="$Name.Attr[Title]" value="$Title.Attr" /> <input class="text" type="text" name="$Name.Attr[Title]" value="$Title.Attr" />
<input type="hidden" name="$Name.Attr[Sort]" value="$ID" /> <input type="hidden" name="$Name.Attr[Sort]" value="$ID" />
<a href="#"><img src="cms/images/delete.gif" alt="Remove this option" /></a> <a href="#"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Remove this option') %>" /></a>
<% end_if %> <% end_if %>
</li> </li>

View File

@ -1,10 +1,10 @@
<div class="EditableFormHeading EditableFormField" id="$Name.Attr"> <div class="EditableFormHeading EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<img class="icon" src="sapphire/images/fe_icons/heading.png" alt="Heading field" /> <img class="icon" src="sapphire/images/fe_icons/heading.png" alt="<% _t('HEADING', 'Heading field') %>" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
</div> </div>
<div class="ExtraOptions" id="$Name.Attr-extraOptions"> <div class="ExtraOptions" id="$Name.Attr-extraOptions">
<% control ExtraOptions %> <% control ExtraOptions %>

View File

@ -1,21 +1,21 @@
<div class="EditableRadioField EditableMultiOptionFormField EditableFormField" id="$Name.Attr"> <div class="EditableRadioField EditableMultiOptionFormField EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<% if isReadonly %> <% if isReadonly %>
<img class="handle" src="sapphire/images/drag_readonly.gif" alt="These fields cannot be modified" /> <img class="handle" src="sapphire/images/drag_readonly.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<% end_if %> <% end_if %>
<img class="handle" src="sapphire/images/fe_icons/radio.png" alt="Radio button set" title="Radio button set" /> <img class="handle" src="sapphire/images/fe_icons/radio.png" alt="<% _t('SET', 'Radio button set') %>" title="<% _t('SET', 'Radio button set') %>" />
$TitleField $TitleField
<input type="hidden" name="hiddenDefaultOption" value="$DefaultOption" /> <input type="hidden" name="hiddenDefaultOption" value="$DefaultOption" />
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<% if isReadonly %> <% if isReadonly %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% else %> <% else %>
<% if CanDelete %> <% if CanDelete %>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="This field is required for this form and cannot be deleted" /> <img src="cms/images/locked.gif" alt="<% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %>" />
<% end_if %> <% end_if %>
<% end_if %> <% end_if %>
</div> </div>
@ -35,7 +35,7 @@
<% end_control %> <% end_control %>
<li class="AddDropdownOption"> <li class="AddDropdownOption">
<input class="text" type="text" name="$Name.Attr[NewOption]" value="" /> <input class="text" type="text" name="$Name.Attr[NewOption]" value="" />
<a href="#" title="Add option to field"><img src="cms/images/add.gif" alt="Add new option" /></a> <a href="#" title="<% _t('ADD', 'Add option to field') %>"><img src="cms/images/add.gif" alt="<% _t('ADD', 'Add new option') %>" /></a>
</li> </li>
<% end_if %> <% end_if %>
</ul> </ul>

View File

@ -1,10 +1,10 @@
<li> <li>
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of options" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of options') %>" />
<input type="radio" name="$Name.Attr[Default]" value="$ID" /> <input type="radio" name="$Name.Attr[Default]" value="$ID" />
<input type="text" name="$Name.Attr[Title]" value="$Title.Attr" /> <input type="text" name="$Name.Attr[Title]" value="$Title.Attr" />
<% if isReadonly %> <% if isReadonly %>
<a href="#"><img src="cms/images/delete.gif" alt="Remove this option" /></a> <a href="#"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Remove this option') %>" /></a>
<% else %> <% else %>
<img src="cms/images/locked.gif" alt="These fields cannot be modified" /> <img src="cms/images/locked.gif" alt="<% _t('LOCKED', 'These fields cannot be modified') %>" />
<% end_if %> <% end_if %>
</li> </li>

View File

@ -1,10 +1,10 @@
<div class="EditableTextField EditableFormField" id="$Name.Attr"> <div class="EditableTextField EditableFormField" id="$Name.Attr">
<div class="FieldInfo"> <div class="FieldInfo">
<img class="handle" src="sapphire/images/drag.gif" alt="Drag to rearrange order of fields" /> <img class="handle" src="sapphire/images/drag.gif" alt="<% _t('DRAG', 'Drag to rearrange order of fields') %>" />
<img class="icon" src="sapphire/images/fe_icons/text.png" alt="Text Field" /> <img class="icon" src="sapphire/images/fe_icons/text.png" alt="<% _t('TEXTFIELD', 'Text Field') %>" />
$TitleField $TitleField
<a class="toggler" href="#" title="More options"><img src="cms/images/edit.gif" alt="More options" /></a> <a class="toggler" href="#" title="<% _t('MORE', 'More options') %>"><img src="cms/images/edit.gif" alt="<% _t('MORE', 'More options') %>" /></a>
<a class="delete" href="#" title="Delete this field"><img src="cms/images/delete.gif" alt="Delete this field" /></a> <a class="delete" href="#" title="<% _t('DELETE', 'Delete this field') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'Delete this field') %>" /></a>
</div> </div>
<div class="ExtraOptions" id="$Name.Attr-extraOptions"> <div class="ExtraOptions" id="$Name.Attr-extraOptions">
<div class="FieldDefault" id="$Name.Attr-fieldDefault"> <div class="FieldDefault" id="$Name.Attr-fieldDefault">

View File

@ -1,35 +1,35 @@
<div class="FieldEditor <% if isReadonly %>readonly<% end_if %>" id="Fields" name="$Name.Attr"> <div class="FieldEditor <% if isReadonly %>readonly<% end_if %>" id="Fields" name="$Name.Attr">
<ul class="TopMenu Menu"> <ul class="TopMenu Menu">
<li>Add:</li> <li><% _t('ADD', 'Add') %>:</li>
<li> <li>
<a href="#" title="Add text field" id="TextField">Text</a> <a href="#" title="<% _t('TEXTTITLE', 'Add text field') %>" id="TextField"><% _t('TEXT', 'Text') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add checkbox" id="Checkbox">Checkbox</a> <a href="#" title="<% _t('CHECKBOXTITLE', 'Add checkbox') %>" id="Checkbox"><% _t('CHECKBOX', 'Checkbox') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add dropdown" id="Dropdown">Dropdown</a> <a href="#" title="<% _t('DROPDOWNTITLE', 'Add dropdown') %>" id="Dropdown"><% _t('DROPDOWN', 'Dropdown') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add radio button set" id="RadioField">Radio</a> <a href="#" title="<% _t('RADIOSETTITLE', 'Add radio button set') %>" id="RadioField"><% _t('RADIOSET', 'Radio') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add email field" id="EmailField">Email</a> <a href="#" title="<% _t('EMAILTITLE', 'Add email field') %>" id="EmailField"><% _t('EMAIL', 'Email') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add form heading" id="FormHeading">Heading</a> <a href="#" title="<% _t('FORMHEADINGTITLE', 'Add form heading') %>" id="FormHeading"><% _t('FORMHEADING', 'Heading') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add date heading" id="DateField">Date</a> <a href="#" title="<% _t('DATETITLE', 'Add date heading') %>" id="DateField"><% _t('DATE', 'Date') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add file upload field" id="FileField">File</a> <a href="#" title="<% _t('FILETITLE', 'Add file upload field') %>" id="FileField"><% _t('FILE', 'File') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add checkbox group field" id="CheckboxGroupField">Checkboxes</a> <a href="#" title="<% _t('CHECKBOXGROUPTITLE', 'Add checkbox group field') %>" id="CheckboxGroupField"><% _t('CHECKBOXGROUP', 'Checkboxes') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add member list field" id="MemberListField">Member List</a> <a href="#" title="<% _t('MEMBERTITLE', 'Add member list field') %>" id="MemberListField"><% _t('MEMBER', 'Member List') %></a>
</li> </li>
</ul> </ul>
<div class="FieldList" id="Fields_fields"> <div class="FieldList" id="Fields_fields">
@ -42,36 +42,36 @@
<% end_control %> <% end_control %>
</div> </div>
<ul class="BottomMenu Menu"> <ul class="BottomMenu Menu">
<li>Add:</li> <li><% _t('ADD', 'Add') %>:</li>
<li> <li>
<a href="#" title="Add text field" id="TextField">Text</a> <a href="#" title="<% _t('TEXTTITLE', 'Add text field') %>" id="TextField"><% _t('TEXT', 'Text') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add checkbox" id="Checkbox">Checkbox</a> <a href="#" title="<% _t('CHECKBOXTITLE', 'Add checkbox') %>" id="Checkbox"><% _t('CHECKBOX', 'Checkbox') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add dropdown" id="Dropdown">Dropdown</a> <a href="#" title="<% _t('DROPDOWNTITLE', 'Add dropdown') %>" id="Dropdown"><% _t('DROPDOWN', 'Dropdown') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add radio button set" id="RadioField">Radio</a> <a href="#" title="<% _t('RADIOSETTITLE', 'Add radio button set') %>" id="RadioField"><% _t('RADIOSET', 'Radio') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add email field" id="EmailField">Email</a> <a href="#" title="<% _t('EMAILTITLE', 'Add email field') %>" id="EmailField"><% _t('EMAIL', 'Email') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add form heading" id="FormHeading">Heading</a> <a href="#" title="<% _t('FORMHEADINGTITLE', 'Add form heading') %>" id="FormHeading"><% _t('FORMHEADING', 'Heading') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add date heading" id="DateField">Date</a> <a href="#" title="<% _t('DATETITLE', 'Add date heading') %>" id="DateField"><% _t('DATE', 'Date') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add file upload field" id="FileField">File</a> <a href="#" title="<% _t('FILETITLE', 'Add file upload field') %>" id="FileField"><% _t('FILE', 'File') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add checkbox group field" id="CheckboxGroupField">Checkboxes</a> <a href="#" title="<% _t('CHECKBOXGROUPTITLE', 'Add checkbox group field') %>" id="CheckboxGroupField"><% _t('CHECKBOXGROUP', 'Checkboxes') %></a>
</li> </li>
<li> <li>
<a href="#" title="Add member list field" id="MemberListField">Member List</a> <a href="#" title="<% _t('MEMBERTITLE', 'Add member list field') %>" id="MemberListField"><% _t('MEMBER', 'Member List') %></a>
</li> </li>
</ul> </ul>
<div class="FormOptions"> <div class="FormOptions">

View File

@ -1,15 +1,15 @@
<% if ShowPagination %> <% if ShowPagination %>
<div class="PageControls"> <div class="PageControls">
<% if LastLink %><a class="Last" href="$LastLink" title="View last $PageSize members"><img src="cms/images/pagination/record-last.png" alt="View last $PageSize" /></a> <% if LastLink %><a class="Last" href="$LastLink" title="<% _t('VIEWLAST', 'View last') %> $PageSize"><img src="cms/images/pagination/record-last.png" alt="<% _t('VIEWLAST', 'View last') %> $PageSize" /></a>
<% else %><span class="Last"><img src="cms/images/pagination/record-last-g.png" alt="View last $PageSize members" /></span><% end_if %> <% else %><span class="Last"><img src="cms/images/pagination/record-last-g.png" alt="<% _t('VIEWLAST', 'View last') %> $PageSize" /></span><% end_if %>
<% if FirstLink %><a class="First" href="$FirstLink" title="View first $PageSize members"><img src="cms/images/pagination/record-first.png" alt="View first $PageSize" /></a> <% if FirstLink %><a class="First" href="$FirstLink" title="<% _t('VIEWFIRST', 'View first') %> $PageSize"><img src="cms/images/pagination/record-first.png" alt="<% _t('VIEWFIRST', 'View first') %> $PageSize" /></a>
<% else %><span class="First"><img src="cms/images/pagination/record-first-g.png" alt="View first $PageSize members" /></span><% end_if %> <% else %><span class="First"><img src="cms/images/pagination/record-first-g.png" alt="<% _t('VIEWFIRST', 'View first') %> $PageSize" /></span><% end_if %>
<% if PrevLink %><a class="Prev" href="$PrevLink" title="View previous $PageSize members"><img src="cms/images/pagination/record-prev.png" alt="View previous $PageSize" /></a> <% if PrevLink %><a class="Prev" href="$PrevLink" title="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize"><img src="cms/images/pagination/record-prev.png" alt="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize" /></a>
<% else %><img class="Prev" src="cms/images/pagination/record-prev-g.png" alt="View previous $PageSize members" /><% end_if %> <% else %><img class="Prev" src="cms/images/pagination/record-prev-g.png" alt="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize" /><% end_if %>
<span class="Count"> <span class="Count">
Displaying $FirstItem to $LastItem of $TotalCount <% _t('DISPLAYING', 'Displaying') %> $FirstItem <% _t('TO', 'to') %> $LastItem <% _t('OF', 'of') %> $TotalCount
</span> </span>
<% if NextLink %><a class="Next" href="$NextLink" title="View next $PageSize members"><img src="cms/images/pagination/record-next.png" alt="View next $PageSize" /></a> <% if NextLink %><a class="Next" href="$NextLink" title="<% _t('VIEWNEXT', 'View next') %> $PageSize"><img src="cms/images/pagination/record-next.png" alt="<% _t('VIEWNEXT', 'View next') %> $PageSize" /></a>
<% else %><img class="Next" src="cms/images/pagination/record-next-g.png" alt="View next $PageSize" /><% end_if %> <% else %><img class="Next" src="cms/images/pagination/record-next-g.png" alt="<% _t('VIEWNEXT', 'View next') %> $PageSize" /><% end_if %>
</div> </div>
<% end_if %> <% end_if %>

View File

@ -29,7 +29,7 @@
<tr> <tr>
<% if Markable %><td width="18">&nbsp;</td><% end_if %> <% if Markable %><td width="18">&nbsp;</td><% end_if %>
<td colspan="$ItemCount"> <td colspan="$ItemCount">
<a class="popuplink addlink" href="$AddLink" alt="add"><img src="cms/images/add.gif" alt="add" />Add $Title</a> <a class="popuplink addlink" href="$AddLink" alt="<% _t('ADD', 'Add') %>"><img src="cms/images/add.gif" alt="<% _t('ADD', 'add') %>" /><% _t('ADD', 'Add') %> $Title</a>
</td> </td>
<% if Can(show) %><td width="18">&nbsp;</td><% end_if %> <% if Can(show) %><td width="18">&nbsp;</td><% end_if %>
<% if Can(edit) %><td width="18">&nbsp;</td><% end_if %> <% if Can(edit) %><td width="18">&nbsp;</td><% end_if %>
@ -46,20 +46,20 @@
<td>$Value</td> <td>$Value</td>
<% end_control %> <% end_control %>
<% if Can(show) %> <% if Can(show) %>
<td width="18"><a class="popuplink showlink" href="$ShowLink" target="_blank"><img src="cms/images/show.png" alt="show" /></a></td> <td width="18"><a class="popuplink showlink" href="$ShowLink" target="_blank"><img src="cms/images/show.png" alt="<% _t('SHOW', 'show') %>" /></a></td>
<% end_if %> <% end_if %>
<% if Can(edit) %> <% if Can(edit) %>
<td width="18"><a class="popuplink editlink" href="$EditLink" target="_blank"><img src="cms/images/edit.gif" alt="edit" /></a></td> <td width="18"><a class="popuplink editlink" href="$EditLink" target="_blank"><img src="cms/images/edit.gif" alt="<% _t('EDIT', 'edit') %>" /></a></td>
<% end_if %> <% end_if %>
<% if Can(delete) %> <% if Can(delete) %>
<td width="18"><a class="deletelink" href="$DeleteLink" title="Delete this row"><img src="cms/images/delete.gif" alt="delete" /></a></td> <td width="18"><a class="deletelink" href="$DeleteLink" title="Delete this row"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'delete') %>" /></a></td>
<% end_if %> <% end_if %>
</tr> </tr>
<% end_control %> <% end_control %>
<% else %> <% else %>
<tr class="notfound"> <tr class="notfound">
<% if Markable %><th width="18">&nbsp;</th><% end_if %> <% if Markable %><th width="18">&nbsp;</th><% end_if %>
<td colspan="$Headings.Count"><i>No items found</i></td> <td colspan="$Headings.Count"><i><% _t('NOTFOUND', 'No items found') %></i></td>
<% if Can(show) %><td width="18">&nbsp;</td><% end_if %> <% if Can(show) %><td width="18">&nbsp;</td><% end_if %>
<% if Can(edit) %><td width="18">&nbsp;</td><% end_if %> <% if Can(edit) %><td width="18">&nbsp;</td><% end_if %>
<% if Can(delete) %><td width="18">&nbsp;</td><% end_if %> <% if Can(delete) %><td width="18">&nbsp;</td><% end_if %>

View File

@ -4,7 +4,7 @@
<div class="reports" id="FormSubmissions"> <div class="reports" id="FormSubmissions">
<% control Submissions %> <% control Submissions %>
<div class="report"> <div class="report">
<span class="submitted">Submitted at $Created.Nice <% if Recipient %>to $Recipient<% end_if %></span> <span class="submitted"><% _t('SUBMITTED', 'Submitted at') %> $Created.Nice <% if Recipient %>to $Recipient<% end_if %></span>
<table> <table>
<% control FieldValues %> <% control FieldValues %>
<tr> <tr>

View File

@ -29,7 +29,7 @@
<% if Can(add) %> <% if Can(add) %>
<tr> <tr>
<td colspan="$ItemCount"> <td colspan="$ItemCount">
<a href="#" class="addrow" title="Add a new row"><img src="cms/images/add.gif" alt="<% _t('ADD') %>" /> <% _t('ADDITEM') %> $Title</a> <a href="#" class="addrow" title="<% _t('ADD', 'Add a new row') %>"><img src="cms/images/add.gif" alt="<% _t('ADD') %>" /> <% _t('ADDITEM') %> $Title</a>
</td> </td>
<td style="display: none"></td> <td style="display: none"></td>
<% if Can(delete) %><td width="18">&nbsp;</td><% end_if %> <% if Can(delete) %><td width="18">&nbsp;</td><% end_if %>

View File

@ -1,4 +1,4 @@
<p><% _t('HELLO', 'Hi') %> $FirstName,</p> <p><% _t('HELLO', 'Hi') %> $FirstName,</p>
<p>Here's is your <a href="$PasswordResetLink">password reset link</a> for $BaseHref</p> <p><% _t('TEXT1', 'Here\'s is your') %> <a href="$PasswordResetLink"><% _t('TEXT2', 'password reset link') %></a> <% _t('TEXT3', 'for') %> $BaseHref</p>