本文详细介绍了如何本地化 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
分类:
Kendo
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统