diff --git a/lib/actions/documentaction.inc.php b/lib/actions/documentaction.inc.php index 6649120..671e71d 100644 --- a/lib/actions/documentaction.inc.php +++ b/lib/actions/documentaction.inc.php @@ -145,7 +145,7 @@ class KTDocumentAction extends KTStandardDispatcher { KTBrowseUtil::breadcrumbsForDocument($this->oDocument, $aOptions)); $actions = KTDocumentActionUtil::getDocumentActionsForDocument($this->oDocument, $this->oUser); - $oPortlet = new KTActionPortlet(_("Document Actions")); + $oPortlet = new KTActionPortlet(_kt("Document Actions")); $oPortlet->setActions($actions, $this->sName); $this->oPage->addPortlet($oPortlet); @@ -155,7 +155,7 @@ class KTDocumentAction extends KTStandardDispatcher { } function do_main() { - return _("Dispatcher component of action not implemented."); + return _kt("Dispatcher component of action not implemented."); } } diff --git a/lib/actions/folderaction.inc.php b/lib/actions/folderaction.inc.php index b386528..c551326 100644 --- a/lib/actions/folderaction.inc.php +++ b/lib/actions/folderaction.inc.php @@ -139,7 +139,7 @@ class KTFolderAction extends KTStandardDispatcher { $this->aBreadcrumbs = array_merge($this->aBreadcrumbs, KTBrowseUtil::breadcrumbsForFolder($this->oFolder, $aOptions)); - $portlet = new KTActionPortlet(_("Folder Actions")); + $portlet = new KTActionPortlet(_kt("Folder Actions")); $aActions = KTFolderActionUtil::getFolderActionsForFolder($this->oFolder, $this->oUser); $portlet->setActions($aActions,null); $this->oPage->addPortlet($portlet); @@ -150,7 +150,7 @@ class KTFolderAction extends KTStandardDispatcher { } function do_main() { - return _("Dispatcher component of action not implemented."); + return _kt("Dispatcher component of action not implemented."); } } diff --git a/lib/authentication/authenticationprovider.inc.php b/lib/authentication/authenticationprovider.inc.php index 92a9bad..05be14c 100644 --- a/lib/authentication/authenticationprovider.inc.php +++ b/lib/authentication/authenticationprovider.inc.php @@ -81,10 +81,10 @@ class KTAuthenticationProvider extends KTStandardDispatcher { } function do_editSourceProvider() { - return $this->errorRedirectTo('viewsource', _("Provider does not support editing"), 'source_id=' . $_REQUEST['source_id']); + return $this->errorRedirectTo('viewsource', _kt("Provider does not support editing"), 'source_id=' . $_REQUEST['source_id']); } function do_performEditSourceProvider() { - return $this->errorRedirectTo('viewsource', _("Provider does not support editing"), 'source_id=' . $_REQUEST['source_id']); + return $this->errorRedirectTo('viewsource', _kt("Provider does not support editing"), 'source_id=' . $_REQUEST['source_id']); } } diff --git a/lib/authentication/builtinauthenticationprovider.inc.php b/lib/authentication/builtinauthenticationprovider.inc.php index e935bc1..23ab4e4 100644 --- a/lib/authentication/builtinauthenticationprovider.inc.php +++ b/lib/authentication/builtinauthenticationprovider.inc.php @@ -43,7 +43,7 @@ class KTBuiltinAuthenticationProvider extends KTAuthenticationProvider { function showUserSource($oUser, $oSource) { $sQuery = sprintf('action=setPassword&user_id=%d', $oUser->getId()); $sUrl = KTUtil::addQueryString($_SERVER['PHP_SELF'], $sQuery); - return '

' . sprintf(_("Change %s's password"), $oUser->getName()) . '

'; + return '

' . sprintf(_kt("Change %s's password"), $oUser->getName()) . '

'; } } diff --git a/lib/browse/BrowseColumns.inc.php b/lib/browse/BrowseColumns.inc.php index b54d4ed..3d7ee98 100644 --- a/lib/browse/BrowseColumns.inc.php +++ b/lib/browse/BrowseColumns.inc.php @@ -57,7 +57,7 @@ class BrowseColumn { } // FIXME is it _really_ worth using a template here? function renderHeader($sReturnURL) { - $text = _("Abstract") . ": " . $this->label; + $text = _kt("Abstract") . ": " . $this->label; $href = $sReturnURL . "&sort_on=" . $this->name . "&sort_order="; if ($this->sort_on) { $href .= $this->sort_direction == "asc" ? "desc" : "asc" ; @@ -93,7 +93,7 @@ class TitleColumn extends BrowseColumn { } // unlike others, this DOESN'T give its name. function renderHeader($sReturnURL) { - $text = _("Title"); + $text = _kt("Title"); $href = $sReturnURL . "&sort_on=" . $this->name . "&sort_order="; if ($this->sort_on) { $href .= $this->sort_direction == "asc" ? "desc" : "asc" ; @@ -380,7 +380,7 @@ class DownloadColumn extends BrowseColumn { // FIXME at some point we may want to hide this if the user doens't have the download action, but its OK for now. $link = KTUtil::ktLink('action.php','ktcore.actions.document.view', 'fDocumentId=' . $aDataRow['document']->getId()); - $outStr = sprintf('%s', $link, _('Download Document'), _('Download Document')); + $outStr = sprintf('%s', $link, _kt('Download Document'), _kt('Download Document')); return $outStr; } } diff --git a/lib/browse/Criteria.inc b/lib/browse/Criteria.inc index 011b811..ac52bad 100644 --- a/lib/browse/Criteria.inc +++ b/lib/browse/Criteria.inc @@ -624,40 +624,40 @@ class Criteria { global $default; switch ($iID) { case -1: - $oCriterion =& new NameCriterion(_("Name"), 'filename', 'filename', -1); + $oCriterion =& new NameCriterion(_kt("Name"), 'filename', 'filename', -1); break; case -2: - $oCriterion =& new TitleCriterion(_("Title"), 'name', 'name', -2); + $oCriterion =& new TitleCriterion(_kt("Title"), 'name', 'name', -2); break; case -3: - $oCriterion =& new CreatorCriterion(_("Creator"), 'creator_id', 'creator_id', -3); + $oCriterion =& new CreatorCriterion(_kt("Creator"), 'creator_id', 'creator_id', -3); break; case -4: - $oCriterion =& new DateCreatedCriterion(_("Date Created"), 'created', 'created', -4); + $oCriterion =& new DateCreatedCriterion(_kt("Date Created"), 'created', 'created', -4); break; case -5: - $oCriterion =& new DocumentTypeCriterion(_("Document Type"), 'document_type_id', 'document_type_id', -5); + $oCriterion =& new DocumentTypeCriterion(_kt("Document Type"), 'document_type_id', 'document_type_id', -5); break; case -6: - $oCriterion =& new IDCriterion(_("ID"), 'id', 'id', -6); + $oCriterion =& new IDCriterion(_kt("ID"), 'id', 'id', -6); break; case -7: - $oCriterion =& new DateModifiedCriterion(_("Date Modified"), 'modified', 'modified', -7); + $oCriterion =& new DateModifiedCriterion(_kt("Date Modified"), 'modified', 'modified', -7); break; case -8: - $oCriterion =& new SizeCriterion(_("File Size"), 'size', 'size', -8); + $oCriterion =& new SizeCriterion(_kt("File Size"), 'size', 'size', -8); break; case -9: - $oCriterion =& new ContentCriterion(_("Document Contents"), 'content', 'content', -9); + $oCriterion =& new ContentCriterion(_kt("Document Contents"), 'content', 'content', -9); break; case -10: - $oCriterion =& new WorkflowStateCriterion(_("Workflow state"), 'state', 'state', -10); + $oCriterion =& new WorkflowStateCriterion(_kt("Workflow state"), 'state', 'state', -10); break; case -11: - $oCriterion =& new TransactionTextCriterion(_("Transaction Text"), 'transactiontext', 'transactiontext', -11); + $oCriterion =& new TransactionTextCriterion(_kt("Transaction Text"), 'transactiontext', 'transactiontext', -11); break; case -12: - $oCriterion =& new SearchableTextCriterion(_("Searchable Text"), 'searchabletext', 'searchabletext', -12); + $oCriterion =& new SearchableTextCriterion(_kt("Searchable Text"), 'searchabletext', 'searchabletext', -12); break; } return $oCriterion; diff --git a/lib/browse/browseutil.inc.php b/lib/browse/browseutil.inc.php index 18e105c..75eb364 100644 --- a/lib/browse/browseutil.inc.php +++ b/lib/browse/browseutil.inc.php @@ -178,7 +178,7 @@ class KTBrowseUtil { if (!empty($sAction)) { $url = generateControllerUrl($sAction, "fFolderId=1"); } - $aBreadcrumbs[] = array("url" => $url, "name" => _('Folders')); + $aBreadcrumbs[] = array("url" => $url, "name" => _kt('Folders')); if ($parents != 0) { foreach (range(0, $parents - 1) as $index) { diff --git a/lib/dashboard/Notification.inc.php b/lib/dashboard/Notification.inc.php index 1d9d668..1027665 100644 --- a/lib/dashboard/Notification.inc.php +++ b/lib/dashboard/Notification.inc.php @@ -146,7 +146,7 @@ class KTNotificationHandler { // called to resolve the notification (typically from /notify.php?id=xxxxx function resolveNotification($oKTNotification) { - $_SESSION['KTErrorMessage'][] = _("This notification handler does not support publication."); + $_SESSION['KTErrorMessage'][] = _kt("This notification handler does not support publication."); exit(redirect(generateControllerLink('dashboard'))); } } @@ -189,18 +189,18 @@ class KTSubscriptionNotification extends KTNotificationHandler { function KTSubscriptionNotification() { $this->_eventTypeNames = array( - "AddFolder" => _('Folder added'), - "RemoveSubscribedFolder" => _('Folder removed'), // nothing. your subscription is now gone. - "RemoveChildFolder" => _('Folder removed'), - "AddDocument" => _('Document added'), - "RemoveSubscribedDocument" => _('Document removed'), // nothing. your subscription is now gone. - "RemoveChildDocument" => _('Document removed'), - "ModifyDocument" => _('Document modified'), - "CheckInDocument" => _('Document checked in'), - "CheckOutDocument" => _('Document checked out'), - "MovedDocument" => _('Document moved'), - "ArchivedDocument" => _('Document archived'), // can go through and request un-archival (?) - "RestoredArchivedDocument" => _('Document restored') + "AddFolder" => _kt('Folder added'), + "RemoveSubscribedFolder" => _kt('Folder removed'), // nothing. your subscription is now gone. + "RemoveChildFolder" => _kt('Folder removed'), + "AddDocument" => _kt('Document added'), + "RemoveSubscribedDocument" => _kt('Document removed'), // nothing. your subscription is now gone. + "RemoveChildDocument" => _kt('Document removed'), + "ModifyDocument" => _kt('Document modified'), + "CheckInDocument" => _kt('Document checked in'), + "CheckOutDocument" => _kt('Document checked out'), + "MovedDocument" => _kt('Document moved'), + "ArchivedDocument" => _kt('Document archived'), // can go through and request un-archival (?) + "RestoredArchivedDocument" => _kt('Document restored') ); //parent::KTNotificationHandler(); } @@ -378,7 +378,7 @@ class KTWorkflowNotification extends KTNotificationHandler { if ($oUser->getEmailNotification() && (strlen($oUser->getEmail()) > 0)) { $emailContent = $handler->handleNotification($oNotification); - $emailSubject = sprintf(_('Workflow Notification: %s'), $oDocument->getName()); + $emailSubject = sprintf(_kt('Workflow Notification: %s'), $oDocument->getName()); $oEmail = new EmailAlert($oUser->getEmail(), $emailSubject, $emailContent); $oEmail->send(); } @@ -409,7 +409,7 @@ class KTWorkflowNotification extends KTNotificationHandler { function resolveNotification($oKTNotification) { $notify_action = KTUtil::arrayGet($_REQUEST, 'notify_action', null); if ($notify_action == 'clear') { - $_SESSION['KTInfoMessage'][] = _('Workflow Notification cleared.'); + $_SESSION['KTInfoMessage'][] = _kt('Workflow Notification cleared.'); $oKTNotification->delete(); exit(redirect(generateControllerLink('dashboard'))); } diff --git a/lib/dashboard/dashlet.inc.php b/lib/dashboard/dashlet.inc.php index 206e8bd..f7425f1 100644 --- a/lib/dashboard/dashlet.inc.php +++ b/lib/dashboard/dashlet.inc.php @@ -36,7 +36,7 @@ class KTBaseDashlet { // precondition check. function is_active($oUser) { return true; } - function render() { return '

' . _("This Dashlet is incomplete.") . '

'; } + function render() { return '

' . _kt("This Dashlet is incomplete.") . '

'; } } //$oDashletRegistry =& KTDashletRegistry::getSingleton(); diff --git a/lib/dispatcher.inc.php b/lib/dispatcher.inc.php index 2c61d21..4c74fa0 100644 --- a/lib/dispatcher.inc.php +++ b/lib/dispatcher.inc.php @@ -183,8 +183,8 @@ class KTStandardDispatcher extends KTDispatcher { function permissionDenied () { global $default; - $msg = '

' . _('Permission Denied') . '

'; - $msg .= '

' . _('If you feel that this is incorrect, please report both the action and your username to a system administrator.') . '

'; + $msg = '

' . _kt('Permission Denied') . '

'; + $msg .= '

' . _kt('If you feel that this is incorrect, please report both the action and your username to a system administrator.') . '

'; $this->oPage->setPageContents($msg); $this->oPage->setUser($this->oUser); @@ -304,7 +304,7 @@ class KTAdminDispatcher extends KTStandardDispatcher { function KTAdminDispatcher() { $this->aBreadcrumbs = array( - array('action' => 'administration', 'name' => _('Administration')), + array('action' => 'administration', 'name' => _kt('Administration')), ); return parent::KTStandardDispatcher(); } diff --git a/lib/documentmanagement/DocumentTransaction.inc b/lib/documentmanagement/DocumentTransaction.inc index 2f6cadc..a0224e6 100644 --- a/lib/documentmanagement/DocumentTransaction.inc +++ b/lib/documentmanagement/DocumentTransaction.inc @@ -94,7 +94,7 @@ class DocumentTransaction { function & getTransactionType() { return KTDocumentTransactionType::getByNamespace($this->sTransactionNS); } function getAction() { $oType = $this->getTransactionType(); - $action = _('Unknown Action'); + $action = _kt('Unknown Action'); if (!PEAR::isError($oType)) { $action = $oType->getName(); } return $action; diff --git a/lib/documentmanagement/documentutil.inc.php b/lib/documentmanagement/documentutil.inc.php index 232efe0..1643690 100644 --- a/lib/documentmanagement/documentutil.inc.php +++ b/lib/documentmanagement/documentutil.inc.php @@ -62,7 +62,7 @@ class KTDocumentUtil { copy($sBackupPath, $oDocument->getPath()); // remove the backup unlink($sBackupPath); - return PEAR::raiseError(_("An error occurred while storing the new file")); + return PEAR::raiseError(_kt("An error occurred while storing the new file")); } $oDocument->setLastModifiedDate(getCurrentDateTime()); @@ -77,7 +77,7 @@ class KTDocumentUtil { if (PEAR::isError($bSuccess)) { return $bSuccess; } - return PEAR::raiseError(_("An error occurred while storing this document in the database")); + return PEAR::raiseError(_kt("An error occurred while storing this document in the database")); } // create the document transaction record @@ -127,7 +127,7 @@ class KTDocumentUtil { $oDocument->setIsCheckedOut(true); $oDocument->setCheckedOutUserID($oUser->getId()); - if (!$oDocument->update()) { return PEAR::raiseError(_("There was a problem checking out the document.")); } + if (!$oDocument->update()) { return PEAR::raiseError(_kt("There was a problem checking out the document.")); } $oKTTriggerRegistry = KTTriggerRegistry::getSingleton(); $aTriggers = $oKTTriggerRegistry->getTriggers('checkout', 'postValidate'); @@ -165,7 +165,7 @@ class KTDocumentUtil { } else { $iDocumentTypeId = 1; } - $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Creating database entry"))); + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Creating database entry"))); $oDocument =& Document::createFromArray(array( 'name' => $sDescription, 'description' => $sDescription, @@ -185,7 +185,7 @@ class KTDocumentUtil { return $res; } } else { - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Storing contents"))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Storing contents"))); $res = KTDocumentUtil::storeContents($oDocument, $oContents, $aOptions); if (PEAR::isError($res)) { $oDocument->delete(); @@ -200,7 +200,7 @@ class KTDocumentUtil { return $res; } } else { - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Saving metadata"))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Saving metadata"))); $res = KTDocumentUtil::saveMetadata($oDocument, $aMetadata); if (PEAR::isError($res)) { $oDocument->delete(); @@ -387,12 +387,12 @@ class KTDocumentUtil { if (KTDocumentUtil::fileExists($oFolder, $sFilename)) { $oDoc = Document::getByFilenameAndFolder($sFilename, $oFolder->getId()); if (PEAR::isError($oDoc)) { - return PEAR::raiseError(_("Document with that filename already exists in this folder, and appears to be invalid. Please contact the system administrator.")); + return PEAR::raiseError(_kt("Document with that filename already exists in this folder, and appears to be invalid. Please contact the system administrator.")); } else { if ($oDoc->getStatusID != LIVE) { - return PEAR::raiseError(_("Document with that filename already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); + return PEAR::raiseError(_kt("Document with that filename already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); } else { - return PEAR::raiseError(_("Document with that filename already exists in this folder.")); + return PEAR::raiseError(_kt("Document with that filename already exists in this folder.")); } } } @@ -400,12 +400,12 @@ class KTDocumentUtil { if (KTDocumentUtil::nameExists($oFolder, $sName)) { $oDoc = Document::getByNameAndFolder($sName, $oFolder->getId()); if (PEAR::isError($oDoc)) { - return PEAR::raiseError(_("Document with that title already exists in this folder, and appears to be invalid. Please contact the system administrator.")); + return PEAR::raiseError(_kt("Document with that title already exists in this folder, and appears to be invalid. Please contact the system administrator.")); } else { if ($oDoc->getStatusID != LIVE) { - return PEAR::raiseError(_("Document with that title already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); + return PEAR::raiseError(_kt("Document with that title already exists in this folder, but it has been archived or deleted and is still available for restoration. To prevent it being overwritten, you are not allowed to add a document with the same title or filename.")); } else { - return PEAR::raiseError(_("Document with that title already exists in this folder.")); + return PEAR::raiseError(_kt("Document with that title already exists in this folder.")); } } @@ -413,12 +413,12 @@ class KTDocumentUtil { $oUploadChannel =& KTUploadChannel::getSingleton(); $oUploadChannel->sendMessage(new KTUploadNewFile($sFilename)); $oDocument =& KTDocumentUtil::_add($oFolder, $sFilename, $oUser, $aOptions); - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Document created"))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Document created"))); if (PEAR::isError($oDocument)) { return $oDocument; } - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Scanning file"))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Scanning file"))); $oKTTriggerRegistry = KTTriggerRegistry::getSingleton(); $aTriggers = $oKTTriggerRegistry->getTriggers('content', 'scan'); $iTrigger = 0; @@ -426,7 +426,7 @@ class KTDocumentUtil { $sTrigger = $aTrigger[0]; $oTrigger = new $sTrigger; $oTrigger->setDocument($oDocument); - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(sprintf(_(" (trigger %s)"), $sTrigger))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(sprintf(_kt(" (trigger %s)"), $sTrigger))); $ret = $oTrigger->scan(); if (PEAR::isError($ret)) { $oDocument->delete(); @@ -434,7 +434,7 @@ class KTDocumentUtil { } } - $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Transforming file"))); + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Transforming file"))); $oKTTriggerRegistry = KTTriggerRegistry::getSingleton(); $aTriggers = $oKTTriggerRegistry->getTriggers('content', 'transform'); foreach ($aTriggers as $aTrigger) { @@ -444,11 +444,11 @@ class KTDocumentUtil { } $oTrigger = new $sTrigger; $oTrigger->setDocument($oDocument); - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(sprintf(_(" (trigger %s)"), $sTrigger))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(sprintf(_kt(" (trigger %s)"), $sTrigger))); $oTrigger->transform(); } - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Creating transaction"))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Creating transaction"))); $aOptions = array('user' => $oUser); //create the document transaction record $oDocumentTransaction = & new DocumentTransaction($oDocument, "Document created", 'ktcore.transactions.create', $aOptions); @@ -458,7 +458,7 @@ class KTDocumentUtil { return $res; } - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("Sending subscriptions"))); + // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("Sending subscriptions"))); // fire subscription alerts for the checked in document $oSubscriptionEvent = new SubscriptionEvent(); $oFolder = Folder::get($oDocument->getFolderID()); @@ -479,7 +479,7 @@ class KTDocumentUtil { } KTDocumentUtil::updateSearchableText($oDocument, true); - $oUploadChannel->sendMessage(new KTUploadGenericMessage(_("All done..."))); + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt("All done..."))); return $oDocument; } @@ -593,7 +593,7 @@ class KTDocumentUtil { } if (PEAR::isError($oDocument) || ($oDocument == false)) { return PEAR::raiseError('Invalid document object.'); } - if ($oDocument->getIsCheckedOut() == true) { return PEAR::raiseError(sprintf(_('The document is checked out and cannot be deleted: %s'), $oDocument->getName())); } + if ($oDocument->getIsCheckedOut() == true) { return PEAR::raiseError(sprintf(_kt('The document is checked out and cannot be deleted: %s'), $oDocument->getName())); } // IF we're deleted ... if ($oDocument->getStatusID() == DELETED) { return true; } @@ -607,7 +607,7 @@ class KTDocumentUtil { $res = $oDocument->update(); if (PEAR::isError($res) || ($res == false)) { DBUtil::rollback(); - return PEAR::raiseError(_("There was a problem deleting the document from the database.")); + return PEAR::raiseError(_kt("There was a problem deleting the document from the database.")); } // now move the document to the delete folder @@ -629,7 +629,7 @@ class KTDocumentUtil { $oDocument->update(); */ - return PEAR::raiseError(_("There was a problem deleting the document from storage.")); + return PEAR::raiseError(_kt("There was a problem deleting the document from storage.")); } $oDocumentTransaction = & new DocumentTransaction($oDocument, "Document deleted: " . $sReason, 'ktcore.transactions.delete'); @@ -774,7 +774,7 @@ class KTDocumentUtil { $res = $oStorage->renameDocument($oDocument, $oOldContentVersion, $sNewFilename); if (!$res) { - return PEAR::raiseError(_("An error occurred while storing the new file")); + return PEAR::raiseError(_kt("An error occurred while storing the new file")); } $oDocument->setLastModifiedDate(getCurrentDateTime()); @@ -786,7 +786,7 @@ class KTDocumentUtil { if (PEAR::isError($bSuccess)) { return $bSuccess; } - return PEAR::raiseError(_("An error occurred while storing this document in the database")); + return PEAR::raiseError(_kt("An error occurred while storing this document in the database")); } // create the document transaction record @@ -806,7 +806,7 @@ class KTDocumentUtil { class KTMetadataValidationError extends PEAR_Error { function KTMetadataValidationError ($aFailed) { $this->aFailed = $aFailed; - $message = _('Validation Failed'); + $message = _kt('Validation Failed'); parent::PEAR_Error($message); } } diff --git a/lib/email/Email.inc b/lib/email/Email.inc index 3488e5e..82b4385 100644 --- a/lib/email/Email.inc +++ b/lib/email/Email.inc @@ -212,7 +212,7 @@ class Email { $this->oMailer->FromName = $FromName; $this->oMailer->AddAddress($ToEmail); $this->oMailer->Subject = stripslashes($Subj) . ' ' . $hyperlink; //only difference from above - $this->oMailer->Body = stripslashes($EmailBody) . "
" . _("This bug can be found on this page") . ": " . "". $hyperlink .""; + $this->oMailer->Body = stripslashes($EmailBody) . "
" . _kt("This bug can be found on this page") . ": " . "". $hyperlink .""; //send the email if(!$this->oMailer->Send()) { diff --git a/lib/foldermanagement/folderutil.inc.php b/lib/foldermanagement/folderutil.inc.php index 8ac0f10..46dfead 100644 --- a/lib/foldermanagement/folderutil.inc.php +++ b/lib/foldermanagement/folderutil.inc.php @@ -259,12 +259,12 @@ class KTFolderUtil { $sFD = ''; $sFF = ''; if (!empty($aFailedDocuments)) { - $sFD = _('Documents: ') . implode(', ', $aFailedDocuments) . '. '; + $sFD = _kt('Documents: ') . implode(', ', $aFailedDocuments) . '. '; } if (!empty($aFailedFolders)) { - $sFF = _('Folders: ') . implode(', ', $aFailedFolders) . '.'; + $sFF = _kt('Folders: ') . implode(', ', $aFailedFolders) . '.'; } - return PEAR::raiseError(_('You do not have permission to delete these items. ') . $sFD . $sFF); + return PEAR::raiseError(_kt('You do not have permission to delete these items. ') . $sFD . $sFF); } // now we can go ahead. @@ -272,7 +272,7 @@ class KTFolderUtil { $res = KTDocumentUtil::delete($oDocument, $sReason); if (PEAR::isError($res)) { DBUtil::rollback(); - return PEAR::raiseError(_('Delete Aborted. Unexpected failure to delete document: ') . $oDocument->getName() . $res->getMessage()); + return PEAR::raiseError(_kt('Delete Aborted. Unexpected failure to delete document: ') . $oDocument->getName() . $res->getMessage()); } } @@ -287,7 +287,7 @@ class KTFolderUtil { if (PEAR::isError($res)) { DBUtil::rollback(); - return PEAR::raiseError(_('Failure deleting folders.')); + return PEAR::raiseError(_kt('Failure deleting folders.')); } // and store @@ -307,7 +307,7 @@ class KTFolderUtil { $oBaseFolderPerm = KTPermission::getByName('ktcore.permissions.addFolder'); if (!KTPermissionUtil::userHasPermissionOnItem($oUser, $oBaseFolderPerm, $oDestFolder)) { - return PEAR::raiseError(_('You are not allowed to create folders in the destination.')); + return PEAR::raiseError(_kt('You are not allowed to create folders in the destination.')); } $aFolderIds = array(); // of oFolder @@ -353,12 +353,12 @@ class KTFolderUtil { $sFD = ''; $sFF = ''; if (!empty($aFailedDocuments)) { - $sFD = _('Documents: ') . implode(', ', $aFailedDocuments) . '. '; + $sFD = _kt('Documents: ') . implode(', ', $aFailedDocuments) . '. '; } if (!empty($aFailedFolders)) { - $sFF = _('Folders: ') . implode(', ', $aFailedFolders) . '.'; + $sFF = _kt('Folders: ') . implode(', ', $aFailedFolders) . '.'; } - return PEAR::raiseError(_('You do not have permission to copy these items. ') . $sFD . $sFF); + return PEAR::raiseError(_kt('You do not have permission to copy these items. ') . $sFD . $sFF); } // first we walk the tree, creating in the new location as we go. @@ -433,7 +433,7 @@ class KTFolderUtil { if (PEAR::isError($res) || ($res === false)) { $oStorage->removeFolder($oNewBaseFolder); DBUtil::rollback(); - return PEAR::raiseError(_('Delete Aborted. Unexpected failure to copydocument: ') . $oDocument->getName() . $res->getMessage()); + return PEAR::raiseError(_kt('Delete Aborted. Unexpected failure to copydocument: ') . $oDocument->getName() . $res->getMessage()); } } diff --git a/lib/groups/GroupUtil.php b/lib/groups/GroupUtil.php index f6a0553..c87773b 100644 --- a/lib/groups/GroupUtil.php +++ b/lib/groups/GroupUtil.php @@ -340,7 +340,7 @@ class GroupUtil { // short circuit - if ($oGroup->hasMember($oUser)) { return sprintf(_('%s is a direct member.'), $oUser->getName()); } + if ($oGroup->hasMember($oUser)) { return sprintf(_kt('%s is a direct member.'), $oUser->getName()); } $aSubgroups = (array) $aGroupArray[$oGroup->getId()]; @@ -363,7 +363,7 @@ class GroupUtil { $oSubgroup = Group::get($res['group_id']); if (PEAR::isError($oSubgroup)) { return $oSubgroup; } - return sprintf(_('%s is a member of %s'), $oUser->getName(), $oSubgroup->getName()); // could be error, but errors are caught. + return sprintf(_kt('%s is a member of %s'), $oUser->getName(), $oSubgroup->getName()); // could be error, but errors are caught. // } } diff --git a/lib/mime.inc.php b/lib/mime.inc.php index 2e30512..187c27f 100644 --- a/lib/mime.inc.php +++ b/lib/mime.inc.php @@ -101,14 +101,14 @@ class KTMime { if ($sql->next_record()) { $friendly_name = $sql->f("friendly_name"); if (!empty($friendly_name)) { - return _($sql->f("friendly_name")); + return _kt($sql->f("friendly_name")); } else { - return sprintf(_('%s File'), strtoupper($sql->f('filetypes'))); + return sprintf(_kt('%s File'), strtoupper($sql->f('filetypes'))); } } - return _('Unknown Type'); + return _kt('Unknown Type'); } /** diff --git a/lib/subscriptions/subscriptions.inc.php b/lib/subscriptions/subscriptions.inc.php index 2a8d32b..c683083 100644 --- a/lib/subscriptions/subscriptions.inc.php +++ b/lib/subscriptions/subscriptions.inc.php @@ -668,18 +668,18 @@ class SubscriptionContent { // have to be instantiated, or the i18n can't work. function SubscriptionContent() { $this->_eventTypeNames = array( - "AddFolder" => _('Folder added'), - "RemoveSubscribedFolder" => _('Folder removed'), // nothing. your subscription is now gone. - "RemoveChildFolder" => _('Folder removed'), - "AddDocument" => _('Document added'), - "RemoveSubscribedDocument" => _('Document removed'), // nothing. your subscription is now gone. - "RemoveChildDocument" => _('Document removed'), - "ModifyDocument" => _('Document modified'), - "CheckInDocument" => _('Document checked in'), - "CheckOutDocument" => _('Document checked out'), - "MovedDocument" => _('Document moved'), - "ArchivedDocument" => _('Document archived'), // can go through and request un-archival (?) - "RestoredArchivedDocument" => _('Document restored') + "AddFolder" => _kt('Folder added'), + "RemoveSubscribedFolder" => _kt('Folder removed'), // nothing. your subscription is now gone. + "RemoveChildFolder" => _kt('Folder removed'), + "AddDocument" => _kt('Document added'), + "RemoveSubscribedDocument" => _kt('Document removed'), // nothing. your subscription is now gone. + "RemoveChildDocument" => _kt('Document removed'), + "ModifyDocument" => _kt('Document modified'), + "CheckInDocument" => _kt('Document checked in'), + "CheckOutDocument" => _kt('Document checked out'), + "MovedDocument" => _kt('Document moved'), + "ArchivedDocument" => _kt('Document archived'), // can go through and request un-archival (?) + "RestoredArchivedDocument" => _kt('Document restored') ); } diff --git a/lib/templating/kt3template.inc.php b/lib/templating/kt3template.inc.php index 59fea52..14a0632 100644 --- a/lib/templating/kt3template.inc.php +++ b/lib/templating/kt3template.inc.php @@ -102,7 +102,7 @@ class KTPage { $this->requireJSResources($aJS); // this is horrid, but necessary. - $this->requireJSStandalone('addLoadEvent(partial(initDeleteProtection, "' . _('Are you sure you wish to delete this item?') . '"));'); + $this->requireJSStandalone('addLoadEvent(partial(initDeleteProtection, "' . _kt('Are you sure you wish to delete this item?') . '"));'); /* menu initialisation*/ // FIXME: how do we want to handle the menu? @@ -118,14 +118,14 @@ class KTPage { // FIXME: we lost the getDefaultAction stuff - do we care? // note that key == action. this is _important_, since we crossmatch the breadcrumbs against this for "active" $this->menu = array( - "dashboard" => $this->_actionHelper(array("name" => _("Dashboard"), "action" => "dashboard", "active" => 0)), - "browse" => $this->_actionHelper(array("name" => _("Browse Documents"), "action" => "browse", "active" => 0)), - "administration" => $this->_actionHelper(array("name" => _("DMS Administration"), "action" => "administration", "active" => 0)), + "dashboard" => $this->_actionHelper(array("name" => _kt("Dashboard"), "action" => "dashboard", "active" => 0)), + "browse" => $this->_actionHelper(array("name" => _kt("Browse Documents"), "action" => "browse", "active" => 0)), + "administration" => $this->_actionHelper(array("name" => _kt("DMS Administration"), "action" => "administration", "active" => 0)), ); $this->userMenu = array( - "preferences" => $this->_actionHelper(array("name" => _("Preferences"), "action" => "preferences", "active" => 0)), - "logout" => $this->_actionHelper(array("name" => _("Logout"), "action" => "logout", "active" => 0)), + "preferences" => $this->_actionHelper(array("name" => _kt("Preferences"), "action" => "preferences", "active" => 0)), + "logout" => $this->_actionHelper(array("name" => _kt("Logout"), "action" => "logout", "active" => 0)), ); } @@ -219,26 +219,26 @@ class KTPage { // assume this is admin for now. function setSection($sSection) { if ($sSection == 'administration') { - $this->componentLabel = _('DMS Administration'); + $this->componentLabel = _kt('DMS Administration'); $this->componentClass = 'administration'; $this->menu['administration']['active'] = 1; } else if ($sSection == 'dashboard') { - $this->componentLabel = _('Dashboard'); + $this->componentLabel = _kt('Dashboard'); $this->componentClass = 'dashboard'; } else if ($sSection == 'browse') { - $this->componentLabel = _('Browse Documents'); + $this->componentLabel = _kt('Browse Documents'); $this->componentClass = 'browse_collections'; } else if ($sSection == 'view_details') { - $this->componentLabel = _('Document Details'); + $this->componentLabel = _kt('Document Details'); $this->componentClass = 'document_details'; } else if ($sSection == 'search') { - $this->componentLabel = _('Search'); + $this->componentLabel = _kt('Search'); $this->componentClass = 'search'; } else if ($sSection == 'preferences') { - $this->componentLabel = _('Preferences'); + $this->componentLabel = _kt('Preferences'); $this->componentClass = 'preferences'; } else { - $this->componentLabel = _('Dashboard'); + $this->componentLabel = _kt('Dashboard'); $this->componentClass = 'dashboard'; } @@ -277,7 +277,7 @@ class KTPage { } if (is_string($this->contents) && (trim($this->contents) === "")) { - $this->addError(_("This page did not produce any content")); + $this->addError(_kt("This page did not produce any content")); $this->contents = ""; } diff --git a/lib/validation/dispatchervalidation.inc.php b/lib/validation/dispatchervalidation.inc.php index d2ba718..fa9c269 100644 --- a/lib/validation/dispatchervalidation.inc.php +++ b/lib/validation/dispatchervalidation.inc.php @@ -57,7 +57,7 @@ class KTDispatcherValidation { if (KTPermissionUtil::userHasPermissionOnItem($oUser, $oPermission, $oItem)) { return; } - $this->oDispatcher->errorPage(_("Insufficient permissions to perform action")); + $this->oDispatcher->errorPage(_kt("Insufficient permissions to perform action")); } function &validateEntity($entity_name, $iId, $aOptions = null) { @@ -66,7 +66,7 @@ class KTDispatcherValidation { $aFunc = array($entity_name, KTUtil::arrayGet($aOptions, 'method', 'get')); $oEntity =& call_user_func($aFunc, $iId); if (PEAR::isError($oEntity) || ($oEntity === false)) { - $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', sprintf(_("Invalid identifier provided for: %s"), $entity_name)); + $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', sprintf(_kt("Invalid identifier provided for: %s"), $entity_name)); $this->handleError($aOptions); } return $oEntity; @@ -116,7 +116,7 @@ class KTDispatcherValidation { } elseif ($sDefaultMessage) { $sMessage = $sDefaultMessage; } else { - $sMessage = _("An error occurred, and no error message was given"); + $sMessage = _kt("An error occurred, and no error message was given"); } } else { if ($oException) { @@ -135,7 +135,7 @@ class KTDispatcherValidation { function &validateTemplate($sTemplateName, $aOptions = null) { $oTemplating =& KTTemplating::getSingleton(); $oTemplate =& $oTemplating->loadTemplate($sTemplateName); - $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', _('Failed to locate template')); + $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', _kt('Failed to locate template')); $this->notError($oTemplate, $aOptions); return $oTemplate; } @@ -198,7 +198,7 @@ class KTDispatcherValidation { return $oSearch; } $aOptions = KTUTil::meldOptions($aOptions, array( - 'message' => _("Condition is a saved search, but not a condition"), + 'message' => _kt("Condition is a saved search, but not a condition"), )); $this->handleError($aOptions); } @@ -207,7 +207,7 @@ class KTDispatcherValidation { $sString = trim($sString); if (empty($sString)) { $aOptions['message'] = KTUtil::arrayGet($aOptions, - 'message', _("An empty string was given")); + 'message', _kt("An empty string was given")); $this->handleError($aOptions); } return $sString; @@ -223,19 +223,19 @@ class KTDispatcherValidation { } if ($bError) { - $message = _("You did not select a valid document to upload"); + $message = _kt("You did not select a valid document to upload"); $errors = array( - 1 => _("The uploaded file is larger than the PHP upload_max_filesize setting"), - 2 => _("The uploaded file is larger than the MAX_FILE_SIZE directive that was specified in the HTML form"), - 3 => _("The uploaded file was not fully uploaded to the document management system"), - 4 => _("No file was selected to be uploaded to the document management system"), - 6 => _("An internal error occurred receiving the uploaded document"), + 1 => _kt("The uploaded file is larger than the PHP upload_max_filesize setting"), + 2 => _kt("The uploaded file is larger than the MAX_FILE_SIZE directive that was specified in the HTML form"), + 3 => _kt("The uploaded file was not fully uploaded to the document management system"), + 4 => _kt("No file was selected to be uploaded to the document management system"), + 6 => _kt("An internal error occurred receiving the uploaded document"), ); $message = KTUtil::arrayGet($errors, $aFile['error'], $message); if (@ini_get("file_uploads") == false) { - $message = _("File uploads are disabled in your PHP configuration"); + $message = _kt("File uploads are disabled in your PHP configuration"); } $aOptions['message'] = $message; $this->handleError($aOptions); @@ -268,7 +268,7 @@ class KTDispatcherValidation { } } $aOptions = $aOptions; - $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', _("Invalid authentication source")); + $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', _kt("Invalid authentication source")); $this->handleError($aOptions); return $sNamespace; } @@ -285,12 +285,12 @@ class KTDispatcherValidation { $aValidatedDict[$k] = ''; } */ - $aErrors[$k] = PEAR::raiseError(sprintf(_("Required value %s not set"), $k)); + $aErrors[$k] = PEAR::raiseError(sprintf(_kt("Required value %s not set"), $k)); continue; } $sValidationFunction = $this->_generateValidationFunction($aValidatorInfo['type']); if (!method_exists($this, $sValidationFunction)) { - $aErrors[$k] = PEAR::raiseError(sprintf(_("Unknown validation function for required value %s"), $k)); + $aErrors[$k] = PEAR::raiseError(sprintf(_kt("Unknown validation function for required value %s"), $k)); continue; } $aKeyInfo = array('var' => $k); @@ -330,7 +330,7 @@ class KTDispatcherValidation { $aFunc = array($entity_name, KTUtil::arrayGet($aOptions, 'method', 'get')); $oEntity =& call_user_func($aFunc, $iId); if (PEAR::isError($oEntity) || ($oEntity === false)) { - return PEAR::raiseError(sprintf(_("Provided variable %s is not a valid %s"), $aKeyInfo['var'], $entity_name)); + return PEAR::raiseError(sprintf(_kt("Provided variable %s is not a valid %s"), $aKeyInfo['var'], $entity_name)); } return $oEntity; } @@ -346,7 +346,7 @@ class KTDispatcherValidation { if (!ereg ("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $sEmailAddress )) { $aOptions['message'] = KTUtil::arrayGet($aOptions, 'message', - _("An invalid email address was given")); + _kt("An invalid email address was given")); $this->handleError($aOptions); } return $sEmailAddress; @@ -355,11 +355,11 @@ class KTDispatcherValidation { /* just does an empty string validation with an appropriate message, and then a duplicate name validation */ function validateEntityName($sEntityTypeName, $sName, $aOptions = null) { - $aOptions['message'] = KTUtil::arrayGet($aOptions, 'empty_message', _("No name was given for this item")); + $aOptions['message'] = KTUtil::arrayGet($aOptions, 'empty_message', _kt("No name was given for this item")); // FIXME BD: don't you mean $sName = $this->validateString ... $this->validateString($sName, $aOptions); - $aOptions['message'] = KTUtil::arrayGet($aOptions, 'duplicate_message', _("An item with this name already exists")); + $aOptions['message'] = KTUtil::arrayGet($aOptions, 'duplicate_message', _kt("An item with this name already exists")); return $this->validateDuplicateName($sEntityTypeName, $sName, $aOptions); } @@ -375,7 +375,7 @@ class KTDispatcherValidation { $aOptions['multi'] = true; $aList = call_user_func($aMethod, $sClass, $aConditions, $aOptions); if(count($aList)) { - $aOptions['defaultmessage'] = sprintf(_("An entity with that name already exists: class %s, name %s"), $sClass, $sName); + $aOptions['defaultmessage'] = sprintf(_kt("An entity with that name already exists: class %s, name %s"), $sClass, $sName); $this->handleError($aOptions); } return $sName; diff --git a/lib/validation/errorviewer.inc.php b/lib/validation/errorviewer.inc.php index b2316cd..359a4f1 100644 --- a/lib/validation/errorviewer.inc.php +++ b/lib/validation/errorviewer.inc.php @@ -89,7 +89,7 @@ class KTErrorViewerRegistry { } // Give up. - return new KTStringErrorViewer(_("Unknown error")); + return new KTStringErrorViewer(_kt("Unknown error")); } } @@ -129,7 +129,7 @@ $oEVRegistry->register("KTErrorViewer", "PEAR_Error"); class KTDBErrorViewer extends KTErrorViewer { function view() { - return _("Database error:") . " " . $this->oError->getMessage(); + return _kt("Database error:") . " " . $this->oError->getMessage(); } function page() { diff --git a/lib/widgets/fieldsetDisplay.inc.php b/lib/widgets/fieldsetDisplay.inc.php index 6995348..672e589 100644 --- a/lib/widgets/fieldsetDisplay.inc.php +++ b/lib/widgets/fieldsetDisplay.inc.php @@ -83,7 +83,7 @@ function getWidgetForMetadataField($field, $current_value, $page, $errors = null if ($vocab === null) { // allow override $lookups = MetaData::getEnabledByDocumentField($field); $fieldOptions["vocab"] = array(); // FIXME handle lookups - $fieldOptions['vocab'][''] = _('No value'); + $fieldOptions['vocab'][''] = _kt('No value'); foreach ($lookups as $md) { $fieldOptions["vocab"][$md->getName()] = $md->getName(); } @@ -142,13 +142,13 @@ class KTFieldsetDisplay { $res = DBUtil::getOneResult(array($sQuery, array($iMimeTypeId))); if (PEAR::isError($res)) { - return _('unknown type'); + return _kt('unknown type'); } if (!empty($res['friendly_name'])) { - return _($res['friendly_name']); + return _kt($res['friendly_name']); } else { - return sprintf(_('%s File'), strtoupper($res['filetypes'])); + return sprintf(_kt('%s File'), strtoupper($res['filetypes'])); } } @@ -190,13 +190,13 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { // creation $creator =& User::get($document->getCreatorId()); if (PEAR::isError($creator)) { - $creator = "" . _("Unable to find the document's creator") . ""; + $creator = "" . _kt("Unable to find the document's creator") . ""; } else { $creator = $creator->getName(); } $modified_user =& User::get($document->getModifiedUserId()); if (PEAR::isError($modified_user)) { - $modified_user = "" . _("Unable to find the document's creator") . ""; + $modified_user = "" . _kt("Unable to find the document's creator") . ""; } else { $modified_user = $modified_user->getName(); } @@ -244,7 +244,7 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { // creation $creator =& User::get($document->getCreatorId()); if (PEAR::isError($creator)) { - $creator = "" . _("Unable to find the document's creator") . ""; + $creator = "" . _kt("Unable to find the document's creator") . ""; } else { $creator = $creator->getName(); } @@ -260,7 +260,7 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { $modified_user =& User::get($document->getModifiedUserId()); if (PEAR::isError($modified_user)) { - $modified_user = "" . _("Unable to find the document's modifier") . ""; + $modified_user = "" . _kt("Unable to find the document's modifier") . ""; } else { $modified_user = $modified_user->getName(); } @@ -269,7 +269,7 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { $comparison_modified_user =& User::get($comparison_document->getModifiedUserId()); if (PEAR::isError($comparison_modified_user)) { - $comparison_modified_user = "" . _("Unable to find the document's creator") . ""; + $comparison_modified_user = "" . _kt("Unable to find the document's creator") . ""; } else { $comparison_modified_user = $comparison_modified_user->getName(); } @@ -316,7 +316,7 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { function renderEdit($document_data) { global $main; // FIXME remove direct access to $main $oField = new KTBaseWidget("Document Title", - _("The document title is used as the main name of a document throughout KnowledgeTree™."), + _kt("The document title is used as the main name of a document throughout KnowledgeTree™."), "generic_title", $document_data["document"]->getName(), $main, true, null, array()); $aFields = array($oField); // its the only one editable from the basic set (currently). @@ -326,7 +326,7 @@ class GenericFieldsetDisplay extends KTFieldsetDisplay { "context" => $this, "fields" => $aFields, "title" => "Generic Document Information", - "description" => _("The information in this section is stored by KnowledgeTree™ for every document."), + "description" => _kt("The information in this section is stored by KnowledgeTree™ for every document."), ); return $oTemplate->render($aTemplateData); } @@ -412,7 +412,7 @@ class SimpleFieldsetDisplay extends KTFieldsetDisplay { $has_errors = KTUtil::arrayGet($document_data['errors'], $oField->getId(),false); if ($has_errors !== false) { // FIXME when the actual errors (meaningful) are passed out, fix this. - $errors = array(_('The system rejected your value for this field.')); + $errors = array(_kt('The system rejected your value for this field.')); } else { $errors = null; } @@ -472,8 +472,8 @@ class ConditionalFieldsetDisplay extends SimpleFieldsetDisplay { // how? $fieldset_name = $this->fieldset->getName(); - $fieldset_description = _($this->fieldset->getDescription()); // need a better approach. how do we handle database-resident translations? - $fieldset_description .= _("Note that the options which are available depends on previous choices within this fieldset."); + $fieldset_description = _kt($this->fieldset->getDescription()); // need a better approach. how do we handle database-resident translations? + $fieldset_description .= _kt("Note that the options which are available depends on previous choices within this fieldset."); // FIXME handle the editable case _with_ values.