From 7956ad5e7ed68e4d35ee021986830fe06a7b071e Mon Sep 17 00:00:00 2001 From: xue <> Date: Mon, 27 Feb 2006 02:45:59 +0000 Subject: Changed the way of passing parameters to exception messages. --- framework/Exceptions/TException.php | 27 +++-- framework/Exceptions/messages.txt | 210 ++++++++++++++++++------------------ 2 files changed, 126 insertions(+), 111 deletions(-) (limited to 'framework/Exceptions') diff --git a/framework/Exceptions/TException.php b/framework/Exceptions/TException.php index 60b47193..8ace1535 100644 --- a/framework/Exceptions/TException.php +++ b/framework/Exceptions/TException.php @@ -38,13 +38,24 @@ class TException extends Exception { private $_errorCode=''; + /** + * 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(); - $args[0]=$this->translateErrorMessage($errorMessage); - $str=call_user_func_array('sprintf',$args); - parent::__construct($str); + 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)); } protected function translateErrorMessage($key) @@ -164,11 +175,15 @@ class THttpException extends TSystemException { $this->_statusCode=$statusCode; $this->setErrorCode($errorMessage); + $errorMessage=$this->translateErrorMessage($errorMessage); $args=func_get_args(); array_shift($args); - $args[0]=$this->translateErrorMessage($errorMessage); - $str=call_user_func_array('sprintf',$args); - $this->setErrorMessage($str); + 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)); } public function getStatusCode() diff --git a/framework/Exceptions/messages.txt b/framework/Exceptions/messages.txt index b9b1ffb0..c9b9af7a 100644 --- a/framework/Exceptions/messages.txt +++ b/framework/Exceptions/messages.txt @@ -1,56 +1,56 @@ prado_application_singleton_required = Prado.Application must only be set once. -prado_component_unknown = Unknown component type '%s'. -prado_using_invalid = '%s' 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 '%s' cannot be redefined. -prado_alias_invalid = Alias '%s' refers to an invalid path '%s'. Only existing directories can be aliased. -prado_aliasname_invalid = Alias '%s' contains invalid character '.'. - -component_property_undefined = Component property '%s.%s' is not defined. -component_property_readonly = Component property '%s.%s' is read-only. -component_event_undefined = Component event '%s.%s' is not defined. -component_eventhandler_invalid = Component event '%s.%s' is attached with an invalid event handler. -component_expression_invalid = Component '%s' is evaluating an invalid expression '%s' : %s. -component_statements_invalid = Component '%s' is evaluating invalid PHP statements '%s' : %s. - -propertyvalue_enumvalue_invalid = Value '%s' is a not valid enumeration value (%s). - -list_index_invalid = Index '%d' is out of range. +prado_component_unknown = Unknown component type '{0}'. +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_eventhandler_invalid = Component event '{0}.{1}' is attached with an invalid event handler. +component_expression_invalid = Component '{0}' is evaluating an invalid expression '{1}' : {2}. +component_statements_invalid = Component '{0}' is evaluating invalid PHP statements '{1}' : {2}. + +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 = %s is read-only. +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 = %s is read-only. +map_readonly = {0} is read-only. -application_basepath_invalid = Application base path '%s' does not exist or is not a directory. -application_runtimepath_invalid = Application runtime path '%s' does not exist or is not writable by Web server process. -application_service_invalid = Service '%s' must implement IService interface. -application_service_unknown = Requested service '%s' is not defined. +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_service_unavailable = Service Unavailable. -application_moduleid_duplicated = Application module ID '%s' is not unique. +application_moduleid_duplicated = Application module ID '{0}' is not unique. -appconfig_aliaspath_invalid = Application configuration uses an invalid file path "%s". +appconfig_aliaspath_invalid = Application configuration uses an invalid file path "{1}". appconfig_alias_invalid = Application configuration element must have an "id" attribute and a "path" attribute. -appconfig_alias_redefined = Application configuration cannot be redefined. +appconfig_alias_redefined = Application configuration cannot be redefined. appconfig_using_invalid = Application configuration element must have a "namespace" attribute. appconfig_moduleid_required = Application configuration element must have an "id" attribute. -appconfig_moduletype_required = Application configuration must have a "class" attribute. +appconfig_moduletype_required = Application configuration must have a "class" attribute. appconfig_serviceid_required = Application configuration element must have an "id" attribute. -appconfig_servicetype_required = Application configuration must have a "class" attribute. +appconfig_servicetype_required = Application configuration must have a "class" attribute. appconfig_parameterid_required = Application configuration element must have an "id" attribute. -uri_format_invalid = '%s' is not a valid URI. +uri_format_invalid = '{0}' is not a valid URI. httpresponse_bufferoutput_unchangeable = THttpResponse.BufferOutput cannot be modified after THttpResponse is initialized. -httpresponse_file_inexistent = THttpResponse cannot send file '%s'. The file does not exist. +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 '%s' is invalid. +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. @@ -59,22 +59,22 @@ httpsession_gcprobability_invalid = THttpSession.GCProbability must be an integ httpsession_transid_unchangeable = THttpSession.UseTransparentSessionID cannot be modified after the session is started. httpsession_maxlifetime_unchangeable = THttpSession.Timeout cannot be modified after the session is started. -assetmanager_basepath_invalid = TAssetManager.BasePath '%s' is invalid. Make sure it is in namespace form and points to a directory writable by the Web server process. +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 '%s'. -assetmanager_tarchecksum_invalid = TAssetManager is publishing a tar file with invalid checksum '%s'. -assetmanager_tarfile_invalid = TAssetManager is publishing an invalid tar file '%s'. +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}'. sqlitecache_extension_required = TSqliteCache requires SQLite PHP extension. sqlitecache_dbfile_required = TSqliteCache.DbFile is required. -sqlitecache_connection_failed = TSqliteCache database connection failed. %s. -sqlitecache_table_creation_failed = TSqliteCache failed to create cache database. %s. +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 %s:%d. +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. @@ -82,42 +82,42 @@ apccache_extension_required = TAPCCache requires APC PHP extension. apccache_add_unsupported = TAPCCache.add() is not supported. apccache_replace_unsupported = TAPCCache.replace() is not supported. -errorhandler_errortemplatepath_invalid = TErrorHandler.ErrorTemplatePath '%s' is invalid. Make sure it is in namespace form and points to a valid directory containing error template files. +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 '%s' Not Found -pageservice_pageclass_unknown = Page class '%s' is unknown. -pageservice_basepath_invalid = TPageService.BasePath '%s' is not a valid directory. +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. -pageserviceconf_file_invalid = Unable to open page directory configuration file '%s'. -pageserviceconf_aliaspath_invalid = uses an invalid file path "%s" in page directory configuration file '%s'. -pageserviceconf_alias_invalid = element must have an "id" attribute and a "path" attribute in page directory configuration file '%s'. -pageserviceconf_using_invalid = element must have a "namespace" attribute in page directory configuration file '%s'. -pageserviceconf_module_invalid = element must have an "id" attribute in page directory configuration file '%s'. -pageserviceconf_moduletype_required = must have a "class" attribute in page directory configuration file '%s'. -pageserviceconf_parameter_invalid = element must have an "id" attribute in page directory configuration file '%s'. -pageserviceconf_page_invalid = element must have an "id" attribute in page directory configuration file '%s'. - -template_closingtag_unexpected = Unexpected closing tag '%s' is found. -template_closingtag_expected = Closing tag '%s' is expected. -template_directive_nonunique = Directive '<%%@ ... %%>' must appear at most once in a template. +pageserviceconf_file_invalid = Unable to open page directory configuration file '{0}'. +pageserviceconf_aliaspath_invalid = uses an invalid file path "{1}" in page directory configuration file '{2}'. +pageserviceconf_alias_invalid = element must have an "id" attribute and a "path" attribute in page directory configuration file '{0}'. +pageserviceconf_using_invalid = element must have a "namespace" attribute in page directory configuration file '{0}'. +pageserviceconf_module_invalid = element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_moduletype_required = must have a "class" attribute in page directory configuration file '{1}'. +pageserviceconf_parameter_invalid = element must have an "id" attribute in page directory configuration file '{0}'. +pageserviceconf_page_invalid = element must have an "id" attribute in page directory configuration file '{0}'. + +template_closingtag_unexpected = Unexpected closing tag '{0}' is found. +template_closingtag_expected = Closing tag '{0}' is expected. +template_directive_nonunique = Directive '<%@ ... %>' must appear at most once in a template. template_comments_forbidden = Template comments are not allowed within property tags. template_matching_unexpected = Unexpected matching. -template_property_unknown = %s has no property called '%s'. -template_event_unknown = %s has no event called '%s'. -template_property_readonly = %s has a read-only property '%s'. -template_event_forbidden = %s is a non-control component. No handler can be attached to its event '%s' in a template. -template_databind_forbidden = %s is a non-control component. No databinding expression can be set to its property '%s'. -template_component_required = '%s' is not a component. Only components can appear in a template. -template_format_invalid = Error in %s (line %d) : %s -template_format_invalid2 = Error at line %d of the following template: %s %s -template_eventhandler_invalid = An invalid event handler is attached to %s's event '%s'. -template_property_duplicated = Property %s is configured twice or more. - -xmldocument_file_read_failed = TXmlDocument is unable to read file '%s'. -xmldocument_file_write_failed = TXmlDocument is unable to write file '%s'. +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. No databinding expression can be set to its property '{1}'. +template_component_required = '{0}' is not a component. Only components can appear in a template. +template_format_invalid = Error in {0} (line {1}) : {2} +template_format_invalid2 = Error at line {0} of the following template: {1} {2} +template_eventhandler_invalid = An invalid event handler is attached to {0}'s event '{1}'. +template_property_duplicated = Property {0} is configured twice or more. + +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. @@ -126,45 +126,45 @@ authorizationrule_verb_invalid = TAuthorizationRule.Verb can only take 'get' o authorizationrulecollection_authorizationrule_required = TAuthorizationRuleCollection can only accept TAuthorizationRule objects. -usermanager_userfile_invalid = TUserManager.UserFile '%s' is not a valid file. +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 '%s' does not refer to an ID of application module. -authmanager_usermanager_invalid = TAuthManager.UserManager '%s' does not refer to a valid TUserManager application module. +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_basepath_invalid = TThemeManager.BasePath '%s' is not a valid directory. +thememanager_basepath_invalid = 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 '%s' does not exist. -theme_control_nested = Skin for control type '%s' in theme '%s' cannot be within another skin. -theme_skinid_duplicated = SkinID '%s.%s' is duplicated in theme '%s'. -theme_databind_forbidden = Databind cannot be used in theme '%s' for control skin '%s.%s' about property '%s'. -theme_property_readonly = Skin is being applied to a read-only control property '%s.%s'. -theme_property_undefined = Skin is being applied to an inexistent control property '%s.%s'. - -control_object_reregistered = Duplicated object ID '%s' found. -control_id_invalid = %s.ID '%s' is invalid. Only alphanumeric and underline characters are allowed. The first character must be an alphabetic or underline character. -control_skinid_unchangeable = %s.SkinID cannot be modified after a skin has been applied to the control or the child controls have been created. -control_enabletheming_unchangeable = %s.EnableTheming cannot be modified after the child controls have been created. -control_stylesheet_applied = StyleSheet skin has already been applied to %s. -control_id_nonunique = %s.ID '%s' is not unique among all controls under the same naming container. +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}'. + +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_contentid_duplicated = TContent ID '%s' is duplicated. -templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '%s' is duplicated. +templatecontrol_contentid_duplicated = TContent ID '{0}' is duplicated. +templatecontrol_placeholderid_duplicated= TContentPlaceHolder ID '{0}' is duplicated. 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 '%s'. -page_control_outofform = Control '%s' must be enclosed within TForm. +page_postbackcontrol_invalid = Unable to determine postback control '{0}'. +page_control_outofform = Control '{0}' 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 '%s'. +csmanager_pradoscript_invalid = Unknown Prado script library name '{0}'. contentplaceholder_id_required = TContentPlaceHolder must have an ID. @@ -174,20 +174,20 @@ controllist_control_required = TControlList can only accept strings or TContro emptycontrollist_addition_disallowed = Child controls are not allowed. -webcontrol_accesskey_invalid = %s.AccessKey '%s' is invalid. It must be a single character only. -webcontrol_style_invalid = %s.Style must take string value only. +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 = %s has an invalid selection that is set before performing databinding. -listcontrol_selectedindex_invalid = %s.SelectedIndex has an invalid value %d. -listcontrol_selectedvalue_invalid = %s.SelectedValue has an invalid value '%s'. +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}'. -label_associatedcontrol_invalid = TLabel.AssociatedControl '%s' cannot be found. +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 '%s' does not refer to an existing button control. +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. @@ -206,11 +206,11 @@ bulletedlist_selectedvalue_unsupported = TBulletedList.SelectedValue is read-onl radiobuttonlist_selectedindices_unsupported = TRadioButtonList.SelectedIndices is read-only. -logrouter_configfile_invalid = TLogRouter.ConfigFile '%s' does not exist. +logrouter_configfile_invalid = TLogRouter.ConfigFile '{0}' does not exist. logrouter_routeclass_required = Class attribute is required in configuration. logrouter_routetype_required = Log route must be an instance of TLogRoute or its derived class. -filelogroute_logpath_invalid = TFileLogRoute.LogPath '%s' must be a directory in namespace format and must be writable by the Web server process. +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. @@ -218,15 +218,15 @@ emaillogroute_sentfrom_required = TEmailLogRoute.SentFrom cannot be empty. repeatinfo_repeatcolumns_invalid = TRepeatInfo.RepeatColumns must be no less than 0. -basevalidator_controltovalidate_invalid = %s.ControlToValidate is empty or contains an invalid control ID path. -basevalidator_validatable_required = %s.ControlToValidate must point to a control implementing IValidatable interface. -basevalidator_forcontrol_unsupported = %s.ForControl is not supported. +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. -repeater_template_required = TRepeater.%s requires a template instance implementing ITemplate interface. -datalist_template_required = TDataList.%s requires a template instance implementing ITemplate interface. -templatecolumn_template_required = TTemplateColumn.%s requires a template instance implementing ITemplate interface. +repeater_template_required = TRepeater.{0} requires a template instance implementing ITemplate interface. +datalist_template_required = TDataList.{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. @@ -234,8 +234,8 @@ datagrid_virtualitemcount_invalid = TDataGrid.VirtualItemCount must be no less 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 '%s'. -datafieldaccessor_datafield_invalid = TDataFieldAccessor is trying to evaluate data value of an unknown field '%s'. +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}'. repeateritemcollection_repeateritem_required = TRepeaterItemCollection can only accept TRepeaterItem objects. -- cgit v1.2.3