diff --git a/core/model/DataObject.php b/core/model/DataObject.php index e6463e35c..e1fd0ad35 100644 --- a/core/model/DataObject.php +++ b/core/model/DataObject.php @@ -231,6 +231,27 @@ class DataObject extends Controller implements DataObjectInterface { 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 * 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. * This is included so that you can call $dataOrController->data() and get a DataObject all the time. diff --git a/core/model/ErrorPage.php b/core/model/ErrorPage.php index 11afad36b..1faa03721 100755 --- a/core/model/ErrorPage.php +++ b/core/model/ErrorPage.php @@ -27,10 +27,10 @@ class ErrorPage extends Page { if(!DataObject::get_one("ErrorPage", "ErrorCode = '404'")) { $errorpage = new ErrorPage(); $errorpage->ErrorCode = 404; - $errorpage->Title = "Page not found"; + $errorpage->Title = _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found'); $errorpage->URLSegment = "page-not-found"; $errorpage->ShowInMenus = false; - $errorpage->Content = "

Sorry, it seems you were trying to access a page that doesn't exist.

Please check the spelling of the URL you were trying to access and try again.

"; + $errorpage->Content = _t('ErrorPage.DEFAULTERRORPAGECONTENT', '

Sorry, it seems you were trying to access a page that doesn\'t exist.

Please check the spelling of the URL you were trying to access and try again.

'); $errorpage->Status = "New page"; $errorpage->write(); // Don't publish, as the manifest may not be built yet @@ -50,8 +50,8 @@ class ErrorPage extends Page { "ErrorCode", _t('ErrorPage.CODE', "Error code"), array( - 404 => "404 - Page not found", - 500 => "500 - Server error" + 404 => _t('ErrorPage.404', '404 - Page not found'), + 500 => _t('ErrorPage.500', '500 - Server error') ) ), "Content" diff --git a/core/model/SiteTree.php b/core/model/SiteTree.php index d3c3406f9..0563f7908 100644 --- a/core/model/SiteTree.php +++ b/core/model/SiteTree.php @@ -708,8 +708,8 @@ class SiteTree extends DataObject { if(!DataObject::get_one("SiteTree", "URLSegment = 'home'")) { $homepage = new Page(); - $homepage->Title = "Home"; - $homepage->Content = "

Welcome to SilverStripe! This is the default homepage. You can edit this page by opening the CMS. You can now access the developer documentation, or begin the tutorials.

"; + $homepage->Title = _t('SiteTree.DEFAULTHOMETITLE', 'Home'); + $homepage->Content = _t('SiteTree.DEFAULTHOMECONTENT', '

Welcome to SilverStripe! This is the default homepage. You can edit this page by opening the CMS. You can now access the developer documentation, or begin the tutorials.

'); $homepage->URLSegment = "home"; $homepage->Status = "Published"; $homepage->write(); @@ -720,8 +720,8 @@ class SiteTree extends DataObject { if(DB::query("SELECT COUNT(*) FROM SiteTree")->value() == 1) { $aboutus = new Page(); - $aboutus->Title = "About Us"; - $aboutus->Content = "

You can fill this page out with your own content, or delete it and create your own pages.

"; + $aboutus->Title = _t('SiteTree.DEFAULTABOUTTITLE', 'About Us'); + $aboutus->Content = _t('SiteTree.DEFAULTABOUTCONTENT', '

You can fill this page out with your own content, or delete it and create your own pages.

'); $aboutus->URLSegment = "about-us"; $aboutus->Status = "Published"; $aboutus->write(); @@ -729,8 +729,8 @@ class SiteTree extends DataObject { Database::alteration_message("About Us created","created"); $contactus = new Page(); - $contactus->Title = "Contact Us"; - $contactus->Content = "

You can fill this page out with your own content, or delete it and create your own pages.

"; + $contactus->Title = _t('SiteTree.DEFAULTCONTACTTITLE', 'Contact Us'); + $contactus->Content = _t('SiteTree.DEFAULTCONTACTCONTENT', '

You can fill this page out with your own content, or delete it and create your own pages.

'); $contactus->URLSegment = "contact-us"; $contactus->Status = "Published"; $contactus->write(); @@ -1220,25 +1220,28 @@ class SiteTree extends DataObject { $instance = singleton($class); if((($instance instanceof HiddenClass) || !$instance->canCreate()) && ($class != $this->class)) continue; + /* $addAction = $instance->uninherited('add_action', true); if(!$addAction) { $addAction = $instance->singular_name(); } + */ + $addAction = $instance->i18n_singular_name(); if($class == $this->class) { $currentClass = $class; $currentAddAction = $addAction; } else { $result[$class] = ($class == $this->class) - ? "Currently $addAction" - : "Change to $addAction"; + ? _t('SiteTree.CURRENTLY', 'Currently').' '.$addAction + : _t('SiteTree.CHANGETO', 'Change to').' '.$addAction; } } // sort alphabetically, and put current on top asort($result); $result = array_reverse($result); - $result[$currentClass] = "{$currentAddAction} (current)"; + $result[$currentClass] = $currentAddAction.' ('._t('SiteTree.CURRENT','current').')'; $result = array_reverse($result); return $result; diff --git a/core/model/Translatable.php b/core/model/Translatable.php index ba6bc39f4..b7d9cd1b9 100755 --- a/core/model/Translatable.php +++ b/core/model/Translatable.php @@ -610,17 +610,17 @@ class Translatable extends DataObjectDecorator { } $fields->addFieldsToTab( 'Root', - new Tab("Translations", - new HeaderField("Create new translation", 2), - $langDropdown = new LanguageDropdownField("NewTransLang", "New language", $alreadyTranslatedLangs), - $createButton = new InlineFormAction('createtranslation',"Create") + new Tab(_t('Translatable.TRANSLATIONS', 'Translations'), + new HeaderField(_t('Translatable.CREATE', 'Create new translation'), 2), + $langDropdown = new LanguageDropdownField("NewTransLang", _t('Translatable.NEWLANGUAGE', 'New language'), $alreadyTranslatedLangs), + $createButton = new InlineFormAction('createtranslation',_t('Translatable.CREATEBUTTON', 'Create')) ) ); if (count($alreadyTranslatedLangs)) { $fields->addFieldsToTab( 'Root.Translations', new FieldSet( - new HeaderField("Existing translations:", 3), + new HeaderField(_t('Translatable.EXISTING', 'Existing translations:'), 3), new LiteralField('existingtrans',implode(', ',$alreadyTranslatedLangs)) ) ); diff --git a/core/model/fieldtypes/Date.php b/core/model/fieldtypes/Date.php index 87b468635..2bdecf08b 100644 --- a/core/model/fieldtypes/Date.php +++ b/core/model/fieldtypes/Date.php @@ -104,7 +104,7 @@ class Date extends DBField { if(time() < strtotime($this->value)) $agoWord = _t("Date.AWAY", " away"); else $agoWord = _t("Date.AGO", " ago"); - return $this->TimeDiff() . $agoWord; + return $this->TimeDiff() . ' ' . $agoWord; } } diff --git a/forms/BankAccountField.php b/forms/BankAccountField.php index eec2f85e6..de34f4800 100755 --- a/forms/BankAccountField.php +++ b/forms/BankAccountField.php @@ -91,7 +91,7 @@ class BankAccountField extends FormField { $jsRequired .= "require('$name')\n"; } } - + $error = _t('BankAccountField.VALIDATIONJS', 'Please enter a valid bank number'); $jsFunc =<<dateDropdown = new DropdownField($name."[date]", "", - array('NotSet' => '(Day)', + array('NotSet' => '('._t('CompositeDateField.DAY', 'Day').')', '01'=>'01', '02'=>'02', '03'=>'03', '04'=>'04', '05'=>'05', '06'=>'06', '07'=>'07', '08'=>'08', '09'=>'09', '10'=>'10', '11'=>'11', '12'=>'12', '13'=>'13', '14'=>'14', '15'=>'15', @@ -29,7 +29,7 @@ class CompositeDateField extends DateField { ); $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', '06'=>'06', '07'=>'07', '08'=>'08', '09'=>'09', '10'=>'10', '11'=>'11', '12'=>'12' @@ -94,7 +94,11 @@ class CompositeDateField extends DateField { function jsValidation() { $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 =<<canBeEmpty) { $jsTests .= " if(!passEl.value || !confEl.value) { - validationError(confEl, \"Passwords can't be empty.\", \"error\"); + validationError(confEl, \"$error2\", \"error\"); return false; } "; @@ -174,13 +176,13 @@ class ConfirmedPasswordField extends FormField { if(($this->minLength || $this->maxLength)) { if($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) { $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) { $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 . '}$/'; $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) { $jsTests .= " if(!passEl.value.match(/^(([a-zA-Z]+\d+)|(\d+[a-zA-Z]+))[a-zA-Z0-9]*$/)) { validationError( confEl, - \"Passwords must have at least one digit and one alphanumeric character.\", + \"$error3\", \"error\" ); return false; @@ -273,13 +276,13 @@ JS; if(($this->minLength || $this->maxLength)) { if($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) { $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) { $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 . '}$/'; if(!empty($value) && !preg_match($limitRegex,$value)) { diff --git a/forms/CreditCardField.php b/forms/CreditCardField.php index 061390808..2af9f655c 100755 --- a/forms/CreditCardField.php +++ b/forms/CreditCardField.php @@ -29,7 +29,12 @@ class CreditCardField extends TextField { function jsValidation() { $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 =<<value) foreach($this->value as $part){ if(!$part || !(strlen($part) == 4) || !ereg("([0-9]{4})",$part)){ switch($i){ - case 0: $number = "first"; break; - case 1: $number = "second"; break; - case 2: $number = "third"; break; - case 3: $number = "fourth"; break; + case 0: $number = _t('CreditCardField.FIRST', 'first'); break; + case 1: $number = _t('CreditCardField.SECOND', 'second'); break; + case 2: $number = _t('CreditCardField.THIRD', 'third'); break; + case 3: $number = _t('CreditCardField.FOURTH', 'fourth'); break; } $validator->validationError( $this->name, diff --git a/forms/CurrencyField.php b/forms/CurrencyField.php index 669b556a3..5a43afeab 100755 --- a/forms/CurrencyField.php +++ b/forms/CurrencyField.php @@ -45,7 +45,7 @@ class CurrencyField extends TextField { */ function jsValidation() { $formID = $this->form->FormName(); - + $error = _t('CurrencyField.VALIDATIONJS', 'Please enter a valid currency.'); $jsFunc =<< 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 true; @@ -91,10 +91,10 @@ class CurrencyField_Readonly extends ReadonlyField{ function Field() { if($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 { - $val = '$0.00'; + $val = ''._t('CurrencyField.CURRENCYSYMBOL', '$').'0.00'; } $valforInput = $this->value ? Convert::raw2att($val) : ""; return "id() . "\">$valname."\" value=\"".$valforInput."\" />"; diff --git a/forms/DataReport.php b/forms/DataReport.php index 0a3af2758..0bd504a6a 100755 --- a/forms/DataReport.php +++ b/forms/DataReport.php @@ -135,9 +135,10 @@ HTML $idexport = $this->id() . '_exportToCSV'; $idtype = $this->id() . '_Type'; $class = $this->class; - if($this->export){ - $exportButton =<< + if($this->export){ + $value = _t('EXPORTCSV', 'Export to CSV'); + $exportButton =<< HTML ; diff --git a/forms/DateField.php b/forms/DateField.php index 8675bcc70..d3284acaa 100755 --- a/forms/DateField.php +++ b/forms/DateField.php @@ -42,7 +42,7 @@ class DateField extends TextField { function jsValidation($formID = null) { if(!$formID)$formID = $this->form->FormName(); - + $error = _t('DateField.VALIDATIONJS', 'Please enter a valid date format (DD/MM/YYYY).'); $jsFunc =<< 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 true; @@ -98,7 +98,7 @@ class DateField_Disabled extends DateField { function setValue($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() { @@ -107,12 +107,12 @@ class DateField_Disabled extends DateField { $df->setValue($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 { $val = Convert::raw2xml($this->value . ', ' . $df->Ago()); } } else { - $val = '(not set)'; + $val = '('._t('DateField.NOTSET', 'not set').')'; } return "id() . "\">$val"; diff --git a/forms/EditableCheckbox.php b/forms/EditableCheckbox.php index 93937ab7b..5e4bb4b2e 100755 --- a/forms/EditableCheckbox.php +++ b/forms/EditableCheckbox.php @@ -42,9 +42,9 @@ class EditableCheckbox extends EditableFormField { function getFilterField() { return new OptionsetField( $this->Name, $this->Title, - array( '-1' => '(Any)', - 'on' => 'Selected', - '0' => 'Not selected' ) + array( '-1' => '('._t('EditableCheckbox.ANY', 'Any').')', + 'on' => _t('EditableCheckbox.SELECTED', 'Selected'), + '0' => _t('EditableCheckbox.NOTSELECTED', 'Not selected') ) ); } } diff --git a/forms/EditableEmailField.php b/forms/EditableEmailField.php index 3b5b0f599..39c172c13 100755 --- a/forms/EditableEmailField.php +++ b/forms/EditableEmailField.php @@ -30,7 +30,7 @@ class EditableEmailField extends EditableFormField { $baseName = "Fields[$this->ID]"; $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 ) diff --git a/forms/EditableFormField.php b/forms/EditableFormField.php index 4731ce5ed..0919db2d7 100755 --- a/forms/EditableFormField.php +++ b/forms/EditableFormField.php @@ -78,7 +78,7 @@ class EditableFormField extends DataObject { $readOnlyAttr = ''; } - return "ID}][Title]\"$readOnlyAttr />"; + return "ID}][Title]\"$readOnlyAttr />"; } function Name() { @@ -111,9 +111,9 @@ class EditableFormField extends DataObject { $extraOptions = new FieldSet(); 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' ) ){ - $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' ) ) { diff --git a/forms/EditableTextField.php b/forms/EditableTextField.php index 5b161d8b2..b8d52728c 100755 --- a/forms/EditableTextField.php +++ b/forms/EditableTextField.php @@ -37,12 +37,12 @@ class EditableTextField extends EditableFormField { $baseName = "Fields[$this->ID]"; $extraFields = new FieldSet( - new TextField($baseName . "[Size]", "Length of text box", (string)$this->Size), - new FieldGroup("Text length", + new TextField($baseName . "[Size]", _t('EditableTextField.TEXTBOXLENGTH', 'Length of text box'), (string)$this->Size), + new FieldGroup(_t('EditableTextField.TEXTLENGTH', 'Text length'), new TextField($baseName . "[MinLength]", "", (string)$this->MinLength), 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 ) @@ -89,9 +89,9 @@ class EditableTextField extends EditableFormField { $disabled = ''; } if( $this->Rows == 1 ){ - return '
'; + return '
'; }else{ - return '
'; + return '
'; } } } diff --git a/forms/EmailField.php b/forms/EmailField.php index e9d3fa535..df25138f7 100755 --- a/forms/EmailField.php +++ b/forms/EmailField.php @@ -14,7 +14,7 @@ class EmailField extends TextField { function jsValidation() { $formID = $this->form->FormName(); - + $error = _t('EmailField.VALIDATIONJS', 'Please enter an email address.'); $jsFunc =<<validator ) - $result .= "

Validator

" . $this->validator->debug(); + $result .= '

'._t('Form.VALIDATOR', 'Validator').'

' . $this->validator->debug(); return $result; } diff --git a/forms/FormField.php b/forms/FormField.php index 6f239ea61..060504b4b 100644 --- a/forms/FormField.php +++ b/forms/FormField.php @@ -231,7 +231,7 @@ class FormField extends ViewableData { */ function Field() { if($this->value) $val = $this->dontEscape ? ($this->reserveNL?Convert::raw2xml($this->value):$this->value) : Convert::raw2xml($this->value); - else $val = '(none)'; + else $val = '('._t('FormField.NONE', 'none').')'; $valforInput = $this->value ? Convert::raw2att($val) : ""; return "id() . "\">$val\nname."\" value=\"".$valforInput."\" />"; } diff --git a/forms/GSTNumberField.php b/forms/GSTNumberField.php index 03f950316..35bfb2444 100755 --- a/forms/GSTNumberField.php +++ b/forms/GSTNumberField.php @@ -15,7 +15,7 @@ class GSTNumberField extends TextField { function jsValidation() { $formID = $this->form->FormName(); - + $error = _t('GSTNumberField.VALIDATIONJS', 'Please enter a valid GST Number'); $jsFunc =<< 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 true; diff --git a/forms/HtmlEditorField.php b/forms/HtmlEditorField.php index 01850683d..c9ab8b766 100755 --- a/forms/HtmlEditorField.php +++ b/forms/HtmlEditorField.php @@ -340,7 +340,7 @@ class HtmlEditorField_Toolbar extends ViewableData { $this->controller, "{$this->name}.LinkForm", new FieldSet( - new LiteralField('Heading', '

closeLink

'), + new LiteralField('Heading', '

'._t('HtmlEditorField.CLOSE', 'close').''._t('HtmlEditorField.LINK', 'Link').'

'), new OptionsetField("LinkType", _t('HtmlEditorField.LINKTO', "Link to"), array( "internal" => _t('HtmlEditorField.LINKINTERNAL',"Page on the site"), @@ -370,7 +370,7 @@ class HtmlEditorField_Toolbar extends ViewableData { $this->controller, "{$this->name}.ImageForm", new FieldSet( - new LiteralField('Heading', '

closeImage

'), + new LiteralField('Heading', '

'._t('HtmlEditorField.CLOSE', 'close').''._t('HtmlEditorField.IMAGE', 'Image').'

'), new TreeDropdownField("FolderID", _t('HtmlEditorField.FOLDER', "Folder"), "Folder"), new LiteralField('AddFolderOrUpload', '
@@ -410,7 +410,7 @@ class HtmlEditorField_Toolbar extends ViewableData { $this->controller, "{$this->name}.FlashForm", new FieldSet( - new LiteralField('Heading', '

closeFlash

'), + new LiteralField('Heading', '

'._t('HtmlEditorField.CLOSE', 'close').''._t('HtmlEditorField.FLASH', 'Flash').'

'), new TreeDropdownField("FolderID", _t('HtmlEditorField.FOLDER'), "Folder"), new ThumbnailStripField("Flash", "FolderID", "getflash"), new FieldGroup(_t('HtmlEditorField.IMAGEDIMENSIONS', "Dimensions"), diff --git a/forms/NumericField.php b/forms/NumericField.php index c55e19f14..251ee064f 100755 --- a/forms/NumericField.php +++ b/forms/NumericField.php @@ -15,7 +15,7 @@ class NumericField extends TextField{ function jsValidation() { $formID = $this->form->FormName(); - + $error = _t('NumericField.VALIDATIONJS', 'is not a number, only numbers can be accepted for this field'); $jsFunc =<< - - + +
"; diff --git a/forms/editor/FieldEditor.php b/forms/editor/FieldEditor.php index e94456d75..5a7c8f30d 100755 --- a/forms/editor/FieldEditor.php +++ b/forms/editor/FieldEditor.php @@ -182,8 +182,8 @@ class FieldEditor extends FormField { function FormOptions() { if($this->haveFormOptions){ $fields = new FieldSet( - new EmailField( "{$this->name}[EmailTo]", "Email submission to:", $this->form->getRecord()->EmailTo ), - new CheckboxField( "{$this->name}[EmailOnSubmit]", "Email form on submit:", $this->form->getRecord()->EmailOnSubmit ) + new EmailField( "{$this->name}[EmailTo]", _t('FieldEditor.EMAILSUBMISSION', 'Email submission to:'), $this->form->getRecord()->EmailTo ), + new CheckboxField( "{$this->name}[EmailOnSubmit]", _t('FieldEditor.EMAILONSUBMIT', 'Email form on submit:'), $this->form->getRecord()->EmailOnSubmit ) ); if( $this->form->getRecord()->hasMethod( 'customFormActions' ) ) { diff --git a/lang/pt_PT.php b/lang/pt_PT.php index ef53f1c30..7aaf64f00 100644 --- a/lang/pt_PT.php +++ b/lang/pt_PT.php @@ -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']['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 "%s"'; +$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'] = '

Bem-vindo ao Silverstripe! Esta é a página inicial pré-definida. Pode editar esta página no CMS. Pode vêr a documentação de desenvolvimento, ou os tutoriais.

'; +$lang['pt_PT']['SiteTree']['DEFAULTABOUTTITLE'] = 'Sobre'; +$lang['pt_PT']['SiteTree']['DEFAULTABOUTCONTENT'] = '

Pode inserir o seu conteúdo nesta página ou apaga-la e criar novas.

'; +$lang['pt_PT']['SiteTree']['DEFAULTCONTACTTITLE'] = 'Contacte-nos'; +$lang['pt_PT']['SiteTree']['DEFAULTCONTACTCONTENT'] = '

Pode inserir o seu conteúdo nesta página ou apaga-la e criar novas.

'; + +// core/model/ErrorPage.php +$lang['pt_PT']['ErrorPage']['DEFAULTERRORPAGETITLE'] = 'Página de Erro'; +$lang['pt_PT']['ErrorPage']['DEFAULTERRORPAGECONTENT'] = '

Pedimos desculpa, mas aparentemente tentou aceder a uma página que não existe.

Verifique o URL que utilizou e tente novamente.

'; +$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'; + ?> \ No newline at end of file diff --git a/parsers/BBCodeParser.php b/parsers/BBCodeParser.php index 233d274b1..eb4fcec78 100644 --- a/parsers/BBCodeParser.php +++ b/parsers/BBCodeParser.php @@ -38,66 +38,66 @@ class BBCodeParser extends TextParser { static function usable_tags() { return new DataObjectSet( new ArrayData(array( - "Title" => "Bold Text", - "Example" => "[b]Bold[/b]" + "Title" => _t('BBCodeParser.BOLD', 'Bold Text'), + "Example" => '[b]'._t('BBCodeParser.BOLDEXAMPLE', 'Bold').'[/b]' )), new ArrayData(array( - "Title" => "Italic Text", - "Example" => "[i]Italics[/i]" + "Title" => _t('BBCodeParser.ITALIC', 'Italic Text'), + "Example" => '[i]'._t('BBCodeParser.ITALICEXAMPLE', 'Italics').'[/i]' )), new ArrayData(array( - "Title" => "Underlined Text", - "Example" => "[u]Underlined[/u]" + "Title" => _t('BBCodeParser.UNDERLINE', 'Underlined Text'), + "Example" => '[u]'._t('BBCodeParser.UNDERLINEEXAMPLE', 'Underlined').'[/u]' )), new ArrayData(array( - "Title" => "Struck-out Text", - "Example" => "[s]Struck-out[/s]" + "Title" => _t('BBCodeParser.STRUCK', 'Struck-out Text'), + "Example" => '[s]'._t('BBCodeParser.STRUCKEXAMPLE', 'Struck-out').'[/s]' )), new ArrayData(array( - "Title" => "Colored text", - "Example" => "[color=blue]blue text[/color]" + "Title" => _t('BBCodeParser.COLORED', 'Colored text'), + "Example" => '[color=blue]'._t('BBCodeParser.COLOREDEXAMPLE', 'blue text').'[/color]' )), new ArrayData(array( - "Title" => "Alignment", - "Example" => "[align=right]right aligned[/align]" + "Title" => _t('BBCodeParser.ALIGNEMENT', 'Alignment'), + "Example" => '[align=right]'._t('BBCodeParser.ALIGNEMENTEXAMPLE', 'right aligned').'[/align]' )), new ArrayData(array( - "Title" => "Website link", - "Description" => "Link to another website or URL", - "Example" => "[url]http://www.website.com/[/url]" + "Title" => _t('BBCodeParser.LINK', 'Website link'), + "Description" => _t('BBCodeParser.LINKDESCRIPTION', 'Link to another website or URL'), + "Example" => '[url]http://www.website.com/[/url]' )), new ArrayData(array( - "Title" => "Website link", - "Description" => "Link to another website or URL", + "Title" => _t('BBCodeParser.LINK', 'Website link'), + "Description" => _t('BBCodeParser.LINKDESCRIPTION', 'Link to another website or URL'), "Example" => "[url=http://www.website.com/]Some website[/url]" )), new ArrayData(array( - "Title" => "Email link", - "Description" => "Create link to an email address", + "Title" => _t('BBCodeParser.EMAILLINK', 'Email link'), + "Description" => _t('BBCodeParser.EMAILLINKDESCRIPTION', 'Create link to an email address'), "Example" => "[email]you@yoursite.com[/email]" )), new ArrayData(array( - "Title" => "Email link", - "Description" => "Create link to an email address", + "Title" => _t('BBCodeParser.EMAILLINK', 'Email link'), + "Description" => _t('BBCodeParser.EMAILLINKDESCRIPTION', 'Create link to an email address'), "Example" => "[email=you@yoursite.com]email me[/email]" )), new ArrayData(array( - "Title" => "Image", - "Description" => "Show an image in your post", + "Title" => _t('BBCodeParser.IMAGE', 'Image'), + "Description" => _t('BBCodeParser.IMAGEDESCRIPTION', 'Show an image in your post'), "Example" => "[img]http://www.website.com/image.jpg[/img]" )), new ArrayData(array( - "Title" => "Code Block", - "Description" => "Unformatted code block", - "Example" => "[code]Code block[/code]" + "Title" => _t('BBCodeParser.CODE', 'Code Block'), + "Description" => _t('BBCodeParser.CODEDESCRIPTION', 'Unformatted code block'), + "Example" => '[code]'._t('BBCodeParser.CODEEXAMPLE', 'Code block').'[/code]' )), new ArrayData(array( - "Title" => "Unordered list", - "Description" => "Unordered list", - "Example" => "[ulist][*]unordered item 1[*]unordered item 2[/ulist]" + "Title" => _t('BBCodeParser.UNORDERED', 'Unordered list'), + "Description" => _t('BBCodeParser.UNORDEREDDESCRIPTION', 'Unordered list'), + "Example" => '[ulist][*]'._t('BBCodeParser.UNORDEREDEXAMPLE1', 'unordered item 1').'[*]'._t('BBCodeParser.UNORDEREDEXAMPLE2', 'unordered item 2').'[/ulist]' )) diff --git a/search/AdvancedSearchForm.php b/search/AdvancedSearchForm.php index 6c47ed6a5..e984ad4f0 100755 --- a/search/AdvancedSearchForm.php +++ b/search/AdvancedSearchForm.php @@ -19,27 +19,27 @@ class AdvancedSearchForm extends SearchForm { if(!$fields) { $fields = new FieldSet( $searchBy = new CompositeField( - new HeaderField("SEARCH BY"), - new TextField("+", "All Words"), - new TextField("quote", "Exact Phrase"), - new TextField("any", "At Least One Of the Words"), - new TextField("-", "Without the Words") + new HeaderField(_t('AdvancedSearchForm.SEARCHBY', 'SEARCH BY')), + new TextField("+", _t('AdvancedSearchForm.ALLWORDS', 'All Words')), + new TextField("quote", _t('AdvancedSearchForm.EXACT', 'Exact Phrase')), + new TextField("any", _t('AdvancedSearchForm.ATLEAST', 'At Least One Of the Words')), + new TextField("-", _t('AdvancedSearchForm.WITHOUT', 'Without the Words')) ), $sortBy = new CompositeField( - new HeaderField("SORT RESULTS BY"), + new HeaderField(_t('AdvancedSearchForm.SORTBY', 'SORT RESULTS BY')), new OptionsetField("sortby", "", array( - 'Relevance' =>'Relevance', - 'LastUpdated' => 'Last Updated', - 'PageTitle' => 'Page Title', + 'Relevance' => _t('AdvancedSearchForm.RELEVANCE', 'Relevance'), + 'LastUpdated' => _t('AdvancedSearchForm.LASTUPDATED', 'Last Updated'), + 'PageTitle' => _t('AdvancedSearchForm.PAGETITLE', 'Page Title'), ), 'Relevance' ) ), $chooseDate = new CompositeField( - new HeaderField("LAST UPDATED"), - new CompositeDateField("From", "From"), - new CompositeDateField("To", "To") + new HeaderField(_t('AdvancedSearchForm.LASTUPDATEDHEADER', 'LAST UPDATED')), + new CompositeDateField("From", _t('AdvancedSearchForm.FROM', 'From')), + new CompositeDateField("To", _t('AdvancedSearchForm.TO', 'To')) ) ); @@ -51,7 +51,7 @@ class AdvancedSearchForm extends SearchForm { if(!$actions) { $actions = new FieldSet( - new FormAction("results", "Go") + new FormAction("results", _t('AdvancedSearchForm.GO', 'Go')) ); } parent::__construct($controller, $name, $fields, $actions); diff --git a/search/SearchForm.php b/search/SearchForm.php index 8b996e412..5b2274e16 100755 --- a/search/SearchForm.php +++ b/search/SearchForm.php @@ -21,11 +21,11 @@ class SearchForm extends Form { $this->showInSearchTurnOn = $showInSearchTurnOn; if(!$fields) { - $fields = new FieldSet(new TextField("Search", "Search")); + $fields = new FieldSet(new TextField("Search", _t('SearchForm.SEARCH', 'Search')); } if(!$actions) { $actions = new FieldSet( - new FormAction("getResults", "Go") + new FormAction("getResults", _t('SearchForm.GO', 'Go')) ); } diff --git a/security/Permission.php b/security/Permission.php index 82ad51cef..3803b0b90 100755 --- a/security/Permission.php +++ b/security/Permission.php @@ -434,7 +434,7 @@ class Permission extends DataObject { ? '(select)' : $blankItemText; } - $allCodes['ADMIN'] = 'Full administrative rights'; + $allCodes['ADMIN'] = _t('Permission.FULLADMINRIGHTS', 'Full administrative rights'); if($classes) foreach($classes as $class) { $SNG = singleton($class); @@ -464,7 +464,7 @@ class Permission extends DataObject { if(!Permission::check('ADMIN')) Security::permissionFailure(); - echo "

The following permission codes are defined

"; + echo '

'._t('Permission.PERMSDEFINED', 'The following permission codes are defined').'

'; $codes = self::get_codes(); echo "
";
 		print_r($codes);
diff --git a/security/Security.php b/security/Security.php
index a6cc4d019..428062c5f 100644
--- a/security/Security.php
+++ b/security/Security.php
@@ -243,7 +243,7 @@ class Security extends Controller {
 		}
 
 		$tmpPage = new Page();
-		$tmpPage->Title = "Log in";
+		$tmpPage->Title = _t('Security.LOGIN', 'Log in');
 		$tmpPage->URLSegment = "Security";
 		$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
 		if(!Member::currentUser() || !Member::currentUser()->isAdmin()) {
 			Security::permissionFailure($this,
-				"This page is secured and you need administrator rights to access it. " .
-				"Enter your credentials below and we will send you right along.");
+				_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.'));
 			return;
 		}
 
 
 		if(self::$encryptPasswords == false) {
-			print "

Password encryption disabled!

\n"; - print "

To encrypt your passwords change your password settings by adding\n"; - print "

Security::encrypt_passwords(true);
\nto mysite/_config.php

"; + print '

'._t('Security.ENCDISABLED1', 'Password encryption disabled!')."

\n"; + print '

'._t('Security.ENCDISABLED2', 'To encrypt your passwords change your password settings by adding')."\n"; + print "

Security::encrypt_passwords(true);
\n"._t('Security.ENCDISABLED3', 'to mysite/_config.php')."

"; return; } @@ -804,20 +804,19 @@ class Security extends Controller { "PasswordEncryption = 'none' AND Password IS NOT NULL"); if(!$members) { - print "

No passwords to encrypt

\n"; - print "

There are no members with a clear text password that could be encrypted!

\n"; + print '

'._t('Security.NOTHINGTOENCRYPT1', 'No passwords to encrypt')."

\n"; + print '

'._t('Security.NOTHINGTOENCRYPT2', 'There are no members with a clear text password that could be encrypted!')."

\n"; return; } // Encrypt the passwords... - print "

Encrypting all passwords

"; - print '

The passwords will be encrypted using the "' . - htmlentities(self::$encryptionAlgorithm) . '" algorithm '; + print '

'._t('Security.ENCRYPT', 'Encrypting all passwords').'

'; + print '

'.sprintf(_t('Security.ENCRYPTWITH', 'The passwords will be encrypted using the "%s" algorithm'), htmlentities(self::$encryptionAlgorithm)); print (self::$useSalt) - ? "with a salt to increase the security.

\n" - : "without using a salt to increase the security.

\n"; + ? _t('Security.ENCRYPTWITHSALT', 'with a salt to increase the security.')."

\n" + : _t('Security.ENCRYPTWITHOUTSALT', 'without using a salt to increase the security.')."

\n"; foreach($members as $member) { // Force the update of the member record, as new passwords get @@ -826,9 +825,9 @@ class Security extends Controller { $member->forceChange(); $member->write(); - print " Encrypted credentials for member ""; - print htmlentities($member->getTitle()) . '" (ID: ' . $member->ID . - '; E-Mail: ' . htmlentities($member->Email) . ")
\n"; + print ' '._t('Security.ENCRYPTEDMEMBERS', 'Encrypted credentials for member "'); + print htmlentities($member->getTitle()) . '" ('._t('Security.ID', 'ID:').' ' . $member->ID . + '; '._t('Security.EMAIL', 'E-Mail:').' ' . htmlentities($member->Email) . ")
\n"; } print '

'; diff --git a/templates/ComplexTableField.ss b/templates/ComplexTableField.ss index ae826e3d4..02c64d07f 100755 --- a/templates/ComplexTableField.ss +++ b/templates/ComplexTableField.ss @@ -47,7 +47,7 @@ <% if Markable %> <% end_if %> - add<% _t('ADDITEM', 'Add', PR_MEDIUM, 'Add [name]') %> $Title + <% _t('ADDITEM', 'add') %><% _t('ADDITEM', 'Add', PR_MEDIUM, 'Add [name]') %> $Title <% if Can(show) %> <% end_if %> <% if Can(edit) %> <% end_if %> diff --git a/templates/EditableCheckbox.ss b/templates/EditableCheckbox.ss index 23cd3353b..1d1bc0ad9 100755 --- a/templates/EditableCheckbox.ss +++ b/templates/EditableCheckbox.ss @@ -1,14 +1,14 @@
<% if isReadonly %> - Drag to rearrange order of fields + <% _t('LOCKED', 'This field cannot be modified') %> <% else %> - Drag to rearrange order of fields + <% _t('DRAG', 'Drag to rearrange order of fields') %> <% end_if %> - Checkbox field + <% _t('CHECKBOX', 'Checkbox field') %> $TitleField - More options - Delete this field + <% _t('MORE', 'More options') %> + <% _t('DELETE', 'Delete this field') %>
diff --git a/templates/EditableCheckboxGroupField.ss b/templates/EditableCheckboxGroupField.ss index 9d04ba7d6..82bec0430 100755 --- a/templates/EditableCheckboxGroupField.ss +++ b/templates/EditableCheckboxGroupField.ss @@ -1,21 +1,21 @@
<% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> - Drag to rearrange order of fields + <% _t('DRAG', 'Drag to rearrange order of fields') %> <% end_if %> - Checkbox group + <% _t('CHECKBOXGROUP', 'Checkbox group') %> $TitleField - More options + <% _t('MORE', 'More options') %> <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> <% if CanDelete %> - Delete this field + <% _t('DELETE', 'Delete this field') %> <% else %> - This field is required for this form and cannot be deleted + <% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %> <% end_if %> <% end_if %>
@@ -35,7 +35,7 @@ <% end_control %>
  • - Add new option + <% _t('ADD', 'Add new option') %>
  • <% end_if %> diff --git a/templates/EditableCheckboxOption.ss b/templates/EditableCheckboxOption.ss index 32bccd813..70865a9d6 100755 --- a/templates/EditableCheckboxOption.ss +++ b/templates/EditableCheckboxOption.ss @@ -1,10 +1,10 @@
  • - Drag to rearrange order of options + <% _t('DRAG', 'Drag to rearrange order of options') %> <% if isReadonly %> - Remove this option + <% _t('DELETE', 'Remove this option') %> <% else %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% end_if %>
  • \ No newline at end of file diff --git a/templates/EditableDateField.ss b/templates/EditableDateField.ss index 72f7e2ca3..c4e60550e 100755 --- a/templates/EditableDateField.ss +++ b/templates/EditableDateField.ss @@ -1,10 +1,10 @@
    - Drag to rearrange order of fields - Date Field + <% _t('DRAG', 'Drag to rearrange order of fields') %> + <% _t('DATE', 'Date Field') %> $TitleField - More options - Delete this field + <% _t('MORE', 'More options') %> + <% _t('DELETE', 'Delete this field') %>
    diff --git a/templates/EditableDropdown.ss b/templates/EditableDropdown.ss index a3f7a113a..70b4f22c7 100755 --- a/templates/EditableDropdown.ss +++ b/templates/EditableDropdown.ss @@ -1,20 +1,20 @@
    <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> - Drag to rearrange order of fields + <% _t('DRAG', 'Drag to rearrange order of fields') %> <% end_if %> - Dropdown box + <% _t('DROPDOWN', 'Dropdown box') %> $TitleField - More options + <% _t('MORE', 'More options') %> <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> <% if CanDelete %> - Delete this field + <% _t('DELETE', 'Delete this field') %> <% else %> - This field is required for this form and cannot be deleted + <% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %> <% end_if %> <% end_if %>
    @@ -34,7 +34,7 @@ <% end_control %>
  • - Add new option + <% _t('ADD', 'Add new option') %>
  • <% end_if %> diff --git a/templates/EditableDropdownOption.ss b/templates/EditableDropdownOption.ss index 986687551..2bdf47af4 100755 --- a/templates/EditableDropdownOption.ss +++ b/templates/EditableDropdownOption.ss @@ -1,10 +1,10 @@
  • - Drag to rearrange order of options + <% _t('DRAG', 'Drag to rearrange order of options') %> <% if isReadonly %> - Remove this option + <% _t('DELETE', 'Remove this option') %> <% else %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% end_if %>
  • \ No newline at end of file diff --git a/templates/EditableEmailField.ss b/templates/EditableEmailField.ss index 6b406dbf5..716c27502 100755 --- a/templates/EditableEmailField.ss +++ b/templates/EditableEmailField.ss @@ -1,13 +1,13 @@
    - Drag to rearrange order of fields - Email address field + <% _t('DRAG', 'Drag to rearrange order of fields') %> + <% _t('EMAIL', 'Email address field') %> $TitleField - More options + <% _t('MORE', 'More options') %> <% if CanDelete %> - Delete this field + <% _t('DELETE', 'Delete this field') %> <% else %> - This field is required for this form and cannot be deleted + <% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %> <% end_if %>
    diff --git a/templates/EditableFileField.ss b/templates/EditableFileField.ss index c0fb12f0b..aae08dc88 100755 --- a/templates/EditableFileField.ss +++ b/templates/EditableFileField.ss @@ -1,10 +1,10 @@
    - Drag to rearrange order of fields - File upload field + <% _t('DRAG', 'Drag to rearrange order of fields') %> + <% _t('FILE', 'File upload field') %> $TitleField - More options - Delete this field + <% _t('MORE', 'More options') %> + <% _t('DELETE', 'Delete this field') %>
    diff --git a/templates/EditableFormField.ss b/templates/EditableFormField.ss index 15e864074..6837b6ca0 100755 --- a/templates/EditableFormField.ss +++ b/templates/EditableFormField.ss @@ -1,20 +1,20 @@
    <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> - Drag to rearrange order of fields + <% _t('DRAG', 'Drag to rearrange order of fields') %> <% end_if %> $ClassName $TitleField - More options + <% _t('MORE', 'More options') %> <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> <% if CanDelete %> - Delete this field + <% _t('DELETE', 'Delete this field') %> <% else %> - This field is required for this form and cannot be deleted + <% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %> <% end_if %> <% end_if %>
    diff --git a/templates/EditableFormFieldOption.ss b/templates/EditableFormFieldOption.ss index ff166fbb7..1a6abd905 100755 --- a/templates/EditableFormFieldOption.ss +++ b/templates/EditableFormFieldOption.ss @@ -1,15 +1,15 @@
  • <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> $DefaultSelect - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> - Drag to rearrange order of fields + <% _t('DRAG', 'Drag to rearrange order of fields') %> $DefaultSelect - Remove this option + <% _t('DELETE', 'Remove this option') %> <% end_if %>
  • \ No newline at end of file diff --git a/templates/EditableFormHeading.ss b/templates/EditableFormHeading.ss index 40b1b8f9a..62319dfc9 100755 --- a/templates/EditableFormHeading.ss +++ b/templates/EditableFormHeading.ss @@ -1,10 +1,10 @@
    - Drag to rearrange order of fields - Heading field + <% _t('DRAG', 'Drag to rearrange order of fields') %> + <% _t('HEADING', 'Heading field') %> $TitleField - More options - Delete this field + <% _t('MORE', 'More options') %> + <% _t('DELETE', 'Delete this field') %>
    <% control ExtraOptions %> diff --git a/templates/EditableRadioField.ss b/templates/EditableRadioField.ss index bdc78ff19..26c5c55f6 100755 --- a/templates/EditableRadioField.ss +++ b/templates/EditableRadioField.ss @@ -1,21 +1,21 @@
    <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> - Drag to rearrange order of fields + <% _t('DRAG', 'Drag to rearrange order of fields') %> <% end_if %> - Radio button set + <% _t('SET', 'Radio button set') %> $TitleField - More options + <% _t('MORE', 'More options') %> <% if isReadonly %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% else %> <% if CanDelete %> - Delete this field + <% _t('DELETE', 'Delete this field') %> <% else %> - This field is required for this form and cannot be deleted + <% _t('REQUIRED', 'This field is required for this form and cannot be deleted') %> <% end_if %> <% end_if %>
    @@ -35,7 +35,7 @@ <% end_control %>
  • - Add new option + <% _t('ADD', 'Add new option') %>
  • <% end_if %> diff --git a/templates/EditableRadioOption.ss b/templates/EditableRadioOption.ss index 32bccd813..70865a9d6 100755 --- a/templates/EditableRadioOption.ss +++ b/templates/EditableRadioOption.ss @@ -1,10 +1,10 @@
  • - Drag to rearrange order of options + <% _t('DRAG', 'Drag to rearrange order of options') %> <% if isReadonly %> - Remove this option + <% _t('DELETE', 'Remove this option') %> <% else %> - These fields cannot be modified + <% _t('LOCKED', 'These fields cannot be modified') %> <% end_if %>
  • \ No newline at end of file diff --git a/templates/EditableTextField.ss b/templates/EditableTextField.ss index df3b49a72..26177dbe5 100755 --- a/templates/EditableTextField.ss +++ b/templates/EditableTextField.ss @@ -1,10 +1,10 @@
    - Drag to rearrange order of fields - Text Field + <% _t('DRAG', 'Drag to rearrange order of fields') %> + <% _t('TEXTFIELD', 'Text Field') %> $TitleField - More options - Delete this field + <% _t('MORE', 'More options') %> + <% _t('DELETE', 'Delete this field') %>
    diff --git a/templates/FieldEditor.ss b/templates/FieldEditor.ss index d806c4641..06b365f05 100755 --- a/templates/FieldEditor.ss +++ b/templates/FieldEditor.ss @@ -1,35 +1,35 @@
    @@ -42,36 +42,36 @@ <% end_control %>
    diff --git a/templates/Includes/TableListField_PageControls.ss b/templates/Includes/TableListField_PageControls.ss index c58d85577..53091b2a8 100755 --- a/templates/Includes/TableListField_PageControls.ss +++ b/templates/Includes/TableListField_PageControls.ss @@ -1,15 +1,15 @@ <% if ShowPagination %>
    - <% if LastLink %>View last $PageSize - <% else %>View last $PageSize members<% end_if %> - <% if FirstLink %>View first $PageSize - <% else %>View first $PageSize members<% end_if %> - <% if PrevLink %> - <% else %>View previous $PageSize members<% end_if %> + <% if LastLink %><% _t('VIEWLAST', 'View last') %> $PageSize + <% else %><% _t('VIEWLAST', 'View last') %> $PageSize<% end_if %> + <% if FirstLink %><% _t('VIEWFIRST', 'View first') %> $PageSize + <% else %><% _t('VIEWFIRST', 'View first') %> $PageSize<% end_if %> + <% if PrevLink %> + <% else %><% _t('VIEWPREVIOUS', 'View previous') %> $PageSize<% end_if %> - Displaying $FirstItem to $LastItem of $TotalCount + <% _t('DISPLAYING', 'Displaying') %> $FirstItem <% _t('TO', 'to') %> $LastItem <% _t('OF', 'of') %> $TotalCount - <% if NextLink %> - <% else %>View next $PageSize<% end_if %> + <% if NextLink %> + <% else %><% _t('VIEWNEXT', 'View next') %> $PageSize<% end_if %>
    <% end_if %> \ No newline at end of file diff --git a/templates/RelationComplexTableField.ss b/templates/RelationComplexTableField.ss index 41ef2ebbd..cf87f8b1d 100644 --- a/templates/RelationComplexTableField.ss +++ b/templates/RelationComplexTableField.ss @@ -29,7 +29,7 @@ <% if Markable %> <% end_if %> - addAdd $Title + <% _t('ADD', 'add') %><% _t('ADD', 'Add') %> $Title <% if Can(show) %> <% end_if %> <% if Can(edit) %> <% end_if %> @@ -46,20 +46,20 @@ $Value <% end_control %> <% if Can(show) %> - show + <% _t('SHOW', 'show') %> <% end_if %> <% if Can(edit) %> - edit + <% _t('EDIT', 'edit') %> <% end_if %> <% if Can(delete) %> - delete + <% _t('DELETE', 'delete') %> <% end_if %> <% end_control %> <% else %> <% if Markable %> <% end_if %> - No items found + <% _t('NOTFOUND', 'No items found') %> <% if Can(show) %> <% end_if %> <% if Can(edit) %> <% end_if %> <% if Can(delete) %> <% end_if %> diff --git a/templates/SubmittedFormReportField.ss b/templates/SubmittedFormReportField.ss index 36e2f68fe..9bcde60d2 100644 --- a/templates/SubmittedFormReportField.ss +++ b/templates/SubmittedFormReportField.ss @@ -4,7 +4,7 @@
    <% control Submissions %>
    - + <% control FieldValues %> diff --git a/templates/TableField.ss b/templates/TableField.ss index f17d5439e..c6a5b1f40 100755 --- a/templates/TableField.ss +++ b/templates/TableField.ss @@ -29,7 +29,7 @@ <% if Can(add) %> <% if Can(delete) %><% end_if %> diff --git a/templates/email/ForgotPasswordEmail.ss b/templates/email/ForgotPasswordEmail.ss index cc0388eb5..ac8dc7d73 100755 --- a/templates/email/ForgotPasswordEmail.ss +++ b/templates/email/ForgotPasswordEmail.ss @@ -1,4 +1,4 @@

    <% _t('HELLO', 'Hi') %> $FirstName,

    -

    Here's is your password reset link for $BaseHref

    +

    <% _t('TEXT1', 'Here\'s is your') %> <% _t('TEXT2', 'password reset link') %> <% _t('TEXT3', 'for') %> $BaseHref

    - <% _t('ADD') %> <% _t('ADDITEM') %> $Title + <% _t('ADD') %> <% _t('ADDITEM') %> $Title