本文详细介绍了如何本地化 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。有关更多详细信息,请查看提供模板

来自:https://docs.telerik.com/reporting/html5-report-viewer-localization