本文详细介绍了如何本地化 HTML5 报告查看器显示的消息。此功能自版本R2 2018 SP1 (12.1.18.620)起可用。

要本地化报告查看器消息,请使用以下代码片段创建一个新的 JavaScript 文件:



(function (trv, $) {
"use strict";

var sr = {
//warning and error string resources
controllerNotInitialized: 'Controller is not initialized.',
noReportInstance: 'No report instance.',
missingTemplate: '!obsolete resource!',
noReport: 'No report.',
noReportDocument: 'No report document.',
missingOrInvalidParameter: 'Missing or invalid parameter value. Please input valid data for all parameters.',
invalidParameter: 'Please input a valid value.',
invalidDateTimeValue: 'Please input a valid date.',
parameterIsEmpty: 'Parameter value cannot be empty.',
cannotValidateType: 'Cannot validate parameter of type {type}.',
loadingFormats: 'Loading...',
loadingReport: 'Loading report...',
preparingDownload: 'Preparing document to download. Please wait...',
preparingPrint: 'Preparing document to print. Please wait...',
errorLoadingTemplates: "Error loading the report viewer\'s templates. (templateUrl = '{0}').",
errorServiceUrl: "Cannot access the Reporting REST service. (serviceUrl = '{0}'). Make sure the service address is correct and enable CORS if needed. (https://enable-cors.org)",
loadingReportPagesInProgress: '{0} pages loaded so far...',
loadedReportPagesComplete: 'Done. Total {0} pages loaded.',
noPageToDisplay: "No page to display.",
errorDeletingReportInstance: "Error deleting report instance: '{0}'.",
errorRegisteringViewer: 'Error registering the viewer with the service.',
noServiceClient: 'No serviceClient has been specified for this controller.',
errorRegisteringClientInstance: 'Error registering client instance.',
errorCreatingReportInstance: "Error creating report instance (Report = '{0}').",
errorCreatingReportDocument: "Error creating report document (Report = '{0}'; Format = '{1}').",
unableToGetReportParameters: 'Unable to get report parameters.',
errorObtainingAuthenticationToken: 'Error obtaining authentication token.',
clientExpired: "Click 'Refresh' to restore client session.",
promisesChainStopError: "Error shown. Throwing promises chain stop error.",
renderingCanceled: "Report processing was canceled.",

//viewer template string resources
parameterEditorSelectNone: 'clear selection',
parameterEditorSelectAll: 'select all',
parametersAreaPreviewButton: 'Preview',

menuNavigateBackwardText: 'Navigate Backward',
menuNavigateBackwardTitle: 'Navigate Backward',
menuNavigateForwardText: 'Navigate Forward',
menuNavigateForwardTitle: 'Navigate Forward',
menuStopRenderingText: 'Stop Rendering',
menuStopRenderingTitle: 'Stop Rendering',
menuRefreshText: 'Refresh',
menuRefreshTitle: 'Refresh',
menuFirstPageText: 'First Page',
menuFirstPageTitle: 'First Page',
menuLastPageText: 'Last Page',
menuLastPageTitle: 'Last Page',
menuPreviousPageTitle: 'Previous Page',
menuNextPageTitle: 'Next Page',
menuPageNumberTitle: 'Page Number Selector',
menuDocumentMapTitle: 'Toggle Document Map',
menuParametersAreaTitle: 'Toggle Parameters Area',
menuZoomInTitle: 'Zoom In',
menuZoomOutTitle: 'Zoom Out',
menuPageStateTitle: 'Toggle FullPage/PageWidth',
menuPrintText: 'Print...',
menuContinuousScrollText: 'Toggle Continuous Scrolling',
menuSendMailText: 'Send an email',
menuPrintTitle: 'Print',
menuContinuousScrollTitle: 'Toggle Continuous Scrolling',
menuSendMailTitle: 'Send an email',
menuExportText: 'Export',
menuExportTitle: 'Export',
menuPrintPreviewText: 'Toggle Print Preview',
menuPrintPreviewTitle: 'Toggle Print Preview',
menuSearchText: 'Search',
menuSearchTitle: 'Toggle Search',
menuSideMenuTitle: 'Toggle Side Menu',

sendEmailFromLabel: "From:",
sendEmailToLabel: "To:",
sendEmailCCLabel: "CC:",
sendEmailSubjectLabel: "Subject:",
sendEmailFormatLabel: "Format:",
sendEmailSendLabel: "Send",
sendEmailCancelLabel: "Cancel",

//accessibility string resources
ariaLabelPageNumberSelector: "Page number selector. Showing page {0} of {1}.",
ariaLabelPageNumberEditor: "Page number editor",
ariaLabelExpandable: "Expandable",
ariaLabelSelected: "Selected",
ariaLabelParameter: "parameter",
ariaLabelErrorMessage: "Error message",
ariaLabelParameterInfo: "Contains {0} options",
ariaLabelMultiSelect: "Multiselect",
ariaLabelMultiValue: "Multivalue",
ariaLabelSingleValue: "Single value",
ariaLabelParameterDateTime: "DateTime",
ariaLabelParameterString: "String",
ariaLabelParameterNumerical: "Numerical",
ariaLabelParameterBoolean: "Boolean",
ariaLabelParametersAreaPreviewButton: 'Preview the report',
ariaLabelMainMenu: 'Main menu',
ariaLabelCompactMenu: 'Compact menu',
ariaLabelSideMenu: 'Side menu',
ariaLabelDocumentMap: 'Document map area',
ariaLabelDocumentMapSplitter: 'Document map area splitbar.',
ariaLabelParametersAreaSplitter: 'Parameters area splitbar.',
ariaLabelPagesArea: 'Report contents area',
ariaLabelSearchDialogArea: 'Search area',
ariaLabelSendEmailDialogArea: "Send email area",
ariaLabelSearchDialogStop: 'Stop search',
ariaLabelSearchDialogOptions: 'Search options',
ariaLabelSearchDialogNavigateUp: 'Navigate up',
ariaLabelSearchDialogNavigateDown: 'Navigate down',
ariaLabelSearchDialogMatchCase: 'Match case',
ariaLabelSearchDialogMatchWholeWord: 'Match whole word',
ariaLabelSearchDialogUseRegex: 'Use regex',
ariaLabelMenuNavigateBackward: 'Navigate backward',
ariaLabelMenuNavigateForward: 'Navigate forward',
ariaLabelMenuStopRendering: 'Stop rendering',
ariaLabelMenuRefresh: 'Refresh',
ariaLabelMenuFirstPage: 'First page',
ariaLabelMenuLastPage: 'Last page',
ariaLabelMenuPreviousPage: 'Previous page',
ariaLabelMenuNextPage: 'Next page',
ariaLabelMenuPageNumber: 'Page number selector',
ariaLabelMenuDocumentMap: 'Toggle document map',
ariaLabelMenuParametersArea: 'Toggle parameters area',
ariaLabelMenuZoomIn: 'Zoom in',
ariaLabelMenuZoomOut: 'Zoom out',
ariaLabelMenuPageState: 'Toggle FullPage/PageWidth',
ariaLabelMenuPrint: 'Print',
ariaLabelMenuContinuousScroll: 'Continuous scrolling',
ariaLabelMenuSendMail: 'Send an email',
ariaLabelMenuExport: 'Export',
ariaLabelMenuPrintPreview: 'Toggle print preview',
ariaLabelMenuSearch: 'Search in report contents',
ariaLabelMenuSideMenu: 'Toggle side menu',
ariaLabelSendEmailFrom: "From email address",
ariaLabelSendEmailTo: "Recipient email address",
ariaLabelSendEmailCC: "Carbon Copy email address",
ariaLabelSendEmailSubject: "Email subject:",
ariaLabelSendEmailFormat: "Report format:",
ariaLabelSendEmailSend: "Send email",
ariaLabelSendEmailCancel: "Cancel sending email",

//search dialog resources
searchDialogTitle: 'Search in report contents',
searchDialogSearchInProgress: "searching...",
searchDialogNoResultsLabel: "No results",
searchDialogResultsFormatLabel: "Result {0} of {1}",
searchDialogStopTitle: 'Stop Search',
searchDialogNavigateUpTitle: 'Navigate Up',
searchDialogNavigateDownTitle: 'Navigate Down',
searchDialogMatchCaseTitle: 'Match Case',
searchDialogMatchWholeWordTitle: 'Match Whole Word',
searchDialogUseRegexTitle: 'Use Regex',
searchDialogCaptionText: 'Find',
searchDialogPageText: 'page',

// Send Email dialog resources

sendEmailDialogTitle: "Send Email",
sendEmailValidationEmailRequired: "Email field is required",
sendEmailValidationEmailFormat: "Email format is not valid",
sendEmailValidationSingleEmail: "The field accepts a single email address only",
sendEmailValidationFormatRequired: "Format field is required",
errorSendingDocument: "Error sending report document (Report = '{0}')."
};

trv.sr = $.extend(trv.sr, sr);

}(window.telerikReportViewer = window.telerikReportViewer || {}, jQuery));


使用以下约定指定文件名:

resources.[culture].js

其中[culture]是指定本地化资源的文化名称。例如,要为简体中文提供本地化资源,可以将相应的资源文件命名为:

resources.zh-CN.js

将新创建的 JavaScript 文件添加到 jQuery 和 telerikReportViewer.js 文件之间的页面的 <head> 元素:



<script src="resources.fr-BE.js"></script>


本地化文件必须在查看器脚本(即telerikReportViewer.js)之前和 jQuery 脚本之后加载到页面上。

翻译指定文化的文本

要修改包含工具栏、预览、参数和 DocumentMap 区域的 HTML5 查看器的 HTML 模板,您必须设置查看器的 templateUrl。有关更多详细信息,请查看提供模板。