diff options
Diffstat (limited to 'lib/prado/framework/Exceptions')
35 files changed, 3617 insertions, 0 deletions
diff --git a/lib/prado/framework/Exceptions/TErrorHandler.php b/lib/prado/framework/Exceptions/TErrorHandler.php new file mode 100644 index 0000000..f9a120a --- /dev/null +++ b/lib/prado/framework/Exceptions/TErrorHandler.php @@ -0,0 +1,399 @@ +<?php +/** + * TErrorHandler class file + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @link https://github.com/pradosoft/prado + * @copyright Copyright © 2005-2015 The PRADO Group + * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT + * @package System.Exceptions + */ + +/** + * TErrorHandler class + * + * TErrorHandler handles all PHP user errors and exceptions generated during + * servicing user requests. It displays these errors using different templates + * and if possible, using languages preferred by the client user. + * Note, PHP parsing errors cannot be caught and handled by TErrorHandler. + * + * The templates used to format the error output are stored under System.Exceptions. + * You may choose to use your own templates, should you not like the templates + * provided by Prado. Simply set {@link setErrorTemplatePath ErrorTemplatePath} + * to the path (in namespace format) storing your own templates. + * + * There are two sets of templates, one for errors to be displayed to client users + * (called external errors), one for errors to be displayed to system developers + * (called internal errors). The template file name for the former is + * <b>error[StatusCode][-LanguageCode].html</b>, and for the latter it is + * <b>exception[-LanguageCode].html</b>, where StatusCode refers to response status + * code (e.g. 404, 500) specified when {@link THttpException} is thrown, + * and LanguageCode is the client user preferred language code (e.g. en, zh, de). + * The templates <b>error.html</b> and <b>exception.html</b> are default ones + * that are used if no other appropriate templates are available. + * Note, these templates are not Prado control templates. They are simply + * html files with keywords (e.g. %%ErrorMessage%%, %%Version%%) + * to be replaced with the corresponding information. + * + * By default, TErrorHandler is registered with {@link TApplication} as the + * error handler module. It can be accessed via {@link TApplication::getErrorHandler()}. + * You seldom need to deal with the error handler directly. It is mainly used + * by the application object to handle errors. + * + * TErrorHandler may be configured in application configuration file as follows + * <module id="error" class="TErrorHandler" ErrorTemplatePath="System.Exceptions" /> + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TErrorHandler extends TModule +{ + /** + * error template file basename + */ + const ERROR_FILE_NAME='error'; + /** + * exception template file basename + */ + const EXCEPTION_FILE_NAME='exception'; + /** + * number of lines before and after the error line to be displayed in case of an exception + */ + const SOURCE_LINES=12; + + /** + * @var string error template directory + */ + private $_templatePath=null; + + /** + * Initializes the module. + * This method is required by IModule and is invoked by application. + * @param TXmlElement module configuration + */ + public function init($config) + { + $this->getApplication()->setErrorHandler($this); + } + + /** + * @return string the directory containing error template files. + */ + public function getErrorTemplatePath() + { + if($this->_templatePath===null) + $this->_templatePath=Prado::getFrameworkPath().'/Exceptions/templates'; + return $this->_templatePath; + } + + /** + * Sets the path storing all error and exception template files. + * The path must be in namespace format, such as System.Exceptions (which is the default). + * @param string template path in namespace format + * @throws TConfigurationException if the template path is invalid + */ + public function setErrorTemplatePath($value) + { + if(($templatePath=Prado::getPathOfNamespace($value))!==null && is_dir($templatePath)) + $this->_templatePath=$templatePath; + else + throw new TConfigurationException('errorhandler_errortemplatepath_invalid',$value); + } + + /** + * Handles PHP user errors and exceptions. + * This is the event handler responding to the <b>Error</b> event + * raised in {@link TApplication}. + * The method mainly uses appropriate template to display the error/exception. + * It terminates the application immediately after the error is displayed. + * @param mixed sender of the event + * @param mixed event parameter (if the event is raised by TApplication, it refers to the exception instance) + */ + public function handleError($sender,$param) + { + static $handling=false; + // We need to restore error and exception handlers, + // because within error and exception handlers, new errors and exceptions + // cannot be handled properly by PHP + restore_error_handler(); + restore_exception_handler(); + // ensure that we do not enter infinite loop of error handling + if($handling) + $this->handleRecursiveError($param); + else + { + $handling=true; + if(($response=$this->getResponse())!==null) + $response->clear(); + if(!headers_sent()) + header('Content-Type: text/html; charset=UTF-8'); + if($param instanceof THttpException) + $this->handleExternalError($param->getStatusCode(),$param); + else if($this->getApplication()->getMode()===TApplicationMode::Debug) + $this->displayException($param); + else + $this->handleExternalError(500,$param); + } + } + + + /** + * @param string $value + * @param Exception|null$exception + * @return string + * @since 3.1.6 + */ + protected static function hideSecurityRelated($value, $exception=null) + { + $aRpl = array(); + if($exception !== null && $exception instanceof Exception) + { + $aTrace = $exception->getTrace(); + foreach($aTrace as $item) + { + if(isset($item['file'])) + $aRpl[dirname($item['file']) . DIRECTORY_SEPARATOR] = '<hidden>' . DIRECTORY_SEPARATOR; + } + } + $aRpl[$_SERVER['DOCUMENT_ROOT']] = '${DocumentRoot}'; + $aRpl[str_replace('/', DIRECTORY_SEPARATOR, $_SERVER['DOCUMENT_ROOT'])] = '${DocumentRoot}'; + $aRpl[PRADO_DIR . DIRECTORY_SEPARATOR] = '${PradoFramework}' . DIRECTORY_SEPARATOR; + if(isset($aRpl[DIRECTORY_SEPARATOR])) unset($aRpl[DIRECTORY_SEPARATOR]); + $aRpl = array_reverse($aRpl, true); + + return str_replace(array_keys($aRpl), $aRpl, $value); + } + + /** + * Displays error to the client user. + * THttpException and errors happened when the application is in <b>Debug</b> + * mode will be displayed to the client user. + * @param integer response status code + * @param Exception exception instance + */ + protected function handleExternalError($statusCode,$exception) + { + if(!($exception instanceof THttpException)) + error_log($exception->__toString()); + + $content=$this->getErrorTemplate($statusCode,$exception); + + $serverAdmin=isset($_SERVER['SERVER_ADMIN'])?$_SERVER['SERVER_ADMIN']:''; + + $isDebug = $this->getApplication()->getMode()===TApplicationMode::Debug; + + $errorMessage = $exception->getMessage(); + if($isDebug) + $version=$_SERVER['SERVER_SOFTWARE'].' <a href="https://github.com/pradosoft/prado">PRADO</a>/'.Prado::getVersion(); + else + { + $version=''; + $errorMessage = self::hideSecurityRelated($errorMessage, $exception); + } + $tokens=array( + '%%StatusCode%%' => "$statusCode", + '%%ErrorMessage%%' => htmlspecialchars($errorMessage), + '%%ServerAdmin%%' => $serverAdmin, + '%%Version%%' => $version, + '%%Time%%' => @strftime('%Y-%m-%d %H:%M',time()) + ); + + $this->getApplication()->getResponse()->setStatusCode($statusCode, $isDebug ? $exception->getMessage() : null); + + echo strtr($content,$tokens); + } + + /** + * Handles error occurs during error handling (called recursive error). + * THttpException and errors happened when the application is in <b>Debug</b> + * mode will be displayed to the client user. + * Error is displayed without using existing template to prevent further errors. + * @param Exception exception instance + */ + protected function handleRecursiveError($exception) + { + if($this->getApplication()->getMode()===TApplicationMode::Debug) + { + echo "<html><head><title>Recursive Error</title></head>\n"; + echo "<body><h1>Recursive Error</h1>\n"; + echo "<pre>".$exception->__toString()."</pre>\n"; + echo "</body></html>"; + } + else + { + error_log("Error happened while processing an existing error:\n".$exception->__toString()); + header('HTTP/1.0 500 Internal Error'); + } + } + + /** + * Displays exception information. + * Exceptions are displayed with rich context information, including + * the call stack and the context source code. + * This method is only invoked when application is in <b>Debug</b> mode. + * @param Exception exception instance + */ + protected function displayException($exception) + { + if(php_sapi_name()==='cli') + { + echo $exception->getMessage()."\n"; + echo $exception->getTraceAsString(); + return; + } + + if($exception instanceof TTemplateException) + { + $fileName=$exception->getTemplateFile(); + $lines=empty($fileName)?explode("\n",$exception->getTemplateSource()):@file($fileName); + $source=$this->getSourceCode($lines,$exception->getLineNumber()); + if($fileName==='') + $fileName='---embedded template---'; + $errorLine=$exception->getLineNumber(); + } + else + { + if(($trace=$this->getExactTrace($exception))!==null) + { + $fileName=$trace['file']; + $errorLine=$trace['line']; + } + else + { + $fileName=$exception->getFile(); + $errorLine=$exception->getLine(); + } + $source=$this->getSourceCode(@file($fileName),$errorLine); + } + + if($this->getApplication()->getMode()===TApplicationMode::Debug) + $version=$_SERVER['SERVER_SOFTWARE'].' <a href="https://github.com/pradosoft/prado">PRADO</a>/'.Prado::getVersion(); + else + $version=''; + + $tokens=array( + '%%ErrorType%%' => get_class($exception), + '%%ErrorMessage%%' => $this->addLink(htmlspecialchars($exception->getMessage())), + '%%SourceFile%%' => htmlspecialchars($fileName).' ('.$errorLine.')', + '%%SourceCode%%' => $source, + '%%StackTrace%%' => htmlspecialchars($exception->getTraceAsString()), + '%%Version%%' => $version, + '%%Time%%' => @strftime('%Y-%m-%d %H:%M',time()) + ); + + $content=$this->getExceptionTemplate($exception); + + echo strtr($content,$tokens); + } + + /** + * Retrieves the template used for displaying internal exceptions. + * Internal exceptions will be displayed with source code causing the exception. + * This occurs when the application is in debug mode. + * @param Exception the exception to be displayed + * @return string the template content + */ + protected function getExceptionTemplate($exception) + { + $lang=Prado::getPreferredLanguage(); + $exceptionFile=Prado::getFrameworkPath().'/Exceptions/templates/'.self::EXCEPTION_FILE_NAME.'-'.$lang.'.html'; + if(!is_file($exceptionFile)) + $exceptionFile=Prado::getFrameworkPath().'/Exceptions/templates/'.self::EXCEPTION_FILE_NAME.'.html'; + if(($content=@file_get_contents($exceptionFile))===false) + die("Unable to open exception template file '$exceptionFile'."); + return $content; + } + + /** + * Retrieves the template used for displaying external exceptions. + * External exceptions are those displayed to end-users. They do not contain + * error source code. Therefore, you might want to override this method + * to provide your own error template for displaying certain external exceptions. + * The following tokens in the template will be replaced with corresponding content: + * %%StatusCode%% : the status code of the exception + * %%ErrorMessage%% : the error message (HTML encoded). + * %%ServerAdmin%% : the server admin information (retrieved from Web server configuration) + * %%Version%% : the version information of the Web server. + * %%Time%% : the time the exception occurs at + * + * @param integer status code (such as 404, 500, etc.) + * @param Exception the exception to be displayed + * @return string the template content + */ + protected function getErrorTemplate($statusCode,$exception) + { + $base=$this->getErrorTemplatePath().DIRECTORY_SEPARATOR.self::ERROR_FILE_NAME; + $lang=Prado::getPreferredLanguage(); + if(is_file("$base$statusCode-$lang.html")) + $errorFile="$base$statusCode-$lang.html"; + else if(is_file("$base$statusCode.html")) + $errorFile="$base$statusCode.html"; + else if(is_file("$base-$lang.html")) + $errorFile="$base-$lang.html"; + else + $errorFile="$base.html"; + if(($content=@file_get_contents($errorFile))===false) + die("Unable to open error template file '$errorFile'."); + return $content; + } + + private function getExactTrace($exception) + { + $trace=$exception->getTrace(); + $result=null; + // if PHP exception, we want to show the 2nd stack level context + // because the 1st stack level is of little use (it's in error handler) + if($exception instanceof TPhpErrorException) + $result=isset($trace[0]['file'])?$trace[0]:$trace[1]; + else if($exception instanceof TInvalidOperationException) + { + // in case of getter or setter error, find out the exact file and row + if(($result=$this->getPropertyAccessTrace($trace,'__get'))===null) + $result=$this->getPropertyAccessTrace($trace,'__set'); + } + if($result!==null && strpos($result['file'],': eval()\'d code')!==false) + return null; + + return $result; + } + + private function getPropertyAccessTrace($trace,$pattern) + { + $result=null; + foreach($trace as $t) + { + if(isset($t['function']) && $t['function']===$pattern) + $result=$t; + else + break; + } + return $result; + } + + private function getSourceCode($lines,$errorLine) + { + $beginLine=$errorLine-self::SOURCE_LINES>=0?$errorLine-self::SOURCE_LINES:0; + $endLine=$errorLine+self::SOURCE_LINES<=count($lines)?$errorLine+self::SOURCE_LINES:count($lines); + + $source=''; + for($i=$beginLine;$i<$endLine;++$i) + { + if($i===$errorLine-1) + { + $line=htmlspecialchars(sprintf("%04d: %s",$i+1,str_replace("\t",' ',$lines[$i]))); + $source.="<div class=\"error\">".$line."</div>"; + } + else + $source.=htmlspecialchars(sprintf("%04d: %s",$i+1,str_replace("\t",' ',$lines[$i]))); + } + return $source; + } + + private function addLink($message) + { + $baseUrl='http://pradosoft.github.io/docs/manual/class-'; + return preg_replace('/\b(T[A-Z]\w+)\b/',"<a href=\"$baseUrl\${1}\" target=\"_blank\">\${1}</a>",$message); + } +} + diff --git a/lib/prado/framework/Exceptions/TException.php b/lib/prado/framework/Exceptions/TException.php new file mode 100644 index 0000000..651adb5 --- /dev/null +++ b/lib/prado/framework/Exceptions/TException.php @@ -0,0 +1,409 @@ +<?php +/** + * Exception classes file + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @link https://github.com/pradosoft/prado + * @copyright Copyright © 2005-2015 The PRADO Group + * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT + * @package System.Exceptions + */ + +/** + * TException class + * + * TException is the base class for all PRADO exceptions. + * + * TException provides the functionality of translating an error code + * into a descriptive error message in a language that is preferred + * by user browser. Additional parameters may be passed together with + * the error code so that the translated message contains more detailed + * information. + * + * By default, TException looks for a message file by calling + * {@link getErrorMessageFile()} method, which uses the "message-xx.txt" + * file located under "System.Exceptions" folder, where "xx" is the + * code of the user preferred language. If such a file is not found, + * "message.txt" will be used instead. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TException extends Exception +{ + private $_errorCode=''; + static $_messageCache=array(); + + /** + * Constructor. + * @param string error message. This can be a string that is listed + * in the message file. If so, the message in the preferred language + * will be used as the error message. Any rest parameters will be used + * to replace placeholders ({0}, {1}, {2}, etc.) in the message. + */ + public function __construct($errorMessage) + { + $this->_errorCode=$errorMessage; + $errorMessage=$this->translateErrorMessage($errorMessage); + $args=func_get_args(); + array_shift($args); + $n=count($args); + $tokens=array(); + for($i=0;$i<$n;++$i) + $tokens['{'.$i.'}']=TPropertyValue::ensureString($args[$i]); + parent::__construct(strtr($errorMessage,$tokens)); + } + + /** + * Translates an error code into an error message. + * @param string error code that is passed in the exception constructor. + * @return string the translated error message + */ + protected function translateErrorMessage($key) + { + $msgFile=$this->getErrorMessageFile(); + + // Cache messages + if (!isset(self::$_messageCache[$msgFile])) + { + if(($entries=@file($msgFile))!==false) + { + foreach($entries as $entry) + { + @list($code,$message)=explode('=',$entry,2); + self::$_messageCache[$msgFile][trim($code)]=trim($message); + } + } + } + return isset(self::$_messageCache[$msgFile][$key]) ? self::$_messageCache[$msgFile][$key] : $key; + } + + /** + * @return string path to the error message file + */ + protected function getErrorMessageFile() + { + $lang=Prado::getPreferredLanguage(); + $msgFile=Prado::getFrameworkPath().'/Exceptions/messages/messages-'.$lang.'.txt'; + if(!is_file($msgFile)) + $msgFile=Prado::getFrameworkPath().'/Exceptions/messages/messages.txt'; + return $msgFile; + } + + /** + * @return string error code + */ + public function getErrorCode() + { + return $this->_errorCode; + } + + /** + * @param string error code + */ + public function setErrorCode($code) + { + $this->_errorCode=$code; + } + + /** + * @return string error message + */ + public function getErrorMessage() + { + return $this->getMessage(); + } + + /** + * @param string error message + */ + protected function setErrorMessage($message) + { + $this->message=$message; + } +} + +/** + * TSystemException class + * + * TSystemException is the base class for all framework-level exceptions. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TSystemException extends TException +{ +} + +/** + * TApplicationException class + * + * TApplicationException is the base class for all user application-level exceptions. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TApplicationException extends TException +{ +} + +/** + * TInvalidOperationException class + * + * TInvalidOperationException represents an exception caused by invalid operations. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TInvalidOperationException extends TSystemException +{ +} + +/** + * TInvalidDataTypeException class + * + * TInvalidDataTypeException represents an exception caused by invalid data type. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TInvalidDataTypeException extends TSystemException +{ +} + +/** + * TInvalidDataValueException class + * + * TInvalidDataValueException represents an exception caused by invalid data value. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TInvalidDataValueException extends TSystemException +{ +} + +/** + * TConfigurationException class + * + * TConfigurationException represents an exception caused by invalid configurations, + * such as error in an application configuration file or control template file. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TConfigurationException extends TSystemException +{ +} + +/** + * TTemplateException class + * + * TTemplateException represents an exception caused by invalid template syntax. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.1 + */ +class TTemplateException extends TConfigurationException +{ + private $_template=''; + private $_lineNumber=0; + private $_fileName=''; + + /** + * @return string the template source code that causes the exception. This is empty if {@link getTemplateFile TemplateFile} is not empty. + */ + public function getTemplateSource() + { + return $this->_template; + } + + /** + * @param string the template source code that causes the exception + */ + public function setTemplateSource($value) + { + $this->_template=$value; + } + + /** + * @return string the template file that causes the exception. This could be empty if the template is an embedded template. In this case, use {@link getTemplateSource TemplateSource} to obtain the actual template content. + */ + public function getTemplateFile() + { + return $this->_fileName; + } + + /** + * @param string the template file that causes the exception + */ + public function setTemplateFile($value) + { + $this->_fileName=$value; + } + + /** + * @return integer the line number at which the template has error + */ + public function getLineNumber() + { + return $this->_lineNumber; + } + + /** + * @param integer the line number at which the template has error + */ + public function setLineNumber($value) + { + $this->_lineNumber=TPropertyValue::ensureInteger($value); + } +} + +/** + * TIOException class + * + * TIOException represents an exception related with improper IO operations. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TIOException extends TSystemException +{ +} + +/** + * TDbException class + * + * TDbException represents an exception related with DB operations. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TDbException extends TSystemException +{ +} + +/** + * TDbConnectionException class + * + * TDbConnectionException represents an exception caused by DB connection failure. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TDbConnectionException extends TDbException +{ +} + +/** + * TNotSupportedException class + * + * TNotSupportedException represents an exception caused by using an unsupported PRADO feature. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TNotSupportedException extends TSystemException +{ +} + +/** + * TPhpErrorException class + * + * TPhpErrorException represents an exception caused by a PHP error. + * This exception is mainly thrown within a PHP error handler. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class TPhpErrorException extends TSystemException +{ + /** + * Constructor. + * @param integer error number + * @param string error string + * @param string error file + * @param integer error line number + */ + public function __construct($errno,$errstr,$errfile,$errline) + { + static $errorTypes=array( + E_ERROR => "Error", + E_WARNING => "Warning", + E_PARSE => "Parsing Error", + E_NOTICE => "Notice", + E_CORE_ERROR => "Core Error", + E_CORE_WARNING => "Core Warning", + E_COMPILE_ERROR => "Compile Error", + E_COMPILE_WARNING => "Compile Warning", + E_USER_ERROR => "User Error", + E_USER_WARNING => "User Warning", + E_USER_NOTICE => "User Notice", + E_STRICT => "Runtime Notice" + ); + $errorType=isset($errorTypes[$errno])?$errorTypes[$errno]:'Unknown Error'; + parent::__construct("[$errorType] $errstr (@line $errline in file $errfile)."); + } +} + + +/** + * THttpException class + * + * THttpException represents an exception that is caused by invalid operations + * of end-users. The {@link getStatusCode StatusCode} gives the type of HTTP error. + * It is used by {@link TErrorHandler} to provide different error output to users. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @package System.Exceptions + * @since 3.0 + */ +class THttpException extends TSystemException +{ + private $_statusCode; + + /** + * Constructor. + * @param integer HTTP status code, such as 404, 500, etc. + * @param string error message. This can be a string that is listed + * in the message file. If so, the message in the preferred language + * will be used as the error message. Any rest parameters will be used + * to replace placeholders ({0}, {1}, {2}, etc.) in the message. + */ + public function __construct($statusCode,$errorMessage) + { + $this->_statusCode=$statusCode; + $this->setErrorCode($errorMessage); + $errorMessage=$this->translateErrorMessage($errorMessage); + $args=func_get_args(); + array_shift($args); + array_shift($args); + $n=count($args); + $tokens=array(); + for($i=0;$i<$n;++$i) + $tokens['{'.$i.'}']=TPropertyValue::ensureString($args[$i]); + parent::__construct(strtr($errorMessage,$tokens)); + } + + /** + * @return integer HTTP status code, such as 404, 500, etc. + */ + public function getStatusCode() + { + return $this->_statusCode; + } +} + diff --git a/lib/prado/framework/Exceptions/messages/messages-fr.txt b/lib/prado/framework/Exceptions/messages/messages-fr.txt new file mode 100644 index 0000000..84f5306 --- /dev/null +++ b/lib/prado/framework/Exceptions/messages/messages-fr.txt @@ -0,0 +1,420 @@ +prado_application_singleton_required = Il ne peut y avoir qu'une instance de : Prado.Application. +prado_component_unknown = Le type du composant '{0}' est inconnu. Cela peut être causé par l'erreur de syntaxe dans le fichier {0} : {1} +prado_using_invalid = Le namespace '{0}' n'est pas valide. Assurez-vous que '.*' a été ajouté si vous souhaitez utiliser un namespace qui fasse référence à ce dossier +prado_alias_redefined = L'alias '{0}' ne peut pas être redéfini. +prado_alias_invalid = L'alias '{0}' fait référence à un chemin de dossier non valide : '{1}'. Seul les dossiers existants peuvent être mis en alias. +prado_aliasname_invalid = L'alias '{0}' contient un caractère non autorisé : '.'. + +component_property_undefined = La proriété de l'objet '{0}.{1}' n'est pas définie. +component_property_readonly = La proriété de l'objet '{0}.{1}' est en lecture seule. +component_event_undefined = L'événement de l'objet '{0}.{1}' n'est pas défini. +component_eventhandler_invalid = L'événement de l'objet '{0}.{1}' n'est pas rataché à un handler valide '{2}'. +component_expression_invalid = L'objet '{0}' essaye d'évaluer un expression invalide '{1}' : {2}. +component_statements_invalid = L'objet '{0}' essaye d'évaluer une déclaration PHP invalide '{1}' : {2}. + +propertyvalue_enumvalue_invalid = La valeur '{0}' n'est pas une valeur possible pour l'énumération ({1}). + +list_index_invalid = L'indice '{0}' est hors limite. +list_item_inexistent = L'élément ne peut être trouvé dans la liste. +list_data_not_iterable = Data must be either an array or an object implementing Traversable interface. +list_readonly = {0} est en lecture seule. + +map_addition_disallowed = Le nouveau élément ne peut être ajouter dans la liste(map). +map_item_unremovable = L'élément ne peut être supprimé de la liste (map). +map_data_not_iterable = Data must be either an array or an object implementing Traversable interface. +map_readonly = {0} est en lecture seule. + +application_includefile_invalid = Impossible de trouver les paramètres de configuration de l'application {0}. Assurez-vous qu'il soit dans le bon espace d'adressage (namespace format) et que l'extension du fichier soit en ".xml". +application_basepath_invalid = Le dossier de base de l'application '{0}' n'existe pas ou n'est pas un répertoire. +application_runtimepath_invalid = Le dossier "runtime" de l'application '{0}' n'existe pas ou le serveur Web n'a pas les droits en écriture sur ce dossier. +application_service_invalid = Le service '{0}' doit implémenter l'interface "IService". +application_service_unknown = Le service '{0}' que vous demandez n'est pas défini. +application_unavailable = L'application n'est pas disponible actuellement. +application_service_unavailable = Le service '{0}' n'est pas disponible actuellement. +application_moduleid_duplicated = Le module d'ID '{0}' de l'application n'est pas unique. +application_runtimepath_failed = Impossible de créer le dossier "runtime" '{0}'. Assurez-vous que le dossier parent existe et qu'il est accessible en écriture par le serveur Web. + +appconfig_aliaspath_invalid = Configuration de l'application : l'élement <alias id="{0}"> pointe vers un chemin invalide "{1}". +appconfig_alias_invalid = Confirugation de l'application : l'élement <alias> doit avoir un attribut "id" et un attribut "path". +appconfig_alias_redefined = Configuration de l'application : l'élement <alias id="{0}"> ne peut pas être redéfini. +appconfig_using_invalid = Configuration de l'application : l'élément <using> doit avoir un attribut "namespace". +appconfig_moduleid_required = Configuration de l'application : l'élément <module> doit avoir un attribut "id". +appconfig_moduletype_required = Configuration de l'application : l'élement <module id="{0}"> doit avoir un attribut "class". +appconfig_serviceid_required = Configuration de l'application : l'élément <service> doit avoir un attribut "id". +appconfig_servicetype_required = Configuration de l'application : l'élément <service id="{0}"> doit avoit un attribut "class". +appconfig_parameterid_required = Configuration de l'application : l'élément <parameter> doit avoir un attribut "id". +appconfig_includefile_required = Configuration de l'application : l'élément <include> doit avoir un attribut "file". + +securitymanager_validationkey_invalid = TSecurityManager.ValidationKey ne doit pas être vide. +securitymanager_encryptionkey_invalid = TSecurityManager.EncryptionKey ne doit pas être vide. +securitymanager_mcryptextension_required = L'extension PHP Mcrypt est nécessaier pour utiliser les fonctions de cryptage de TSecurityManager. + +uri_format_invalid = '{0}' n'est pas une URI valide. + +httprequest_separator_invalid = THttpRequest.UrlParamSeparator ne peut contenir qu'un seul caractère. +httprequest_urlmanager_inexist = THttpRequest.UrlManager '{0}' ne pointe pas vers un momdule exitant. +httprequest_urlmanager_invalid = THttpRequest.UrlManager '{0}' doit pointer vers un module héritant de TUrlManager. + +httpcookiecollection_httpcookie_required = THttpCookieCollection n'accepte que des objets de type THttpCookie. + +httpresponse_bufferoutput_unchangeable = THttpResponse.BufferOutput ne peut pas être modifié après que THttpResponse ait été initialisé. +httpresponse_file_inexistent = THttpResponse ne peut pas envoyer le fichier '{0}'. Ce fichier n'existe pas. + +httpsession_sessionid_unchangeable = THttpSession.SessionID ne peut pas être modifié après que la session ait démarré. +httpsession_sessionname_unchangeable = THttpSession.SessionName ne peut pas être modifié après que la session ait démarré. +httpsession_sessionname_invalid = THttpSession.SessionName ne peut contenir que des caractères alphanumériques. +httpsession_savepath_unchangeable = THttpSession.SavePath ne peut pas être modifié après que la session ait démarré. +httpsession_savepath_invalid = THttpSession.SavePath '{0}' est invalide. +httpsession_storage_unchangeable = THttpSession.Storage ne peut pas être modifié après que la session ait démarré. +httpsession_cookiemode_unchangeable = THttpSession.CookieMode ne peut pas être modifié après que la session ait démarré. +httpsession_autostart_unchangeable = THttpSession.AutoStart ne peut pas être modifié après que le module de session ait été initialisé. +httpsession_gcprobability_unchangeable = THttpSession.GCProbability ne peut pas être modifié après que la session ait démarré. +httpsession_gcprobability_invalid = THttpSession.GCProbability doit être un entier compris entre 0 et 100. +httpsession_transid_unchangeable = THttpSession.UseTransparentSessionID ne peut pas être modifié après que la session ait démarré. +httpsession_transid_cookieonly = THttpSession.UseTransparentSessionID ne peut pas être utilisé quand THttpSession.CookieMode est fixé à "Only". +httpsession_maxlifetime_unchangeable = THttpSession.Timeout ne peut pas être modifié après que la session ait démarré. + +assetmanager_basepath_invalid = TAssetManager.BasePath '{0}' est invalide. Vérifier qu'il est bien au format 'namespace' et qu'il pointe bien vers un répertoire accessible en écriture par le propriétaire du processus serveur Web +assetmanager_basepath_unchangeable = TAssetManager.BasePath ne peut pas être modifié après l'initialisation du module. +assetmanager_baseurl_unchangeable = TAssetManager.BaseUrl ne peut pas être modifié après l'initialisation du module. +assetmanager_filepath_invalid = TAssetManager essaye de publier un fichier invalide '{0}'. +assetmanager_tarchecksum_invalid = TAssetManager essaye de publier une archive 'tar' avec un checksum invalide '{0}'. +assetmanager_tarfile_invalid = TAssetManager essaye de publier une archive 'tar' invalide '{0}'. +assetmanager_source_directory_invalid = TAssetManager essaye de copier un répertoire invalide '{0}'. + +cache_primary_duplicated = Un seul module au maximum de cache primaire est autorisé. {0} essaye de déclarer un autre module de cache primaire. +sqlitecache_extension_required = TSqliteCache nécessite l'extension PHP SQLLite. +sqlitecache_dbfile_required = TSqliteCache.DbFile est nécessaire. +sqlitecache_connection_failed = Echec de la connexion à la base de données TSqliteCache. {0}. +sqlitecache_table_creation_failed = Echec de la créatin de la base de données TSqliteCache. {0}. +sqlitecache_dbfile_unchangeable = TSqliteCache.DbFile ne peut pas être modifié après l'initialisation du module. +sqlitecache_dbfile_invalid = TSqliteCache.DbFile est invalide. Vérifier qu'il est écrit au format 'Namespace'. + +memcache_extension_required = TMemCache nécessite l'extension PHP memcache. +memcache_connection_failed = TMemCache ne peut pas se connecter au serveur memcache {0}:{1}. +memcache_host_unchangeable = TMemCache.Host ne peut pas être modifié après l'initialisation du module. +memcache_port_unchangeable = TMemCache.Port ne peut pas être modifié après l'initialisation du module. + +apccache_extension_required = TAPCCache nécessite l'extension PHP APC. +apccache_add_unsupported = TAPCCache.add() n'est pas supporté. +apccache_replace_unsupported = TAPCCache.replace() n'est pas supporté. +apccache_extension_not_enabled = TAPCCache nécessite apc.enabled = 1 dans php.ini. +apccache_extension_not_enabled_cli = TAPCCache nécessite apc.enable_cli = 1 dans php.ini pour fonctionner en ligne de commande. + +errorhandler_errortemplatepath_invalid = TErrorHandler.ErrorTemplatePath '{0}' est invalide. Vérifier qu'il est écrit au format 'namespace' et qu'il pointe bien vers un répertoire valide + +pageservice_page_unknown = La page '{0}' n'a pas été trouvée +pageservice_pageclass_unknown = La classe de la page '{0}' est inconnue. +pageservice_basepath_invalid = TPageService.BasePath '{0}' n'est pas un répertoire valide. +pageservice_page_required = Le nom de la page est requis. +pageservice_defaultpage_unchangeable = TPageService.DefaultPage ne peut pas être modifié après l'initialisation du service. +pageservice_basepath_unchangeable = TPageService.BasePath ne peut pas être modifié après l'initialisation du service. +pageservice_pageclass_invalid = La classe de la page {0} est invalide. Cela devrait être TPage ou un héritage de TPage. +pageservice_includefile_invalid = Impossible de trouver le fichier de configuration du service de page {0}. Verifier qu'il est au format 'namespace' et que l'extension du fichier est '.xml'. + +pageserviceconf_file_invalid = Unable to open page directory configuration file '{0}'. +pageserviceconf_aliaspath_invalid = <alias id="{0}"> uses an invalid file path "{1}" in page directory configuration file '{2}'. +pageserviceconf_alias_invalid = <alias> element must have an "id" attribute and a "path" attribute in page directory configuration file '{0}'. +pageserviceconf_using_invalid = <using> element must have a "namespace" attribute in page directory configuration file '{0}'. +pageserviceconf_module_invalid = <module> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_moduletype_required = <module id="{0}"> must have a "class" attribute in page directory configuration file '{1}'. +pageserviceconf_parameter_invalid = <parameter> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_page_invalid = <page> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_includefile_required = Page configuration <include> element must have a "file" attribute. + +template_closingtag_unexpected = Unexpected closing tag '{0}' is found. +template_closingtag_expected = Closing tag '{0}' is expected. +template_directive_nonunique = Directive '<%@ ... %>' must appear at the beginning of the template and can appear at most once. +template_comments_forbidden = Template comments are not allowed within property tags. +template_matching_unexpected = Unexpected matching. +template_property_unknown = {0} has no property called '{1}'. +template_event_unknown = {0} has no event called '{1}'. +template_property_readonly = {0} has a read-only property '{1}'. +template_event_forbidden = {0} is a non-control component. No handler can be attached to its event '{1}' in a template. +template_databind_forbidden = {0} is a non-control component. Expressions cannot be bound to its property '{1}'. +template_component_required = '{0}' is not a component. Only components can appear in a template. +template_format_invalid = Invalid template syntax: {0} +template_property_duplicated = Property {0} is configured twice or more. +template_eventhandler_invalid = {0}.{1} can only accept a static string. +template_controlid_invalid = {0}.ID can only accept a static text string. +template_controlskinid_invalid = {0}.SkinID can only accept a static text string. +template_content_unexpected = Unexpected content is encountered when instantiating template: {0}. +template_include_invalid = Invalid template inclusion. Make sure {0} is a valid namespace pointing to an existing template file whose extension is .tpl. +template_tag_unexpected = Initialization for property {0} contains an unknown tag type {1}. + +xmldocument_file_read_failed = TXmlDocument is unable to read file '{0}'. +xmldocument_file_write_failed = TXmlDocument is unable to write file '{0}'. + +xmlelementlist_xmlelement_required = TXmlElementList can only accept TXmlElement objects. + +authorizationrule_action_invalid = TAuthorizationRule.Action can only take 'allow' or 'deny' as the value. +authorizationrule_verb_invalid = TAuthorizationRule.Verb can only take 'get' or 'post' as the value. + +authorizationrulecollection_authorizationrule_required = TAuthorizationRuleCollection can only accept TAuthorizationRule objects. + +usermanager_userfile_invalid = TUserManager.UserFile '{0}' is not a valid file. +usermanager_userfile_unchangeable = TUserManager.UserFile cannot be modified. The user module has been initialized already. + +authmanager_usermanager_required = TAuthManager.UserManager must be assigned a value. +authmanager_usermanager_inexistent = TAuthManager.UserManager '{0}' does not refer to an ID of application module. +authmanager_usermanager_invalid = TAuthManager.UserManager '{0}' does not refer to a valid TUserManager application module. +authmanager_usermanager_unchangeable = TAuthManager.UserManager cannot be modified after the module is initialized. +authmanager_session_required = TAuthManager requires a session application module. + +thememanager_service_unavailable = TThemeManager requires TPageService to be available. This error often occurs when you configure TThemeManager outside of the page service configuration. +thememanager_basepath_invalid = TThemeManager.BasePath '{0}' is not a valid path alias. Make sure you have defined this alias in configuration and it points to a valid directory. +thememanager_basepath_invalid2 = TThemeManager.BasePath '{0}' is not a valid directory. +thememanager_basepath_unchangeable = TThemeManager.BasePath cannot be modified after the module is initialized. + +theme_baseurl_required = TThemeManager.BasePath is required. By default, a directory named 'themes' under the directory containing the application entry script is assumed. +theme_path_inexistent = Theme path '{0}' does not exist. +theme_control_nested = Skin for control type '{0}' in theme '{1}' cannot be within another skin. +theme_skinid_duplicated = SkinID '{0}.{1}' is duplicated in theme '{2}'. +theme_databind_forbidden = Databind cannot be used in theme '{0}' for control skin '{1}.{2}' about property '{3}'. +theme_property_readonly = Skin is being applied to a read-only control property '{0}.{1}'. +theme_property_undefined = Skin is being applied to an inexistent control property '{0}.{1}'. +theme_tag_unexpected = Initialization for property {0} contains an unknown tag type {1}. + +control_object_reregistered = Duplicated object ID '{0}' found. +control_id_invalid = {0}.ID '{1}' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. +control_skinid_unchangeable = {0}.SkinID cannot be modified after a skin has been applied to the control or the child controls have been created. +control_enabletheming_unchangeable = {0}.EnableTheming cannot be modified after the child controls have been created. +control_stylesheet_applied = StyleSheet skin has already been applied to {0}. +control_id_nonunique = {0}.ID '{1}' is not unique among all controls under the same naming container. + +templatecontrol_mastercontrol_invalid = Master control must be of type TTemplateControl or a child class. +templatecontrol_mastercontrol_required = Control '{0}' requires a master control since the control uses TContent. +templatecontrol_contentid_duplicated = TContent ID '{0}' is duplicated. +templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '{0}' is duplicated. +templatecontrol_directive_invalid = {0}.{1} can only accept a static text string through a template directive. +templatecontrol_placeholder_inexistent = TContent '{0}' does not have a matching TContentPlaceHolder. + +page_form_duplicated = A page can contain at most one TForm. Use regular HTML form tags for the rest forms. +page_isvalid_unknown = TPage.IsValid has not been evaluated yet. +page_postbackcontrol_invalid = Unable to determine postback control '{0}'. +page_control_outofform = {0} '{1}' must be enclosed within TForm. +page_head_duplicated = A page can contain at most one THead. +page_statepersister_invalid = Page state persister must implement IPageStatePersister interface. + +csmanager_pradoscript_invalid = Unknown Prado script library name '{0}'. +csmanager_invalid_packages = Unkownn packages '{1}' for javascript packages defined in '{0}'. Valid packages are '{2}'. + +contentplaceholder_id_required = TContentPlaceHolder must have an ID. + +content_id_required = TContent must have an ID. + +controlcollection_control_required = TControlList can only accept strings or TControl objects. + +webcontrol_accesskey_invalid = {0}.AccessKey '{1}' is invalid. It must be a single character only. +webcontrol_style_invalid = {0}.Style must take string value only. + +listcontrol_selection_invalid = {0} has an invalid selection that is set before performing databinding. +listcontrol_selectedindex_invalid = {0}.SelectedIndex has an invalid value {1}. +listcontrol_selectedvalue_invalid = {0}.SelectedValue has an invalid value '{1}'. +listcontrol_expression_invalid = {0} is evaluating an invalid expression '{1}' : {2} +listcontrol_multiselect_unsupported = {0} does not support multiselection. + +label_associatedcontrol_invalid = TLabel.AssociatedControl '{0}' cannot be found. + +hiddenfield_focus_unsupported = THiddenField does not support setting input focus. +hiddenfield_theming_unsupported = THiddenField does not support theming. +hiddenfield_skinid_unsupported = THiddenField does not support control skin. + +panel_defaultbutton_invalid = TPanel.DefaultButton '{0}' does not refer to an existing button control. + +tablestyle_cellpadding_invalid = TTableStyle.CellPadding must take an integer equal to or greater than -1. +tablestyle_cellspacing_invalid = TTableStyle.CellSpacing must take an integer equal to or greater than -1. + +pagestatepersister_pagestate_corrupted = Page state is corrupted. + +sessionpagestatepersister_pagestate_corrupted = Page state is corrupted. +sessionpagestatepersister_historysize_invalid = TSessionPageStatePersister.History must be an integer greater than 0. + +listitemcollection_item_invalid = TListItemCollection can only take strings or TListItem objects. + +dropdownlist_selectedindices_unsupported= TDropDownList.SelectedIndices is read-only. + +bulletedlist_autopostback_unsupported = TBulletedList.AutoPostBack is read-only. +bulletedlist_selectedindex_unsupported = TBulletedList.SelectedIndex is read-only. +bulletedlist_selectedindices_unsupported= TBulletedList.SelectedIndices is read-only. +bulletedlist_selectedvalue_unsupported = TBulletedList.SelectedValue is read-only. + +radiobuttonlist_selectedindices_unsupported = TRadioButtonList.SelectedIndices is read-only. + +logrouter_configfile_invalid = TLogRouter.ConfigFile '{0}' does not exist. +logrouter_routeclass_required = Class attribute is required in <route> configuration. +logrouter_routetype_required = Log route must be an instance of TLogRoute or its derived class. + +filelogroute_logpath_invalid = TFileLogRoute.LogPath '{0}' must be a directory in namespace format and must be writable by the Web server process. +filelogroute_maxfilesize_invalid = TFileLogRoute.MaxFileSize must be greater than 0. +filelogroute_maxlogfiles_invalid = TFileLogRoute.MaxLogFiles must be greater than 0. + +emaillogroute_sentfrom_required = TEmailLogRoute.SentFrom cannot be empty. + +repeatinfo_repeatcolumns_invalid = TRepeatInfo.RepeatColumns must be no less than 0. + +basevalidator_controltovalidate_invalid = {0}.ControlToValidate is empty or contains an invalid control ID path. +basevalidator_validatable_required = {0}.ControlToValidate must point to a control implementing IValidatable interface. +basevalidator_forcontrol_unsupported = {0}.ForControl is not supported. + +comparevalidator_controltocompare_invalid = TCompareValidator.ControlToCompare contains an invalid control ID path. + +listcontrolvalidator_invalid_control = {0}.ControlToValidate contains an invalid TListControl ID path, "{1}" is a {2}. + +repeater_template_required = TRepeater.{0} requires a template instance implementing ITemplate interface. +repeater_itemtype_unknown = Unknow repeater item type {0}. +repeateritemcollection_item_invalid = TRepeaterItemCollection can only accept objects that are instance of TControl or its descendant class. + +datalist_template_required = TDataList.{0} requires a template instance implementing ITemplate interface. +datalistitemcollection_datalistitem_required = TDataListItemCollection can only accept TDataListItem objects. + +datagrid_template_required = TDataGrid.{0} requires a template instance implementing ITemplate interface. +templatecolumn_template_required = TTemplateColumn.{0} requires a template instance implementing ITemplate interface. +datagrid_currentpageindex_invalid = TDataGrid.CurrentPageIndex must be no less than 0. +datagrid_pagesize_invalid = TDataGrid.PageSize must be greater than 0. +datagrid_virtualitemcount_invalid = TDataGrid.VirtualItemCount must be no less than 0. +datagriditemcollection_datagriditem_required = TDataGridItemCollection can only accept TDataGridItem objects. +datagridcolumncollection_datagridcolumn_required = TDataGridColumnCollection can only accept TDataGridColumn objects. +datagridpagerstyle_pagebuttoncount_invalid = TDataGridPagerStyle.PageButtonCount must be greater than 0. + +datafieldaccessor_data_invalid = TDataFieldAccessor is trying to evaluate a field value of an invalid data. Make sure the data is an array, TMap, TList, or object that contains the specified field '{0}'. +datafieldaccessor_datafield_invalid = TDataFieldAccessor is trying to evaluate data value of an unknown field '{0}'. + +tablerowcollection_tablerow_required = TTableRowCollection can only accept TTableRow objects. + +tablecellcollection_tablerow_required = TTableCellCollection can only accept TTableCell objects. + +multiview_view_required = TMultiView can only accept TView as child. +multiview_activeviewindex_invalid = TMultiView.ActiveViewIndex has an invalid index '{0}'. +multiview_view_inexistent = TMultiView cannot find the specified view. +multiview_viewid_invalid = TMultiView cannot find the view '{0}' to switch to. + +viewcollection_view_required = TViewCollection can only accept TView as its element. + +view_visible_readonly = TView.Visible is read-only. Use TView.Active to toggle its visibility. + +wizard_step_invalid = The step to be activated cannot be found in wizard step collection. +wizard_command_invalid = Invalid wizard navigation command '{0}'. + +table_tablesection_outoforder = TTable table sections must be in the order of: Header, Body and Footer. + +completewizardstep_steptype_readonly = TCompleteWizardStep.StepType is read-only. + +wizardstepcollection_wizardstep_required = TWizardStepCollection can only accept objects of TWizardStep or its derived classes. + +texthighlighter_stylesheet_invalid = Unable to find the stylesheet file for TTextHighlighter. + +hotspotcollection_hotspot_required = THotSpotCollection can only accept instance of THotSpot or its derived classes. + +htmlarea_textmode_readonly = THtmlArea.TextMode is read-only. +htmlarea_tarfile_invalid = THtmlArea is unable to locate the TinyMCE tar file. + +parametermodule_parameterfile_unchangeable = TParameterModule.ParameterFile is not changeable because the module is already initialized. +parametermodule_parameterfile_invalid = TParameterModule.ParameterFile '{0}' is invalid. Make sure it is in namespace format and the file extension is '.xml'. +parametermodule_parameterid_required = Parameter element must have 'id' attribute. + +datagridcolumn_id_invalid = {0}.ID '{1}' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. +datagridcolumn_expression_invalid = {0} is evaluating an invalid expression '{1}' : {2} + +outputcache_cachemoduleid_invalid = TOutputCache.CacheModuleID is set with an invalid cache module ID {0}. Either the module does not exist or does not implement ICache interface. +outputcache_duration_invalid = {0}.Duration must be an integer no less than 0. + +stack_data_not_iterable = TStack can only fetch data from an array or a traversable object. +stack_empty = TStack is empty. + +queue_data_not_iterable = TQueue can only fetch data from an array or a traversable object. +queue_empty = TQueue is empty. + +pager_pagebuttoncount_invalid = TPager.PageButtonCount must be an integer no less than 1. +pager_currentpageindex_invalid = TPager.CurrentPageIndex is out of range. +pager_pagecount_invalid = TPager.PageCount cannot be smaller than 0. +pager_controltopaginate_invalid = TPager.ControlToPaginate {0} must be a valid ID path pointing to a TDataBoundControl-derived control. + +databoundcontrol_pagesize_invalid = {0}.PageSize must be an integer no smaller than 1. +databoundcontrol_virtualitemcount_invalid = {0}.VirtualItemCount must be an integer no smaller than 0. +databoundcontrol_currentpageindex_invalid = {0}.CurrentPageIndex is out of range. +databoundcontrol_datasource_invalid = {0}.DataSource is not valid. +databoundcontrol_datasourceid_inexistent = databoundcontrol_datasourceid_inexistent. +databoundcontrol_datasourceid_invalid = databoundcontrol_datasourceid_invalid +databoundcontrol_datamember_invalid = databoundcontrol_datamember_invalid + +clientscript_invalid_file_position = Invalid file position '{1}' for TClientScript control '{0}', must be 'Head', 'Here' or 'Begin'. +clientscript_invalid_package_path = Invalid PackagePath '{0}' for TClientScript control '{1}'. + +tdatepicker_autopostback_unsupported = '{0}' does not support AutoPostBack. +globalization_cache_path_failed = Unable to create translation message cache path '{0}'. Make sure the parent directory exists and is writable by the Web process. +globalization_source_path_failed = Unable to create translation message path '{0}'. Make sure the parent directory exists and is writable by the Web process. +callback_not_support_no_priority_state_update = Callback request does not support unprioritized pagestate update. +callback_invalid_callback_options = '{1}' is not a valid TCallbackOptions control for Callback control '{0}'. +callback_invalid_clientside_options = Callback ClientSide property must be either a string that is the ID of a TCallbackOptions control or an instance of TCallbackClientSideOptions.======= +callback_not_support_no_priority_state_update = Callback request does not support unprioritized pagestate update. +callback_invalid_handler = Invalid callback handler, control {0} must implement ICallbackEventHandler. +callback_invalid_target = Invalid callback target, no such control with ID {0}. + +callback_interval_be_positive = Interval for TCallbackTimer "{0}" must be strictly greater than zero seconds. +callback_decay_be_not_negative = Decay rate for TCallbackTimer "{0}" must be not negative. + +callback_no_autopostback = Control "{0}" can not enable AutoPostBack. + +xmltransform_xslextension_required = TXmlTransform requires the PHP's XSL extension. +xmltransform_transformpath_invalid = TXmlTransform.TransformPath '{0}' is invalid. +xmltransform_documentpath_invalid = TXmlTransform.DocumentPath '{0}' is invalid. +xmltransform_transform_required = Either TransformContent or TransformPath property must be set for TXmlTransform. + +ttriggeredcallback_invalid_controlid = ControlID property for '{0}' must not be empty. +tactivecustomvalidator_clientfunction_unsupported = {0} does not support client side validator function. + +dbconnection_open_failed = TDbConnection failed to establish DB connection: {0} +dbconnection_connection_inactive = TDbConnection is inactive. +dbconnection_unsupported_driver_charset = Le pilote de base de données '{0}' ne supporte pas la modification du jeu de caractères. + +dbcommand_prepare_failed = TDbCommand failed to prepare the SQL statement "{1}": {0} +dbcommand_execute_failed = TDbCommand failed to execute the SQL statement "{1}": {0} +dbcommand_query_failed = TDbCommand failed to execute the query SQL "{1}": {0} +dbcommand_column_empty = TDbCommand returned an empty result and could not obtain the scalar. +dbdatareader_rewind_invalid = TDbDataReader is a forward-only stream. It can only be traversed once. +dbtransaction_transaction_inactive = TDbTransaction is inactive. + +dbcommandbuilder_value_must_not_be_null = Property {0} must not be null as defined by column '{2}' in table '{1}'. + +dbcommon_invalid_table_name = Database table '{0}' not found. Error message: {1}. +dbcommon_invalid_identifier_name = Invalid database identifier name '{0}', see {1} for details. +dbtableinfo_invalid_column_name = Invalid column name '{0}' for database table '{1}'. +dbmetadata_invalid_table_view = Invalid table/view name '{0}', or that table/view '{0}' contains no accessible column/field definitions. +dbmetadata_requires_php_version = PHP version {1} or later is required for using {0} database. + +dbtablegateway_invalid_criteria = Invalid criteria object, must be a string or instance of TSqlCriteria. +dbtablegateway_no_primary_key_found = Table '{0}' does not contain any primary key fields. +dbtablegateway_missing_pk_values = Missing primary key values in forming IN(key1, key2, ...) for table '{0}'. +dbtablegateway_pk_value_count_mismatch = Composite key value count mismatch in forming IN( (key1, key2, ..), (key3, key4, ..)) for table '{0}'. +dbtablegateway_mismatch_args_exception = TTableGateway finder method '{0}' expects {1} parameters but found only {2} parameters instead. +dbtablegateway_mismatch_column_name = In dynamic __call() method '{0}', no matching columns were found, valid columns for table '{2}' are '{1}'. +dbtablegateway_invalid_table_info = Table must be a string or an instanceof TDbTableInfo. + +directorycachedependency_directory_invalid = TDirectoryCacheDependency.Directory {0} does not refer to a valid directory. +cachedependencylist_cachedependency_required = Only objects implementing ICacheDependency can be added into TCacheDependencyList. + +soapservice_configfile_invalid = TSoapService.ConfigFile '{0}' does not exist. Note, it has to be specified in a namespace format and the file extension must be '.xml'. +soapservice_request_invalid = SOAP server '{0}' not found. +soapservice_serverid_required = <soap> element must have 'id' attribute. +soapservice_serverid_duplicated = SOAP server ID '{0}' is duplicated. +soapserver_id_invalid = Invalid SOAP server ID '{0}'. It should not end with '.wsdl'. +soapserver_version_invalid = Invalid SOAP version '{0}'. It must be either '1.1' or '1.2'. + +dbusermanager_userclass_required = TDbUserManager.UserClass is required. +dbusermanager_userclass_invalid = TDbUserManager.UserClass '{0}' is not a valid user class. The class must extend TDbUser. +dbusermanager_connectionid_invalid = TDbUserManager.ConnectionID '{0}' does not point to a valid TDataSourceConfig module. +dbusermanager_connectionid_required = TDbUserManager.ConnectionID is required. + +feedservice_id_required = TFeedService requires 'id' attribute in its feed elements. +feedservice_feedtype_invalid = The class feed '{0}' must implement IFeedContentProvider interface. +feedservice_class_required = TFeedService requires 'class' attribute in its feed elements. +feedservice_feed_unknown = Unknown feed '{0}' requested. + +tactivetablecell_control_outoftable = {0} '{1}' must be enclosed within a TTableRow control. +tactivetablecell_control_notincollection = {0} '{1}' no member of the TTableCellCollection of the parent TTableRow control. + +tactivetablerow_control_outoftable = {0} '{1}' must be enclosed within a TTable control. +tactivetablerow_control_notincollection = {0} '{1}' no member of the TTableRowCollection of the parent TTable control. + +juidatepicker_settextmode_unsupported = TextMode of TJuiDatePicker cannot be changed.
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/messages/messages-id.txt b/lib/prado/framework/Exceptions/messages/messages-id.txt new file mode 100644 index 0000000..dfba22b --- /dev/null +++ b/lib/prado/framework/Exceptions/messages/messages-id.txt @@ -0,0 +1,466 @@ +prado_application_singleton_required = Prado.Application harus disetel hanya sekali.
+prado_component_unknown = Tipe komponen '{0}' tidak dikenal. Ini bisa disebabkan oleh kesalahan penguraian dalam file kelas {0}: {1}
+prado_using_invalid = '{0}' bukan namespace yang benar untuk dipakai. Pastikan '.*' ditambahkan jika anda ingin menggunakan namespace merujuk ke sebuah direktori.
+prado_alias_redefined = Alias '{0}' tidak bisa didefinisikan ulang.
+prado_alias_invalid = Alias '{0}' merujuk ke path '{1}' yang tidak benar. Hanya direktori yang sudah ada bisa dialiaskan.
+prado_aliasname_invalid = Alias '{0}' berisi karakter tidak benar '.'.
+
+component_property_undefined = Properti komponen '{0}.{1}' tidak didefinisikan.
+component_property_readonly = Properti komponen '{0}.{1}' hanya-baca.
+component_event_undefined = Event komponen '{0}.{1}' tidak didefinsikan.
+component_eventhandler_invalid = Event komponen '{0}.{1}' dilampirkan dengan pengendali event tidak benar '{2}'.
+component_expression_invalid = Komponen '{0}' mengevaluasi ekspresi yang tidak benar '{1}' : {2}.
+component_statements_invalid = Komponen '{0}' mengevaluasi pernyataan PHP yang tidak benar '{1}' : {2}.
+
+propertyvalue_enumvalue_invalid = Nilai '{0}' bukan nilai enumerasi yang benar ({1}).
+
+list_index_invalid = Indeks '{0}' diluar jangkauan.
+list_item_inexistent = Item tidak bisa ditemukan dalam daftar.
+list_data_not_iterable = Data harus berupa array atau obyek yang mengimplementasikan antarmuka Traversable.
+list_readonly = {0} hanya-baca.
+
+map_addition_disallowed = Item baru tidak bisa ditambahkan ke peta.
+map_item_unremovable = Item tidak bisas dihapus dari peta.
+map_data_not_iterable = Data harus berupa array atau obyek yang mengimplementasikan antarmuka Traversable.
+map_readonly = {0} hanya-baca.
+
+application_includefile_invalid = Tidak bisa menemukan konfigurasi aplikasi {0}. Pastikan ia ada dalam format namespace dan file berakhir dengan ".xml".
+application_basepath_invalid = Path basis aplikasi '{0}' tidak ada atau bukan sebuah direktori.
+application_runtimepath_invalid = Path runtime aplikasi '{0}' tidak ada atau tidak bisa ditulis oleh proses server Web.
+application_service_invalid = Layanan '{0}' harus mengimplementasikan antarmuka IService.
+application_service_unknown = Layanan yang diminta '{0}' tidak didefinisikan.
+application_unavailable = Aplikasi tidak tersedia saat ini.
+application_service_unavailable = Layanan '{0}' tidak tersedia saat ini.
+application_moduleid_duplicated = ID modul aplikasi '{0}' tidak unik.
+application_runtimepath_failed = Tidak bisa membuat path runtime '{0}'. Pastikan direktori leluhur ada dan bisa ditulis oleh proses Web.
+
+appconfig_aliaspath_invalid = Konfigurasi aplikasi <alias id="{0}"> menggunakan path file tidak benar "{1}".
+appconfig_alias_invalid = Konfigurasi aplikasi elemen <alias> harus mempunyai atribut "id" dan atribut "path".
+appconfig_alias_redefined = Konfigurasi aplikasi <alias id="{0}"> tidak bisa didefinisikan ulang.
+appconfig_using_invalid = Konfigurasi aplikasi elemen <using> harus mempunyai atribut "namespace".
+appconfig_moduleid_required = Konfigurasi aplikasi elemen <module> harus mempunyai atribut "id".
+appconfig_moduletype_required = Konfigurasi aplikasi <module id="{0}"> harus mempunyai atribut "class".
+appconfig_serviceid_required = Konfigurasi aplikasi elemen <service> harus mempunyai atribut "id".
+appconfig_servicetype_required = Konfigurasi aplikasi <service id="{0}"> harus mempunyai atribut "class".
+appconfig_parameterid_required = Konfigurasi aplikasi elemen <parameter> harus mempunyai atribut "id".
+appconfig_includefile_required = Konfigurasi aplikasi elemen <include> harus mempunyai atribut "file".
+
+securitymanager_validationkey_invalid = TSecurityManager.ValidationKey tidak boleh kosong.
+securitymanager_encryptionkey_invalid = TSecurityManager.EncryptionKey tidak boleh kosong.
+securitymanager_mcryptextension_required = Ekstensy mcrypt PHP diperlukan agar bisa menggunakan fitur enkripsi TSecurityManager.
+
+uri_format_invalid = '{0}' bukan URI yang benar.
+
+httprequest_separator_invalid = THttpRequest.UrlParamSeparator hanya bisa berisi karakter tunggal.
+httprequest_urlmanager_inexist = THttpRequest.UrlManager '{0}' tidak mengarah ke modul yang sudah ada.
+httprequest_urlmanager_invalid = THttpRequest.UrlManager '{0}' harus mengarah ke modul yang diperluas dari TUrlManager.
+
+httpcookiecollection_httpcookie_required = THttpCookieCollection hanya bisa menerima obyek THttpCookie.
+
+httpresponse_bufferoutput_unchangeable = THttpResponse.BufferOutput tidak bisa diubah setelah THttpResponse diinisialisasi.
+httpresponse_file_inexistent = THttpResponse tidak bisa mengirimkan file '{0}'. File tidak ada.
+
+httpsession_sessionid_unchangeable = THttpSession.SessionID tidak bisa diubah setelah sesi dimulai.
+httpsession_sessionname_unchangeable = THttpSession.SessionName tidak bisa diubah setelah sesi dimulai.
+httpsession_sessionname_invalid = THttpSession.SessionName harus berisi hanya karakter alfanumerik.
+httpsession_savepath_unchangeable = THttpSession.SavePath tidak bisa diubah setelah sesi dimulai.
+httpsession_savepath_invalid = THttpSession.SavePath '{0}' tidak benar.
+httpsession_storage_unchangeable = THttpSession.Storage tidak bisa diubah setelah sesi dimulai.
+httpsession_cookiemode_unchangeable = THttpSession.CookieMode tidak bisa diubah setelah sesi dimulai.
+httpsession_autostart_unchangeable = THttpSession.AutoStart tidak bisa diubah setelah modul sesi diinisialisasi.
+httpsession_gcprobability_unchangeable = THttpSession.GCProbability tidak bisa diubah setelah sesi dimulai.
+httpsession_gcprobability_invalid = THttpSession.GCProbability harus integer antara 0 dan 100.
+httpsession_transid_unchangeable = THttpSession.UseTransparentSessionID tidak bisa diubah setelah sesi dimulai.
+httpsession_transid_cookieonly = THttpSession.UseTransparentSessionID cannot be set when THttpSession.CookieMode is set to Only.
+httpsession_maxlifetime_unchangeable = THttpSession.Timeout tidak bisa diubah setelah sesi dimulai.
+
+assetmanager_basepath_invalid = TAssetManager.BasePath '{0}' tidak benar. Pastikan ia dalam bentuk namespace dan mengarah ke direktori yang bisa ditulis oleh proses server Web.
+assetmanager_basepath_unchangeable = TAssetManager.BasePath tidak bisa diubah setelah modul diinisialisasi.
+assetmanager_baseurl_unchangeable = TAssetManager.BaseUrl tidak bisa diubah setelah modul diinisialisasi.
+assetmanager_filepath_invalid = TAssetManager menerbitkan file yang tidak benar '{0}'.
+assetmanager_tarchecksum_invalid = TAssetManager menerbitkan file tar dengan checksum '{0}' yang salah.
+assetmanager_tarfile_invalid = TAssetManager menerbitkan file tar yang tidak benar '{0}'.
+assetmanager_source_directory_invalid = TAssetManager meng-copy direktori '{0}' yang tidak benar.
+
+cache_primary_duplicated = Paling banyak satu modul cache primer yang dibolehkan. {0} mencoba meregistrasi cache primer lain.
+sqlitecache_extension_required = TSqliteCache memerlukan ekstensi SQLite PHP.
+sqlitecache_dbfile_required = TSqliteCache.DbFile diperlukan.
+sqlitecache_connection_failed = TSqliteCache koneksi database gagal. {0}.
+sqlitecache_table_creation_failed = TSqliteCache gagal untuk membuat cache database. {0}.
+sqlitecache_dbfile_unchangeable = TSqliteCache.DbFile tidak bisa diubah setelah modul diinisialisasi.
+sqlitecache_dbfile_invalid = TSqliteCache.DbFile tidak benar. Pastikan ia ada dalam format namespace yang benar.
+
+memcache_extension_required = TMemCache memerlukan ekstensi memcache PHP.
+memcache_connection_failed = TMemCache gagal menghubungi server memcache {0}:{1}.
+memcache_host_unchangeable = TMemCache.Host tidak bisa diubah setelah modul diinisialisasi.
+memcache_port_unchangeable = TMemCache.Port tidak bisa diubah setelah modul diinisialisasi.
+
+apccache_extension_required = TAPCCache memerlukan ekstensi APC PHP.
+apccache_add_unsupported = TAPCCache.add() tidak didukung.
+apccache_replace_unsupported = TAPCCache.replace() tidak didukung.
+apccache_extension_not_enabled = TAPCCache memerlukan apc.enabled = 1 dalam php.ini agar bekerja.
+apccache_extension_not_enabled_cli = TAPCCache memerlukan apc.enable_cli = 1 dalam php.ini agar bekerja dengan PHP dari baris perintah.
+
+errorhandler_errortemplatepath_invalid = TErrorHandler.ErrorTemplatePath '{0}' tidak benar. Pastikan ia ada dalam bentuk namespace dan mengarah ke direktori yang berisi file template kesalahan.
+
+pageservice_page_unknown = Halaman '{0}' Tidak Ditemukan
+pageservice_pageclass_unknown = Kelas Halaman '{0}' tidak dikenal.
+pageservice_basepath_invalid = TPageService.BasePath '{0}' bukan direktori yang benar.
+pageservice_page_required = Nama Halaman Diperlukan
+pageservice_defaultpage_unchangeable = TPageService.DefaultPage tidak bisa diubah setelah layanan diinisialisasi.
+pageservice_basepath_unchangeable = TPageService.BasePath tidak bisa diubah setelah layanan diinisialisasi.
+pageservice_pageclass_invalid = Kelas halaman {0} tidak benar. Ia harus berupa TPage atau diperluas dari TPage.
+pageservice_includefile_invalid = Tidak bisa menemukan konfigurasi layanan {0}. Pastikan ia ada dalam format namespace dan file berakhir dengan ".xml".
+
+pageserviceconf_file_invalid = Tidak bisa membuka file konfigurasi direktori halaman '{0}'.
+pageserviceconf_aliaspath_invalid = <alias id="{0}"> menggunakan path file tidak benar "{1}" dalam file konfigurasi direktori halaman '{2}'.
+pageserviceconf_alias_invalid = Elemen <alias> harus mempunyai atribut "id" dan atribut "path" dalam file konfigurasi direktori halaman '{0}'.
+pageserviceconf_using_invalid = Elemen <using> harus mempunyai atribut "namespace" dalam file konfigurasi direktori halaman '{0}'.
+pageserviceconf_module_invalid = Elemen <module> harus mempunyai atribut "id" dalam file konfigurasi direktori halaman '{0}'.
+pageserviceconf_moduletype_required = <module id="{0}"> harus mempunyai atribut "class" dalam file konfigurasi direktori halaman '{1}'.
+pageserviceconf_parameter_invalid = Elemen <parameter> harus mempunyai atribut "id" dalam file konfigurasi direktori halaman '{0}'.
+pageserviceconf_page_invalid = Elemen <page> harus mempunyai atribut "id" dalam file konfigurasi direktori halaman '{0}'.
+pageserviceconf_includefile_required = Konfigurasi halaman elemen <include> harus mempunyai atribut "file".
+
+template_closingtag_unexpected = Tag penutup '{0}' yang tidak diharapkan ditemukan.
+template_closingtag_expected = Tag penutup '{0}' diharapkan.
+template_directive_nonunique = Direktif '<%@ ... %>' harus muncul di awal template dan bisa muncul paling banyak satu kali.
+template_comments_forbidden = Komentar template tidak dibolehkan dalam tag properti.
+template_matching_unexpected = Penyamaan tidak diharapkan.
+template_property_unknown = {0} tidak memiliki properti bernama '{1}'.
+template_event_unknown = {0} tidak memiliki event bernama '{1}'.
+template_property_readonly = {0} memiliki properti hanya-baca '{1}'.
+template_event_forbidden = {0} bukan kontrol komponen. Tidak ada pengendali yang dapat dilampirkan ke event '{1}' dalam template.
+template_databind_forbidden = {0} bukan kontrol komponen. Ekspresi tidak bisa diikat ke propertinya '{1}'.
+template_component_required = '{0}' bukan komponen. Hanya komponen yang dapat terlihat dalam template.
+template_format_invalid = Sintaks template salah: {0}
+template_property_duplicated = Properti {0} dikonfigurasi dua kali atau lebih.
+template_eventhandler_invalid = {0}.{1} hanya bisa menerima string statis.
+template_controlid_invalid = {0}.ID hanya bisa menerima string teks statis.
+template_controlskinid_invalid = {0}.SkinID hanya bisa menerima string teks statis.
+template_content_unexpected = Konten tidak diharapkan ditemukan saat menurunkan template: {0}.
+template_include_invalid = Inklusi template tidak benar. Pastikan {0} adalah namespace yang benar mengarah ke file template yang sudah ada yang mempunyai ekstensi .tpl.
+template_tag_unexpected = Inisialisasi properti {0} berisi tipe tag tidak dikenal {1}.
+
+xmldocument_file_read_failed = TXmlDocument tidak bisa membaca file '{0}'.
+xmldocument_file_write_failed = TXmlDocument tidak bisa menulis file '{0}'.
+
+xmlelementlist_xmlelement_required = TXmlElementList hanya bisa menerima obyek TXmlElement.
+
+authorizationrule_action_invalid = TAuthorizationRule.Action hanya bisa mengambil 'allow' atau 'deny' sebagai nilainya.
+authorizationrule_verb_invalid = TAuthorizationRule.Verb hanya bisa mengambil 'get' atau 'post' sebagai nilainya.
+
+authorizationrulecollection_authorizationrule_required = TAuthorizationRuleCollection hanya bisa menerima obyek TAuthorizationRule.
+
+usermanager_userfile_invalid = TUserManager.UserFile '{0}' bukan file yang benar.
+usermanager_userfile_unchangeable = TUserManager.UserFile tidak bisa diubah. Modul pengguna sudah diinisialisasi.
+
+authmanager_usermanager_required = TAuthManager.UserManager harus menempatkan nilai.
+authmanager_usermanager_inexistent = TAuthManager.UserManager '{0}' tidak merujuk ke ID modul aplikasi.
+authmanager_usermanager_invalid = TAuthManager.UserManager '{0}' tidak merujuk ke modul aplikasi TUserManager yang benar.
+authmanager_usermanager_unchangeable = TAuthManager.UserManager tidak bisa diubah setelah modul diinisialisasi.
+authmanager_session_required = TAuthManager memerlukan modul aplikasi sesi.
+
+thememanager_service_unavailable = TThemeManager memerlukan ketersediaan TPageService. Kesalahan ini sering terjadi saat anda mengkonfigurasi TThemeManager di luar konfigurasi layanan halaman.
+thememanager_basepath_invalid = TThemeManager.BasePath '{0}' bukan alias path yang benar. Pastikan anda telah mendefinisikan alias ini dalam konfigurasi dan mengarahkan ke direktori yang benar.
+thememanager_basepath_invalid2 = TThemeManager.BasePath '{0}' bukan direktori yang benar.
+thememanager_basepath_unchangeable = TThemeManager.BasePath tidak bisa diubah setelah modul diinisialisasi.
+
+theme_baseurl_required = TThemeManager.BasePath diperlukan. Standarnya direktori bernama 'themes' di bawah direktori berisi naskah entri aplikasi diasumsikan.
+theme_path_inexistent = Path tema '{0}' tidak ada.
+theme_control_nested = Skin untuk tipe kontrol '{0}' dalam tema '{1}' tidak bisa di dalam skin lain.
+theme_skinid_duplicated = SkinID '{0}.{1}' diduplikasi dalam tema '{2}'.
+theme_databind_forbidden = Databind tidak bisa dipakai dalam tema '{0}' untuk skin kontrol '{1}.{2}' mengenai properti '{3}'.
+theme_property_readonly = Skin diterapkan ke properti kontrol hanya-baca '{0}.{1}'.
+theme_property_undefined = Skin diterapkan ke properti kontrol yang tidak ada '{0}.{1}'.
+theme_tag_unexpected = Inisialisasi properti {0} berisi tipe tag tidak dikenal {1}.
+
+control_object_reregistered = Ditemukan duplikasi obyek ID '{0}'.
+control_id_invalid = {0}.ID '{1}' tidak benar. Hanya alfanumerik dan karakter bergaris bawah dibolehkan. Karakter pertama harus alfabetikatau karakter garis bawah.
+control_skinid_unchangeable = {0}.SkinID tidak bisa diubah setelah skin diterapkan ke kontrol atau kontrol anak sudah dibuat.
+control_enabletheming_unchangeable = {0}.EnableTheming tidak bisa diubah setelah kontrol anak dibuat.
+control_stylesheet_applied = StyleSheet skin sudah diterapkan ke {0}.
+control_id_nonunique = {0}.ID '{1}' tidak unik diantara semua kontrol di bawah tempat penamaan yang sama.
+
+templatecontrol_mastercontrol_invalid = Kontrol master harus bertipe TTemplateControl atau kelas anak.
+templatecontrol_mastercontrol_required = Kontrol '{0}' memerlukan kontrol master karena kontrol menggunakan TContent.
+templatecontrol_contentid_duplicated = TContent ID '{0}' duplikasi.
+templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '{0}' duplikasi.
+templatecontrol_directive_invalid = {0}.{1} hanya menerima teks statis melalui direktif template.
+templatecontrol_placeholder_inexistent = TContent '{0}' tidak mempunyai TContentPlaceHolder yang sama.
+
+page_form_duplicated = Halaman bisa berisi paling banyak satu TForm. Gunakan tag form HTML reguler untuk sisa form-nya.
+page_isvalid_unknown = TPage.IsValid belum dievaluasi.
+page_postbackcontrol_invalid = Tidak bisa menentukan kontrol postback '{0}'.
+page_control_outofform = {0} '{1}' harus dikurung di dalam TForm.
+page_head_duplicated = Halaman dapat berisi paling banyak satu THead.
+page_head_required = Kontrol THead dibutuhkan dalam template halaman untuk menyajikan CSS dan JS dalam seksi head HTML.
+page_statepersister_invalid = Persister kondisi halaman harus mengimplementasikan antarmuka IPageStatePersister.
+
+csmanager_pradoscript_invalid = Nama librari naskah Prado '{0}' tidak dikenal.
+csmanager_invalid_packages = Paket '{1}' tidak dikenal untuk paket javascript yang didefinisikan dalam '{0}'. Paket yang benar adalah '{2}'.
+
+contentplaceholder_id_required = TContentPlaceHolder harus mempunyai ID.
+
+content_id_required = TContent harus mempunyai ID.
+
+controlcollection_control_required = TControlList hanya bisa menerima string atau obyek TControl.
+
+webcontrol_accesskey_invalid = {0}.AccessKey '{1}' tidak benar. Ia harus berupa hanya karakter tunggal.
+webcontrol_style_invalid = {0}.Style harus berisi hanya nilai string.
+
+listcontrol_selection_invalid = {0} mempunyai pilihan tidak benar yang disetel sebelum melakukan penyatuan data.
+listcontrol_selectedindex_invalid = {0}.SelectedIndex mempunyai nilai '{1}' yang tidak benar.
+listcontrol_selectedvalue_invalid = {0}.SelectedValue mempunyai nilai '{1}' yang tidak benar.
+listcontrol_expression_invalid = {0} mengevaluasi ekspresi yang tidak benar '{1}' : {2}
+listcontrol_multiselect_unsupported = {0} tidak mendukung multi pilihan.
+
+label_associatedcontrol_invalid = TLabel.AssociatedControl '{0}' tidak bisa ditemukan.
+
+hiddenfield_focus_unsupported = THiddenField tidak mendukung setelan fokus input.
+hiddenfield_theming_unsupported = THiddenField tidak mendukung tema.
+hiddenfield_skinid_unsupported = THiddenField tidak mendukung skin kontrol.
+
+panel_defaultbutton_invalid = TPanel.DefaultButton '{0}' tidak merujuk ke kontrol tombol yang sudah ada.
+
+tablestyle_cellpadding_invalid = TTableStyle.CellPadding harus mengambil integer sama dengan atau lebih besar dari.
+tablestyle_cellspacing_invalid = TTableStyle.CellSpacing harus mengambil integer sama dengan atau lebih besar dari -1.
+
+pagestatepersister_pagestate_corrupted = Kondisi halaman rusak.
+
+sessionpagestatepersister_pagestate_corrupted = Kondisi halaman rusak.
+sessionpagestatepersister_historysize_invalid = TSessionPageStatePersister.History harus integer lebih besar dari 0.
+
+listitemcollection_item_invalid = TListItemCollection hanya bisa mengambil strings atau obyek TListItem.
+
+dropdownlist_selectedindices_unsupported= TDropDownList.SelectedIndices hanya-baca.
+
+bulletedlist_autopostback_unsupported = TBulletedList.AutoPostBack hanya-baca.
+bulletedlist_selectedindex_unsupported = TBulletedList.SelectedIndex hanya-baca.
+bulletedlist_selectedindices_unsupported= TBulletedList.SelectedIndices hanya-baca.
+bulletedlist_selectedvalue_unsupported = TBulletedList.SelectedValue hanya-baca.
+
+radiobuttonlist_selectedindices_unsupported = TRadioButtonList.SelectedIndices hanya-baca.
+
+logrouter_configfile_invalid = TLogRouter.ConfigFile '{0}' tidak ada.
+logrouter_routeclass_required = Atribut Class diperlukan dalam konfigurasi <route>.
+logrouter_routetype_required = Rute catatan harus turunan dari TLogRoute atau kelas turunannya.
+
+filelogroute_logpath_invalid = TFileLogRoute.LogPath '{0}' harus berupa direktori dalam format namespace dan harus bisa ditulis oleh proses server Web.
+filelogroute_maxfilesize_invalid = TFileLogRoute.MaxFileSize harus lebih besar dari 0.
+filelogroute_maxlogfiles_invalid = TFileLogRoute.MaxLogFiles harus lebih besar dari 0.
+
+emaillogroute_sentfrom_required = TEmailLogRoute.SentFrom tidak boleh kosong.
+
+repeatinfo_repeatcolumns_invalid = TRepeatInfo.RepeatColumns tidak boleh kurang dari 0.
+
+basevalidator_controltovalidate_invalid = {0}.ControlToValidate kosong atau berisi path ID kontrol yang tidak benar.
+basevalidator_validatable_required = {0}.ControlToValidate harus mengarah ke sebuah kontrol yang mengimplementasikan antarmuka IValidatable.
+basevalidator_forcontrol_unsupported = {0}.ForControl tidak didukung.
+
+comparevalidator_controltocompare_invalid = TCompareValidator.ControlToCompare berisi path ID kontrol tidak benar.
+
+listcontrolvalidator_invalid_control = {0}.ControlToValidate berisi path ID TListControl tidak benar, "{1}" adalah {2}.
+
+repeater_template_required = TRepeater.{0} memerlukan turunan template yang mengimplementasikan antarmuka ITemplate.
+repeater_itemtype_unknown = Tipe item repeater {0} tidak dikenal.
+repeateritemcollection_item_invalid = TRepeaterItemCollection hanya bisa menerima obyek yang adalah turunan dari TControl atau kelas turunannya.
+
+datalist_template_required = TDataList.{0} requires a template instance implementing ITemplate interface.
+datalistitemcollection_datalistitem_required = TDataListItemCollection hanya bisa menerima obyek TDataListItem.
+
+datagrid_template_required = TDataGrid.{0} memerlukan turunan template yang mengimplementasikan antarmuka ITemplate.
+templatecolumn_template_required = TTemplateColumn.{0} memerlukan turunan template yang mengimplementasikan antarmuka ITemplate.
+datagrid_currentpageindex_invalid = TDataGrid.CurrentPageIndex harus tidak kurang dari0.
+datagrid_pagesize_invalid = TDataGrid.PageSize harus lebih besar dari 0.
+datagrid_virtualitemcount_invalid = TDataGrid.VirtualItemCount harus tidak kurang dari0.
+datagriditemcollection_datagriditem_required = TDataGridItemCollection hanya bisas menerima obyek TDataGridItem.
+datagridcolumncollection_datagridcolumn_required = TDataGridColumnCollection hanya bisa menerima obyek TDataGridColumn.
+datagridpagerstyle_pagebuttoncount_invalid = TDataGridPagerStyle.PageButtonCount harus lebih besar dari 0.
+
+datafieldaccessor_data_invalid = TDataFieldAccessor mencoba untuk mengevaluasi nilai field dari data yang tidak benar. Pastikan data adalah sebuah array, TMap, TList, atau obyek yang berisi field yang ditetapkan '{0}'.
+datafieldaccessor_datafield_invalid = TDataFieldAccessor mencoba untuk mengevaluasi nilai data dari field '{0}' yang tidak dikenal.
+
+tablerowcollection_tablerow_required = TTableRowCollection hanya bisa menerima obyek TTableRow.
+
+tablecellcollection_tablerow_required = TTableCellCollection hanya bisa menerima obyek TTableCell.
+
+multiview_view_required = TMultiView hanya bisa menerima TView sebagai anak.
+multiview_activeviewindex_invalid = TMultiView.ActiveViewIndex mempunyai indeks'{0}' yang tidak benar.
+multiview_view_inexistent = TMultiView tidak bisa menemukan tampilan yang ditetapkan.
+multiview_viewid_invalid = TMultiView tidak bisa menemukan tampilan '{0}' untu beralih ke sana.
+
+viewcollection_view_required = TViewCollection hanya bisa menerima TView sebagai elemennya.
+
+view_visible_readonly = TView.Visible hanya baca. Gunakan TView.Active untuk menghidup-matikan visibilitasnya.
+
+wizard_step_invalid = Langkah yang diaktifkan tidak bisa ditemukan dalam koleksi langkah bimbingan.
+wizard_command_invalid = Perintah navigasi bimbingan '{0}' tidak benar.
+
+table_tablesection_outoforder = Seksi tabel TTable harus dalam urutan: Header, Body dan Footer.
+
+completewizardstep_steptype_readonly = TCompleteWizardStep.StepType hanya-baca.
+
+wizardstepcollection_wizardstep_required = TWizardStepCollection hanya bisa menerima obyek dari TWizardStep atau kelas anaknya.
+
+texthighlighter_stylesheet_invalid = Tidak bisa menemukan file stylesheet untuk TTextHighlighter.
+
+hotspotcollection_hotspot_required = THotSpotCollection hanya bisa meneruma turunan dari THotSpot atau kelas anaknya.
+
+htmlarea_textmode_readonly = THtmlArea.TextMode hanya-baca.
+htmlarea_tarfile_invalid = THtmlArea tidak bisa mencari file tar TinyMCE.
+
+parametermodule_parameterfile_unchangeable = TParameterModule.ParameterFile tidak bisa diubah karena modul sudah diinisialisasi.
+parametermodule_parameterfile_invalid = TParameterModule.ParameterFile '{0}' tidak benar. Pastikan ia ada dalam format namespace dan ekstensi file adalah '.xml'.
+parametermodule_parameterid_required = Elemen parameter harus mempunyai atribut 'id'.
+
+datagridcolumn_id_invalid = {0}.ID '{1}' tidak benar. Hanya alfanumerik dan karakter bergaris bawah yang dibolehkan. Karakter pertama harus alfabetik atau karakter garis bawah.
+datagridcolumn_expression_invalid = {0} mengevaluasi ekspresi yang tidak benar '{1}' : {2}
+
+outputcache_cachemoduleid_invalid = TOutputCache.CacheModuleID disetel dengan ID modul cacheID {0} yang tidak benar. Baik modul yang tidak ada ataupun tidak mengimplementasikan antarmuka ICache.
+outputcache_duration_invalid = {0}.Duration harus integer tidak kurang dari 0.
+
+stack_data_not_iterable = TStack hanya bisa mengambil data dari array atau obyek yang dapat dijelajahi.
+stack_empty = TStack kosong.
+
+queue_data_not_iterable = TQueue hanya bisa mengambil data dari array atau obyek yang dapat dijelajahi.
+queue_empty = TQueue kosong.
+
+pager_pagebuttoncount_invalid = TPager.PageButtonCount harus integer tidak kurang dari 1.
+pager_currentpageindex_invalid = TPager.CurrentPageIndex diluar jangkauan.
+pager_pagecount_invalid = TPager.PageCount tidak bisa lebih kecil dari 0.
+pager_controltopaginate_invalid = TPager.ControlToPaginate {0} harus path ID yang merngarah ke kontrol turunan-TDataBoundControl.
+
+databoundcontrol_pagesize_invalid = {0}.PageSize harus integer tidak lebih kecil dari 1.
+databoundcontrol_virtualitemcount_invalid = {0}.VirtualItemCount harus integer tidak lebih kecil dari 0.
+databoundcontrol_currentpageindex_invalid = {0}.CurrentPageIndex diluar jangkauan.
+databoundcontrol_datasource_invalid = {0}.DataSource tidak benar.
+databoundcontrol_datasourceid_inexistent = databoundcontrol_datasourceid_inexistent.
+databoundcontrol_datasourceid_invalid = databoundcontrol_datasourceid_invalid
+databoundcontrol_datamember_invalid = databoundcontrol_datamember_invalid
+
+clientscript_invalid_file_position = Posisi file '{1}' tidak benar untuk kontrol TClientScript '{0}', harus 'Head', 'Here' atau 'Begin'.
+clientscript_invalid_package_path = PackagePath '{0}' tidak benar untuk kontrol TClientScript '{1}'.
+
+tdatepicker_autopostback_unsupported = '{0}' tidak mendukung AutoPostBack.
+globalization_cache_path_failed = Tidak bisa membuat path cache pesan terjemahan '{0}'. Pastikan direktori leluhur ada dan bisa ditulis oleh proses Web.
+globalization_source_path_failed = Tidak bisa membuat path pesan terjemahan '{0}'. Pastikan direktori leluhur ada dan bisa ditulis oleh proses Web.
+callback_not_support_no_priority_state_update = Permintaan callback tidak mendukung pemutakhiran kondisi halam yang tidak diprioritaskan.
+callback_invalid_callback_options = '{1}' bukan kontrol TCallbackOptions yang benar untuk kontrol Callback '{0}'.
+callback_invalid_clientside_options = Properti ClientSide Callback harus berupa string yakni ID dari kontrol TCallbackOptions atau turunan dari TCallbackClientSideOptions.=======
+callback_not_support_no_priority_state_update = Permintaan callback tidak mendukung pemutakhiran kondisi halaman yang tidak diprioritaskan.
+callback_invalid_handler = Pengendali callback tidak benar, kontrol {0} harus mengimplementasikan ICallbackEventHandler.
+callback_invalid_target = Target callback tidak benar, tidak ada kontrol dengan ID {0}.
+
+callback_interval_be_positive = Interval TCallbackTimer "{0}" harus tepat lebih besar dari nol detik.
+callback_decay_be_not_negative = Rata-rata kekurangan TCallbackTimer "{0}" tidak boleh negatif.
+
+callback_no_autopostback = Kontrol "{0}" tidak bisa menghidupkan AutoPostBack.
+
+xmltransform_xslextension_required = TXmlTransform memerlukan ekstensi XSL PHP.
+xmltransform_transformpath_invalid = TXmlTransform.TransformPath '{0}' tidak benar.
+xmltransform_documentpath_invalid = TXmlTransform.DocumentPath '{0}' tidak benar.
+xmltransform_transform_required = Baik properti TransformContent ataupun TransformPath harus disetel untuk TXmlTransform.
+
+ttriggeredcallback_invalid_controlid = Properti ControlID '{0}' tidak boleh kosong.
+tactivecustomvalidator_clientfunction_unsupported = {0} tidak mendukung fungsi validator sisi klien.
+
+dbconnection_open_failed = TDbConnection gagal untuk menyelesaikan koneksi DB: {0}
+dbconnection_connection_inactive = TDbConnection tidak aktif.
+dbconnection_unsupported_driver_charset = Database driver '{0}' doesn't support setting charset.
+
+dbcommand_prepare_failed = TDbCommand gagal untuk menyiapkan pernyataan SQL "{1}": {0}
+dbcommand_execute_failed = TDbCommand gagal untuk menjalankan pernyataan SQL "{1}": {0}
+dbcommand_query_failed = TDbCommand gagal untuk menjalankan query SQL "{1}": {0}
+dbcommand_column_empty = TDbCommand mengembalikan hasil kosong dan tidak bisa memperoleh skalar.
+dbdatareader_rewind_invalid = TDbDataReader adalah stream hanya-maju. Ia hanya bisa sekali menjelajah.
+dbtransaction_transaction_inactive = TDbTransaction tidak aktif.
+
+dbcommandbuilder_value_must_not_be_null = Properti {0} tidak boleh null seperti didefinisikan oleh kolom '{2}' dalam tabel '{1}'.
+
+dbcommon_invalid_table_name = Tabel database '{0}' tidak ditemukan. Pesan kesalahan: {1}.
+dbcommon_invalid_identifier_name = Nama pengenal database '{0}' tidak benar, lihat {1} untuk lebih jelasnya.
+dbtableinfo_invalid_column_name = Nama kolom '{0}' tidak benar untuk tabel database '{1}'.
+dbmetadata_invalid_table_view = Nama table/view '{0}', atau table/view '{0}' itu tidak berisi definisi kolom/field yang bisa diakses.
+dbmetadata_requires_php_version = Versi PHP {1} atau yang terbaru diperlukan untuk menggunakan database {0}.
+
+dbtablegateway_invalid_criteria = Obyek kriteria tidak benar, harus berupa string atau turunan dari TSqlCriteria.
+dbtablegateway_no_primary_key_found = Tabel '{0}' tidak berisi field kunci primer manapun.
+dbtablegateway_missing_pk_values = Nilai kunci primer tidak ada dalam bentuk IN(key1, key2, ...) untuk tabel '{0}'.
+dbtablegateway_pk_value_count_mismatch = Jumlah nilai kunci gabungan tidak sama dalam bentuk IN( (key1, key2, ..), (key3, key4, ..)) untuk tabel '{0}'.
+dbtablegateway_mismatch_args_exception = Metode finder TTableGateway '{0}' mengharapkan parameter {1} tapi sebaliknya hanya menemukan parameter {2}.
+dbtablegateway_mismatch_column_name = Dalam metode dynamic __call() '{0}', tidak ada kolom yang ditemukan, kolom yang benar untuk tabel '{2}' adalah '{1}'.
+dbtablegateway_invalid_table_info = Tabel harus string atau turunan dari TDbTableInfo.
+
+directorycachedependency_directory_invalid = TDirectoryCacheDependency.Directory {0} tidak merujuk ke direktori yang benar.
+cachedependencylist_cachedependency_required = Hanya obyek yang mengimplementasikan ICacheDependency yang dapat ditambahkan ke dalam TCacheDependencyList.
+
+soapservice_configfile_invalid = TSoapService.ConfigFile '{0}' tidak ada. Catatan, ia harus ditetapkan dalam format namespace dan mempunyai ekstensi file '.xml'.
+soapservice_request_invalid = Server SOAP '{0}' tidak ditemukan.
+soapservice_serverid_required = Elemen <soap> harus memiliki atribut 'id'.
+soapservice_serverid_duplicated = ID server SOAP '{0}' duplikasi.
+soapserver_id_invalid = ID Server SOAP '{0}'. Ia tidak boleh diakhiri dengan '.wsdl'.
+soapserver_version_invalid = Versi SOAP tidak benar '{0}'. Ia harus berupa '1.1' atau '1.2'.
+
+dbusermanager_userclass_required = TDbUserManager.UserClass diperlukan.
+dbusermanager_userclass_invalid = TDbUserManager.UserClass '{0}' bukan kelas pengguna yang benar. Kelas harus memperluas TDbUser.
+dbusermanager_connectionid_invalid = TDbUserManager.ConnectionID '{0}' tidak mengarah ke modul TDataSourceConfig yang benar.
+dbusermanager_connectionid_required = TDbUserManager.ConnectionID diperlukan.
+
+feedservice_id_required = TFeedService memerlukan atribut 'id' dalam elemen feed-nya.
+feedservice_feedtype_invalid = Kelas feed '{0}' harus mengimplementasikan antarmuka IFeedContentProvider.
+feedservice_class_required = TFeedService memerlukan atribut 'class' dalam elemen feed-nya.
+feedservice_feed_unknown = Feed '{0}' yang diminta tidak dikenal.
+
+tabviewcollection_tabview_required = TTabPanel hanya menerima TTabView sebagai anaknya.
+tabpanel_activeviewid_invalid = TTabPanel.ActiveViewID mempunyai ID '{0}' yang tidak benar.
+tabpanel_activeviewindex_invalid = TTabPanel.ActiveViewIndex mempunyai Indeks '{0}' yang tidak benar.
+tabpanel_view_inexistent = TTabPanel tidak bisa menemukan tampilan yang ditetapkan.
+
+cachesession_cachemoduleid_required = TCacheHttpSession.CacheModuleID diperlukan.
+cachesession_cachemodule_inexistent = TCacheHttpSession.CacheModuleID '{0}' mengarah ke modul yang tidak ada.
+cachesession_cachemodule_invalid = TCacheHttpSession.CacheModuleID '{0}' mengarah ke modul yang tidak mengimplementasikan antarmuka ICache.
+
+urlmapping_urlmappingpattern_required = TUrlMapping can hanya berisi TUrlMappingPattern atau kelas anaknya.
+urlmapping_global_required = TUrlMapping harus dikonfigurasi sebagai modul global.
+urlmapping_configfile_inexistent = TUrlMapping.ConfigFile '{0}' bukan sebuah file.
+urlmapping_configfile_invalid = TUrlMapping.ConfigFile '{0}' harus menunjuk ke file XML dalam format namespace.
+
+urlmappingpattern_serviceparameter_required = TUrlMappingPattern.ServiceParameter diperlukan untuk pola '{0}'.
+urlmapping_global_required = TUrlMapping harus dikonfigurasi sebagai modul global.
+urlmapping_configfile_inexistent = TUrlMapping.ConfigFile '{0}' bukan sebuah file.
+urlmapping_configfile_invalid = TUrlMapping.ConfigFile '{0}' harus mengarah ke file XML file dalam format namespace.
+
+urlmappingpattern_serviceparameter_required = TUrlMappingPattern.ServiceParameter diperlukan untuk pola '{0}'.
+
+keyboard_forcontrol_required = TKeyboard.ForControl tidak boleh kosong.
+keyboard_forcontrol_invalid = TKeyboard.ForControl '{0}' tidak benar.
+
+captcha_tokenimagetheme_invalid = TCaptcha.TokenImageTheme harus integer antara {0} dan {1}.
+captcha_tokenfontsize_invalid = TCaptcha.TokenFontSize harus integer antara {0} dan {1}.
+captcha_mintokenlength_invalid = TCaptcha.MinTokenLength harus integer antara {0} dan {1}.
+captcha_maxtokenlength_invalid = TCaptcha.MaxTokenLength harus integer antara {0} dan {1}.
+captcha_tokenalphabet_invalid = TCaptcha.TokenAlphabet harus berupa string yang terdiri dari setidaknya 2 karakter.
+captcha_privatekey_unknown = TCaptcha.PrivateKey tidak dikenal. Pastikan bahwa direktori assets anda bisa ditulisi oleh proses server Web.
+captcha_gd2_required = TCaptcha memerlukan ekstensi GD2 PHP.
+captcha_imagettftext_required = TCaptcha memerlukan ekstensi GD2 PHP dengan dukungan font TrueType.
+captcha_imagepng_required = TCaptcha memerlukan ekstensi GD2 PHP dengan dukungan format gambar PNG.
+
+slider_handle_class_invalid = TSlider.HandleClass '{0}' bukan kelas pengguna yang benar. Kelas harus memperluas TSliderHandle.
+
+cachepagestatepersister_cachemoduleid_invalid = TCachePageStatePersister.CacheModuleID '{0}' tidak mengarah ke modul cache yang benar.
+cachepagestatepersister_cache_required = TCachePageStatePersister memerlukan modul cache untuk diambil.
+cachepagestatepersister_timeout_invalid = TCachePageStatePersister.Timeout harus berupa integer tidak kurang dari nol.
+cachepagestatepersister_pagestate_corrupted = Kondisi halaman rusak.
+
+conditional_condition_invalid = TConditional.Condition '{0}' bukan ekspresi PHP yang benar: {1}
+
+db_cachetable_inexistent = TDbCache tidak bisa menemukan tabel DB '{0}' untuk menyimpan data yang di-cache.
+
+ar_data_invalid = {0}.copyFrom() hanya bisa menggunakan obyek atay array sebagai parameter.
+ar_save_invalid = Turunan {0} tidak bisa disimpan karena kondisi sudah dihapus ataupun tidak dikenal.
+ar_delete_invalid = Turunan {0} tidak bisa dihapus karena ada rekaman baru atau rekaman sudah dihapus.
+
+datasource_dbconnection_invalid = TDataSourceConfig.DbConnection '{0}' tidak benar. ia merujuk ke modul aplikasi yang benar.
+
+juidatepicker_settextmode_unsupported = TextMode of TJuiDatePicker cannot be changed.
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/messages/messages-zh.txt b/lib/prado/framework/Exceptions/messages/messages-zh.txt new file mode 100644 index 0000000..7490ccd --- /dev/null +++ b/lib/prado/framework/Exceptions/messages/messages-zh.txt @@ -0,0 +1,436 @@ +prado_application_singleton_required = Prado.Application只能被设置一次。 +prado_component_unknown = 未知组件类型“{0}”。这有可能是因为{0}类文件里有如下错误:{1} +prado_using_invalid = “{0}”不是一个合法的命名空间。如果命名空间指向一个目录,请确认命名空间以“.*”结尾。 +prado_alias_redefined = 路径别名“{0}”不能被重定义。 +prado_alias_invalid = 路径别名“{0}”所指的文件目录{1}不存在。 +prado_aliasname_invalid = 路径别名“{0}”不允许包含“.”字符。 + +component_property_undefined = 组件属性“{0}.{1}”未定义。 +component_property_readonly = 组件属性“{0}.{1}”是只读的。 +component_event_undefined = 组件事件“{0}.{1}”未定义。 +component_eventhandler_invalid = 组件事件“{0}.{1}”所指事件响应函数“{2}”非法。 +component_expression_invalid = 组件{0}执行了一个非法的表达式“{1}”:{2} +component_statements_invalid = 组件{0}执行了一段非法的PHP代码“{1}”:{2} + +propertyvalue_enumvalue_invalid = 枚举类型“{1}”不存在枚举值“{0}”。 + +list_index_invalid = 列表下标“{0}”越界。 +list_item_inexistent = 无法在列表里找到要找的项目。 +list_data_not_iterable = 所传参数必须是一个数组或是一个实现Traversable接口的对象。 +list_readonly = 列表“{0}”是只读的。 + +map_addition_disallowed = Map无法添加新项目。 +map_item_unremovable = Map无法删除项目。 +map_data_not_iterable = Map数据必须是个数组或是实现Traversable接口的对象。 +map_readonly = Map类型“{0}”是只读的。 + +application_includefile_invalid = 无法找到应用配置文件“{0}”。注意,配置文件应该以命名空间的形式指定;文件名必须以.xml结尾。 +application_basepath_invalid = 应用的基本路径“{0}”不存在或不是一个目录。 +application_runtimepath_invalid = 应用的runtime路径“{0}”不存在,或Web服务进程无法写入该目录。 +application_service_invalid = 服务“{0}”必须实现IService接口。 +application_service_unknown = 请求的服务“{0}”未定义。 +application_unavailable = 应用暂时不可用。 +application_service_unavailable = 服务“{0}”暂时不可用。 +application_moduleid_duplicated = 应用模块的ID “{0}”不唯一。 +application_runtimepath_failed = 无法创建runtime路径“{0}”。请确认父目录是否存在,是否可被Web服务进程写入。 + +appconfig_aliaspath_invalid = 应用配置<alias id="{0}">使用了一个非法的文件目录“{1}”。 +appconfig_alias_invalid = 应用配置<alias>元素必须指定“id”和“path”属性。 +appconfig_alias_redefined = 应用配置<alias id="{0}">不允许重复定义。 +appconfig_using_invalid = 应用配置<using>元素必须指定“namespace”属性。 +appconfig_moduleid_required = 应用配置<module>元素必须指定“id”属性。 +appconfig_moduletype_required = 应用配置<module id="{0}">元素必须指定“class”属性。 +appconfig_serviceid_required = 应用配置<service>元素必须指定“id”属性。 +appconfig_servicetype_required = 应用配置<service id="{0}">元素必须指定“class”属性。 +appconfig_parameterid_required = 应用配置<parameter>元素必须指定“id”属性。 +appconfig_includefile_required = 应用配置<include>元素必须指定“file”属性。 +appconfig_paths_invalid = 应用配置<paths>不允许包含<{0}>元素。 +appconfig_modules_invalid = 应用配置<modules>不允许包含<{0}>元素。 +appconfig_services_invalid = 应用配置<services>不允许包含<{0}>元素。 +appconfig_parameters_invalid = 应用配置<parameters>不允许包含<{0}>元素。 +appconfig_tag_invalid = 应用配置不允许包含<{0}>元素。 + +securitymanager_validationkey_invalid = TSecurityManager.ValidationKey不能为空。 +securitymanager_encryptionkey_invalid = TSecurityManager.EncryptionKey不能为空。 +securitymanager_mcryptextension_required = TSecurityManager的加密功能需要使用Mcrypt的PHP扩展模块。 + +uri_format_invalid = “{0}”不是一个合法的URI。 + +httprequest_separator_invalid = THttpRequest.UrlParamSeparator只能包含一个字符。 +httprequest_urlmanager_inexist = THttpRequest.UrlManager “{0}”所指的模块不存在。 +httprequest_urlmanager_invalid = THttpRequest.UrlManager “{0}”所指的模块必须继承TUrlManager。 + +httpcookiecollection_httpcookie_required = THttpCookieCollection只能包含THttpCookie对象。 + +httpresponse_bufferoutput_unchangeable = THttpResponse.BufferOutput无法被修改,因为THttpResponse已经初始化完毕。 +httpresponse_file_inexistent = THttpResponse无法发送文件“{0}”。该文件不存在。 + +httpsession_sessionid_unchangeable = THttpSession.SessionID无法被修改,因为session已经启动了。 +httpsession_sessionname_unchangeable = THttpSession.SessionName无法被修改,因为session已经启动了。 +httpsession_sessionname_invalid = THttpSession.SessionName只能包含字母或数字字符。 +httpsession_savepath_unchangeable = THttpSession.SavePath无法被修改,因为session已经启动了。 +httpsession_savepath_invalid = THttpSession.SavePath所指目录“{0}”不存在。 +httpsession_storage_unchangeable = THttpSession.Storage无法被修改,因为session已经启动了。 +httpsession_cookiemode_unchangeable = THttpSession.CookieMode无法被修改,因为session已经启动了。 +httpsession_autostart_unchangeable = THttpSession.AutoStart无法被修改,因为session已经启动了。 +httpsession_gcprobability_unchangeable = THttpSession.GCProbability无法被修改,因为session已经启动了。 +httpsession_gcprobability_invalid = THttpSession.GCProbability必须是个0到100之间的整数。 +httpsession_transid_unchangeable = THttpSession.UseTransparentSessionID无法被修改,因为session已经启动了。 +httpsession_transid_cookieonly = THttpSession.UseTransparentSessionID cannot be set when THttpSession.CookieMode is set to Only. +httpsession_maxlifetime_unchangeable = THttpSession.Timeout无法被修改,因为session已经启动了。 + +assetmanager_basepath_invalid = TAssetManager.BasePath所指路径“{0}”非法。请确认它以命名空间方式指定,并且它所对应的文件目录可以被Web服务器进程写入。 +assetmanager_basepath_unchangeable = TAssetManager.BasePath无法被修改,因为该模块已经初始化完毕。 +assetmanager_baseurl_unchangeable = TAssetManager.BaseUrl无法被修改,因为该模块已经初始化完毕。 +assetmanager_filepath_invalid = TAssetManager试图发布一个不存在的文件“{0}”。 +assetmanager_tarchecksum_invalid = TAssetManager试图发布一个校验值不正确的tar文件。 +assetmanager_tarfile_invalid = TAssetManager试图发布一个不存在的tar文件“{0}”。 +assetmanager_source_directory_invalid = TAssetManager试图复制一个不存在的文件目录“{0}”。 + +cache_primary_duplicated = 一个应用最多只能指定一个主缓存模块。模块“{0}”正在被注册为第二个主缓存模块。 +sqlitecache_extension_required = TSqliteCache需要SQLite PHP扩展模块。 +sqlitecache_dbfile_required = TSqliteCache.DbFile必须指定一个值。 +sqlitecache_connection_failed = TSqliteCache连接数据库失败:{0} +sqlitecache_table_creation_failed = TSqliteCache无法创建缓存数据库:{0} +sqlitecache_dbfile_unchangeable = TSqliteCache.DbFile无法被修改,因为该模块已经初始化完毕。 +sqlitecache_dbfile_invalid = TSqliteCache.DbFile所指文件不存在。请确认它以命名空间方式指定。 + +memcache_extension_required = TMemCache需要memcache PHP扩展模块。 +memcache_connection_failed = TMemCache连接memcache服务器“{0}”失败:{1} +memcache_host_unchangeable = TMemCache.Host无法被修改,因为该模块已经初始化完毕。 +memcache_port_unchangeable = TMemCache.Port无法被修改,因为该模块已经初始化完毕。 + +apccache_extension_required = TAPCCache需要APC PHP扩展模块。 +apccache_add_unsupported = TAPCCache不支持add()函数。 +apccache_replace_unsupported = TAPCCache不支持replace()函数。 +apccache_extension_not_enabled = TAPCCache需要在php.ini里指定apc.enabled = 1。 +apccache_extension_not_enabled_cli = TAPCCache需要在php.ini里指定apc.enable_cli = 1。 + +errorhandler_errortemplatepath_invalid = TErrorHandler.ErrorTemplatePath所指路径“{0}”不存在。请确认它以命名空间的方式指定,并且它指向一个包含错误信息模板的文件目录。 + +pageservice_page_unknown = 无法找到页面“{0}”。 +pageservice_pageclass_unknown = 未知页面类“{0}”。 +pageservice_basepath_invalid = TPageService.BasePath所指路径“{0}”不存在。 +pageservice_page_required = 请提供页面名字。 +pageservice_defaultpage_unchangeable = TPageService.DefaultPage无法被修改,因为页面服务已经初始化完毕。 +pageservice_basepath_unchangeable = TPageService.BasePath无法被修改,因为页面服务已经初始化完毕。 +pageservice_pageclass_invalid = 页面类“{0}”必须继承TPage。 +pageservice_includefile_invalid = 无法找到页面服务配置“{0}”。请确认它以命名空间方式指定,并且文件名以“.xml”结尾。 + +pageserviceconf_file_invalid = 无法打开页面配置文件“{0}”。 +pageserviceconf_aliaspath_invalid = <alias id="{0}"> uses an invalid file path "{1}" in page directory configuration file '{2}'. +pageserviceconf_alias_invalid = <alias> element must have an "id" attribute and a "path" attribute in page directory configuration file '{0}'. +pageserviceconf_using_invalid = <using> element must have a "namespace" attribute in page directory configuration file '{0}'. +pageserviceconf_module_invalid = <module> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_moduletype_required = <module id="{0}"> must have a "class" attribute in page directory configuration file '{1}'. +pageserviceconf_parameter_invalid = <parameter> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_page_invalid = <page> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_includefile_required = Page configuration <include> element must have a "file" attribute. + +template_closingtag_unexpected = Unexpected closing tag '{0}' is found. +template_closingtag_expected = Closing tag '{0}' is expected. +template_directive_nonunique = Directive '<%@ ... %>' must appear at the beginning of the template and can appear at most once. +template_comments_forbidden = Template comments are not allowed within property tags. +template_matching_unexpected = Unexpected matching. +template_property_unknown = {0} has no property called '{1}'. +template_event_unknown = {0} has no event called '{1}'. +template_property_readonly = {0} has a read-only property '{1}'. +template_event_forbidden = {0} is a non-control component. No handler can be attached to its event '{1}' in a template. +template_databind_forbidden = {0} is a non-control component. Expressions cannot be bound to its property '{1}'. +template_component_required = '{0}' is not a component. Only components can appear in a template. +template_format_invalid = Invalid template syntax: {0} +template_property_duplicated = Property {0} is configured twice or more. +template_eventhandler_invalid = {0}.{1} can only accept a static string. +template_controlid_invalid = {0}.ID can only accept a static text string. +template_controlskinid_invalid = {0}.SkinID can only accept a static text string. +template_content_unexpected = Unexpected content is encountered when instantiating template: {0}. +template_include_invalid = Invalid template inclusion. Make sure {0} is a valid namespace pointing to an existing template file whose extension is .tpl. +template_tag_unexpected = Initialization for property {0} contains an unknown tag type {1}. + +xmldocument_file_read_failed = TXmlDocument is unable to read file '{0}'. +xmldocument_file_write_failed = TXmlDocument is unable to write file '{0}'. + +xmlelementlist_xmlelement_required = TXmlElementList can only accept TXmlElement objects. + +authorizationrule_action_invalid = TAuthorizationRule.Action can only take 'allow' or 'deny' as the value. +authorizationrule_verb_invalid = TAuthorizationRule.Verb can only take 'get' or 'post' as the value. + +authorizationrulecollection_authorizationrule_required = TAuthorizationRuleCollection can only accept TAuthorizationRule objects. + +usermanager_userfile_invalid = TUserManager.UserFile '{0}' is not a valid file. +usermanager_userfile_unchangeable = TUserManager.UserFile cannot be modified. The user module has been initialized already. + +authmanager_usermanager_required = TAuthManager.UserManager must be assigned a value. +authmanager_usermanager_inexistent = TAuthManager.UserManager '{0}' does not refer to an ID of application module. +authmanager_usermanager_invalid = TAuthManager.UserManager '{0}' does not refer to a valid TUserManager application module. +authmanager_usermanager_unchangeable = TAuthManager.UserManager cannot be modified after the module is initialized. +authmanager_session_required = TAuthManager requires a session application module. + +thememanager_service_unavailable = TThemeManager requires TPageService to be available. This error often occurs when you configure TThemeManager outside of the page service configuration. +thememanager_basepath_invalid = TThemeManager.BasePath '{0}' is not a valid path alias. Make sure you have defined this alias in configuration and it points to a valid directory. +thememanager_basepath_invalid2 = TThemeManager.BasePath '{0}' is not a valid directory. +thememanager_basepath_unchangeable = TThemeManager.BasePath cannot be modified after the module is initialized. + +theme_baseurl_required = TThemeManager.BasePath is required. By default, a directory named 'themes' under the directory containing the application entry script is assumed. +theme_path_inexistent = Theme path '{0}' does not exist. +theme_control_nested = Skin for control type '{0}' in theme '{1}' cannot be within another skin. +theme_skinid_duplicated = SkinID '{0}.{1}' is duplicated in theme '{2}'. +theme_databind_forbidden = Databind cannot be used in theme '{0}' for control skin '{1}.{2}' about property '{3}'. +theme_property_readonly = Skin is being applied to a read-only control property '{0}.{1}'. +theme_property_undefined = Skin is being applied to an inexistent control property '{0}.{1}'. +theme_tag_unexpected = Initialization for property {0} contains an unknown tag type {1}. + +control_object_reregistered = Duplicated object ID '{0}' found. +control_id_invalid = {0}.ID '{1}' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. +control_skinid_unchangeable = {0}.SkinID cannot be modified after a skin has been applied to the control or the child controls have been created. +control_enabletheming_unchangeable = {0}.EnableTheming cannot be modified after the child controls have been created. +control_stylesheet_applied = StyleSheet skin has already been applied to {0}. +control_id_nonunique = {0}.ID '{1}' is not unique among all controls under the same naming container. + +templatecontrol_mastercontrol_invalid = Master control must be of type TTemplateControl or a child class. +templatecontrol_mastercontrol_required = Control '{0}' requires a master control since the control uses TContent. +templatecontrol_contentid_duplicated = TContent ID '{0}' is duplicated. +templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '{0}' is duplicated. +templatecontrol_directive_invalid = {0}.{1} can only accept a static text string through a template directive. +templatecontrol_placeholder_inexistent = TContent '{0}' does not have a matching TContentPlaceHolder. + +page_form_duplicated = A page can contain at most one TForm. Use regular HTML form tags for the rest forms. +page_isvalid_unknown = TPage.IsValid has not been evaluated yet. +page_postbackcontrol_invalid = Unable to determine postback control '{0}'. +page_control_outofform = {0} '{1}' must be enclosed within TForm. +page_head_duplicated = A page can contain at most one THead. +page_head_required = A THead control is needed in page template in order to render CSS and js in the HTML head section. +page_statepersister_invalid = Page state persister must implement IPageStatePersister interface. + +csmanager_pradoscript_invalid = Unknown Prado script library name '{0}'. +csmanager_invalid_packages = Unkownn packages '{1}' for javascript packages defined in '{0}'. Valid packages are '{2}'. + +contentplaceholder_id_required = TContentPlaceHolder must have an ID. + +content_id_required = TContent must have an ID. + +controlcollection_control_required = TControlList can only accept strings or TControl objects. + +webcontrol_accesskey_invalid = {0}.AccessKey '{1}' is invalid. It must be a single character only. +webcontrol_style_invalid = {0}.Style must take string value only. + +listcontrol_selection_invalid = {0} has an invalid selection that is set before performing databinding. +listcontrol_selectedindex_invalid = {0}.SelectedIndex has an invalid value {1}. +listcontrol_selectedvalue_invalid = {0}.SelectedValue has an invalid value '{1}'. +listcontrol_expression_invalid = {0} is evaluating an invalid expression '{1}' : {2} +listcontrol_multiselect_unsupported = {0} does not support multiselection. + +label_associatedcontrol_invalid = TLabel.AssociatedControl '{0}' cannot be found. + +hiddenfield_focus_unsupported = THiddenField does not support setting input focus. +hiddenfield_theming_unsupported = THiddenField does not support theming. +hiddenfield_skinid_unsupported = THiddenField does not support control skin. + +panel_defaultbutton_invalid = TPanel.DefaultButton '{0}' does not refer to an existing button control. + +tablestyle_cellpadding_invalid = TTableStyle.CellPadding must take an integer equal to or greater than -1. +tablestyle_cellspacing_invalid = TTableStyle.CellSpacing must take an integer equal to or greater than -1. + +pagestatepersister_pagestate_corrupted = Page state is corrupted. + +sessionpagestatepersister_pagestate_corrupted = Page state is corrupted. +sessionpagestatepersister_historysize_invalid = TSessionPageStatePersister.History must be an integer greater than 0. + +listitemcollection_item_invalid = TListItemCollection can only take strings or TListItem objects. + +dropdownlist_selectedindices_unsupported= TDropDownList.SelectedIndices is read-only. + +bulletedlist_autopostback_unsupported = TBulletedList.AutoPostBack is read-only. +bulletedlist_selectedindex_unsupported = TBulletedList.SelectedIndex is read-only. +bulletedlist_selectedindices_unsupported= TBulletedList.SelectedIndices is read-only. +bulletedlist_selectedvalue_unsupported = TBulletedList.SelectedValue is read-only. + +radiobuttonlist_selectedindices_unsupported = TRadioButtonList.SelectedIndices is read-only. + +logrouter_configfile_invalid = TLogRouter.ConfigFile '{0}' does not exist. +logrouter_routeclass_required = Class attribute is required in <route> configuration. +logrouter_routetype_required = Log route must be an instance of TLogRoute or its derived class. + +filelogroute_logpath_invalid = TFileLogRoute.LogPath '{0}' must be a directory in namespace format and must be writable by the Web server process. +filelogroute_maxfilesize_invalid = TFileLogRoute.MaxFileSize must be greater than 0. +filelogroute_maxlogfiles_invalid = TFileLogRoute.MaxLogFiles must be greater than 0. + +emaillogroute_sentfrom_required = TEmailLogRoute.SentFrom cannot be empty. + +repeatinfo_repeatcolumns_invalid = TRepeatInfo.RepeatColumns must be no less than 0. + +basevalidator_controltovalidate_invalid = {0}.ControlToValidate is empty or contains an invalid control ID path. +basevalidator_validatable_required = {0}.ControlToValidate must point to a control implementing IValidatable interface. +basevalidator_forcontrol_unsupported = {0}.ForControl is not supported. + +comparevalidator_controltocompare_invalid = TCompareValidator.ControlToCompare contains an invalid control ID path. + +listcontrolvalidator_invalid_control = {0}.ControlToValidate contains an invalid TListControl ID path, "{1}" is a {2}. + +repeater_template_required = TRepeater.{0} requires a template instance implementing ITemplate interface. +repeater_itemtype_unknown = Unknow repeater item type {0}. +repeateritemcollection_item_invalid = TRepeaterItemCollection can only accept objects that are instance of TControl or its descendant class. + +datalist_template_required = TDataList.{0} requires a template instance implementing ITemplate interface. +datalistitemcollection_datalistitem_required = TDataListItemCollection can only accept TDataListItem objects. + +datagrid_template_required = TDataGrid.{0} requires a template instance implementing ITemplate interface. +templatecolumn_template_required = TTemplateColumn.{0} requires a template instance implementing ITemplate interface. +datagrid_currentpageindex_invalid = TDataGrid.CurrentPageIndex must be no less than 0. +datagrid_pagesize_invalid = TDataGrid.PageSize must be greater than 0. +datagrid_virtualitemcount_invalid = TDataGrid.VirtualItemCount must be no less than 0. +datagriditemcollection_datagriditem_required = TDataGridItemCollection can only accept TDataGridItem objects. +datagridcolumncollection_datagridcolumn_required = TDataGridColumnCollection can only accept TDataGridColumn objects. +datagridpagerstyle_pagebuttoncount_invalid = TDataGridPagerStyle.PageButtonCount must be greater than 0. + +datafieldaccessor_data_invalid = TDataFieldAccessor is trying to evaluate a field value of an invalid data. Make sure the data is an array, TMap, TList, or object that contains the specified field '{0}'. +datafieldaccessor_datafield_invalid = TDataFieldAccessor is trying to evaluate data value of an unknown field '{0}'. + +tablerowcollection_tablerow_required = TTableRowCollection can only accept TTableRow objects. + +tablecellcollection_tablerow_required = TTableCellCollection can only accept TTableCell objects. + +multiview_view_required = TMultiView can only accept TView as child. +multiview_activeviewindex_invalid = TMultiView.ActiveViewIndex has an invalid index '{0}'. +multiview_view_inexistent = TMultiView cannot find the specified view. +multiview_viewid_invalid = TMultiView cannot find the view '{0}' to switch to. + +viewcollection_view_required = TViewCollection can only accept TView as its element. + +view_visible_readonly = TView.Visible is read-only. Use TView.Active to toggle its visibility. + +wizard_step_invalid = The step to be activated cannot be found in wizard step collection. +wizard_command_invalid = Invalid wizard navigation command '{0}'. + +table_tablesection_outoforder = TTable table sections must be in the order of: Header, Body and Footer. + +completewizardstep_steptype_readonly = TCompleteWizardStep.StepType is read-only. + +wizardstepcollection_wizardstep_required = TWizardStepCollection can only accept objects of TWizardStep or its derived classes. + +texthighlighter_stylesheet_invalid = Unable to find the stylesheet file for TTextHighlighter. + +hotspotcollection_hotspot_required = THotSpotCollection can only accept instance of THotSpot or its derived classes. + +htmlarea_textmode_readonly = THtmlArea.TextMode is read-only. +htmlarea_tarfile_invalid = THtmlArea is unable to locate the TinyMCE tar file. + +parametermodule_parameterfile_unchangeable = TParameterModule.ParameterFile is not changeable because the module is already initialized. +parametermodule_parameterfile_invalid = TParameterModule.ParameterFile '{0}' is invalid. Make sure it is in namespace format and the file extension is '.xml'. +parametermodule_parameterid_required = Parameter element must have 'id' attribute. + +datagridcolumn_id_invalid = {0}.ID '{1}' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. +datagridcolumn_expression_invalid = {0} is evaluating an invalid expression '{1}' : {2} + +outputcache_cachemoduleid_invalid = TOutputCache.CacheModuleID is set with an invalid cache module ID {0}. Either the module does not exist or does not implement ICache interface. +outputcache_duration_invalid = {0}.Duration must be an integer no less than 0. + +stack_data_not_iterable = TStack can only fetch data from an array or a traversable object. +stack_empty = TStack is empty. + +queue_data_not_iterable = TQueue can only fetch data from an array or a traversable object. +queue_empty = TQueue is empty. + +pager_pagebuttoncount_invalid = TPager.PageButtonCount must be an integer no less than 1. +pager_currentpageindex_invalid = TPager.CurrentPageIndex is out of range. +pager_pagecount_invalid = TPager.PageCount cannot be smaller than 0. +pager_controltopaginate_invalid = TPager.ControlToPaginate {0} must be a valid ID path pointing to a TDataBoundControl-derived control. + +databoundcontrol_pagesize_invalid = {0}.PageSize must be an integer no smaller than 1. +databoundcontrol_virtualitemcount_invalid = {0}.VirtualItemCount must be an integer no smaller than 0. +databoundcontrol_currentpageindex_invalid = {0}.CurrentPageIndex is out of range. +databoundcontrol_datasource_invalid = {0}.DataSource is not valid. +databoundcontrol_datasourceid_inexistent = databoundcontrol_datasourceid_inexistent. +databoundcontrol_datasourceid_invalid = databoundcontrol_datasourceid_invalid +databoundcontrol_datamember_invalid = databoundcontrol_datamember_invalid + +clientscript_invalid_file_position = Invalid file position '{1}' for TClientScript control '{0}', must be 'Head', 'Here' or 'Begin'. +clientscript_invalid_package_path = Invalid PackagePath '{0}' for TClientScript control '{1}'. + +tdatepicker_autopostback_unsupported = '{0}' does not support AutoPostBack. +globalization_cache_path_failed = Unable to create translation message cache path '{0}'. Make sure the parent directory exists and is writable by the Web process. +globalization_source_path_failed = Unable to create translation message path '{0}'. Make sure the parent directory exists and is writable by the Web process. +callback_not_support_no_priority_state_update = Callback request does not support unprioritized pagestate update. +callback_invalid_callback_options = '{1}' is not a valid TCallbackOptions control for Callback control '{0}'. +callback_invalid_clientside_options = Callback ClientSide property must be either a string that is the ID of a TCallbackOptions control or an instance of TCallbackClientSideOptions.======= +callback_not_support_no_priority_state_update = Callback request does not support unprioritized pagestate update. +callback_invalid_handler = Invalid callback handler, control {0} must implement ICallbackEventHandler. +callback_invalid_target = Invalid callback target, no such control with ID {0}. + +callback_interval_be_positive = Interval for TCallbackTimer "{0}" must be strictly greater than zero seconds. +callback_decay_be_not_negative = Decay rate for TCallbackTimer "{0}" must be not negative. + +callback_no_autopostback = Control "{0}" can not enable AutoPostBack. + +xmltransform_xslextension_required = TXmlTransform requires the PHP's XSL extension. +xmltransform_transformpath_invalid = TXmlTransform.TransformPath '{0}' is invalid. +xmltransform_documentpath_invalid = TXmlTransform.DocumentPath '{0}' is invalid. +xmltransform_transform_required = Either TransformContent or TransformPath property must be set for TXmlTransform. + +ttriggeredcallback_invalid_controlid = ControlID property for '{0}' must not be empty. +tactivecustomvalidator_clientfunction_unsupported = {0} does not support client side validator function. + +dbconnection_open_failed = TDbConnection failed to establish DB connection: {0} +dbconnection_connection_inactive = TDbConnection is inactive. +dbconnection_unsupported_driver_charset = Database driver '{0}' doesn't support setting charset. + +dbcommand_prepare_failed = TDbCommand failed to prepare the SQL statement "{1}": {0} +dbcommand_execute_failed = TDbCommand failed to execute the SQL statement "{1}": {0} +dbcommand_query_failed = TDbCommand failed to execute the query SQL "{1}": {0} +dbcommand_column_empty = TDbCommand returned an empty result and could not obtain the scalar. +dbdatareader_rewind_invalid = TDbDataReader is a forward-only stream. It can only be traversed once. +dbtransaction_transaction_inactive = TDbTransaction is inactive. + +dbcommandbuilder_value_must_not_be_null = Property {0} must not be null as defined by column '{2}' in table '{1}'. + +dbcommon_invalid_table_name = Database table '{0}' not found. Error message: {1}. +dbcommon_invalid_identifier_name = Invalid database identifier name '{0}', see {1} for details. +dbtableinfo_invalid_column_name = Invalid column name '{0}' for database table '{1}'. +dbmetadata_invalid_table_view = Invalid table/view name '{0}', or that table/view '{0}' contains no accessible column/field definitions. +dbmetadata_requires_php_version = PHP version {1} or later is required for using {0} database. + +dbtablegateway_invalid_criteria = Invalid criteria object, must be a string or instance of TSqlCriteria. +dbtablegateway_no_primary_key_found = Table '{0}' does not contain any primary key fields. +dbtablegateway_missing_pk_values = Missing primary key values in forming IN(key1, key2, ...) for table '{0}'. +dbtablegateway_pk_value_count_mismatch = Composite key value count mismatch in forming IN( (key1, key2, ..), (key3, key4, ..)) for table '{0}'. +dbtablegateway_mismatch_args_exception = TTableGateway finder method '{0}' expects {1} parameters but found only {2} parameters instead. +dbtablegateway_mismatch_column_name = In dynamic __call() method '{0}', no matching columns were found, valid columns for table '{2}' are '{1}'. +dbtablegateway_invalid_table_info = Table must be a string or an instanceof TDbTableInfo. + +directorycachedependency_directory_invalid = TDirectoryCacheDependency.Directory {0} does not refer to a valid directory. +cachedependencylist_cachedependency_required = Only objects implementing ICacheDependency can be added into TCacheDependencyList. + +soapservice_configfile_invalid = TSoapService.ConfigFile '{0}' does not exist. Note, it has to be specified in a namespace format and the file extension must be '.xml'. +soapservice_request_invalid = SOAP server '{0}' not found. +soapservice_serverid_required = <soap> element must have 'id' attribute. +soapservice_serverid_duplicated = SOAP server ID '{0}' is duplicated. +soapserver_id_invalid = Invalid SOAP server ID '{0}'. It should not end with '.wsdl'. +soapserver_version_invalid = Invalid SOAP version '{0}'. It must be either '1.1' or '1.2'. + +dbusermanager_userclass_required = TDbUserManager.UserClass is required. +dbusermanager_userclass_invalid = TDbUserManager.UserClass '{0}' is not a valid user class. The class must extend TDbUser. +dbusermanager_connectionid_invalid = TDbUserManager.ConnectionID '{0}' does not point to a valid TDataSourceConfig module. +dbusermanager_connectionid_required = TDbUserManager.ConnectionID is required. + +feedservice_id_required = TFeedService requires 'id' attribute in its feed elements. +feedservice_feedtype_invalid = The class feed '{0}' must implement IFeedContentProvider interface. +feedservice_class_required = TFeedService requires 'class' attribute in its feed elements. +feedservice_feed_unknown = Unknown feed '{0}' requested. + +tabviewcollection_tabview_required = TTabPanel can only accept TTabView as child. +tabpanel_activeviewid_invalid = TTabPanel.ActiveViewID has an invalid ID '{0}'. +tabpanel_activeviewindex_invalid = TTabPanel.ActiveViewIndex has an invalid Index '{0}'. +tabpanel_view_inexistent = TTabPanel cannot find the specified view. + +cachesession_cachemoduleid_required = TCacheHttpSession.CacheModuleID is required. +cachesession_cachemodule_inexistent = TCacheHttpSession.CacheModuleID '{0}' points to a non-existent module. +cachesession_cachemodule_invalid = TCacheHttpSession.CacheModuleID '{0}' points to a module that does not implement ICache interface. + +urlmapping_urlmappingpattern_required = TUrlMapping can only contain TUrlMappingPattern or its child classes. +urlmapping_global_required = TUrlMapping must be configured as a global module. +urlmapping_configfile_inexistent = TUrlMapping.ConfigFile '{0}' is not a file. +urlmapping_configfile_invalid = TUrlMapping.ConfigFile '{0}' must point to an XML file in namespace format. + +urlmappingpattern_serviceparameter_required = TUrlMappingPattern.ServiceParameter is required for pattern '{0}'. + +juidatepicker_settextmode_unsupported = TextMode of TJuiDatePicker cannot be changed.
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/messages/messages.txt b/lib/prado/framework/Exceptions/messages/messages.txt new file mode 100644 index 0000000..46dde55 --- /dev/null +++ b/lib/prado/framework/Exceptions/messages/messages.txt @@ -0,0 +1,514 @@ +prado_application_singleton_required = Prado.Application must only be set once. +prado_component_unknown = Unknown component type '{0}'. This may be caused by the following parsing error in the {0} class file: {1} +prado_using_invalid = '{0}' is not a valid namespace to be used. Make sure '.*' is appended if you want to use a namespace referring to a directory. +prado_alias_redefined = Alias '{0}' cannot be redefined. +prado_alias_invalid = Alias '{0}' refers to an invalid path '{1}'. Only existing directories can be aliased. +prado_aliasname_invalid = Alias '{0}' contains invalid character '.'. + +component_property_undefined = Component property '{0}.{1}' is not defined. +component_property_readonly = Component property '{0}.{1}' is read-only. +component_event_undefined = Component event '{0}.{1}' is not defined. +component_method_undefined = Component method '{0}.{1}' is not defined. +component_eventhandler_invalid = Component event '{0}.{1}' is attached with an invalid event handler '{2}'. +component_expression_invalid = Component '{0}' is evaluating an invalid expression '{1}' : {2}. +component_statements_invalid = Component '{0}' is evaluating invalid PHP statements '{1}' : {2}. +component_class_behavior_defined = Component '{0}' already has a class behavior of '{1}'. +component_not_a_behavior = Component '{0}' is being added as behavior is not a TBaseBehavior. +component_no_tcomponent_class_behaviors = TComponent cannot have class behaviors attached due to recursion. +component_no_class_provided_nor_late_binding = Adding or Removing Class Behaviors must have PHP feature Late Static Binding or a class provided as a parameter + +propertyvalue_enumvalue_invalid = Value '{0}' is a not valid enumeration value ({1}). + +list_index_invalid = Index '{0}' is out of range. +list_item_inexistent = The item cannot be found in the list. +list_data_not_iterable = Data must be either an array or an object implementing Traversable interface. +list_readonly = {0} is read-only. + +map_addition_disallowed = The new item cannot be added to the map. +map_item_unremovable = The item cannot be removed from the map. +map_data_not_iterable = Data must be either an array or an object implementing Traversable interface. +map_readonly = {0} is read-only. + +application_includefile_invalid = Unable to find application configuration {0}. Make sure it is in namespace format and the file ends with ".xml" or ".php". +application_basepath_invalid = Application base path '{0}' does not exist or is not a directory. +application_runtimepath_invalid = Application runtime path '{0}' does not exist or is not writable by Web server process. +application_service_invalid = Service '{0}' must implement IService interface. +application_service_unknown = Requested service '{0}' is not defined. +application_unavailable = Application is unavailable at this time. +application_service_unavailable = Service '{0}' is unavailable at this time. +application_moduleid_duplicated = Application module ID '{0}' is not unique. +application_runtimepath_failed = Unable to create runtime path '{0}'. Make sure the parent directory exists and is writable by the Web process. + +appconfig_aliaspath_invalid = Application configuration <alias id="{0}"> uses an invalid file path "{1}". +appconfig_alias_invalid = Application configuration <alias> element must have an "id" attribute and a "path" attribute. +appconfig_alias_redefined = Application configuration <alias id="{0}"> cannot be redefined. +appconfig_using_invalid = Application configuration <using> element must have a "namespace" attribute. +appconfig_moduleid_required = Application configuration <module> element must have an "id" attribute. +appconfig_moduletype_required = Application configuration <module id="{0}"> must have a "class" attribute. +appconfig_serviceid_required = Application configuration <service> element must have an "id" attribute. +appconfig_servicetype_required = Application configuration <service id="{0}"> must have a "class" attribute. +appconfig_parameterid_required = Application configuration <parameter> element must have an "id" attribute. +appconfig_includefile_required = Application configuration <include> element must have a "file" attribute. +appconfig_paths_invalid = Application configuration <paths> cannot contain element <{0}>. +appconfig_modules_invalid = Application configuration <modules> cannot contain element <{0}>. +appconfig_services_invalid = Application configuration <services> cannot contain element <{0}>. +appconfig_parameters_invalid = Application configuration <parameters> cannot contain element <{0}>. +appconfig_tag_invalid = Application configuration cannot contain element <{0}>. + +securitymanager_validationkey_invalid = TSecurityManager.ValidationKey must not be empty. +securitymanager_encryptionkey_invalid = TSecurityManager.EncryptionKey must not be empty. +securitymanager_mcryptextension_required = Mcrypt PHP extension is required in order to use TSecurityManager's encryption feature. +securitymanager_mcryptextension_initfailed = TSecurityManager failed to initialize the mcrypt module. + +uri_format_invalid = '{0}' is not a valid URI. + +httprequest_separator_invalid = THttpRequest.UrlParamSeparator can only contain a single character. +httprequest_urlmanager_inexist = THttpRequest.UrlManager '{0}' does not point to an existing module. +httprequest_urlmanager_invalid = THttpRequest.UrlManager '{0}' must point to a module extending from TUrlManager. + +httpcookiecollection_httpcookie_required = THttpCookieCollection can only accept THttpCookie objects. + +httpresponse_bufferoutput_unchangeable = THttpResponse.BufferOutput cannot be modified after THttpResponse is initialized. +httpresponse_file_inexistent = THttpResponse cannot send file '{0}'. The file does not exist. + +httpsession_sessionid_unchangeable = THttpSession.SessionID cannot be modified after the session is started. +httpsession_sessionname_unchangeable = THttpSession.SessionName cannot be modified after the session is started. +httpsession_sessionname_invalid = THttpSession.SessionName must contain alphanumeric characters only. +httpsession_savepath_unchangeable = THttpSession.SavePath cannot be modified after the session is started. +httpsession_savepath_invalid = THttpSession.SavePath '{0}' is invalid. +httpsession_storage_unchangeable = THttpSession.Storage cannot be modified after the session is started. +httpsession_cookiemode_unchangeable = THttpSession.CookieMode cannot be modified after the session is started. +httpsession_autostart_unchangeable = THttpSession.AutoStart cannot be modified after the session module is initialized. +httpsession_gcprobability_unchangeable = THttpSession.GCProbability cannot be modified after the session is started. +httpsession_gcprobability_invalid = THttpSession.GCProbability must be an integer between 0 and 100. +httpsession_transid_unchangeable = THttpSession.UseTransparentSessionID cannot be modified after the session is started. +httpsession_transid_cookieonly = THttpSession.UseTransparentSessionID cannot be set when THttpSession.CookieMode is set to Only. +httpsession_maxlifetime_unchangeable = THttpSession.Timeout cannot be modified after the session is started. + +assetmanager_basepath_invalid = TAssetManager.BasePath '{0}' is invalid. Make sure it is in namespace form and points to a directory writable by the Web server process. +assetmanager_basepath_unchangeable = TAssetManager.BasePath cannot be modified after the module is initialized. +assetmanager_baseurl_unchangeable = TAssetManager.BaseUrl cannot be modified after the module is initialized. +assetmanager_filepath_invalid = TAssetManager is publishing an invalid file '{0}'. +assetmanager_tarchecksum_invalid = TAssetManager is publishing a tar file with invalid checksum '{0}'. +assetmanager_tarfile_invalid = TAssetManager is publishing an invalid tar file '{0}'. +assetmanager_source_directory_invalid = TAssetManager is copying an invalid directory '{0}'. + +cache_primary_duplicated = At most one primary cache module is allowed. {0} is trying to register as another primary cache. +sqlitecache_extension_required = TSqliteCache requires SQLite PHP extension. +sqlitecache_dbfile_required = TSqliteCache.DbFile is required. +sqlitecache_connection_failed = TSqliteCache database connection failed. {0}. +sqlitecache_table_creation_failed = TSqliteCache failed to create cache database. {0}. +sqlitecache_dbfile_unchangeable = TSqliteCache.DbFile cannot be modified after the module is initialized. +sqlitecache_dbfile_invalid = TSqliteCache.DbFile is invalid. Make sure it is in a proper namespace format. + +memcache_extension_required = TMemCache requires memcache PHP extension. +memcache_connection_failed = TMemCache failed to connect to memcache server {0}:{1}. +memcache_host_unchangeable = TMemCache.Host cannot be modified after the module is initialized. +memcache_port_unchangeable = TMemCache.Port cannot be modified after the module is initialized. + +apccache_extension_required = TAPCCache requires APC PHP extension. +apccache_extension_not_enabled = TAPCCache need apc.enabled = 1 in php.ini in order to work. +apccache_extension_not_enabled_cli = TAPCCache need apc.enable_cli = 1 in php.ini in order to work with PHP from the command line. + +eacceleratorcache_extension_required = TEACache requires eAccellerator PHP extension. + +errorhandler_errortemplatepath_invalid = TErrorHandler.ErrorTemplatePath '{0}' is invalid. Make sure it is in namespace form and points to a valid directory containing error template files. + +pageservice_page_unknown = Page '{0}' Not Found +pageservice_pageclass_unknown = Page class '{0}' is unknown. +pageservice_basepath_invalid = TPageService.BasePath '{0}' is not a valid directory. +pageservice_page_required = Page Name Required +pageservice_defaultpage_unchangeable = TPageService.DefaultPage cannot be modified after the service is initialized. +pageservice_basepath_unchangeable = TPageService.BasePath cannot be modified after the service is initialized. +pageservice_pageclass_invalid = Page class {0} is invalid. It should be TPage or extend from TPage. +pageservice_includefile_invalid = Unable to find page service configuration {0}. Make sure it is in namespace format and the file ends with ".xml" or ".php". + +pageserviceconf_file_invalid = Unable to open page directory configuration file '{0}'. +pageserviceconf_aliaspath_invalid = <alias id="{0}"> uses an invalid file path "{1}" in page directory configuration file '{2}'. +pageserviceconf_alias_invalid = <alias> element must have an "id" attribute and a "path" attribute in page directory configuration file '{0}'. +pageserviceconf_using_invalid = <using> element must have a "namespace" attribute in page directory configuration file '{0}'. +pageserviceconf_module_invalid = <module> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_moduletype_required = <module id="{0}"> must have a "class" attribute in page directory configuration file '{1}'. +pageserviceconf_parameter_invalid = <parameter> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_page_invalid = <page> element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_includefile_required = Page configuration <include> element must have a "file" attribute. + +template_closingtag_unexpected = Unexpected closing tag '{0}' is found. +template_closingtag_expected = Closing tag '{0}' is expected. +template_directive_nonunique = Directive '<%@ ... %>' must appear at the beginning of the template and can appear at most once. +template_comments_forbidden = Template comments are not allowed within property tags. +template_matching_unexpected = Unexpected matching. +template_property_unknown = {0} has no property called '{1}'. +template_event_unknown = {0} has no event called '{1}'. +template_property_readonly = {0} has a read-only property '{1}'. +template_event_forbidden = {0} is a non-control component. No handler can be attached to its event '{1}' in a template. +template_databind_forbidden = {0} is a non-control component. Expressions cannot be bound to its property '{1}'. +template_component_required = '{0}' is not a component. Only components can appear in a template. +template_format_invalid = Invalid template syntax: {0} +template_property_duplicated = Property {0} is configured twice or more. +template_eventhandler_invalid = {0}.{1} can only accept a static string. +template_controlid_invalid = {0}.ID can only accept a static text string. +template_controlskinid_invalid = {0}.SkinID can only accept a static text string. +template_content_unexpected = Unexpected content is encountered when instantiating template: {0}. +template_include_invalid = Invalid template inclusion. Make sure {0} is a valid namespace pointing to an existing template file whose extension is .tpl. +template_tag_unexpected = Initialization for property {0} contains an unknown tag type {1}. + +xmldocument_file_read_failed = TXmlDocument is unable to read file '{0}'. +xmldocument_file_write_failed = TXmlDocument is unable to write file '{0}'. + +xmlelementlist_xmlelement_required = TXmlElementList can only accept TXmlElement objects. + +authorizationrule_action_invalid = TAuthorizationRule.Action can only take 'allow' or 'deny' as the value. +authorizationrule_verb_invalid = TAuthorizationRule.Verb can only take 'get' or 'post' as the value. + +authorizationrulecollection_authorizationrule_required = TAuthorizationRuleCollection can only accept TAuthorizationRule objects. + +usermanager_userfile_invalid = TUserManager.UserFile '{0}' is not a valid file. +usermanager_userfile_unchangeable = TUserManager.UserFile cannot be modified. The user module has been initialized already. + +authmanager_usermanager_required = TAuthManager.UserManager must be assigned a value. +authmanager_usermanager_inexistent = TAuthManager.UserManager '{0}' does not refer to an ID of application module. +authmanager_usermanager_invalid = TAuthManager.UserManager '{0}' does not refer to a valid TUserManager application module. +authmanager_usermanager_unchangeable = TAuthManager.UserManager cannot be modified after the module is initialized. +authmanager_session_required = TAuthManager requires a session application module. + +thememanager_service_unavailable = TThemeManager requires TPageService to be available. This error often occurs when you configure TThemeManager outside of the page service configuration. +thememanager_basepath_invalid = TThemeManager.BasePath '{0}' is not a valid path alias. Make sure you have defined this alias in configuration and it points to a valid directory. +thememanager_basepath_invalid2 = TThemeManager.BasePath '{0}' is not a valid directory. +thememanager_basepath_unchangeable = TThemeManager.BasePath cannot be modified after the module is initialized. + +theme_baseurl_required = TThemeManager.BasePath is required. By default, a directory named 'themes' under the directory containing the application entry script is assumed. +theme_path_inexistent = Theme path '{0}' does not exist. +theme_control_nested = Skin for control type '{0}' in theme '{1}' cannot be within another skin. +theme_skinid_duplicated = SkinID '{0}.{1}' is duplicated in theme '{2}'. +theme_databind_forbidden = Databind cannot be used in theme '{0}' for control skin '{1}.{2}' about property '{3}'. +theme_property_readonly = Skin is being applied to a read-only control property '{0}.{1}'. +theme_property_undefined = Skin is being applied to an inexistent control property '{0}.{1}'. +theme_tag_unexpected = Initialization for property {0} contains an unknown tag type {1}. + +control_object_reregistered = Duplicated object ID '{0}' found. +control_id_invalid = {0}.ID '{1}' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. +control_skinid_unchangeable = {0}.SkinID cannot be modified after a skin has been applied to the control or the child controls have been created. +control_enabletheming_unchangeable = {0}.EnableTheming cannot be modified after the child controls have been created. +control_stylesheet_applied = StyleSheet skin has already been applied to {0}. +control_id_nonunique = {0}.ID '{1}' is not unique among all controls under the same naming container. + +templatecontrol_mastercontrol_invalid = Master control must be of type TTemplateControl or a child class. +templatecontrol_mastercontrol_required = Control '{0}' requires a master control since the control uses TContent. +templatecontrol_contentid_duplicated = TContent ID '{0}' is duplicated. +templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '{0}' is duplicated. +templatecontrol_directive_invalid = {0}.{1} can only accept a static text string through a template directive. +templatecontrol_placeholder_inexistent = TContent '{0}' does not have a matching TContentPlaceHolder. + +page_form_duplicated = A page can contain at most one TForm. Use regular HTML form tags for the rest forms. +page_isvalid_unknown = TPage.IsValid has not been evaluated yet. +page_postbackcontrol_invalid = Unable to determine postback control '{0}'. +page_control_outofform = {0} '{1}' must be enclosed within TForm. +page_head_duplicated = A page can contain at most one THead. +page_head_required = A THead control is needed in page template in order to render CSS and js in the HTML head section. +page_statepersister_invalid = Page state persister must implement IPageStatePersister interface. +page_csmanagerclass_invalid = ClientScriptManager class '{0}' must be an instance of TClientScriptManager. + +csmanager_pradoscript_invalid = Unknown Prado script library name '{0}'. +csmanager_invalid_packages = Unkownn packages '{1}' for javascript packages defined in '{0}'. Valid packages are '{2}'. + +contentplaceholder_id_required = TContentPlaceHolder must have an ID. + +content_id_required = TContent must have an ID. + +controlcollection_control_required = TControlList can only accept strings or TControl objects. + +webcontrol_accesskey_invalid = {0}.AccessKey '{1}' is invalid. It must be a single character only. +webcontrol_style_invalid = {0}.Style must take string value only. + +listcontrol_selection_invalid = {0} has an invalid selection that is set before performing databinding. +listcontrol_selectedindex_invalid = {0}.SelectedIndex has an invalid value {1}. +listcontrol_selectedvalue_invalid = {0}.SelectedValue has an invalid value '{1}'. +listcontrol_expression_invalid = {0} is evaluating an invalid expression '{1}' : {2} +listcontrol_multiselect_unsupported = {0} does not support multiselection. + +label_associatedcontrol_invalid = TLabel.AssociatedControl '{0}' cannot be found. + +hiddenfield_focus_unsupported = THiddenField does not support setting input focus. +hiddenfield_theming_unsupported = THiddenField does not support theming. +hiddenfield_skinid_unsupported = THiddenField does not support control skin. + +panel_defaultbutton_invalid = TPanel.DefaultButton '{0}' does not refer to an existing button control. + +tablestyle_cellpadding_invalid = TTableStyle.CellPadding must take an integer equal to or greater than -1. +tablestyle_cellspacing_invalid = TTableStyle.CellSpacing must take an integer equal to or greater than -1. + +pagestatepersister_pagestate_corrupted = Page state is corrupted. + +sessionpagestatepersister_pagestate_corrupted = Page state is corrupted. +sessionpagestatepersister_historysize_invalid = TSessionPageStatePersister.History must be an integer greater than 0. + +listitemcollection_item_invalid = TListItemCollection can only take strings or TListItem objects. + +dropdownlist_selectedindices_unsupported= TDropDownList.SelectedIndices is read-only. + +bulletedlist_autopostback_unsupported = TBulletedList.AutoPostBack is read-only. +bulletedlist_selectedindex_unsupported = TBulletedList.SelectedIndex is read-only. +bulletedlist_selectedindices_unsupported= TBulletedList.SelectedIndices is read-only. +bulletedlist_selectedvalue_unsupported = TBulletedList.SelectedValue is read-only. + +radiobuttonlist_selectedindices_unsupported = TRadioButtonList.SelectedIndices is read-only. + +logrouter_configfile_invalid = TLogRouter.ConfigFile '{0}' does not exist. +logrouter_routeclass_required = Class attribute is required in <route> configuration. +logrouter_routetype_required = Log route must be an instance of TLogRoute or its derived class. + +filelogroute_logpath_invalid = TFileLogRoute.LogPath '{0}' must be a directory in namespace format and must be writable by the Web server process. +filelogroute_maxfilesize_invalid = TFileLogRoute.MaxFileSize must be greater than 0. +filelogroute_maxlogfiles_invalid = TFileLogRoute.MaxLogFiles must be greater than 0. + +emaillogroute_sentfrom_required = TEmailLogRoute.SentFrom cannot be empty. + +repeatinfo_repeatcolumns_invalid = TRepeatInfo.RepeatColumns must be no less than 0. + +basevalidator_controltovalidate_invalid = {0}.ControlToValidate is empty or contains an invalid control ID path. +basevalidator_validatable_required = {0}.ControlToValidate must point to a control implementing IValidatable interface. +basevalidator_forcontrol_unsupported = {0}.ForControl is not supported. + +comparevalidator_controltocompare_invalid = TCompareValidator.ControlToCompare contains an invalid control ID path. + +listcontrolvalidator_invalid_control = {0}.ControlToValidate contains an invalid TListControl ID path, "{1}" is a {2}. + +repeater_template_required = TRepeater.{0} requires a template instance implementing ITemplate interface. +repeater_itemtype_unknown = Unknown repeater item type {0}. +repeateritemcollection_item_invalid = TRepeaterItemCollection can only accept objects that are instance of TControl or its descendant class. + +datalist_template_required = TDataList.{0} requires a template instance implementing ITemplate interface. +datalistitemcollection_datalistitem_required = TDataListItemCollection can only accept TDataListItem objects. + +datagrid_template_required = TDataGrid.{0} requires a template instance implementing ITemplate interface. +templatecolumn_template_required = TTemplateColumn.{0} requires a template instance implementing ITemplate interface. +datagrid_currentpageindex_invalid = TDataGrid.CurrentPageIndex must be no less than 0. +datagrid_pagesize_invalid = TDataGrid.PageSize must be greater than 0. +datagrid_virtualitemcount_invalid = TDataGrid.VirtualItemCount must be no less than 0. +datagriditemcollection_datagriditem_required = TDataGridItemCollection can only accept TDataGridItem objects. +datagridcolumncollection_datagridcolumn_required = TDataGridColumnCollection can only accept TDataGridColumn objects. +datagridpagerstyle_pagebuttoncount_invalid = TDataGridPagerStyle.PageButtonCount must be greater than 0. + +datafieldaccessor_data_invalid = TDataFieldAccessor is trying to evaluate a field value of an invalid data. Make sure the data is an array, TMap, TList, or object that contains the specified field '{0}'. +datafieldaccessor_datafield_invalid = TDataFieldAccessor is trying to evaluate data value of an unknown field '{0}': {1}. + +tablerowcollection_tablerow_required = TTableRowCollection can only accept TTableRow objects. + +tablecellcollection_tablerow_required = TTableCellCollection can only accept TTableCell objects. + +multiview_view_required = TMultiView can only accept TView as child. +multiview_activeviewindex_invalid = TMultiView.ActiveViewIndex has an invalid index '{0}'. +multiview_view_inexistent = TMultiView cannot find the specified view. +multiview_viewid_invalid = TMultiView cannot find the view '{0}' to switch to. + +viewcollection_view_required = TViewCollection can only accept TView as its element. + +view_visible_readonly = TView.Visible is read-only. Use TView.Active to toggle its visibility. + +wizard_step_invalid = The step to be activated cannot be found in wizard step collection. +wizard_command_invalid = Invalid wizard navigation command '{0}'. + +table_tablesection_outoforder = TTable table sections must be in the order of: Header, Body and Footer. + +completewizardstep_steptype_readonly = TCompleteWizardStep.StepType is read-only. + +wizardstepcollection_wizardstep_required = TWizardStepCollection can only accept objects of TWizardStep or its derived classes. + +texthighlighter_stylesheet_invalid = Unable to find the stylesheet file for TTextHighlighter. + +hotspotcollection_hotspot_required = THotSpotCollection can only accept instance of THotSpot or its derived classes. + +htmlarea_textmode_readonly = THtmlArea.TextMode is read-only. +htmlarea_tarfile_invalid = THtmlArea is unable to locate the TinyMCE tar file. + +parametermodule_parameterfile_unchangeable = TParameterModule.ParameterFile is not changeable because the module is already initialized. +parametermodule_parameterfile_invalid = TParameterModule.ParameterFile '{0}' is invalid. Make sure it is in namespace format and the file extension is '.xml' or '.php'. +parametermodule_parameterid_required = Parameter element must have 'id' attribute. + +datagridcolumn_id_invalid = {0}.ID '{1}' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. +datagridcolumn_expression_invalid = {0} is evaluating an invalid expression '{1}' : {2} + +outputcache_cachemoduleid_invalid = TOutputCache.CacheModuleID is set with an invalid cache module ID {0}. Either the module does not exist or does not implement ICache interface. +outputcache_duration_invalid = {0}.Duration must be an integer no less than 0. + +stack_data_not_iterable = TStack can only fetch data from an array or a traversable object. +stack_empty = TStack is empty. + +queue_data_not_iterable = TQueue can only fetch data from an array or a traversable object. +queue_empty = TQueue is empty. + +pager_pagebuttoncount_invalid = TPager.PageButtonCount must be an integer no less than 1. +pager_currentpageindex_invalid = TPager.CurrentPageIndex is out of range. +pager_pagecount_invalid = TPager.PageCount cannot be smaller than 0. +pager_controltopaginate_invalid = TPager.ControlToPaginate {0} must be a valid ID path pointing to a TDataBoundControl-derived control. + +databoundcontrol_pagesize_invalid = {0}.PageSize must be an integer no smaller than 1. +databoundcontrol_virtualitemcount_invalid = {0}.VirtualItemCount must be an integer no smaller than 0. +databoundcontrol_currentpageindex_invalid = {0}.CurrentPageIndex is out of range. +databoundcontrol_datasource_invalid = {0}.DataSource is not valid. +databoundcontrol_datasourceid_inexistent = databoundcontrol_datasourceid_inexistent. +databoundcontrol_datasourceid_invalid = databoundcontrol_datasourceid_invalid +databoundcontrol_datamember_invalid = databoundcontrol_datamember_invalid + +clientscript_invalid_file_position = Invalid file position '{1}' for TClientScript control '{0}', must be 'Head', 'Here' or 'Begin'. +clientscript_invalid_package_path = Invalid PackagePath '{0}' for TClientScript control '{1}'. + +tdatepicker_autopostback_unsupported = '{0}' does not support AutoPostBack. +globalization_cache_path_failed = Unable to create translation message cache path '{0}'. Make sure the parent directory exists and is writable by the Web process. +globalization_source_path_failed = Unable to create translation message path '{0}'. Make sure the parent directory exists and is writable by the Web process. +messagesource_connectionid_invalid = MessageSource_Database.source '{0}' does not point to a valid TDataSourceConfig module. +messagesource_connectionid_required = ConnectionID in MessageSource_Database.source is required. + +callback_not_support_no_priority_state_update = Callback request does not support unprioritized pagestate update. +callback_invalid_callback_options = '{1}' is not a valid TCallbackOptions control for Callback control '{0}'. +callback_invalid_clientside_options = Callback ClientSide property must be either a string that is the ID of a TCallbackOptions control or an instance of TCallbackClientSideOptions.======= +callback_not_support_no_priority_state_update = Callback request does not support unprioritized pagestate update. +callback_invalid_handler = Invalid callback handler, control {0} must implement ICallbackEventHandler. +callback_invalid_target = Invalid callback target, no such control with ID {0}. + +callback_interval_be_positive = Interval for TCallbackTimer "{0}" must be strictly greater than zero seconds. +callback_decay_be_not_negative = Decay rate for TCallbackTimer "{0}" must be not negative. + +callback_no_autopostback = Control "{0}" can not enable AutoPostBack. + +xmltransform_xslextension_required = TXmlTransform requires the PHP's XSL extension. +xmltransform_transformpath_invalid = TXmlTransform.TransformPath '{0}' is invalid. +xmltransform_documentpath_invalid = TXmlTransform.DocumentPath '{0}' is invalid. +xmltransform_transform_required = Either TransformContent or TransformPath property must be set for TXmlTransform. + +ttriggeredcallback_invalid_controlid = ControlID property for '{0}' must not be empty. +tactivecustomvalidator_clientfunction_unsupported = {0} does not support client side validator function. + +dbconnection_open_failed = TDbConnection failed to establish DB connection: {0} +dbconnection_connection_inactive = TDbConnection is inactive. +dbconnection_unsupported_driver_charset = Database driver '{0}' doesn't support setting charset. + +dbcommand_prepare_failed = TDbCommand failed to prepare the SQL statement "{1}": {0} +dbcommand_execute_failed = TDbCommand failed to execute the SQL statement "{1}": {0} +dbcommand_query_failed = TDbCommand failed to execute the query SQL "{1}": {0} +dbcommand_column_empty = TDbCommand returned an empty result and could not obtain the scalar. +dbdatareader_rewind_invalid = TDbDataReader is a forward-only stream. It can only be traversed once. +dbtransaction_transaction_inactive = TDbTransaction is inactive. + +dbcommandbuilder_value_must_not_be_null = Property {0} must not be null as defined by column '{2}' in table '{1}'. + +dbcommon_invalid_table_name = Database table '{0}' not found. Error message: {1}. +dbcommon_invalid_identifier_name = Invalid database identifier name '{0}', see {1} for details. +dbtableinfo_invalid_column_name = Invalid column name '{0}' for database table '{1}'. +dbmetadata_invalid_table_view = Invalid table/view name '{0}', or that table/view '{0}' contains no accessible column/field definitions. +dbmetadata_requires_php_version = PHP version {1} or later is required for using {0} database. + +dbtablegateway_invalid_criteria = Invalid criteria object, must be a string or instance of TSqlCriteria. +dbtablegateway_no_primary_key_found = Table '{0}' does not contain any primary key fields. +dbtablegateway_missing_pk_values = Missing primary key values in forming IN(key1, key2, ...) for table '{0}'. +dbtablegateway_pk_value_count_mismatch = Composite key value count mismatch in forming IN( (key1, key2, ..), (key3, key4, ..)) for table '{0}'. +dbtablegateway_mismatch_args_exception = TTableGateway finder method '{0}' expects {1} parameters but found only {2} parameters instead. +dbtablegateway_mismatch_column_name = In dynamic __call() method '{0}', no matching columns were found, valid columns for table '{2}' are '{1}'. +dbtablegateway_invalid_table_info = Table must be a string or an instance of TDbTableInfo. + +directorycachedependency_directory_invalid = TDirectoryCacheDependency.Directory {0} does not refer to a valid directory. +cachedependencylist_cachedependency_required = Only objects implementing ICacheDependency can be added into TCacheDependencyList. + +soapservice_configfile_invalid = TSoapService.ConfigFile '{0}' does not exist. Note, it has to be specified in a namespace format and the file extension must be '.xml' or '.php'. +soapservice_request_invalid = SOAP server '{0}' not found. +soapservice_serverid_required = <soap> element must have 'id' attribute. +soapservice_serverid_duplicated = SOAP server ID '{0}' is duplicated. +soapserver_id_invalid = Invalid SOAP server ID '{0}'. It should not end with '.wsdl'. +soapserver_version_invalid = Invalid SOAP version '{0}'. It must be either '1.1' or '1.2'. + +jsonservice_id_required = TJsonService requires 'id' attribute in its JSON elements. +jsonservice_response_type_invalid = JSON class {0} is invalid. It should be TJsonResponse or extend from TJsonResponse. +jsonservice_class_required = TJsonService requires 'class' attribute in its JSON elements. +jsonservice_provider_unknown = Unknown JSON provider '{0}' requested. + +dbusermanager_userclass_required = TDbUserManager.UserClass is required. +dbusermanager_userclass_invalid = TDbUserManager.UserClass '{0}' is not a valid user class. The class must extend TDbUser. +dbusermanager_connectionid_invalid = TDbUserManager.ConnectionID '{0}' does not point to a valid TDataSourceConfig module. +dbusermanager_connectionid_required = TDbUserManager.ConnectionID is required. + +feedservice_id_required = TFeedService requires 'id' attribute in its feed elements. +feedservice_feedtype_invalid = The class feed '{0}' must implement IFeedContentProvider interface. +feedservice_class_required = TFeedService requires 'class' attribute in its feed elements. +feedservice_feed_unknown = Unknown feed '{0}' requested. + +tabviewcollection_tabview_required = TTabPanel can only accept TTabView as child. +tabpanel_activeviewid_invalid = TTabPanel.ActiveViewID has an invalid ID '{0}'. +tabpanel_activeviewindex_invalid = TTabPanel.ActiveViewIndex has an invalid Index '{0}'. +tabpanel_view_inexistent = TTabPanel cannot find the specified view. + +cachesession_cachemoduleid_required = TCacheHttpSession.CacheModuleID is required. +cachesession_cachemodule_inexistent = TCacheHttpSession.CacheModuleID '{0}' points to a non-existent module. +cachesession_cachemodule_invalid = TCacheHttpSession.CacheModuleID '{0}' points to a module that does not implement ICache interface. + +urlmapping_urlmappingpattern_required = TUrlMapping can only contain TUrlMappingPattern or its child classes. +urlmapping_global_required = TUrlMapping must be configured as a global module. +urlmapping_configfile_inexistent = TUrlMapping.ConfigFile '{0}' is not a file. +urlmapping_configfile_invalid = TUrlMapping.ConfigFile '{0}' must point to an XML file in namespace format. + +urlmappingpattern_serviceparameter_required = TUrlMappingPattern.ServiceParameter is required for pattern '{0}'. + +keyboard_forcontrol_required = TKeyboard.ForControl cannot be empty. +keyboard_forcontrol_invalid = TKeyboard.ForControl '{0}' is invalid. + +captcha_tokenimagetheme_invalid = TCaptcha.TokenImageTheme must be an integer between {0} and {1}. +captcha_tokenfontsize_invalid = TCaptcha.TokenFontSize must be an integer between {0} and {1}. +captcha_mintokenlength_invalid = TCaptcha.MinTokenLength must be an integer between {0} and {1}. +captcha_maxtokenlength_invalid = TCaptcha.MaxTokenLength must be an integer between {0} and {1}. +captcha_tokenalphabet_invalid = TCaptcha.TokenAlphabet must be a string consisting of at least 2 characters. +captcha_privatekey_unknown = TCaptcha.PrivateKey is unknown. Please make sure that your assets directory is writable by the Web server process. +captcha_gd2_required = TCaptcha requires PHP GD2 extension. +captcha_imagettftext_required = TCaptcha requires PHP GD2 extension with TrueType font support. +captcha_imagepng_required = TCaptcha requires PHP GD2 extension with PNG image format support. + +captchavalidator_captchacontrol_required = TReCaptchaValidator.CaptchaControl must point to an existing TCaptcha control. +captchavalidator_captchacontrol_inexistent = TReCaptchaValidator.CaptchaControl {0} must point to an existing TCaptcha control. +captchavalidator_captchacontrol_invalid = TReCaptchaValidator.CaptchaControl {0} must point to an existing TCaptcha control. + +recaptcha_privatekey_unknown = TReCaptcha.PrivateKey is unknown. To use reCAPTCHA you must get an API key. +recaptcha_publickey_unknown = TReCaptcha.PublicKey is unknown. To use reCAPTCHA you must get an API key. + +recaptchavalidator_captchacontrol_invalid = TReCaptchaValidator.ControlToValidate must be an instance of TReCaptcha. + +slider_handle_class_invalid = TSlider.HandleClass '{0}' is not a valid user class. The class must extends TSliderHandle. + +cachepagestatepersister_cachemoduleid_invalid = TCachePageStatePersister.CacheModuleID '{0}' does not point to a valid cache module. +cachepagestatepersister_cache_required = TCachePageStatePersister requires a cache module to be loaded. +cachepagestatepersister_timeout_invalid = TCachePageStatePersister.Timeout must be an integer no less than zero. +cachepagestatepersister_pagestate_corrupted = Page state is corrupted. + +conditional_condition_invalid = TConditional.Condition '{0}' is not a valid PHP expression: {1} + +db_cachetable_inexistent = TDbCache cannot find DB table '{0}' to store cached data. + +ar_data_invalid = {0}.copyFrom() can only take an object or array as parameter. +ar_save_invalid = The {0} instance cannot be saved because it is either deleted or in an unknown state. +ar_delete_invalid = The {0} instance cannot be deleted because it is either a new record or a record already deleted. + +datasource_dbconnection_invalid = TDataSourceConfig.DbConnection '{0}' is invalid. Please make sure it points to a valid application module. +distributeddatasource_child_required = {0} requires one '{1}' child element at minimum. +masterslavedbconnection_connection_exists = {0}.{1} connection already exists. +masterslavedbconnection_interface_required = {0}.{1} requires an instance implementing {2} interface. +slavedbconnection_requires_master = {0} requires a {1}. + +response_status_reason_missing = HTTP 1.1 need reason for extended status-codes +response_status_reason_badchars = For HTTP 1.1 header, the token status-reason must not contain token CR or LF + +activefileupload_temppath_invalid = TActiveFileUpload TempPath path '{0}' does not exist or is not writable by Web server process. + +tactivetablecell_control_outoftable = {0} '{1}' must be enclosed within a TTableRow control. +tactivetablecell_control_notincollection = {0} '{1}' no member of the TTableCellCollection of the parent TTableRow control. + +tactivetablerow_control_outoftable = {0} '{1}' must be enclosed within a TTable control. +tactivetablerow_control_notincollection = {0} '{1}' no member of the TTableRowCollection of the parent TTable control. + +juioptions_control_invalid = Control '{0}' must implement IJuiOptions. +juioptions_option_invalid = '{1}' is not a valid option for control '{0}'. + +ratinglist_invalid_caption_id = '{0}' is not a valid caption control for TRatingList '{0}'. + +accordion_activeviewid_invalid = TAccordion.ActiveViewID has an invalid ID '{0}'. +accordion_activeviewindex_invalid = TAccordion.ActiveViewIndex has an invalid Index '{0}'. +accordion_view_inexistent = TAccordion cannot find the specified view. + +juidatepicker_settextmode_unsupported = TextMode of TJuiDatePicker cannot be changed.
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error-fr.html b/lib/prado/framework/Exceptions/templates/error-fr.html new file mode 100644 index 0000000..c9c1901 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error-fr.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<head>
+<title>%%ErrorMessage%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Erreur %%StatusCode%%</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+Cette erreur est survenue en essayant de répondre à votre requête.
+</p>
+<p>
+Si vous pensez qu'il s'agit d'une erreur inattendue du serveur, merci de contacter l'<a href="mailto:%%ServerAdmin%%">administrateur</a>
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error-id.html b/lib/prado/framework/Exceptions/templates/error-id.html new file mode 100644 index 0000000..608805a --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error-id.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorMessage%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Kesalahan %%StatusCode%%</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+Kesalahan di atas terjadi ketika server memproses permintaan anda.
+</p>
+<p>
+Jika anda pikir ini merupakan kesalahan server, silahkan hubungi <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error-zh.html b/lib/prado/framework/Exceptions/templates/error-zh.html new file mode 100644 index 0000000..f69d0e4 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error-zh.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorMessage%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>错误%%StatusCode%%</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+服务器在处理您的页面请求时出现了以上错误。
+</p>
+<p>
+如果您认为这是服务器的原因,请联系通知<a href="mailto:%%ServerAdmin%%">系统管理员</a>。
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error.html b/lib/prado/framework/Exceptions/templates/error.html new file mode 100644 index 0000000..e1715f4 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorMessage%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Error %%StatusCode%%</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+The above error happened when the server was processing your request.
+</p>
+<p>
+If you think this is a server error, please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error400-en.html b/lib/prado/framework/Exceptions/templates/error400-en.html new file mode 100644 index 0000000..629b360 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error400-en.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Bad Request</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Bad Request</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+The request could not be understood by the server due to malformed syntax.
+Please do not repeat the request without modifications.
+</p>
+<p>
+If you think this is a server error, please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error400-id.html b/lib/prado/framework/Exceptions/templates/error400-id.html new file mode 100644 index 0000000..9f02010 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error400-id.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Bad Request</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Permintaan Salah</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+Permintaan tidak dimengerti oleh server karena sintaks tidak benar.
+Harap tidak mengulangi permintaan tanpa memodifikasinya.
+</p>
+<p>
+Jika anda pikir ini merupakan kesalahan server, silahkan hubungi <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error400-zh.html b/lib/prado/framework/Exceptions/templates/error400-zh.html new file mode 100644 index 0000000..08f9311 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error400-zh.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>错误请求</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>错误请求</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+服务器无法理解您的请求。请勿重复同样的请求。
+</p>
+<p>
+如果您确认这是服务器错误,请联系<a href="mailto:%%ServerAdmin%%">系统管理员</a>。
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error400.html b/lib/prado/framework/Exceptions/templates/error400.html new file mode 100644 index 0000000..629b360 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error400.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Bad Request</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Bad Request</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+The request could not be understood by the server due to malformed syntax.
+Please do not repeat the request without modifications.
+</p>
+<p>
+If you think this is a server error, please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error404-en.html b/lib/prado/framework/Exceptions/templates/error404-en.html new file mode 100644 index 0000000..40862e0 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error404-en.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Page Not Found</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorMessage%%</h1>
+<h2>Error 404</h2>
+<p>
+The requested URL was not found on this server.
+If you entered the URL manually please check your spelling and try again.
+</p>
+<p>
+If you think this is a server error, please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error404-fr.html b/lib/prado/framework/Exceptions/templates/error404-fr.html new file mode 100644 index 0000000..4a417d7 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error404-fr.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<head>
+<title>Page Introuvable</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorMessage%%</h1>
+<h2>Erreur 404</h2>
+<p>
+L'URL demandée n'a pas été trouvée sur ce serveur.
+Si vous avez tapé cette URL manuellement dans la barre d'adresse, merci de vérifier qu'il n'y aucune faute de frappe pour essayer à nouveau.
+</p>
+<p>
+Si vous pensez qu'il s'agit d'une erreur inattendue du serveur, merci de contacter l'<a href="mailto:%%ServerAdmin%%">administrateur</a>
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error404-id.html b/lib/prado/framework/Exceptions/templates/error404-id.html new file mode 100644 index 0000000..3a24992 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error404-id.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Halaman Tidak Ditemukan</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorMessage%%</h1>
+<h2>Kesalahan 404</h2>
+<p>
+URL yang diminta tidak ditemukan pada server ini.
+Jika anda memasukan URL secara manual silahkan periksa ejaan anda dan coba lagi.
+</p>
+<p>
+Jika anda pikir ini kesalahan server, silahkan hubungi <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error404-zh.html b/lib/prado/framework/Exceptions/templates/error404-zh.html new file mode 100644 index 0000000..c834f9b --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error404-zh.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>无法找到页面</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorMessage%%</h1>
+<h2>错误代码404</h2>
+<p>
+服务器无法找到您所请求的页面。
+如果您是手工输入页面地址的,请检查拼写是否正确。
+</p>
+<p>
+如果您确认这是服务器错误,请联系<a href="mailto:%%ServerAdmin%%">系统管理员</a>。
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error404.html b/lib/prado/framework/Exceptions/templates/error404.html new file mode 100644 index 0000000..40862e0 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error404.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Page Not Found</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorMessage%%</h1>
+<h2>Error 404</h2>
+<p>
+The requested URL was not found on this server.
+If you entered the URL manually please check your spelling and try again.
+</p>
+<p>
+If you think this is a server error, please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a>.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error500-en.html b/lib/prado/framework/Exceptions/templates/error500-en.html new file mode 100644 index 0000000..69408d2 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error500-en.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Internal Server Error</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Internal Server Error</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+An internal error occurred while the Web server was handling your request.
+Please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a> to report this problem.
+</p>
+<p>
+Thank you.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error500-fr.html b/lib/prado/framework/Exceptions/templates/error500-fr.html new file mode 100644 index 0000000..1c4df1a --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error500-fr.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<head>
+<title>Erreur Interne du Serveur</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Erreur Interne du Serveur</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+Une erreur interne s'est produite pendant que le serveur web traitait votre requête.
+Veuillez contacter l'<a href="mailto:%%ServerAdmin%%">administrateur</a> pour lui signaler le problème.
+</p>
+<p>
+Merci de votre compréhension.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error500-id.html b/lib/prado/framework/Exceptions/templates/error500-id.html new file mode 100644 index 0000000..592138f --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error500-id.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Kesalahan Server Internal</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Kesalahan Server Internal</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+Kesalahan server internal terjadi saat server Web menangani permintaan anda.
+Silahkan hubungi <a href="mailto:%%ServerAdmin%%">webmaster</a> untuk melaporkan masalah ini.
+</p>
+<p>
+Thank you.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error500-zh.html b/lib/prado/framework/Exceptions/templates/error500-zh.html new file mode 100644 index 0000000..d655601 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error500-zh.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>服务器内部错误</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>服务器内部错误</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+服务器在处理您的请求时发生了一个内部错误。请向<a href="mailto:%%ServerAdmin%%">系统管理员</a>汇报这个错误。
+</p>
+<p>
+谢谢。
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error500.html b/lib/prado/framework/Exceptions/templates/error500.html new file mode 100644 index 0000000..69408d2 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error500.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Internal Server Error</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Internal Server Error</h1>
+<h2>%%ErrorMessage%%</h2>
+<p>
+An internal error occurred while the Web server was handling your request.
+Please contact the <a href="mailto:%%ServerAdmin%%">webmaster</a> to report this problem.
+</p>
+<p>
+Thank you.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error503-en.html b/lib/prado/framework/Exceptions/templates/error503-en.html new file mode 100644 index 0000000..66b8ea0 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error503-en.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Service Unavailable</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Service Unavailable</h1>
+<p>
+Our system is currently under maintenance. Please come back later.
+</p>
+<p>
+Thank you.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error503-fr.html b/lib/prado/framework/Exceptions/templates/error503-fr.html new file mode 100644 index 0000000..8966525 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error503-fr.html @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<head>
+<title>Service Indisponible</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Service Indisponible</h1>
+<p>
+Le service est actuellement en maintenance et indisponible. Merci de réessayer prochainement.
+</p>
+<p>
+Merci de votre compréhension.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error503-id.html b/lib/prado/framework/Exceptions/templates/error503-id.html new file mode 100644 index 0000000..43a52de --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error503-id.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Layanan Tidak Tersedia</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Layanan Tidak Tersedia</h1>
+<p>
+Sistem kami saat ini dalam pemeliharaan. Silahkan kembali lagi nanti.
+</p>
+<p>
+Terima kasih.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error503-zh.html b/lib/prado/framework/Exceptions/templates/error503-zh.html new file mode 100644 index 0000000..b7457d6 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error503-zh.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>系统无法提供服务</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>系统无法提供服务</h1>
+<p>
+系统维护中,请稍后再来访问。
+</p>
+<p>
+谢谢。
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/error503.html b/lib/prado/framework/Exceptions/templates/error503.html new file mode 100644 index 0000000..66b8ea0 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/error503.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Service Unavailable</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>Service Unavailable</h1>
+<p>
+Our system is currently under maintenance. Please come back later.
+</p>
+<p>
+Thank you.
+</p>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/exception-en.html b/lib/prado/framework/Exceptions/templates/exception-en.html new file mode 100644 index 0000000..aed3755 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/exception-en.html @@ -0,0 +1,43 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorType%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+a {font-family:"Verdana";color:red;}
+code,pre {font-family:"Lucida Console";font-size:10pt;}
+td,.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+.source {font-family:"Lucida Console";font-weight:normal;background-color:#ffffee;}
+.error {background-color: #ffeeee;}/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorType%%</h1>
+<h3>Description</h3>
+<p style="color:maroon">%%ErrorMessage%%</p>
+<h3>Source File</h3>
+<p>%%SourceFile%%</p>
+<div class="source">
+<code><pre>
+%%SourceCode%%
+</pre></code>
+</div>
+<h3>Stack Trace</h3>
+<div class="source">
+<code><pre>
+%%StackTrace%%
+</pre></code>
+</div>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/exception-fr.html b/lib/prado/framework/Exceptions/templates/exception-fr.html new file mode 100644 index 0000000..7cb6136 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/exception-fr.html @@ -0,0 +1,43 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<head>
+<title>%%ErrorType%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+a {font-family:"Verdana";color:red;}
+code,pre {font-family:"Lucida Console";font-size:10pt;}
+td,.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+.source {font-family:"Lucida Console";font-weight:normal;background-color:#ffffee;}
+.error {background-color: #ffeeee;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorType%%</h1>
+<h3>Description</h3>
+<p style="color:maroon">%%ErrorMessage%%</p>
+<h3>Fichier Source</h3>
+<p>%%SourceFile%%</p>
+<div class="source">
+<code><pre>
+%%SourceCode%%
+</pre></code>
+</div>
+<h3>Trace de la pile d'ex閏ution:</h3>
+<div class="source">
+<code><pre>
+%%StackTrace%%
+</pre></code>
+</div>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/exception-id.html b/lib/prado/framework/Exceptions/templates/exception-id.html new file mode 100644 index 0000000..75961f5 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/exception-id.html @@ -0,0 +1,43 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorType%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+a {font-family:"Verdana";color:red;}
+code,pre {font-family:"Lucida Console";font-size:10pt;}
+td,.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+.source {font-family:"Lucida Console";font-weight:normal;background-color:#ffffee;}
+.error {background-color: #ffeeee;}/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorType%%</h1>
+<h3>Deskripsi</h3>
+<p style="color:maroon">%%ErrorMessage%%</p>
+<h3>File Sumber</h3>
+<p>%%SourceFile%%</p>
+<div class="source">
+<code><pre>
+%%SourceCode%%
+</pre></code>
+</div>
+<h3>Jejak Stack</h3>
+<div class="source">
+<code><pre>
+%%StackTrace%%
+</pre></code>
+</div>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/exception-zh.html b/lib/prado/framework/Exceptions/templates/exception-zh.html new file mode 100644 index 0000000..257e8e6 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/exception-zh.html @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorType%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+a {font-family:"Verdana";color:red;}
+code,pre {font-family:"Lucida Console";font-size:10pt;}
+td,.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+.source {font-family:"Lucida Console";font-weight:normal;background-color:#ffffee;}
+.error {background-color: #ffeeee;}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorType%%</h1>
+<h3>错误信息</h3>
+<p style="color:maroon">%%ErrorMessage%%</p>
+<p>
+<h3>错误代码文件</h3>
+<p>%%SourceFile%%</p>
+<div class="source">
+<code><pre>
+%%SourceCode%%
+</pre></code>
+</div>
+<h3>错误堆栈信息</h3>
+<div class="source">
+<code><pre>
+%%StackTrace%%
+</pre></code>
+</div>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/exception.html b/lib/prado/framework/Exceptions/templates/exception.html new file mode 100644 index 0000000..f901220 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/exception.html @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>%%ErrorType%%</title>
+<style type="text/css">
+/*<![CDATA[*/
+body {font-family:"Verdana";font-weight:normal;color:black;background-color:white;}
+h1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
+h2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
+h3 {font-family:"Verdana";font-weight:bold;font-size:11pt}
+p {font-family:"Verdana";font-weight:normal;color:black;font-size:9pt;margin-top: -5px}
+code,pre {font-family:"Lucida Console";font-size:10pt;}
+td,.version {color: gray;font-size:8pt;border-top:1px solid #aaaaaa;}
+.source {font-family:"Lucida Console";font-weight:normal;background-color:#ffffee;}
+.error {background-color: #ffeeee;}/*]]>*/
+</style>
+</head>
+<body>
+<h1>%%ErrorType%%</h1>
+<h3>Description</h3>
+<p style="color:maroon">%%ErrorMessage%%</p>
+<h3>Source File</h3>
+<p>%%SourceFile%%</p>
+<div class="source">
+<code><pre>
+%%SourceCode%%
+</pre></code>
+</div>
+<h3>Stack Trace</h3>
+<div class="source">
+<code><pre>
+%%StackTrace%%
+</pre></code>
+</div>
+<div class="version">
+%%Time%% %%Version%%
+</div>
+</body>
+</html>
\ No newline at end of file diff --git a/lib/prado/framework/Exceptions/templates/readme.txt b/lib/prado/framework/Exceptions/templates/readme.txt new file mode 100644 index 0000000..635b668 --- /dev/null +++ b/lib/prado/framework/Exceptions/templates/readme.txt @@ -0,0 +1,18 @@ +This directory contains templates used to display PRADO exception and error messages to end-users.
+
+All error template files follow the following naming convention:
+
+ error<status code>-<language code>.html
+
+where <status code> refers to a HTTP status code used when raising THttpException, and
+<language code> refers to a valid language such as en, zh, fr.
+
+The naming convention for exception template files is similar to that of error template files.
+
+
+CAUTION: When saving a template file, please make sure the file is saved using UTF-8 encoding.
+On Windows, you may use Notepad.exe to accomplish such saving.
+
+
+Qiang Xue
+Jan. 3, 2006
\ No newline at end of file |