{
  "BootstrapBlazor.Shared.App": {
    "Title": "Bootstrap Blazor - 企业级 UI 组件库",
    "Reload": "重新加载",
    "ErrorMessage": "发生了未处理的异常。有关详细信息，请参见浏览器开发工具。"
  },
  "BootstrapBlazor.Shared.Pages.Index": {
    "BodyClassString": "welcome-body",
    "HeaderTitle": "Bootstrap 风格的 Blazor UI 组件库",
    "HeaderDesc": "基于 <code>Bootstrap</code> 样式库精心打造，并且额外增加了 {0} 多种常用的组件，为您快速开发项目带来非一般的感觉",
    "HeaderBody": "致力于打造全网",
    "HeaderBody1": "最好玩的组件库",
    "DynamicText": "最好用的",
    "DynamicText1": "最好看的",
    "DynamicText2": "最简单实用的",
    "TagTitle": "组件",
    "Span1": "树形组件",
    "Span2": "菜单组件",
    "Span3": "标签组件",
    "Span4": "表格组件",
    "Span5": "布局组件",
    "Span6": "通知组件",
    "Span7": "上传组件",
    "Span8": "开关组件",
    "CarouselH1": "Chart 图表组件",
    "CarouselP1": "提供常用的多种图表组件",
    "CarouselH2": "Chart 图标组件",
    "CarouselP2": "多维度数据对比",
    "CarouselH3": "全功能表格组件",
    "CarouselP3": "具备增删改查搜、分页、排序所有功能",
    "CarouselH4": "超强时间线功能",
    "CarouselP4": "自定义节点显示任意组件",
    "ContainerH1": "丰富组件",
    "ContainerD1": "本套组件库包含超过 {0} 多个组件，从简单的按钮到复杂的整页面级别的组件",
    "ContainerH2": "性能",
    "ContainerD2": "每个控件都经过微调，优化父子组件之间刷新逻辑，避免多次循环更新",
    "ContainerH3": "简单易用",
    "ContainerD3": "轻松掌握组件使用方法，快速将 BootstrapBlazor 控件融入到项目中",
    "ContainerH4": "免费开源",
    "ContainerD4": "简单、直接、免费使用、无依赖组件，依赖 jQuery Bootstrap 均已内置",
    "ContainerH5": "演示与示例",
    "ContainerD5": "详细文档与在线演示，功能设置简单，直接拷贝代码开箱即用",
    "ContainerH6": "持续更新",
    "ContainerD6": "码云平台托管开源，永不闭源，持续更新，及时响应问题与反馈",
    "DonateH1": "捐助",
    "DonateH2": "扫码捐助请作者喝一杯咖啡"
  },
  "BootstrapBlazor.Shared.Shared.HomeLayout": {
    "FooterH1": "相关作品",
    "FooterLi1": "滑块验证码",
    "FriendLink": "友情链接",
    "FriendLi1": "林德熙的博客",
    "FriendLi2": "驰骋工作流",
    "Community": "社区",
    "CommunityLi1": "贡献指南",
    "CommunityLi2": "加入我们",
    "CommunityLi3": "联系方式",
    "SpecialAcknowledgements": "特别鸣谢",
    "Footer": "码云托管平台"
  },
  "BootstrapBlazor.Shared.Samples.Labels": {
    "Title": "组件标签",
    "P1": "本套组件中有 <code>ValidateForm</code> <code>EditorForm</code> 以及多种继承 <code>ValidateBase&lt;TValue&gt;</code> 的 <b>表单组件</b>，这些组件中有一套特殊的显示前置标签逻辑，现在我们统一的梳理一下：",
    "UlLi1": "<a href='/validateforms' target='_blank'>ValidateForm</a> 组件是 <b>可验证的</b> 表单组件，此组件内的表单组件会自动进行数据合规性检查，如果数据不合规将会阻止 <b>提交(Submit)</b> 动作，是数据提交中使用最最最频繁的组件",
    "UlLi2": "<a href='/editorforms' target='_blank'>EditorForm</a> 组件是普通的表单组件，此组件绑定 <code>Model</code> 后即可自动生成整个表单，大大减少重复性编码，外面套上 <code>ValidateForm</code> 即可开启 <b>数据合规性检查</b> 非常方便、简洁、高效",
    "P2": "以 <a href='inputs' target='_blank'>BootstrapInput</a> 输入框组件为例，阐述一下是否显示 <code>Label</code> 逻辑",
    "Tips": "<code>ShowLabel</code> 的逻辑即就近原则，离自身越近的设置生效，如表单组件内置到 <code>ValidateForm</code> 组件中，即使 <code>ValidateForm</code> 设置 <code>ShowLabel=true</code>，表单组件自身设置 <code>ShowLabel=false</code> 时，标签最终结果为 <b>不显示</b>",
    "Block1Title": "单独使用",
    "Block1Intro": "适用于数据录入",
    "Block1P1": "未使用双向绑定时",
    "Block1Li1": "默认不会显示 <code>Label</code>",
    "Block1Li2": "通过 <code>ShowLabel</code> 属性进行控制是否显示",
    "Block1Li3": "设置 <code>DisplayText</code> 时显示内容",
    "Block1Li4": "未设置时渲染一个无内容的 <code>label</code> 组件进行占位",
    "GroupBox1Title": "未双向绑定",
    "GroupBox1D1": "第一个文本框未进行任何设置，不显示标签",
    "GroupBox1D2": "第二个文本框设置 <code>ShowLabel='true' DisplayText=''</code> 显示无内容的占位标签",
    "GroupBox1D3": "第三个文本框设置 <code>ShowLabel='true' DisplayText='Name'</code> 显示设置的内容标签",
    "GroupBox1D4": "第四个文本框设置 <code>ShowLabel='true' DisplayText='@@null'</code> 显示无内容的占位标签",
    "P3": "使用双向绑定时",
    "GroupBox2Title": "双向绑定",
    "GroupBox2D1": "第一个文本框设置 <code>@@bind-Value='Dummy.Name'</code>，不显示标签",
    "GroupBox2D2": "第二个文本框设置 <code>@@bind-Value='Dummy.Name' ShowLabel='true' DisplayText='@@Localizer[nameof(Foo.Address)]'</code> 显示设置的内容",
    "GroupBox2D3": "第三个文本框设置 <code>@@bind-Value='Dummy.Name' ShowLabel='true' DisplayText=''</code> 显示无内容占位标签",
    "GroupBox2D4": "第四个文本框设置 <code>@@bind-Value='Dummy.Name' ShowLabel='true' DisplayText='@@null'</code> 显示资源文件机制下的标签内容 <code>Label</code>",
    "Block2Title": "EditorForm 中使用",
    "Block2Intro": "未套 <code>ValidateForm</code> 中使用",
    "P4": "<b>显示标签</b><div>未设置 <coe>EditorForm</coe> 组件的 <code>ShowLabel</code> 属性，未设置时等同于设置为 <code>true</code>，所有组件 <b>显示</b> 标签</div>",
    "P5": "<b>不显示标签</b><div>设置 <code>ShowLabel='false'</code>，组件内的所有表单组件 <b>不显示</b> 标签</div>",
    "Block3Title": "EditorForm 内置 ValidateForm 中使用",
    "Block3Intro": "外置 <code>ValidateForm</code> 中使用",
    "P6": "<b>显示标签</b><div>未设置 <coe>EditorForm</coe> 组件的 <code>ShowLabel</code> 属性，未设置时等同于设置为 <code>true</code>，所有组件 <b>显示</b> 标签</div>",
    "P7": "<b>不显示标签</b><div>设置 <code>ShowLabel='false'</code>，组件内的所有表单组件 <b>不显示</b> 标签</div>",
    "Block4Title": "ValidateForm 中使用",
    "Block4Intro": "默认自动开启显示标签",
    "P8": "<b>显示标签</b><div>未设置 <coe>EditorForm</coe> 组件的 <code>ShowLabel</code> 属性，未设置时等同于设置为 <code>true</code>，所有组件 <b>显示</b> 标签</div>",
    "P9": "<b>不显示标签</b><div>设置 <code>ShowLabel='false'</code>，组件内的所有表单组件 <b>不显示</b> 标签</div>",
    "P10": "<b>显示标签</b><div>设置样式 <code>form-inline</code>，组件内的所有表单组件标签前置</div>"
  },
  "BootstrapBlazor.Shared.Pages.Install": {
    "InstallTitle": "安装",
    "GitP1": "Git 工具有很多种大家比较熟悉的，这里我介绍两款 Git 客户端工具",
    "GitP2": "推荐使用 <a href='https://fork.dev'>Fork</a> 工具进行安装，它能更好地和 <a href='https://visualstudio.microsoft.com/vs/getting-started/' target='_blank'>Visutal Studio</a> 开发工具配合使用。",
    "NugetInstall": "Nuget 安装",
    "NugetP1": "使用 <a href='https://www.nuget.org/packages?q=BootstrapBlazor' target='_blank'>nuget.org</a> 进行 BootstrapBlazor 组件的安装",
    "EnvBuildTitle": "项目环境搭建",
    "EnvLi1": "安装 .net core sdk <a href='http://www.microsoft.com/net/download' target='_blan'>官方网址</a>",
    "EnvLi2": "安装 Visual Studio 2019 以上 <a href='https://visualstudio.microsoft.com/vs/getting-started' target='_blank'>官方网址</a>",
    "EnvLi3": "拉取项目代码 BootstrapBlazor <a href='https://gitee.com/LongbowEnterprise/BootstrapBlazor' target='_blank'>仓库网址</a>"
  },
  "BootstrapBlazor.Shared.Pages.Template": {
    "Title": "项目模板",
    "SubTitle": "Bootstrap Blazor App 模板",
    "P1": "为了方便大家利用这套组件快速搭建项目，作者制作了 <b>项目模板（<code>Project Templates</code>）</b>，使用 <code>dotnet new</code> 命令行模式，使用步骤如下：",
    "P2": "1. 安装项目模板",
    "P3": "2. 创建工程",
    "P4": "创建工程后在当前文件夹内会生成 <code>BootstrapBlazorApp</code> 解决方案，<code>src</code> 目录内包含 <code>Server-Side</code> <code>Wasm</code> 两种类型的工程，均可以直接 <kbd>F5</kbd> 运行",
    "P5": "3. 更新项目模板",
    "P6": "注:此命令为检查是否有可用于当前安装的模板包的更新并安装这些更新。",
    "P7": "4. 卸载项目模板",
    "SubTitle1": "Bootstrap Blazor App Extension 扩展插件",
    "P8": "为了方便使用 <code>Bootstrap Blazor</code> 组件库，作者制作了 <b>项目模板（<code>Bootstrap Blazor Project Template</code>）</b> 扩展插件，安装此插件可通过 <code>Visual Studio 2022 IDE</code> 新建项目时选择 <code>Bootstrap Blazor 项目模板</code>，解决方案内置 <code>Server-Side</code> 与 <cide>wasm</cide> 两种类型工程"
  },
  "BootstrapBlazor.Shared.Pages.Golbalization": {
    "Title": "全球化",
    "SubTitle": "ASP.NET Core Blazor 全球化",
    "P1": "阅读以下知识点前请先查看 <a href='https://docs.microsoft.com/zh-cn/aspnet/core/blazor/globalization-localization?view=aspnetcore-3.1' target='_blank'>微软官方文档</a>"
  },
  "BootstrapBlazor.Shared.Components.InstallContent": {
    "H1": "组件引用",
    "P1": "组件引用有多种方法，可以参阅 <a href='install'>类库安装</a>",
    "H2": "CSS 文件",
    "P2": "将 Bootstrap 的 CSS 文件以 <code>&lt;link&gt;</code> 标签的形式添加到 <code>{0}</code> 文件 <code>&lt;head&gt;</code> 标签中，并放置在所有其它样式表之前。",
    "Tips": "本套组件 <b>5.0.32</b> 版本后移除内置 <code>font-awesome</code> 图标，请自行下载或者使用 <b>CDN</b> 加速服务",
    "Tips2": "如果是使用 <code>Blazor App</code> 模板创建的工程请移除默认的 <code>Bootstrap</code> 样式链接 <code>&lt;link rel='stylesheet' href='css/bootstrap/bootstrap.min.css' /&gt;</code>",
    "H3": "JS 文件",
    "P3": "Bootstrap 所提供的许多组件都依赖 JavaScript 才能运行。具体来说，这些组件都依赖 jQuery、Popper.js 以及我们自己的 JavaScript 插件。将以下 <code>&lt;script&gt;</code> 标签放到 <code>{0}</code> 文件尾部且在 <code>&lt;/body&gt;</code> 标签之前即可起作用。",
    "H4": "添加命名空间到 <code>_Imports.razor</code> 文件",
    "H5": "注册服务",
    "H6": "使用组件",
    "P4": "在 <code>razor</code> 组件中引用 <code>BootstrapBlazor</code> 组件",
    "Pre3": "&lt;Button Color='Color.Primary'&gt;主要按钮&lt;/Button&gt;"
  },
  "BootstrapBlazor.Shared.Pages.Install_Server": {
    "Title": "服务端渲染模式",
    "Configure": "配置服务",
    "CodeComment": "添加本行代码"
  },
  "BootstrapBlazor.Shared.Pages.Install_wasm": {
    "Title": "客户端渲染模式",
    "CodeComment": "添加本行代码"
  },
  "BootstrapBlazor.Shared.Samples.Dividers": {
    "Title": "Divider 分割线",
    "H1": "区隔内容的分割线。",
    "Block1Title": "基础用法",
    "Block1Intro": "对不同章节的文本段落进行分割。",
    "P1": "青春是一个短暂的美梦, 当你醒来时, 它早已消失无踪",
    "P2": "少量的邪恶足以抵消全部高贵的品质, 害得人声名狼藉",
    "Block2Title": "设置文案",
    "Block2Intro": "可以在分割线上自定义文案内容。",
    "D1": "少年包青天",
    "D2": "英雄联盟",
    "D3": "学习语录",
    "P3": "头上一片晴天，心中一个想念",
    "P4": "骑士归来之时，断剑重铸之日",
    "P5": "一只萌萌哒图标",
    "P6": "学习使我快乐",
    "Block3Title": "设置图标",
    "Block3Intro": "可以在分割线上自定义文案内容。",
    "D4": "书签",
    "Block4Title": "垂直分割",
    "Block4Intro": "进行垂直显示分割线",
    "S1": "雨纷纷",
    "S2": "旧故里",
    "S3": "草木深",
    "D5": "分割线",
    "Block5Title": "自定义内容",
    "Block5Intro": "通过设置 <code>ChildContent</code> 内容可以自定义任意内容",
    "Div": "我是自定义内容 <code>div</code> 元素",
    "Desc1": "设置分割线显示文字",
    "Desc2": "设置分割线显示图标",
    "Desc3": "设置分割线显示文字对齐方式",
    "Desc4": "设置分割线是否为垂直分割",
    "Desc5": "ChildContent 模板"
  },
  "BootstrapBlazor.Shared.Samples.Scrolls": {
    "Title": "Scroll 滚动条",
    "H1": "给高度或者宽度超标的组件增加滚动条",
    "P1": "其元素必须拥有固定高度时才可呈现滚动条，可以通过外套元素设置其 <code>height</code> 属性",
    "Block1Title": "普通用法",
    "Block1Intro": "给组件增加滚动条，通过设置 <code>Height</code> 高度值为 200px 使内部子元素高度为 400px 时出现滚动条",
    "D1": "请滚动右侧滚动条",
    "D2": "我是最底端",
    "Desc1": "子组件",
    "Desc2": "组件高度"
  },
  "BootstrapBlazor.Shared.Samples.Layouts": {
    "Title": "Layout 布局",
    "H1": "用于布局的容器组件，方便快速搭建页面的基本结构：",
    "Code1": "外层容器。当子元素中包含 <code>Header</code> 或 <code>Footer</code> 时，全部子元素会垂直上下排列，否则会水平左右排列。",
    "Code2": "顶栏容器",
    "Code3": "侧边栏容器",
    "Code4": "主要区域容器",
    "Code5": "底栏容器",
    "H2": "组件概述",
    "Code6": "布局容器，其下可嵌套 <code>Header</code> <code>Sider</code> <code>Main</code> <code>Footer</code> 或 <code>Layout</code> 本身，可以放在任何父容器中",
    "Code7": "顶部布局，自带默认样式，其下可嵌套任何元素",
    "Code8": "侧边栏，自带默认样式及基本功能，其下可嵌套任何元素",
    "Code9": "内容部分，自带默认样式，其下可嵌套任何元素",
    "Code10": "底部布局，自带默认样式，其下可嵌套任何元素",
    "P1": " 以上组件采用了 flex 布局，使用前请确定目标浏览器是否兼容。此外，<code>Layout</code> 的子元素只能是后四者，后四者的父元素也只能是 <code>Layout</code>",
    "b1": "注意事项",
    "P2": "为了方便大家利用这套组件快速搭建项目，作者制作了 <b>项目模板（<code>Project Templates</code>）</b>，使用 <code>dotnet new</code> 命令行，与 <code>Bootstrap Blazor App Extension 扩展插件</code> 通过 <code>Visual Studio 2019</code> 新建项目创建，具体使用方法与步骤请点击 <a href='template' target='_blank'>传送门</a>",
    "H3": "常见页面布局",
    "Block1Title": "上中下布局",
    "Block1Intro": "常见于互联网网站布局",
    "Block2Title": "中部左右结构布局",
    "Block2Intro": "中部采用左右结构，多用于后台管理网站布局，当布局模板中增加 <code>Side</code> 组件时默认采用上中下，中部采用左右结构布局",
    "Block3title": "左右结构",
    "Block3Intro": "右侧采用上中下结构，多用于后台管理网站布局，通过设置 <code>IsFullSide</code> 属性值来控制布局为左右结构",
    "Block4Title": "自定义侧边栏宽度支持百分比",
    "Block4Intro": "通过设置 <code>SideWidth</code> 属性控制侧边栏宽度，支持百分比写法，设置 <code>0</code> 时关闭设置宽度功能，采用内部子控件撑满宽度特性",
    "Block5Title": "实战应用",
    "D1": "实际使用过程中，侧边栏一般有两种用法",
    "D2": "侧边栏充满整个屏幕，当菜单总体高度超出屏幕后出现滚动条",
    "D3": "侧边栏不做处理高度由内容自动撑开",
    "D4": "由于存在多种运用方式，所以本组件未进行封装，由自己决定如何进行布局，下面是实际运用中的实战示例",
    "P3": "为了方便大家学习与比较以下实战示例中尽量使用 <code>style</code> 内联样式",
    "P4": "本例点击左侧菜单展开后出现滚动条",
    "Tips1": "右侧面板中可用区域默认为全部，适用于带 <code>Tab</code> 组件的布局，本例中为了美观 <code>Main</code> 模板中内置了一个 <code>div</code> 并且设置样式为 <code>style='padding: 1rem;'</code>",
    "P5": "本例点击左侧菜单展开后不出现滚动条会撑开父容器高度",
    "P6": " <code>Layout</code> 组件与 <code>Tab</code> 组件配合使用实战示例请参阅 <a href='/tabs'>Tab 组件</a>",
    "Block6Title": "整页面级别的组件",
    "Tips2": "通过设置 <code>IsPage</code> 属性设置 <code>Layout</code> 组件是否掌控正页面级别的布局方式，设置为 <code>true</code> 后，本组件采用整屏布局",
    "Li": "整页面组件生成器",
    "Desc1": "页头组件模板",
    "Desc2": "侧边栏组件模板",
    "Desc3": "侧边栏宽度，支持百分比，设置 0 时关闭宽度功能",
    "Desc4": "内容组件模板",
    "Desc5": "页脚组件模板",
    "Desc6": "整页面布局时侧边栏菜单数据集合",
    "Desc7": "侧边栏是否占满整个左边",
    "Desc8": "是否为整页面布局",
    "Desc9": "是否固定 Footer 组件",
    "Desc10": "是否固定 Header 组件",
    "Desc11": "是否显示收缩展开 Bar",
    "Desc12": "是否显示 Footer 模板",
    "Desc13": "是否显示返回顶端按钮",
    "Desc14": "是否开启多标签模式",
    "Desc15": "额外程序集合，传递给 Tab 组件使用",
    "Desc16": "收缩展开回调委托",
    "Desc17": "点击菜单项时回调委托",
    "TabDefaultUrl": "设置 Tab 组件默认标签页"
  },
  "BootstrapBlazor.Shared.Samples.Footers": {
    "Title": "Footer 页脚组件",
    "H1": "显示在网页的最下方，提供返回顶端按钮",
    "P1": "<code>Footer</code> 组件使用时注意样式表 <code>position</code> 属性的设置",
    "BlockTitle": "基础用法",
    "BlockIntro": "传递滚动条组件的 ID 给页脚组件",
    "P2": "底部显示 Footer 组件，点击返回顶端时页面自动滚动回顶端",
    "P3": "本示例传递的是组件客户端 ID",
    "Desc1": "页脚组件显示的文字",
    "Desc2": "页脚组件控制的滚动条组件 ID"
  },
  "BootstrapBlazor.Shared.Samples.Rows": {
    "Title": "Row布局组件",
    "H1": "可简单设置一行显示的组件数量",
    "Block1Title": "放置普通控件",
    "Block1Intro": "将自己的组件放到 <code>Row</code> 内部即可",
    "b1": "行显示 3 个，采用 <code>Row</code>",
    "Block2Title": "放置表单控件（内联）",
    "Block2Intro": "当放置表单控件时，可以指定 <code>RowType</code> 为 <code>Inline</code>，会将 <b>Label</b> 显示在左边，控件充满剩余空间",
    "Block3Title": "放置表单控件",
    "Block3Intro": "当放置表单控件时，可以指定 <code>RowType</code> 为 <code>Normal</code>，会将 <b>Label</b> 显示在上边，控件充满",
    "P1": "本例中 <code>Row</code> 组件内置于 <code>ValidateForm</code> 组件内，自动增加前置 <code>Label</code> 标签",
    "Block4Title": "嵌套使用",
    "Block4Intro": "<code>Row</code> 组件支持嵌套使用，比如下面最外层的 <code>Row</code> 设置一行显示两个控件，第一个是 <code>TextBox</code>，第二个还是 <code>Row</code>，第二个 <code>Row</code> 继续设置显示两个控件",
    "Block5Title": "跨列功能",
    "Block5Intro": "<code>Row</code> 组件可以通过指定 <code>ColSpan</code> 值设置跨列数，组合这些功能可以实现复杂布局",
    "b2": "行显示 4 个",
    "b3": "行显示 2 个",
    "b4": "行显示 4 个 <code>Address</code> 占 2 列",
    "b5": "行显示 4 个，第二个组件 <code>ColSpan</code> 设置为 3",
    "b6": "行显示 2 个，第一个组件 <code>ColSpan</code> 设置为 3",
    "b7": "行显示一个组件",
    "Desc1": "设置一行显示几个控件",
    "Desc2": "设置排版格式，子Row如果不指定，会使用父Row的设置",
    "Desc3": "设置子Row跨父Row列数",
    "Desc4": "设置行内最多显示的控件数"
  },
  "BootstrapBlazor.Shared.Samples.Skeletons": {
    "Title": "Skeleton 骨架屏",
    "H1": "在需要等待加载内容的位置提供一个占位图形组合",
    "b1": "何时使用",
    "Li1": "网络较慢，需要长时间等待加载处理的情况下",
    "Li2": "图文信息内容较多的列表/卡片中",
    "Li3": "只在第一次加载数据的时候使用",
    "Li4": "可以被 Spin 完全代替，但是在可用的场景下可以比 Spin 提供更好的视觉效果和用户体验",
    "Block1Title": "图片骨架屏",
    "Block1Intro": "适用于头像、图片等类型加载时显示",
    "P1": "通过设置 <code>Circle</code> 属性可以设置为圆形显示",
    "Block2Title": "段落骨架屏",
    "Block2Intro": "适用于大段文字等类型加载时显示",
    "P2": "默认段落骨架屏仅显示三行，如果需要多行占位，请放置多个 <code>SkeletonParagraph</code> 即可",
    "Block3Title": "表单骨架屏",
    "Block3Intro": "适用于编辑表单加载时显示",
    "Block4Title": "表格骨架屏",
    "Block4Intro": "适用于编辑表格加载时显示"
  },
  "BootstrapBlazor.Shared.Pages.Coms": {
    "Search": "搜索想要的组件",
    "Text1": "布局组件",
    "DividerText": "分割线 Divider",
    "LayoutText": "布局组件 Layout",
    "FooterText": "页脚组件 Footer",
    "RowText": "行组件 Row",
    "ScorllText": "滚动条 Scroll",
    "SkeletonText": "骨架屏 Skeleton",
    "SplitText": "分割面板 Split",
    "Text2": "导航组件",
    "AnchorText": "锚点 Anchor",
    "AnchorLinkText": "锚点链接 AnchorLink",
    "BreadcrumbText": "面包屑 Breadcrumb",
    "MenuText": "菜单 Menu",
    "NavText": "导航栏 Nav",
    "DropdownText": "下拉菜单 Dropdown",
    "FullScreenText": "全屏组件 FullScreen",
    "GoTopText": "跳转组件 GoTop",
    "LogoutText": "登出组件 Logout",
    "PaginationText": "分页 Pagination",
    "StepsText": "步骤条 Steps",
    "TabText": "标签页 Tab",
    "Text3": "表单组件",
    "EditorFormText": "表单组件 EditorForm",
    "ValidateFormText": "表单组件 ValidateForm",
    "AutoCompleteText": "自动完成 AutoComplete",
    "AutoFillText": "自动填充 AutoFill",
    "ButtonText": "按钮 Button",
    "CascaderText": "Cascader 级联选择",
    "CheckboxText": "多选框 Checkbox",
    "CheckboxListText": "多选框组 CheckboxList",
    "ColorPickerText": "颜色拾取器 ColorPicker",
    "DateTimePickerText": "时间框 DateTimePicker",
    "DateTimeRangeText": "时间范围框 DateTimeRange",
    "EditorText": "富文本框 Editor",
    "InputText": "输入框 Input",
    "InputNumberText": "数字框 InputNumber",
    "MarkdownText": "富文本框 Markdown",
    "FloatingLabelText": "悬浮标签 FloatingLabel",
    "RadioText": "单选框 Radio",
    "RateText": "评分 Rate",
    "SelectText": "选择器 Select",
    "MultiSelectText": "多项选择器 MultiSelect",
    "SliderText": "滑块 Slider",
    "SwitchText": "开关 Switch",
    "TextareaText": "多行文本框 Textarea",
    "ToggleText": "开关 Toggle",
    "TransferText": "穿梭框 Transfer",
    "UploadText": "上传组件 Upload",
    "Text4": "数据组件",
    "AvatarText": "头像框 Avatar",
    "BadgeText": "徽章 Badge",
    "CardText": "卡片 Card",
    "CalendarText": "日历框 Calendar",
    "CaptchaText": "验证码 Captcha",
    "CarouselText": "走马灯 Carousel",
    "CircleText": "进度环 Circle",
    "ClientText": "客户信息服务 Client",
    "DisplayText": "数据显示 Display",
    "EmptyText": "空状态 Empty",
    "LocatorText": "位置定位 Locator",
    "IpText": "IP 地址 IpAddress",
    "PrintText": "打印组件 Print",
    "TitleText": "网站标题 Title",
    "DownloadText": "文件下载 Download",
    "TransitionText": "过渡效果 Transition",
    "CollapseText": "折叠 Collapse",
    "DropdownWidgetText": "挂件 DropdownWidget",
    "GroupBoxText": "集合 GroupBox",
    "LinkButtonText": "链接按钮组件 LinkButton",
    "ListViewText": "列表组件 ListView",
    "PopoverText": "弹出框 Popover",
    "QRCodeText": "二维码 QRCode",
    "SearchText": "搜索框 Search",
    "TableText": "表格 Table",
    "TagText": "标签 Tag",
    "TimelineText": "时间线 Timeline",
    "TooltipText": "工具条 Tooltip",
    "TreeText": "树形控件 Tree",
    "BarcodeReaderText": "条码扫描 BarcodeReader",
    "BlockText": "条件块 Block",
    "CameraText": "摄像头组件 Camera",
    "HandwrittenPageText": "手写签名 Handwritten",
    "Text5": "消息组件",
    "AlertText": "警告框 Alert",
    "ConsoleText": "控制台 Console",
    "DialogText": "对话框 Dialog",
    "DrawerText": "抽屉 Drawer",
    "EditDialogText": "编辑弹窗 EditDialog",
    "MessageText": "消息框 Message",
    "ModalText": "模态框 Modal",
    "LightText": "指示灯 Light",
    "PopconfirmText": "确认框 Popconfirm",
    "ProgressText": "进度条 Progress",
    "SpinnerText": "旋转图标 Spinner",
    "SweetAlertText": "模态弹窗 SweetAlert",
    "SearchDialogText": "搜索弹窗 SearchDialog",
    "ToastText": "轻量弹窗 Toast",
    "TimerText": "计时器 Timer",
    "Text6": "图表 Chart",
    "ChartText": "图表 Chart",
    "ChartSummaryText": "图表简介",
    "ChartLineText": "折线图",
    "ChartBarText": "柱状图",
    "ChartPieText": "饼图",
    "ChartDoughnutText": "圆环图",
    "ChartBubbleText": "气泡图",
    "DispatchText": "消息分发 Dispatch"
  },
  "BootstrapBlazor.Shared.Samples.GlobalException": {
    "Title": "全局异常",
    "Introduce": "<p>增加组件 <code>ErrorLogger</code> 通过本组件可以对全局的日志、异常进行统一输出；目前由于 <code>Blazor</code> 框架并未提供一个类似 <code>MVC</code> 的 <b>全局异常</b> 整体解决方案</p><ul class='ul-demo'><li><b>NET5.0</b> 框架下暂时还需要在代码块中使用 <code>try/catch</code> 进行异常捕获</li><li><b>NET6.0</b> 框架下 <b>无需任何额外代码</b> 即可进行全局异常捕获与处理</li></ul>",
    "H1": "使用方法",
    "Step1": "1. <code>Startup</code> 文件中增加 <code>AddLogging</code> 开启 <code>net core</code> 系统日志功能",
    "Step1Introduce": "使用 <code>AddFileLogger</code> 需要引用 <b>Longbow.Logging</b> 组件包 <a href='https://www.nuget.org/packages/Longbow.Logging/' target='_blank'>[传送门]</a>",
    "Step2": "2. 使用 <code>ErrorLogger</code> 对内容进行包裹，如：<code>MainLayout</code> 中对 <code>Body</code> 使用",
    "Step3": "3. 代码中输入错误信息",
    "Step4": "4. 控制台输出可见日志信息",
    "Step5": "5. 控制是否显示错误明细信息",
    "Step5Intro": "通过配置文件 <code>appsettings.json</code>，开发环境下为 <code>appsettings.Development.json</code>，未设置时默认为 <code>false</code> 不显示，默认行为仅做弹窗提示防止敏感信息暴露",
    "Block1Title": "测试",
    "Block1Intro": "本功能是通过代码产生异常信息，由全局捕获组件统一处理",
    "ExceptionTestIntroduce": "本例代码中写了一个除以零的错误代码，并且未使用 <code>try/catch</code> 对异常进行捕获，系统并不会崩溃导致不可用，<ul class='ul-demo'><li><code>Debug</code> 模式下会显示错误的 <b>描述信息</b> 与 <b>堆栈信息</b></li><li><code>Release</code> 模式下默认使用 <code>Toast</code> 进行弹窗提示</li></ul><div>可通过设置 <code>ErrorContent</code> 对 <b>异常信息</b> 进行自定义布局显示</div>",
    "ButtonText": "测试",
    "Block2Title": "自定义错误处理",
    "Block2Intro": "通过设置 <code>OnErrorHandleAsync</code> 回调方法，设置自定义异常处理逻辑",
    "Tips": "<code>Layout</code> 组件与 <code>Tab</code> 组件均已内置 <code>ErrorLogger</code> 组件请勿在上述两个组件内额外添加使用，下面是精简后的示例代码"
  },
  "BootstrapBlazor.Shared.Samples.Splits": {
    "Title": "Split 面板分割",
    "Block1Title": "基础用法",
    "Block1Intro": "左右分割",
    "Pannel1": "我是左侧面板",
    "Pannel2": "我是右侧面板",
    "Block2Title": "设置初始化百分比",
    "Block2Intro": "通过设置 <code>Basis</code> 属性来设置初始化位置占比",
    "Block3Title": "垂直分割",
    "Block3Intro": "通过设置 <code>IsVertical</code> 属性控制垂直分割面板",
    "Pannel3": "我是上部面板",
    "Pannel4": "我是底部面板",
    "Block4Title": "嵌套使用",
    "Block4Intro": "通过嵌套 <code>Split</code> 组件进行组合布局",
    "Pannel5": "上边面板",
    "Pannel6": "下边面板",
    "Pannel7": "右边面板",
    "Desc1": "样式",
    "Desc2": "第一个窗格位置占比",
    "Desc3": "第一个窗格模板",
    "Desc4": "第二个窗格模板"
  },
  "BootstrapBlazor.Shared.Samples.Dropdowns": {
    "Title": "Dropdown 下拉菜单",
    "H1": "将动作或菜单折叠到下拉菜单中",
    "Block1Title": "基础用法",
    "Block1Intro": "使用 <code>TagName='a'</code> 开启带有 button 标签的下拉表",
    "Block2Title": "Dropdown 空下拉菜单",
    "Block2Intro": "允许空 <code>Items</code> 存在的下拉菜单",
    "Block3Title": "带有颜色的下拉框",
    "Block3Intro": "提供各种颜色的警告信息框 引用 <code>Color='Color.Primary'</code> 等颜色及样式类来定义下拉菜单的外在表现",
    "Block4Title": "分裂式按钮下拉菜单",
    "Block4Intro": "可用与单个按钮下拉菜单近似的标记创建分裂式下拉菜单，添加 ShowSplit='true'(使用分裂式组件时需要加上 <code>DropdownType='DropdownType.ButtonGroup</code>') 插入此符号为下拉选项作适当的间隔（距）处理。",
    "Block5Title": "尺寸大小定义",
    "Block5Intro": "下拉菜单有各种大小规格可以选用 <code>Size</code> 属性，包括预设及分裂式按钮下拉菜单。",
    "Block6Title": "展开方向",
    "Block6Intro": "增加 <code>Direction='Direction.Dropup'</code> 样式，使下拉菜单向上展开。",
    "Block7Title": "菜单对齐",
    "Block7Intro": "默认情况下，通过设置 <code>MenuAlignment=Alignment.Right</code> 使下拉菜单右侧对齐",
    "Block8Title": "绑定数据源",
    "Block8Intro": "点击右侧按钮时，下拉框内菜单项会增加",
    "Button1Text": "添加",
    "Button2Text": "删除",
    "Block9Title": "绑定数据源",
    "Block9Intro": "改变选项时，下拉框内菜单项会增加",
    "Block10Title": "级联绑定",
    "Block10Intro": "通过选择第一个下拉框不同选项，第二个下拉框动态填充内容。",
    "FixedButtonTextTitle": "固定按钮文本",
    "FixedButtonTextIntro": "通过设置 <code>IsFixedButtonText</code> 使更改下拉选项时按钮文本不变",
    "ADesc1": "当前选中的值",
    "ADesc2": "样式",
    "ADesc3": "颜色",
    "ADesc4": "下拉框弹出方向",
    "ADesc5": "下拉框值",
    "ADesc6": "菜单对齐方式",
    "ADesc7": "菜单项渲染标签",
    "ADesc8": "菜单对齐",
    "ADesc9": "分裂式按钮下拉菜单(使用分裂式组件时需要加上MenuType='MenuType.Btngroup')",
    "ADesc10": "尺寸",
    "ADesc11": "标签",
    "EDesc1": "下拉框值发生改变时触发"
  },
  "BootstrapBlazor.Shared.Samples.GoTops": {
    "Title": "GoTop 返回顶端组件",
    "H1": "点击后返回指定容器的顶端",
    "Block1Title": "基础用法",
    "Block1Intro": "点击后返回顶端",
    "P1": "底部显示 Footer 组件，点击返回顶端时页面自动滚动回顶端",
    "P2": "本示例传递的是组件客户端 ID",
    "Desc1": "页脚组件控制的滚动条组件 ID"
  },
  "BootstrapBlazor.Shared.Samples.Menus": {
    "Title": "Menu 导航菜单",
    "H1": "为页面和功能提供导航的菜单列表。",
    "Tips1": "<code>Menu</code> 组件一般用法为菜单导航，即点击菜单后地址栏进行重定向导航，但是在实战中有时候不需要导航，通过设置 <code>OnClick</code> 回调委托，自定义处理逻辑，此时通过设置属性 <code>DisableNavigation</code> 即可，本例中由于都是模拟菜单点击并未真正的进行地址栏跳转导航所以所有 <code>Menu</code> 均设置为 <code>true</code> 禁止导航",
    "Block1Title": "顶栏",
    "Block1Intro": "适用广泛的基础用法。",
    "Block2Title": "底栏",
    "Block2Intro": "设置参数 <code>IsBottom</code> 值为 <b>true</b> 菜单栏在容器底部，适用移动端",
    "Tips2": "由于 <b>底栏菜单</b> 是相对与父容器定位的，需设置父级节点样式 <code>position-relative</code>，或者自定义样式 <code>position-fixed</code>",
    "Block3Title": "带图标的顶栏菜单",
    "Block3Intro": "适用简单的网站应用，通过设置菜单项 <code>MenuItem</code> 的 <code>Icon</code> 属性设置菜单图标",
    "Block4Title": "侧栏",
    "Block4Intro": "适用于左右结构布局的网站，通过设置 <code>IsVertical</code> 更改导航菜单为侧栏",
    "Block5Title": "带图标的侧栏菜单",
    "Block5Intro": "通过设置菜单项 <code>MenuItem</code> 的 <code>Icon</code> 属性设置菜单图标",
    "Block6Title": "手风琴效果的侧栏",
    "Block6Intro": "通过设置 <code>IsAccordion</code> 属性设置手风琴特效侧栏菜单",
    "Block7Title": "带收缩的侧栏效果",
    "Block7Intro": "通过设置 <code>IsCollapsed</code> 属性设置侧栏菜单为收起状态",
    "AlertText": "请注意 <code>IsCollapsed</code> 属性仅当 <code>IsVertical</code> 为真时才生效即仅侧边栏菜单时可用",
    "P1": "本例中使用布局组件 <code>Layout</code> 来进行网页构建，设置 <code>SideWith='0'</code> 关闭侧边栏宽度设置，使用内部菜单宽度来自适应",
    "Block7aTitle": "点击展开收缩左侧菜单",
    "Block7Span": "我是网站标题",
    "Block8Title": "带挂件的菜单",
    "Block8Intro": "通过设置 <code>MenuItem</code> 的 <code>Component</code> 属性设置自定义组件到菜单中",
    "Block9Title": "自定义节点收缩",
    "Block9Intro": "通过设置 <code>MenuItem</code> 的 <code>IsCollapsed</code> 属性设置节点是否收起",
    "P2": "本例中 <b>权限设置</b> 节点为展开状态，其余节点为收起状态",
    "Block10Title": "动态更改菜单",
    "Block10Intro": "通过代码动态设置 <code>Items</code> 属性值更改菜单项",
    "Block10Button1": "更新菜单",
    "Block10Button2": "重置菜单",
    "Block11Title": "部分菜单禁用功能",
    "Block11Intro": "通过设置 <code>MenuItem</code> 的 <code>IsDisabled</code> 属性设置节点是否禁用",
    "P3": "本例中 <b>导航二</b> 节点为禁用状态，菜单与其子菜单均不可点击",
    "b1": "侧栏的禁用示例",
    "Desc1": "菜单组件数据集合",
    "Desc2": "是否为侧栏",
    "Desc3": "是否为底栏",
    "Desc4": "是否手风琴效果",
    "Desc5": "是否禁止地址栏导航",
    "Desc6": "菜单项被点击时回调此方法",
    "System": "系统设置",
    "Website": "网站设置",
    "Task": "任务设置",
    "Authorize": "权限设置",
    "User": "用户设置",
    "Menu": "菜单设置",
    "Role": "角色设置",
    "Log": "日志设置",
    "Access": "访问日志",
    "Login": "登录日志",
    "Operation": "操作日志",
    "Menu1": "菜单一",
    "Menu2": "菜单二",
    "Menu3": "菜单三",
    "SubMenu1": "子菜单 1",
    "SubMenu2": "子菜单 2",
    "SubMenu3": "子菜单 3",
    "SubMenu11": "孙菜单 11",
    "SubMenu12": "孙菜单 12",
    "SubMenu21": "孙菜单 21",
    "SubMenu22": "孙菜单 22",
    "SubMenu31": "曾孙菜单 31",
    "SubMenu32": "曾孙菜单 32",
    "SubMenu41": "曾曾孙菜单 41",
    "SubMenu42": "曾曾孙菜单 42"
  },
  "BootstrapBlazor.Shared.Samples.Navs": {
    "Title": "Nav 导航组件",
    "H1": "为网站提供导航功能的菜单。",
    "Block1Title": "基本导航样式",
    "Block1Intro": "本例中通过设置 <code>Items</code> 属性，通过程序 api 对导航组件进行赋值，并且在导航组件的 <code>ChildContext</code> 中直接写入 <code>NavLink</code> 组件",
    "Block2Title": "对齐",
    "Block2Intro": "通过设置 <code>Alignment</code> 属性来控制组件对齐方式",
    "Divider": "分割线",
    "Block3Title": "垂直",
    "Block3Intro": "本例中通过设置 <code>IsVertical</code> 属性控制导航是否为垂直分布",
    "Block4Title": "胶囊式",
    "Block4Intro": "通过设置 <code>IsPills</code> 属性控制导航菜单背景色",
    "Block5Title": "填充和对齐",
    "Block5Intro": "通过设置 <code>IsFill</code> 属性控制导航菜单均匀分布填满整个导航栏",
    "Block6Title": "等宽",
    "Block6Intro": "通过设置 <code>IsJustified</code> 属性使每个导航项目将具有相同的宽度。",
    "Desc1": "内容",
    "Desc2": "组件对齐方式",
    "Desc3": "垂直分布",
    "Desc4": "胶囊",
    "Desc5": "填充",
    "Desc6": "等宽"
  },
  "BootstrapBlazor.Shared.Samples.Paginations": {
    "Title": "Pagination 分页",
    "H1": "当数据量过多时，使用分页分解数据。",
    "Block1Title": "基础用法",
    "Block1Intro": "可以通过下拉框选取每页显示数据数量",
    "Block2Title": "仅显示文本提示",
    "Block2Intro": "只有一页时不显示切换页码组件，仅显示文本提示",
    "Block3Title": "仅显示分页组件",
    "Block3Intro": "通过 <code>ShowPaginationInfo='false'</code> 设置不显示文本提示",
    "Desc1": "当前页码",
    "Desc2": "每页显示数据数量",
    "Desc3": "每页显示数据数量的外部数据源",
    "Desc4": "是否显示分页数据汇总信息",
    "Desc5": "数据总数",
    "Event1": "第一个参数是当前页码，第二个参数是当前每页设置显示的数据项数量",
    "Event2": "点击设置每页显示数据数量时回调方法",
    "AiraPageLabel": "分页组件",
    "AiraPrevPageText": "上一页",
    "AiraFirstPageText": "第一页",
    "AiraNextPageText": "下一页",
    "PageInfoText": "页数信息",
    "TotalInfoText": "记录总数信息",
    "PrePageInfoText": "每页显示信息",
    "RowInfoText": "记录信息",
    "LabelString": "标签信息",
    "SelectItemsText": "分页选择器信息"
  },
  "BootstrapBlazor.Shared.Samples.Stepss": {
    "Title": "Steps 步骤条",
    "H1": "引导用户按照流程完成任务的导航条",
    "P1": "引导用户按照流程完成任务的分步导航条，可根据实际应用场景设定步骤，步骤不得少于 2 步",
    "p2": "<code>Steps</code> 组件支持通过设置 <code>Items</code> 属性或者直接内嵌 <code>Step</code> 组件两种方式进行 UI 呈现",
    "Block1Title": "基础用法",
    "Block1Intro": "简单的步骤条，通过直接绑定数据源 <code>Items</code> 即可",
    "Button1Text": "下一步",
    "Button2Text": "重 置",
    "Block2Title": "基础用法",
    "Block2Intro": "简单的步骤条，组件内部直接使用 <code>Step</code> 组件设置步骤",
    "Step1Title": "步骤一",
    "Step2Title": "步骤二",
    "Step3Title": "步骤三",
    "Step4Title": "步骤四",
    "Step5Title": "步骤五",
    "StepDesc1": "这是一段很长很长很长的描述性文字",
    "StepDesc2": "结束语",
    "Block3Title": "有描述的步骤条",
    "Block3Intro": "每个步骤有其对应的步骤状态描述",
    "Block4Title": "居中的步骤条",
    "Block4Intro": "标题和描述都将居中",
    "Block5Title": "带图标的步骤条",
    "Block5Intro": "步骤条内可以启用各种自定义的图标",
    "AttributeTitle": "StepItem 属性",
    "Desc1": "设置步骤数据集合",
    "Desc2": "显示方向",
    "Desc3": "进行居中对齐",
    "Desc4": "设置当前步骤的状态",
    "Att1": "进行居中对齐",
    "Att2": "进行使用图标进行步骤显示",
    "Att3": "是否为最后一个步骤",
    "Att4": "步骤顺序号",
    "Att5": "间距不填写将自适应间距支持百分比",
    "Att6": "步骤显示文字",
    "Att7": "步骤显示图标",
    "Att8": "描述信息",
    "Att9": "设置当前步骤的状态",
    "Att10": "设置当前步骤的内容模板",
    "Event1": "组件状态改变时回调委托"
  },
  "BootstrapBlazor.Shared.Samples.Tabs": {
    "Title": "Tabs 标签页",
    "H1": "分隔内容上有关联但属于不同类别的数据集合。",
    "P1": "Tab 组件从设计上采用模板的设计形式，使用本组件时通过将 <code>TabItem</code> 子组件添加到 <code>TabItems</code> 模板中即可",
    "TipsP": "<code>Tab</code> 组件一般有两种用法：",
    "TipsLi1": "作为数据分割",
    "TipsLi2": "页面导航",
    "TipsDiv": "本组件默认行为为数据分割，点击 <code>TabItem</code> 标题时并不会进行导航行为，如果需要进行地址栏导航时请设置 <code>ClickTabToNavigation</code> 属性为 <code>true</code>，此时点击 <code>TabItem</code> 标题时地址栏将会重定向导航，多用于后台管理系统与 <code>Menu</code> 组件进行联动使用，实战可参考 <a href='layout-page' target='_blank'>后台模板模拟器</a> 中的 <code>多标签</code> 模式，如果有 <code>Razor 组件</code> 在额外的程序集中时，请正确设置 <code>AdditionalAssemblies</code> 属性值，以便标签组件内路由正确解析，相关文档 <a href='https://docs.microsoft.com/zh-cn/aspnet/core/blazor/fundamentals/routing?WT.mc_id=DT-MVP-5004174&view=aspnetcore-3.1#route-to-components-from-multiple-assemblies' target='_blank'>[传送门]</a>",
    "TipsP2": "本组件会根据宽度高度等进行自适应适配，适当的时候可以出现左右或者上下的滚动箭头",
    "InfoTitle": "标签页导航时设置附加信息",
    "InfoItem2": "使用内置扩展方法 <code>Navigator.NavigateTo(\"url\", \"text\", \"icon\", \"closable\")</code> 导航时即可设置标签页属性",
    "InfoItem4": "通过设置 <code>razor</code> 页面标签 <code>@attribute [TabItemOption(Text = \"LayoutPage\", Icon = \"fa fa-fa\")]</code>",
    "TabItem1Text": "用户管理",
    "TabItem1Content": "我是用户管理",
    "TabItem2Text": "菜单管理",
    "TabItem2Content": "我是角色管理",
    "TabItem3Text": "角色管理",
    "TabItem3Content": "我是角色管理",
    "TabItem4Text": "部门管理",
    "TabItem4Content": "我是部门管理",
    "TabItem5Text": "系统日志",
    "TabItem5Content": "我是系统日志",
    "TabItem6Text": "登录日志",
    "TabItem6Content": "我是部门管理",
    "TabItem7Text": "定时任务管理",
    "TabItem7Content": "我是定时任务管理",
    "TabItem8Text": "计数组件",
    "TabItem9Text": "天气预报",
    "Block1Title": "基础用法",
    "Block1Intro": "基础的、简洁的标签页。",
    "Block2Title": "选项卡样式",
    "Block2Intro": "通过 <code>IsCard='true'</code> 设置选项卡样式的标签页。",
    "Block3Title": "卡片化",
    "Block3Intro": "通过 <code>IsBorderCard='true'</code> 设置卡片化的标签页。",
    "Block4Title": "图标",
    "Block4Intro": "通过设置 <code>TabItem</code> 组件的 <code>Icon</code> 属性对标签页设置图标",
    "Block5Title": "关闭",
    "Block5Intro": "通过设置 <code>ShowClose</code> 属性对标签页显示关闭按钮",
    "Tips2": "<p><code>Tab</code> 组件开启 <code>ShowClose</code> 后，<code>TabItem</code> 属性 <code>Closable</code> 可对标签页单独设置是否可关闭，默认为 <code>true</code>；本例中 <b>用户管理</b> 标签页不提供关闭功能</p>",
    "Block6Title": "位置",
    "Block6Intro": "通过设置 <code>Placement</code> 属性更改标签位置，更改为左右时会出现上下滚动小箭头进行 <code>TabItem</code> 切换",
    "DividerText": "Tab 分割线",
    "Block7Title": "自定义增加标签页触发器",
    "Block7Intro": "通过调用组件 api 动态添加/删除 <code>TabItem</code>",
    "AddButtonText": "添加",
    "RmoveButtonText": "移除",
    "ActiveButtonText": "激活第一个",
    "Block8Title": "内置其他组件",
    "Block8Intro": "<code>TabItem</code> 中内置其他组件",
    "P2": "<code>Tab</code> 组件各个面板内的内容默认是保持状态的，本例中面板切换时保持原有数据",
    "Block9Title": "程序动态添加 TabItem 面板",
    "Block9Intro": "通过此功能可以实现侧边栏中点击菜单链接，右侧数据区上部呈现多标签",
    "P3": "本例中右侧 <code>Tab</code> 面板内状态一直保持，关闭后重新打开时组件重新加载",
    "Block9Div": "网站 Header",
    "Block10Title": "实战 Tab 组件",
    "Block10Intro": "通过设置 <code>ShowExtendButtons</code> 属性为 <code>true</code>，开启组件左右移动按钮与关闭下拉菜单，实战中非常实用",
    "Tips3": "通过 <b>添加</b> <b>删除</b> 按钮动态调整 <code>TabItem</code> 数量，使其超出容器数量查看，左右移动效果；<b>用户管理</b> 设置为不可关闭；功能按钮无法关闭这个标签页",
    "Block11Title": "仅渲染当前标签",
    "Block11Intro": "通过设置 <code>IsOnlyRenderActiveTab</code> 参数使组件仅渲染当前活动标签",
    "Att1": "是否为带边框卡片样式",
    "Att2": "是否为卡片样式",
    "Att3": "是否仅渲染 Active 标签",
    "Att4": "是否显示关闭按钮",
    "Att5": "是否显示扩展按钮",
    "Att6": "点击标题时是否导航",
    "Att7": "设置标签位置",
    "Att8": "设置标签高度",
    "Att9": "TabItem 集合",
    "Att10": "ChildContent 模板",
    "Att11": "额外程序集合，用于初始化路由",
    "Att12": "点击 TabItem 标题时回调委托方法",
    "Att13": "设置标签页显示标题集合，未设置时内部尝试使用菜单项数据",
    "Method1": "添加 TabItem 到 Tab 中",
    "Method2": "移除 TabItem",
    "Method3": "设置指定 TabItem 为激活状态",
    "Method4": "切换到上一个标签方法",
    "Method5": "切换到下一个标签方法",
    "Method6": "关闭当前标签页方法",
    "Method7": "关闭其他标签页方法",
    "Method8": "关闭所有标签页方法",
    "Method9": "获得当前标签页方法",
    "BackAddTabText": "我是新建的 Tab, 名称是 {0}",
    "BackText1": "计数器",
    "BackText2": "天气预报",
    "AttTitle": "Attributes 属性",
    "MethodTitle": "Method 方法",
    "DefaultUrl": "默认标签页关闭所有标签页时默认显现此页面"
  },
  "BootstrapBlazor.Shared.Samples.AutoCompletes": {
    "Title": "AutoComplete 自动完成",
    "H1": "输入框自动完成功能",
    "Block1Title": "基础用法",
    "Block1Intro": "通过设置 <code>Items</code> 数据集合当用户键入信息是自动显示提示信息",
    "P1": "本例中请键入 123 字符串显示查看效果，自动完成组件初始化时给了自动提示数据集并且数据集无变化",
    "Block2Title": "模糊查询并忽略大小写",
    "Block2Intro": "通过设置 <code>IsLikeMatch</code> 值设置是否开启集合的模糊匹配，通过设置 <code>IgnoreCase</code> 来控制是否忽略大小写",
    "P2": "本例中请键入 abc 字符串显示查看效果，会将集合中所有包含 abc 且大小写相同的匹配出来供选择",
    "Block3Title": "自定义提示消息",
    "Block3Intro": "通过设置 <code>NoDataTip</code> 值设置自动完成数据未找到时显示的自定义提示消息",
    "P3": "本例中请键入 567 字符串由于自动完成信息中心无数据显示自定义提示信息 - <code>没有找到你想要的数据</code>",
    "AutoTip": "没有找到你想要的数据",
    "Block4Title": "自定义候选项",
    "Block4Intro": "通过设置 <code>ValueChanged</code> 回调方法根据用户输入的数据进行重组数据集合再进行提示信息",
    "P4": "本例中请键入任意字符串显示查看效果，自动完成组件根据键入的字符串从新获取提示信息数据集动态变化",
    "Block5Title": "显示标签",
    "Block5Intro": "组件双向绑定时会根据条件自动判断是否显示标签文字",
    "P5": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "DebounceTitle": "设置防抖",
    "DebounceIntro": "通过设置 <code>Debounce</code> 时长，来开启 <code>js</code> 防抖",
    "DebounceDetails": "本例中请键入任意字符串显示查看效果，自动完成组件在防抖时间内，只在最后一次录入后将结果发送到后端，这将大大提高性能",
    "Divider1Text": "双向绑定显示标签",
    "Divider2Text": "双向绑定不显示标签",
    "Divider3Text": "自定义 DisplayText",
    "AutoText": "自定义城市",
    "Att1": "是否显示前置标签",
    "Att2": "内容",
    "Att3": "内容",
    "Att4": "自动完成数据无匹配项时提示信息",
    "Att4DefaultValue": "无匹配数据",
    "Att5": "匹配数据时显示的数量",
    "Att6": "文本框值变化时回调委托方法",
    "Att7": "是否开启模糊匹配",
    "Att8": "匹配时是否忽略大小写",
    "Att9": "自定义集合过滤规则",
    "Att10": "js防抖时间，毫秒"
  },
  "BootstrapBlazor.Shared.Samples.FullScreens": {
    "Title": "FullScreen 全屏",
    "H1": "通过注入服务调用 <code>Show</code> 方法弹出窗口进行人机交互",
    "Tips": "本组件使用注入服务的形式提供功能，使用时用户体验效果非常舒适，随时随地的调用，需要在使用本组件的页面中内置 <code>FullScreen</code> 组件，或者在 <code>MainLayout</code> 主布局组件中内置，示例代码如下：",
    "Block1Title": "基本用法",
    "Block1Intro": "通过调用<code>FullScreenService</code> 服务实例的 <code>Show</code> 方法将整个网页进行全屏化",
    "ButtonText1": "全屏",
    "Block2Title": "按钮组件",
    "Block2Intro": "通过 <code>FullScreenButton</code> 组件将整个网页进行全屏化",
    "Li1": "可通过 <code>ButtonIcon</code> 设置按钮默认图标，通过 <code>FullScreenIcon</code> 属性设置全屏时图标",
    "Li2": "通过 <code>Title</code> 属性设置鼠标悬浮时提示栏文字",
    "Button1Text": "点击进行全屏操作",
    "Pre": "FullScreenButton Title='点击进行全屏操作'"
  },
  "BootstrapBlazor.Shared.Samples.Buttons": {
    "Title": "Button 按钮",
    "H1": "常用的操作按钮。",
    "Button1Text": "主要按钮",
    "Button2Text": "次要按钮",
    "Button3Text": "成功按钮",
    "Button4Text": "危险按钮",
    "Button5Text": "警告按钮",
    "Button6Text": "信息按钮",
    "Button7Text": "黑暗按钮",
    "Button8Text": "高亮按钮",
    "Button9Text": "链接按钮",
    "Button10Text": "超小按钮",
    "Button11Text": "小按钮",
    "Button12Text": "按钮",
    "Button13Text": "中等按钮",
    "Button14Text": "大按钮",
    "Button15Text": "超大按钮",
    "Button16Text": "Block 按钮",
    "Block1Title": "基础用法",
    "Block1Intro": "基础的按钮用法。",
    "Block2Title": "不同风格",
    "Block2Intro": "通过设置 <code>ButtonStyle</code> 来显示不同的按钮风格",
    "Block3Title": "Outline 按钮",
    "Block3Intro": "通过设置 <code>IsOutline='true'</code> 设置按钮边框颜色样式。",
    "Block4Title": "不同尺寸",
    "Block4Intro": "Button 组件提供除了默认值以外的多种尺寸，通过设置 <code>Size</code> 属性可以在不同场景下选择合适的按钮尺寸。",
    "Block5Title": "禁用状态",
    "Block5Intro": "按钮不可用状态。通过设置 <code>IsDisabled</code> 属性",
    "P1": "通过 <code>OnClick</code> 回调方法中设置自身 <code>IsDisabled</code> 属性，或者调用组件实例方法 <code>SetDisable</code> 均可实现按钮禁用效果",
    "P2": "由于使用 <code>IsDisabled</code> 属性时，需要显式手动调用 <code>StateHasChanged</code> 方法，会导致按钮所在组件整体刷新，建议使用实例方法 <code>SetDisable</code> 仅对按钮进行刷新",
    "b1": "性能比较：",
    "Li1": "使用 <code>IsDisabled</code> 属性设置时本页面传输量为 <code>4.8K</code>",
    "Li2": "使用 <code>SetDisable</code> 方法设置时本页面传输量为 <code>280B</code>",
    "Button17Text": "点击被禁用",
    "Button23Text": "点击后使第一个按钮可用",
    "TooltiTitle": "点击按钮后由于被禁用 Tooltip 被销毁",
    "Block6Title": "按钮组",
    "Block6Intro": "由多个按钮组成一个组合按钮",
    "Button18Tetx": "按钮一",
    "Button19Text": "按钮二",
    "Block7Title": "带图标的按钮",
    "Block7Intro": "通过设置 <code>Icon</code> 属性对按钮图标进行设置，图标为字体字符串如使用 <code>font-awesome</code> 图标时 <code>fa fa-fa</code>",
    "Button20Text": "状态按钮",
    "Button21Text": "进度按钮",
    "Block8Title": "二次封装按钮",
    "Block8Intro": "通过设置 <code>WinButton</code> 组件的 <code>Text</code> 属性对按钮显示文字进行设置，点击按钮是右侧显示被点击按钮的文字",
    "Block9Title": "异步请求按钮",
    "Block9Intro": "通过设置 <code>IsAsync</code> 属性按钮是否为 <b>异步请求按钮</b>，默认为 <code>false</code>",
    "P3": "当按钮为异步请求按钮时，点击按钮后自身状态会改变为禁用状态，同时显示 <code>Loading</code> 小图标，异步请求结束后恢复正常，本例中点击 <b>异步请求</b>按钮后，显示请求加载动画，5 秒后恢复正常",
    "Button22Text": "异步请求",
    "EventDesc1": "点击按钮时触发此事件",
    "EventDesc2": "点击按钮时触发此事件并且不刷新当前组件，用于提高性能时使用",
    "Att1": "颜色",
    "Att2": "图标",
    "Att3": "异步加载时的动画图标",
    "Att4": "显示文字",
    "Att5": "尺寸",
    "Att6": "样式",
    "Att7": "填充按钮",
    "Att8": "是否禁用",
    "Att9": "是否有边框",
    "Att10": "是否为异步按钮",
    "Att11": "内容",
    "Att12": "按钮风格",
    "Att13": "按钮类型",
    "MethodDesc1": "设置按钮是否可用"
  },
  "BootstrapBlazor.Shared.Samples.Cascaders": {
    "Title": "Cascader 级联选择",
    "Block1Title": "Cascader 级联选择",
    "Block1Intro": "提供各种颜色的下拉选择框",
    "Block2Title": "Cascader 禁用级联选择",
    "Block2Intro": "级联选择不可用状态",
    "Block3Title": "Cascader 双向绑定",
    "Block3Intro": "通过 <code>Select</code> 组件绑定 <code>Value</code> 属性，改变级联选择选项时，文本框内的数值随之改变。",
    "Block4Title": "Cascader 客户端验证",
    "Block4Intro": "级联选择未选择时，点击提交按钮时拦截。",
    "ButtonText": "提交",
    "Block5Title": "绑定泛型为 Guid 结构",
    "Block5Intro": "组件绑定值为 Guid 结构体示例",
    "Block6Title": "显示标签",
    "Block6Intro": "组件双向绑定时会根据条件自动判断是否显示标签文字",
    "P1": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "Divider1": "双向绑定显示标签",
    "Divider2": "双向绑定不显示标签",
    "Divider3": "自定义 DisplayText",
    "CascaderText": "自定义城市",
    "Att1": "是否显示前置标签",
    "Att2": "前置标签显示文本",
    "Att3": "未选择时的占位显示文字",
    "Att3Default": "点击进行选择 ...",
    "Att4": "样式",
    "Att5": "颜色",
    "Att6": "是否禁用",
    "Att7": "数据集合",
    "Event1": "级联选择选项改变时触发此事件"
  },
  "BootstrapBlazor.Shared.Samples.Checkboxs": {
    "Title": "Checkbox 多选框",
    "H1": "一组备选项中进行多选",
    "StatusText1": "选中",
    "StatusText2": "未选",
    "Block1Title": "基础用法",
    "Block1Intro": "单独使用可以表示两种状态之间的切换，列头或者表头使用时可以表示三种状态之间的切换。组件支持泛型数据绑定，通过 <code>TValue</code> 设置绑定数据类型，通过 <code>State</code> 设置组件状态",
    "Block2Title": "禁用复选框",
    "Block2Intro": "复选框不可用状态，通过 <code>IsDisabled</code> 设置组件是否可用",
    "Block3Title": "颜色",
    "Block3Inrto": "通过设置 <code>Color</code> 属性改变组件背景色",
    "Block4Title": "大小",
    "Block4Intro": "通过设置 <code>Size</code> 属性改变组件大小",
    "Block5Title": "Label 文字",
    "Block5Intro": "复选框显示文字，通过 <code>DisplayText</code> 设置组件显示文本，点击显示文字时组件状态也会进行翻转",
    "P1": "设置<code>DisplayText</code> 属性，或者通过双向绑定均可以显示文本信息",
    "Checkbox1Text": "显示文字",
    "Block6Title": "双向绑定 boolean 数据",
    "Block6Intro": "绑定组件内变量，数据自动同步，绑定数据类型为 <code>boolean</code> 类型时自动翻转值",
    "Checkbox2Text": "双向绑定",
    "Block7Title": "双向绑定 string 数据",
    "Block7Intro": "绑定组件内变量，数据自动同步",
    "Block8Title": "表单中使用",
    "Block8Intro": "在表单中使用 <code>Checkbox</code> 时，显示标签文字会放置到组件前面",
    "P2": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "Checkbox3Text": "手写标签",
    "Att1": "是否显示前置标签",
    "Att2": "是否显示后置标签",
    "Att3": "前置标签显示文本",
    "Att4": "是否禁用",
    "Att5": "控件类型",
    "Event1": "选择框状态改变时回调此方法",
    "Event2": "State 状态改变回调方法"
  },
  "BootstrapBlazor.Shared.Samples.CheckboxLists": {
    "Title": "CheckboxList 多选框组",
    "H1": "控件用于创建多选的复选框组",
    "Blok1Title": "基础用法",
    "Block1Intro": "通过数据绑定展现复选框组",
    "P1": "使用说明：",
    "Li1": "通过 <code>bind-Value</code> 设置双向绑定数据值",
    "Li2": "通过 <code>Items</code> 设置候选数据源",
    "Li3": "通过 <code>OnSelectedChanged</code> 回调方法获取改变项实例",
    "Block2Title": "客户端验证",
    "Block2Intro": "内置于 ValidateForm 中使用",
    "P2": "可以通过改变窗口大小，体验自适应布局",
    "P3": "本例中绑定模型 <code>BindItem</code> 的 <code>Name</code> 字段，通过勾选项自动更改模型数据",
    "P4": "由于内置于 <code>ValidateForm</code> 表单内，本例中增加了 <code>RequiredAttribute</code> 必选要求验证，当取消所有选项后提示验证结果",
    "Block3Title": "双向绑定集合",
    "Block3Intro": "绑定值为集合",
    "P5": "TValue 设置为 <code>IEnumerable&lt;int&gt;</code> 泛型集合，绑定集合的 <code>ValueField</code> 指定字段必须与泛型类型一致",
    "P6": "TValue 设置为 <code>IEnumerable&lt;string&gt;</code> 泛型集合",
    "Block4Title": "双向绑定枚举",
    "Block4Intro": "绑定值为枚举",
    "P7": "当 <code>CheckboxList</code> 绑定一个枚举集合时，<code>Items</code> 不需要指定，<code>Items</code> 会被自动设置成枚举里面所有的值，如果需要绑定部分值时，请自行提供枚举集合 <code>Items</code>",
    "Block5Title": "无边框",
    "Block5Intro": "通过设置 <code>ShowBorder=false</code> 不显示边框",
    "P8": "当验证失败时显示红色边框",
    "Block6Title": "竖向排列",
    "Block6Intro": "通过设置 <code>IsVertical=true</code> 使checkbox竖向排列",
    "Block7Title": "禁用",
    "Block7Intro": "通过设置 <code>IsDisabled=true</code> 禁用",
    "Att1": "数据源",
    "Att2": "是否禁用",
    "Att3": "组件值用于双向绑定",
    "Att4": "是否竖向排列",
    "Event1": "复选框状态改变时回调此方法"
  },
  "BootstrapBlazor.Shared.Samples.ColorPickers": {
    "Title": "ColorPicker 颜色拾取器",
    "H1": "选择颜色使用",
    "Block1Title": "基本用法",
    "Block1Intro": "通过设置 <code>Value</code> 属性设定颜色值",
    "Block2Title": "设置初始值",
    "Block2Intro": "通过设置 <code>Value</code> 属性设定颜色值",
    "P1": "设置 <code>Value='@Value2'</code> 初始化默认值",
    "Block3Title": "双向绑定",
    "Block3Intro": "通过设置 <code>Value</code> 属性设定颜色值",
    "Block4Title": "禁用",
    "Block4Intro": "通过设置 <code>IsDisabled</code> 属性禁用此组件",
    "Block5Title": "验证表单中使用",
    "Block5Intro": "内置于 <code>ValidateForm</code> 中使用",
    "Event1": "颜色改变回调委托方法"
  },
  "BootstrapBlazor.Shared.Samples.DateTimePickers": {
    "Title": "DatePicker 日期选择器",
    "H1": "用于选择或输入日期",
    "Block1Title": "选择日",
    "Block1Intro": "以「日」为基本单位，基础的日期选择控件",
    "Block2Title": "选择任意时间点",
    "Block2Intro": "可以选择任意时间",
    "Block3Title": "数据双向绑定",
    "Block3Intro": "点击确认按钮时间选择框值与文本框值一致",
    "codetext": "类型",
    "Block4Title": "客户端验证",
    "Block4Intro": "根据自定义验证规则进行数据有效性检查并自动提示",
    "Block5Title": "点击弹出日期框",
    "Block5Intro": "以「日」为基本单位，基础的日期选择控件",
    "Block6Title": "数据双向绑定",
    "Block6Intro": "日期组件时间改变时文本框内的数值也跟着改变",
    "Block7Title": "带时间的选择器",
    "Block7Intro": "在同一个选择器里选择日期和时间，点击确认按钮后关闭弹窗",
    "P1": "设置 <code>ViewModel</code> 属性值为 <code>DatePickerViewModel.DateTime</code>",
    "Block8Title": "允许空时间",
    "Block8Intro": "多用于条件选择",
    "P2": "绑定值为可为空类型 <code>DateTime?</code> 时自动出现 <b>清空</b> 按钮",
    "Block9Title": "显示标签",
    "Block9Intro": "作为表单组件时，显示组件前方标签",
    "P3": "设置 <code>DisplayText</code> 属性值为 <code>选择时间</code>",
    "P4": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "DisplayText": "选择时间",
    "Block10Title": "禁用",
    "Block10Intro": "设置 <code>IsDisabled</code> 属性值为 <code>true</code> 时，组件禁止输入",
    "Block11Title": "带快捷键侧边栏",
    "Block11Intro": "设置 <code>ShowSidebar</code> 属性值为 <code>true</code> 时，组件显示快捷方式侧边栏",
    "Block12Title": "设置值范围",
    "Block12Intro": "设置 <code>MinValue</code> 属性值与 <code>MaxValue</code> 限制可选值范围，本例中设置范围为 <b>45</b> 天",
    "Att1": "是否显示前置标签",
    "Att2": "是否显示快捷侧边栏",
    "Att3": "前置标签显示文本",
    "Att4": "日期格式字符串 默认为 yyyy-MM-dd",
    "Att5": "是否显示本组件",
    "Att6": "是否禁用 默认为 fasle",
    "Att7": "时间格式字符串 默认为 hh:mm:ss",
    "Att8": "组件值与 ValueChanged 作为双向绑定的值",
    "Att9": "获得/设置 组件显示模式 默认为显示年月日模式",
    "Event1": "确认按钮回调委托",
    "Event2": "组件值改变时回调委托供双向绑定使用",
    "Log1Text": "选择的日期为",
    "Log2Text": "选择的时间为",
    "SubmitText": "保存",
    "ModelValidateValue": "属性",
    "ModelValidateValue.Required": "{0}为必填项"
  },
  "BootstrapBlazor.Shared.Samples.Editors": {
    "Title": "Editor 富文本框",
    "H1": "将输入的文字转化为 <code>html</code> 代码片段",
    "P1": "<code>Editor</code> 组件是对 <a href='https://summernote.org/' target='_blank'><code>Summernote 组件</code></a> 的二次封装，如需使用本地化功能请自行官网下载相对应语言包，自行引用即可",
    "Block1Title": "基础用法",
    "Block1Intro": "默认呈现为 <code>div</code> 点击后变为富文本编辑框",
    "P2": "通过设置 <code>IsEditor</code> 属性值来控制组件默认是 <code>div</code> 还是 <code>editor</code>",
    "Div1": "我是一个普通的 <code>div</code> 点击无法编辑",
    "Block2Title": "自定义提示信息",
    "Block2Intro": "通过设置 <code>Placeholder</code> 属性来设置空值时的提示消息",
    "P3": "默认提示是 <b>点击后进行编辑</b>",
    "Placeholder1": "自定义空值的提示信息",
    "Block3Title": "默认显示为富文本编辑框",
    "Block3Intro": "通过设置 <code>IsEditor</code> 属性来设置组件直接显示为富文本编辑框",
    "Block4Title": "自定义高度",
    "Block4Intro": "通过设置 <code>Height</code> 属性来设置组件高度",
    "Block5Title": "双向绑定",
    "Block5Intro": "实战中通过双向绑定到 <code>Value</code> 后台自动获取到客户端富文本框编辑内容",
    "P4": "通过 <code>bind-Value</code> 对 <code>EditorValue</code> 后台属性进行双向绑定，编辑框内进行编辑后点击 <b>完成</b> 按钮，下方文本框内即可显示编辑后结果",
    "Label1": "显示编辑内容：",
    "Block6Title": "自定义扩展编辑框按钮",
    "Block6Intro": "通过设置 <code>CustomerPluginItems</code> 属性对编辑框工具栏进行自定义扩展， 通过设置 <code>OnClickPluginItem</code> 回调委托做功能",
    "P5": "本例中通过扩展 <code>CustomerPluginItems</code> 属性在工具栏中增加了两个按钮，点击按钮弹出 <code>SweetAlert</code> 模态框，点击模态框确认按钮后文本框中插入一段内容",
    "Block7Title": "自定义工具栏的富文本编辑框",
    "Block7Intro": "通过设置 <code>ToolbarItems</code> 属性自定义工具栏内容，目前支持的工具栏值请参见 <a href='https://summernote.org/' target='_blank'>Summernote</a> 官网",
    "P6": "本例中通过设置 <code>ToolbarItems</code> 属性，更改默认可用的工具栏按钮",
    "Att1": "空值时的提示信息",
    "Att1DefaultValue": "点击后进行编辑",
    "Att2": "是否直接显示为富文本编辑框",
    "Att3": "组件高度",
    "Att4": "富文本框工具栏工具",
    "Att5": "自定义按钮",
    "InitValue": "初始值 <b>Test</b>",
    "UpdateValue": "更改后的值",
    "ToolTip1": "这是 plugin1 的提示",
    "ToolTip2": "这是 plugin2 提示",
    "Swal1Title": "点击plugin1按钮后弹窗",
    "Swal1Content": "点击插件按钮后弹窗并确认后才进行下一步处理",
    "Ret1": "<div class='text-danger'>从plugin1返回的数据</div>",
    "Swal2Title": "点击 plugin2 按钮后弹窗",
    "Swal2Content": "点击插件按钮后弹窗并确认后才进行下一步处理",
    "Ret2": "从plugin2返回的数据"
  },
  "BootstrapBlazor.Shared.Samples.EditorForms": {
    "Title": "EditorForm 表单组件",
    "H1": "通过绑定数据模型自动呈现编辑表单",
    "P1": "<code>EditorForm</code> 组件是一个非常实用的组件，当进行数据编辑时，仅需要将 <code>Model</code> 属性赋值即可。",
    "Li1": "绑定模型默认自动生成全部属性，可以通过设置 <code>AutoGenerateAllItem</code> 更改为不自动生成",
    "Li2": "如不需要编辑列，设置 <code>Editable</code> 即可，默认值为 <code>true</code> 生成编辑组件",
    "Li3": "复杂编辑列，设置 <code>EditTemplate</code> 模板，进行自定义组件进行编辑",
    "Li4": "表单内按钮可以设置多个，设置 <code>Buttons</code> 模板即可",
    "Block1Title": "基础用法",
    "Block1Intro": "通过绑定 <code>TModel</code> 数据模型，自动生成模型各个字段的可编辑表单",
    "P2": "直接绑定模型 <code>Model</code>，设置 <b>Education</b> <b>Complete</b> 字段不显示",
    "GroupBox1": "表单示例",
    "ButtonText": "提交",
    "Block2Title": "开启数据验证",
    "Block2Intro": "通过嵌套 <code>ValidateForm</code> 组件实现数据合规检查功能",
    "P3": "组件内置到 <code>ValidateForm</code> 内开启数据合规检查功能，<b>爱好</b> 字段使用 <code>EditTemplate</code> 模板自定义组件呈现数据",
    "P4": "通过设置 <code>Readonly</code> 属性，使 <code>生日</code> 字段为只读",
    "GroupBox2": "表单示例",
    "Block3Title": "默认不自动生成",
    "Block3Intro": "通过设置属性 <code>AutoGenerateAllItem</code> 值为 <code>false</code>，禁止自动生成属性，通过设置 <code>FieldItems</code> 内部集合来控制显示属性",
    "GroupBox3": "表单示例",
    "P5": "本例中通过设置 <code>AutoGenerateAllItem</code> 值为 <code>false</code>，关闭自动生成功能，通过手动增加两个 <code>EditorItem</code> 编辑项来呈现表单编辑",
    "Block4Title": "表单组件内的组件绑定与模型无关的字段",
    "Block4Intro": "通过设置属性 <code>AutoGenerateAllItem</code> 值为 <code>false</code>，禁止自动生成属性，通过设置 <code>FieldItems</code> 内部集合来控制显示属性",
    "GroupBox4": "表单示例",
    "P6": "在某些情况下表单中有些列的值可能是二级分类等等，需要知道一级分类的信息，这个时候一级分类需要额外的组件来呈现，如果 <code>Select</code>，而这个组件是与当前上下文绑定模型 <code>Model</code> 无关的，这种需求中通过设置 <code>SkipValidate</code> 值为 <code>true</code>，关闭此组件的模型验证功能即可",
    "Block5Title": "设置每行显示控件数量",
    "Block5Intro": "通过设置 <code>ItemsPerRow</code> 属性值来控制布局",
    "P7": "本示例设置 <code>ItemsPerRow=3</code> 每行显示 3 个组件",
    "GroupBox5": "布局示例",
    "Block6Title": "自定义渲染组件类型",
    "Block6Intro": "通过设置 <code>CompnentType</code> 属性值来控制渲染组件类型",
    "Li5": "<code>Inline</code> 布局模式下通过设置 <code>LabelAlign='Alignment.Right'</code> 使表单内标签右对齐",
    "Li6": "<code>Buttons</code> 模板内可嵌套 <code>div</code> 并设置样式 <code>text-end</code> 使按钮右侧对齐",
    "TestName": "张三",
    "TestAddr": "测试地址",
    "AttrPropertyTitle": "EditorItem 属性",
    "Att1": "当前绑定数据模型",
    "Att2": "绑定列模板",
    "Att3": "按钮模板",
    "Att4": "是否显示 Label",
    "Att5": "是否生成所有属性",
    "Att6": "每行显示组件数量",
    "Att7": "设置组件布局方式",
    "Att8": "Inline 布局模式下标签对齐方式",
    "Att9": "当前绑定数据值",
    "Att10": "绑定列数据类型",
    "Att11": "是否允许编辑",
    "Att12": "是否只读",
    "Att13": "编辑列前置标签名",
    "Att14": "列编辑模板",
    "IsDisplay": "是否显示为 Display 组件"
  },
  "BootstrapBlazor.Shared.Samples.FloatingLabels": {
    "Title": "FloatingLabel 输入框",
    "H1": "通过鼠标或键盘输入字符",
    "Normal": "基础用法",
    "NormalIntro": "提供基本的文本录入组件",
    "DisplayTitle": "单向绑定数据",
    "DisplayIntro": "显示组件内变量值",
    "Block3Title": "客户端验证",
    "Block3Intro": "根据自定义验证规则进行数据有效性检查并自动提示",
    "DisplayText1": "客户端验证",
    "Block4Title": "密码框",
    "Block4Intro": "通过设置属性 <code>type</code> 值为 <code>password</code> 使输入文字后以 <code>*</code> 进行屏蔽的密码输入框",
    "P1": "为了支持更多的文本框属性本组件可以直接写入 <code>type='email'</code> <code>type='number'</code> <code>type='phone'</code> 等 <code>html5</code> 新标准支持的全部属性值，组件未设置 <code>type</code> 值时使用默认的 <code>type='text'</code>",
    "DisplayText2": "密码框",
    "Block5Title": "泛型绑定",
    "Block5Intro": "<code>BootstrapInput</code> 组件双向绑定值是泛型的，本例中双向绑定一个 int 类型数值",
    "DisplayText3": "泛型绑定",
    "Div1": "绑定数值: {0}",
    "Block6Title": "禁用",
    "Block6Intro": "设置 <code>IsDisabled</code> 属性值为 <code>true</code> 时，组件禁止输入",
    "DisplayText4": "禁用",
    "Block7Title": "自定义格式",
    "Block7Intro": "设置 <code>FormatString</code> 属性值为 <code>yyyy-MM-dd</code> 时，组件显示的时间格式为年月日",
    "Div2": "设置",
    "P2": "<code>BootstrapInput</code> 组件绑定 <code>byte[]</code> 数组，格式化成 <code>base64</code> 编码字符串示例",
    "DisplayText5": "字节数组",
    "Span": "基本用法",
    "DisplayText6": "请输入密码",
    "TestName": "张三",
    "Att1": "验证控件",
    "Att2": "是否显示前置标签",
    "Att3": "前置标签显示文本",
    "Att4": "数值格式化字符串",
    "Att5": "TableHeader 实例",
    "Att6": "控件类型",
    "Att7": "是否禁用 默认为 fasle"
  },
  "BootstrapBlazor.Shared.Samples.Inputs": {
    "Title": "Input 输入框",
    "H1": "通过鼠标或键盘输入字符",
    "Block1Title": "基础用法",
    "Block1Intro": "提供基本的文本录入组件",
    "P1": "可通过设置 <code>IsAutoFocus</code> 是否自动获取焦点，多个文本框设置自动获取焦点时最后执行的组件将会获得焦点",
    "Span1": "基本用法",
    "Block2Title": "颜色",
    "Block2Intro": "通过设置 <code>Color</code> 更改文本框边框颜色",
    "Block3Title": "键盘响应",
    "Block3Intro": "使用 <code>OnEnterAsync</code> <code>OnEscAsync</code> 回调委托对 <kbd>Enter</kbd> <kbd>ESC</kbd> 按键进行回调响应",
    "Div1": "请按键盘 <kbd>Enter</kbd> 或者 <kbd>Esc</kbd> 进行测试",
    "Block4Title": "单向绑定数据",
    "Block4Intro": "显示组件内变量值",
    "Span2": "单向绑定",
    "Block5Title": "双向绑定数据",
    "Block5Intro": "绑定组件内变量，数据自动同步",
    "P2": "<code>BootstrapInput</code> 组件开启双向绑定时，会根据绑定的 <code>Model</code> 属性值去自动获取 <code>Display/DisplayName</code> 标签值并且显示为前置 <code>Label</code>，通过 <code>DisplayText</code> 属性可以自定义显示前置标签，或者通过 <code>ShowLabel</code> 属性关闭前置标签是否显示",
    "Divider1": "自定义标签",
    "P3": "设置 <code>DisplayText</code> 值为 <b>自定义标签</b>",
    "InputText1": "自定义标签",
    "Divider2": "占位",
    "P4": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>true</code> 时均显示",
    "Divider3": "不占位",
    "P5": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>false</code> 时均不显示",
    "Block6Title": "客户端验证",
    "Block6Intro": "根据自定义验证规则进行数据有效性检查并自动提示",
    "Tips1": "使用双向绑定时会自动寻找资源文件中 <code>Key</code> 值为 <code>{FieldName}.PlaceHolder</code> 对应值作为 <code>placeholder</code> 显示，本例中 <code>placeholder</code> 值为资源文件中 <code>Name.PlaceHolder</code> 键对应值 <code>required/不可为空</code>",
    "Block7Title": "密码框",
    "Block7Intro": "通过设置属性 <code>type</code> 值为 <code>password</code> 使输入文字后以 <code>*</code> 进行屏蔽的密码输入框",
    "P6": "为了支持更多的文本框属性本组件可以直接写入 <code>type='email'</code> <code>type=number'</code> <code>type='phone'</code> 等 <code>html5</code> 新标准支持的全部属性值，组件未设置 <code>type</code> 值时使用默认的 <code>type='text'</code>",
    "Block8Title": "泛型绑定",
    "Block8Intro": "<code>BootstrapInput</code> 组件双向绑定值是泛型的，本例中双向绑定一个 int 类型数值",
    "Div2": "绑定数值",
    "Block9Title": "禁用",
    "Block9Intro": "设置 <code>IsDisabled</code> 属性值为 <code>true</code> 时，组件禁止输入",
    "Block10Title": "自定义格式",
    "Block10Intro": "设置 <code>FormatString</code> 属性值为 <code>yyyy-MM-dd</code> 时，组件显示的时间格式为年月日",
    "Div3": "设置",
    "P7": "<code>BootstrapInput</code> 组件绑定 <code>byte[]</code> 数组，格式化成 <code>base64</code> 编码字符串示例",
    "Block11Title": "密码框",
    "Block11Intro": "使用 <code>BootstrapPassword</code> 组件",
    "IsTrimTitle": "修剪空白",
    "IsTrimIntro": "使用 <code>IsTrim=\"true\"</code> 可在输入内容的时候自动修剪空白",
    "PlaceHolder": "请输入 ...",
    "TestName": "张三",
    "Log": "按键触发 当前文本框值",
    "Att1": "验证控件",
    "Att2": "是否显示前置标签",
    "Att3": "前置标签显示文本",
    "Att4": "颜色",
    "Att5": "数值格式化字符串",
    "Att6": "TableHeader 实例",
    "Att7": "控件类型",
    "Att8": "用户按下 Enter 键回调委托",
    "Att9": "用户按下 Esc 键回调委托",
    "Att10": "是否禁用",
    "Att11": "是否自动获取焦点",
    "IsSelectAllTextOnFocus": "获得焦点后自动选择输入框内所有字符串"
  },
  "BootstrapBlazor.Shared.Samples.InputNumbers": {
    "Title": "InputNumber 组件",
    "H1": "仅允许输入标准的数字值，支持自定义范围及其他高级功能",
    "Block1Title": "基础用法",
    "Block1Intro": "<code>Number</code> 数值类型显示文本框，移动端自动弹出数字键盘",
    "Block2Title": "区间限制用法",
    "Block2Intro": "设置 <code>Max</code> <code>Min</code> 来控制数值区间范围 1-10",
    "Block3Title": "控制按钮",
    "Block3Intro": "设置 <code>ShowButton</code> 参数来控制是否显示增加或减少的按钮",
    "P1": "本例设置了最大值 10 最小值 0",
    "Block4Title": "自定义步长",
    "Block4Intro": "设置 <code>Step</code> 参数来控制增加或减少的步长",
    "P2": "步长默认为 1",
    "P3": "步长设置为 10",
    "p4": "步长设置为 0.1",
    "Block5Title": "颜色",
    "Block5Intro": "设置 <code>Color</code> 参数来自定义按钮颜色",
    "P5": "显示按钮",
    "P6": "无按钮",
    "Block6Title": "数据类型",
    "Block6Intro": "本组件采用泛型支持 <code>int short long float double decimal</code> 基础数据类型",
    "Block7Title": "禁用",
    "Block7Intro": "设置 <code>IsDisabled</code> 属性值为 <code>true</code> 时，组件禁止输入",
    "Block8Title": "显示标签",
    "Block8Intro": "组件双向绑定时会根据条件自动判断是否显示标签文字",
    "p7": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "Divider1": "双向绑定显示标签",
    "Divider2": "双向绑定不显示标签",
    "Divider3": "自定义  DisplayText",
    "InputText": "自定义",
    "Att1": "当前值",
    "Att2": "可允许最大值",
    "Att3": "可允许最小值",
    "Att4": "步长",
    "Att5": "是否禁用 默认为 fasle",
    "Att6": "是否显示前置标签",
    "Att7": "前置标签显示文本"
  },
  "BootstrapBlazor.Shared.Samples.Markdowns": {
    "Title": "Markdown 编辑器",
    "H1": "提供 Markdown 语法支持的文本编辑器",
    "P1": "注意事项",
    "P2": "本组件依赖于 <a href='https://www.nuget.org/packages?q=BootstrapBlazor.Markdown' target='_blank'><code>BootstrapBlazor.Markdown</code></a>，使用本组件时需要引用其组件包",
    "P3": "Nuget 包安装",
    "P4": "使用 <a href='https://www.nuget.org/packages?q=BootstrapBlazor.Markdown' target='_blank'>nuget.org</a> 进行 <code>BootstrapBlazor.Markdown</code> 组件的安装",
    "H2": "CSS 文件",
    "H3": "JS 文件",
    "H4": "本地化",
    "Tips1": "组件内置中文，切换当前文化信息即可获得中文",
    "Block1Title": "普通用法",
    "Block1Intro": "默认设置",
    "P5": "输入 <code>Markdown</code> 相关代码后，点击下方相关区域显示数据",
    "Block2Title": "异步加载数据",
    "Block2Intro": "通过 <code>Webapi</code> 获得 <code>Markdown</code> 显示内容",
    "ButtonText": "加载",
    "Block3Title": "常用属性",
    "Block3Intro": "更改默认参数",
    "P6": "设置 <code>Markdown</code> 编辑器最小高度 <code>300px</code>，默认高度 <code>500px</code>，提示信息这是 <code>Markdown</code>，<code>Tab</code> 方式显示，默认显示所见即所得页面",
    "PlaceHolder": "这是 Markdown",
    "Block4Title": "浏览器模式",
    "Block4Intro": "单纯浏览模式，不可编辑",
    "P7": "设置<code>Markdown</code> 编辑器为纯浏览模式，<code>IsViewer='true'</code>",
    "MarkdownString": "测试",
    "Att1": "控件高度",
    "Att2": "控件最小高度",
    "Att3": "初始化时显示的界面",
    "Att4": "预览模式",
    "Att5": "UI 语言",
    "Att6": "提示信息",
    "Att7": "是否为纯浏览模式"
  },
  "BootstrapBlazor.Shared.Samples.MultiSelects": {
    "Title": "MultiSelect 多项选择器",
    "H1": "当进行多项选项时，使用下拉菜单展示并提供搜索多项选择内容",
    "Block1Title": "颜色",
    "Block1Intro": "提供各种颜色的多选下拉框",
    "Block2Title": "双向绑定值字符串",
    "Block2Intro": "绑定一个逗号字符串分割的字符串",
    "Div1": "<div><code>MutltiSelect</code> 组件数据源 <code>Items</code> 与 <b>选中值</b> <code>SelectedItemsValue</code> 均支持双向绑定；本例中通过双向绑定 <code>SelectedItemsValue</code> 变量，通过下拉框选择更改其值</div>",
    "ButtonText1": "添加",
    "ButtonText2": "减少",
    "ButtonText3": "清空",
    "Block3Title": "双向绑定值集合",
    "Block3Intro": "绑定一个泛型 <code>IEnumerable<T></code> 集合",
    "P1": "本例中通过双向绑定 <code>SelectedArrayValues</code> 集合变量，通过下拉框选择更改其值",
    "Block4Title": "双向绑定值数组",
    "Block4Intro": "绑定一个数组 <code>int[]</code>",
    "P2": "本例中通过双向绑定 <code>SelectedIntArrayValues</code> 数组变量，通过下拉框选择更改其值",
    "Block5Title": "双向绑定枚举集合",
    "Block5Intro": "绑定一个泛型 <code>IEnumerable<Enum></code> 集合",
    "P3": "本例中通过双向绑定 <code>SelectedEnumValues</code> 集合变量，通过下拉框选择更改其值，<b>枚举</b> 类型时无需设置 <code>Items</code> 参数，额外功能是组件内部会尝试查找资源文件或者 <code>DisplayAttribute</code> 与 <code>DescriptionAttribute</code> 标签尝试进行本地化翻译工作，如本例切换到 <b>中文</b> 时枚举值为 <b>小学</b> 与 <b>中学</b>",
    "Block6Title": "搜索功能",
    "Block6Intro": "通过设置 <code>ShowSearch</code> 值开启搜索功能",
    "P4": "本例中设置搜索回调委托方法 <code>OnSearchTextChanged</code> 进行自定义搜索结果，如果未设置时内部使用显示文本进行模糊匹配",
    "Block7Title": "禁用功能",
    "Block7Intro": "通过设置 <code>IsDisabled</code> 值设置组件禁用状态",
    "P5": "禁用状态时组件无任何响应",
    "Block8Title": "选项改变时事件",
    "Block8Intro": "通过设置 <code>OnSelectedItemsChanged</code> 回调方法获取当前选中数据集合改变事件",
    "Block9Title": "客户端验证",
    "Block9Intro": "下拉框未选择时，点击提交按钮时拦截。",
    "P6": "内置到 <code>ValidateForm</code> 组件时，自动开启客户端验证功能，绑定模型拥有 <code>Required</code> 标签",
    "ButtonText4": "提交",
    "Block10Title": "显示标签",
    "Block10Intro": "组件双向绑定时会根据条件自动判断是否显示标签文字",
    "P7": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "Divider1": "双向绑定显示标签",
    "Divider2": "双向绑定不显示标签",
    "Divider3": "自定义 DisplayText",
    "MutiText1": "自定义姓名",
    "Block11Title": "选项超长文字",
    "Block11Intro": "候选项文字特别长",
    "MutiText2": "超长文字",
    "Block12Title": "全选与反选按钮",
    "Block12Intro": "通过设置 <code>ShowSelectAllButton</code> 值设置组件显示全选与反选按钮",
    "Block13Title": "设置选项最大数与最小数",
    "Block13Intro": "通过设置 <code>Max</code> <code>Min</code> 值设置组件可选项数量限制",
    "P8": "最多可选择两个选项",
    "P9": "最少选择两个选项",
    "Block14Title": "扩展工具栏按钮",
    "Block14Intro": "通过设置 <code>ButtonTemplate</code> 自定义工具栏按钮实现自定义功能",
    "ButtonText": "测试",
    "Block15Title": "级联绑定",
    "Block15Intro": "通过选择第一个下拉框不同选项，第二个下拉框动态填充内容。",
    "P10": "本例中点击第一个下拉框，可以通过异步方法获取第二个多选框的数据源，进行赋值后，调用 <code>StateHasChanged</code> 进行对 <b>多选框</b> 重新渲染",
    "Att1": "是否显示前置标签",
    "Att2": "是否显示前置标签关闭按钮",
    "Att3": "是否显示功能按钮",
    "Att4": "是否显示默认功能按钮",
    "Att5": "前置标签显示文本",
    "Att6": "未选择时的占位显示文字",
    "Att6DefaultValue": "点击进行多选 ...",
    "Att7": "样式",
    "Att8": "颜色",
    "Att9": "是否禁用",
    "Att10": "数据集合",
    "Att11": "扩展按钮模板",
    "Event1": "下拉框选项改变时触发此事件",
    "Event2": "搜索文本发生变化时回调此方法",
    "Log1": "搜索文字",
    "Log2": "选中项集合"
  },
  "BootstrapBlazor.Shared.Samples.Radios": {
    "Title": "Radio 单选框",
    "H1": "在一组备选项中进行单选",
    "Block1Title": "基础用法",
    "Block1Intro": "由于选项默认可见，不宜过多，若选项过多，建议使用 Select 选择器",
    "Block2Title": "禁用单选框",
    "Block2Intro": "通过 <code>IsDisabled='true'</code> 单选框不可用状态",
    "Block3Title": "Label 文字",
    "Block3Intro": "单选框显示文字",
    "RadioText": "按钮组",
    "Block4Title": "双向绑定数据",
    "Block4Intro": "绑定组件内变量，数据自动同步，绑定数据类型为 SelectedItem 类型数组",
    "Block5Title": "竖向排列",
    "Block5Intro": "通过设置 <code>IsVertical</code> 使组件内部竖向排列",
    "Block6Title": "绑定枚举类型",
    "Block6Intro": "通过双向绑定 <code>Value</code> 无需设置 <code>Items</code>",
    "P1": "通过设置 <code>IsAutoAddNullItem</code> 自动添加 <b>空值</b> 选项，通过设置 <code>NullItemText</code> 自定义 <b>空值</b> 选项",
    "RadioText2": "空值",
    "Block7Title": "颜色",
    "Block7Intro": "通过设置 <code>Color</code> 属性改变组件背景色",
    "Att1": "显示文字",
    "Att2": "空值显示文字",
    "Att3": "是否禁用",
    "Att4": "是否垂直分布",
    "Att5": "绑定可为空枚举类型时是否自动添加空值",
    "Att6": "绑定数据源",
    "Event1": "复选框状态改变时回调此方法",
    "Log1": "组件选中值:",
    "Log2": "显示值:",
    "Log3": "组件 Value 值:",
    "Item1": "选项一",
    "Item2": "选项二",
    "Add1": "北京",
    "Add2": "上海"
  },
  "BootstrapBlazor.Shared.Samples.Rates": {
    "Title": "Rate 评分",
    "H1": "评分组件",
    "Block1Title": "基本用法",
    "Block1Intro": "<code>Rate</code> 组件通过 1 - 5 颗星表示数值等级，后台可以通过 <code>bind-Value</code> 对数值进行双向绑定通过 <code>Rate</code> 组件更改其值，鼠标滑动更改值，点击星星时确认其值",
    "Block2Title": "禁用",
    "Block2Intro": "通过设置 <code>IsDisable</code> 属性值禁用组件",
    "SwitchOn": "禁用",
    "SwitchOff": "启用",
    "Att1": "组件值",
    "Att2": "是否禁用 默认为 fasle",
    "Event1": "值改变时回调委托",
    "Log": "评星:"
  },
  "BootstrapBlazor.Shared.Samples.Selects": {
    "Title": "Select 选择器",
    "H1": "当选项过多时，使用下拉菜单展示并选择内容",
    "Block1Title": "Select 下拉选择框",
    "Block1Intro": "提供各种颜色的下拉选择框",
    "P1": "本例中，第一个下拉框没有进行 <code>Value</code> 双向绑定，所以选择不同选项时仅自己变化，其余下拉框共用同一数据源 <code>Items</code> 并且双向绑定 <code>Value</code> 值，选择不同选项时一同变化",
    "Block2Title": "Select 禁用下拉框",
    "Block2Intro": "选择器不可用状态",
    "P2": "下拉框内选项 <b>禁用</b> 示例",
    "Block3Title": "Select 双向绑定",
    "Block3Intro": "通过 <code>Select</code> 组件绑定 <code>Model.Name</code> 属性，改变下拉框选项时，文本框内的数值随之改变。",
    "Block4Title": "Select 级联绑定",
    "Block4Intro": "通过选择第一个下拉框不同选项，第二个下拉框动态填充内容。",
    "ButtonText1": "弹窗中级联示例",
    "Block5Title": "Select 客户端验证",
    "Block5Intro": "下拉框未选择时，点击提交按钮时拦截。",
    "Option1": "请选择 ...",
    "Option2": "北京",
    "Option3": "上海",
    "Option4": "广州",
    "ButtonText2": "提交",
    "Block6Title": "分组",
    "Block6Intro": "备选项进行分组展示",
    "Block7Title": "绑定泛型为 Guid 结构",
    "Block7Intro": "组件绑定值为 Guid 结构体示例",
    "Block8Title": "显示标签",
    "Block8Intro": "组件双向绑定时会根据条件自动判断是否显示标签文字",
    "P3": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "Divider1": "双向绑定显示标签",
    "Divider2": "双向绑定不显示标签",
    "Divider3": "自定义 DisplayText",
    "SelectText": "自定义城市",
    "Block9Title": "静态数据",
    "Block9Intro": "直接在 <code>Select</code> 组件内部进行硬编码书写，适用于静态数据下拉框",
    "Block10Title": "枚举数据",
    "Block10Intro": "<code>Select</code> 组件绑定枚举类型示例",
    "P4": "当绑定值为可为空枚举类型时，组件内部自动通过 <code>PlaceHolder</code> 值添加首选项，未设置 <code>PlaceHolder</code> 值时，使用资源文件中的 <b>请选择 ...</b> 作为首选项，本示例绑定 <code>EnumEducation</code> 枚举类型",
    "P5": "绑定值为枚举类型时，设置 <code>PalceHolder</code> 无效",
    "SelectText1": "可为空",
    "SelectText2": "不为空",
    "Block11Title": "绑定可为空类型",
    "Block11Intro": "<code>Select</code> 组件绑定 <code>int?</code> 类型示例",
    "P6": "选中第一个选项时，绑定值 <code>SelectedIntItem</code> 为 <code>null</code>",
    "Block12Title": "绑定可为空布尔类型",
    "Block12Intro": "<code>Select</code> 组件绑定 <code>bool?</code> 类型示例",
    "P7": "可为空布尔类型多用于条件搜索框中",
    "P8": "选中第一个选项时，绑定值 <code>SelectedIntItem</code> 为 <code>null</code>",
    "Block13Title": "自定义选项模板",
    "Block13Intro": "通过设置 <code>ItemTemplate</code> 可以自定义选项渲染样式",
    "BlockShowSearchTitle": "带搜索框的下拉框",
    "BlockShowSearchIntro": "通过设置 <code>ShowSearch</code> 属性控制是否显示搜索框，默认为 false 不显示搜索框",
    "Block15Title": "带确认的下拉框",
    "Block15Intro": "通过设置 <code>OnBeforeSelectedItemChange</code> 委托，阻止当前值的改变",
    "SwalTitle": "下拉框值变更",
    "SwalContent": "您确认要改变选项值吗？",
    "SwalFooter": "点击确认改变选项值，选择取消后值不变",
    "ShowLabel": "是否显示前置标签",
    "ShowSearch": "是否显示搜索框",
    "DisplayText": "前置标签显示文本",
    "Class": "样式",
    "Color": "颜色",
    "IsDisabled": "是否禁用",
    "Items": "数据集合",
    "SelectItems": "静态数据模板",
    "ItemTemplate": "数据选项模板",
    "ChildContent": "数据模板",
    "Category": "对话框图标",
    "Content": "对话框内容",
    "ContentDefaultValue": "确定改变当前值吗？",
    "OnSelectedItemChanged": "下拉框选项改变时触发此事件",
    "OnBeforeSelectedItemChange": "下拉框选项改变前触发此事件",
    "PlaceHolder": "未选择"
  },
  "BootstrapBlazor.Shared.Samples.Sliders": {
    "Title": "Slider 滑块",
    "H1": "通过拖动滑块在一个固定区间内进行选择",
    "Block1Title": "基础用法",
    "Block1Intro": "在拖动滑块时，改变当前值",
    "Slider1Label": "自定义初始值",
    "Slider2Label": "禁用",
    "Block2Title": "Slider 双向绑定",
    "Block2Intro": "通过拖动滑块在一个固定区间内进行选择",
    "Slider3Label": "自定义初始值",
    "Class": "样式",
    "IsDisabled": "是否禁用",
    "Value": "组件当前值",
    "ValueChanged": "ValueChanged 回调方法"
  },
  "BootstrapBlazor.Shared.Samples.Switchs": {
    "Title": "Switch 开关",
    "H1": "提供最普通的开关应用",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "点击按钮切换状态",
    "P1": "点击第一个开关有值输出日志",
    "OnText": "开启",
    "OffText": "关闭",
    "DisableTitle": "禁用状态",
    "DisableIntro": "通过设置 <code>IsDisabled</code> 属性控制组件不可用状态",
    "ColorTitle": "开关颜色",
    "ColorIntro": "通过设置 <code>OnColor</code> <code>OffColor</code> 属性值，设置开关状态颜色",
    "BindingTitle": "双向绑定",
    "BindingIntro": "绑定组件内变量，数据自动同步",
    "P2": "<code>Switch</code> 组件开启双向绑定时，会根据绑定的 <code>Model</code> 属性值去自动获取 <code>DisplayName</code> 标签值并且显示为前置 <code>Label</code>，通过 <code>DisplayText</code> 属性可以自定义显示前置标签，或者通过 <code>ShowLabel</code> 属性关闭前置标签是否显示",
    "P3": "前置标签显式规则与 <code>BootstrapInput</code> 组件一致 <a href='inputs'>[传送门]</a>",
    "DisplayText1": "双向绑定示例",
    "DivText1": "绑定数值",
    "DividerText1": "自定义标签",
    "P4": "设置 <code>DisplayText</code> 值为 <b>自定义标签</b>",
    "DisplayText2": "自定义标签",
    "DividerText2": "占位",
    "P5": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>true</code> 时均显示",
    "DividerText3": "不占位",
    "P6": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>false</code> 时均不显示",
    "DisplayText3": "不显示",
    "InnerTextTitle": "显示内置文字",
    "InnerTextIntro": "通过设置 <code>ShowInnerText</code> 属性控制组件显示内置文字",
    "P7": "通过设置 <code>OnInnerText</code> <code>OffInnerText</code> 属性更改内置文字，默认情况下建议使用一个汉字，可自定义组件宽度来增加内置文字数量",
    "LabelText1": "默认文字：",
    "LabelText2": "自定义文字：",
    "OnInnerText": "是",
    "OffInnerText": "否",
    "NullableTitle": "可为空类型的开关",
    "NullableIntro": "通过设置 <code>DefaultValueWhenNull</code> 属性控制 <code>Null</code> 值的默认值，未设置时为 <code>false</code>",
    "Class": "样式",
    "Height": "控件高度",
    "IsDisabled": "是否禁用",
    "OffColor": "关颜色设置",
    "OnColor": "开颜色设置",
    "OnTextAttr": "组件 On 时显示文本",
    "OffTextAttr": "组件 Off 时显示文本",
    "OnInnerTextAttr": "组件 On 时内置显示文本",
    "OffInnerTextAttr": "组件 Off 时内置显示文本",
    "OnInnerTextDefaultValue": "开",
    "OffInnerTextDefaultValue": "关",
    "ShowInnerText": "是否显示内置显示文本",
    "Width": "组件宽度",
    "Value": "获取值",
    "ShowLabel": "是否显示前置标签",
    "DisplayText": "前置标签显示文本",
    "OnValueChanged": "值发生改变时回调委托方法",
    "ValueChanged": "获取选择改变的值"
  },
  "BootstrapBlazor.Shared.Samples.Textareas": {
    "PlaceHolder": "请输入 ...",
    "Title": "Textarea 多行文本框",
    "SubTitle": "用于录入大量文字",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "可接受大量文字",
    "BasicUsageLabel": "基本用法",
    "DisableTitle": "禁用",
    "DisableIntro": "设置 <code>IsDisabled</code> 属性值为 <code>true</code> 时，组件禁止输入",
    "BindValue": "绑定值",
    "ReadonlyTitle": "只读",
    "ReadonlyIntro": "设置 <code>readonly</code> 属性时，组件禁止输入",
    "HeightTitle": "高度",
    "HeightIntro": "设置 <code>rows</code> 属性时，组件初始化显示固定行数高度",
    "BindWayTitle": "双向绑定",
    "BindWayIntro": "绑定组件内变量，数据自动同步",
    "ShowLabel": "是否显示前置标签",
    "DisplayText": "前置标签显示文本",
    "IsDisabled": "是否禁用 默认为 fasle"
  },
  "BootstrapBlazor.Shared.Samples.Toggles": {
    "OnText": "开启",
    "OffText": "关闭",
    "Title": "Toggle 开关",
    "SubTitle": "提供最普通的开关应用，值为 <code>true</code> <code>false</code>",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "点击按钮切换状态",
    "BasicUsageP": "点击第一个开关有值输出日志",
    "DisableTitle": "禁用状态",
    "DisableIntro": "开关不可用状态。",
    "BindToWayTitle": "双向绑定数据",
    "BindToWayIntro": "绑定组件内变量，数据自动同步",
    "BindToWayP1": "<code>Switch</code> 组件开启双向绑定时，会根据绑定的 <code>Model</code> 属性值去自动获取 <code>DisplayName</code> 标签值并且显示为前置 <code>Label</code>，通过 <code>DisplayText</code> 属性可以自定义显示前置标签，或者通过 <code>ShowLabel</code> 属性关闭前置标签是否显示",
    "BindToWayDiaspalyText1": "双向绑定示例",
    "BindToWayDiv": "绑定数值:",
    "CustomLabelText": "自定义标签",
    "BindToWayP2": "设置 <code>DisplayText</code> 值为 <b>自定义标签</b>",
    "BindToWayP3": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>true</code> 时均显示",
    "OccupantsText": "占位",
    "NotOccupantsText": "不占位",
    "BindToWayP4": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>false</code> 时均不显示",
    "NotDisplayText": "不显示",
    "Color": "颜色",
    "IsDisabled": "是否禁用",
    "OffTextAttr": "组件 Off 时显示文本",
    "OffTextDefautValue": "收缩",
    "OnTextAttr": "组件 On 时显示文本",
    "OnTextDefautValue": "展开",
    "Width": "组件宽度",
    "Value": "获取值",
    "ShowLabel": "是否显示前置标签",
    "DisplayText": "前置标签显示文本",
    "OnValueChanged": "值发生改变时回调委托方法",
    "ValueChanged": "获取选择改变的值",
    "DisplayName": "绑定标签"
  },
  "BootstrapBlazor.Shared.Samples.Transfers": {
    "LeftPannelText": "左侧列表",
    "LeftButtonText": "到左边",
    "RightPannelText": "右侧列表",
    "RightButtonText": "到右边",
    "PlaceHolder": "请输入",
    "Title": "Transfer 穿梭框",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "",
    "CustomizableTitle": "可自定义",
    "CustomizableIntro": "可以对列表标题文案、按钮文案、数据项的渲染函数、列表底部的勾选状态文案、列表底部的内容区等进行自定义。",
    "SearchableTitle": "可搜索",
    "SearchableIntro": "在数据很多的情况下，可以对数据进行搜索和过滤。",
    "BindToWayTitle": "双向绑定",
    "BindToWayIntro": "组件数据发生变化时，双向绑定 <code>bind_Value</code> 值同步变化",
    "BindToWayP1": "<code>Transfer</code> 组件为泛型组件，支持三种绑定类型 <code>string</code> <code>IEnumerable&lt;string&gt;</code> <code>IEnumerable&lt;SelectedItem&gt;</code> 本例中双向绑定 <code>SelectedValue</code> 类型为 <code>IEnumerable&lt;SelectedItem&gt;</code>",
    "BindToWayButtonText1": "增加",
    "ClientValidationTitle": "客户端验证",
    "ClientValidationIntro": "组件数据发生变化时，双向绑定 <code>bind_Value</code> 值同步变化",
    "ClientValidationP1": "<code>Transfer</code> 组件内置于 <code>ValidateForm</code> 组件即开启客户端验证，本例中组件双向绑定 <code>Model.Hobby</code> 类型为 <code>IEnumerable&lt;string&gt;</code>",
    "ClientValidationButtonText": "提交",
    "DisableTitle": "禁用",
    "DisableIntro": "设置 <code>IsDisabled</code> 属性值为 <code>true</code> 时，组件禁止输入",
    "ItemStyleTitle": "设置 Item 样式",
    "ItemStyleIntro": "通过设置 <code>OnSetItemClass</code> 回调方法根据 <code>SelectedItem</code> 值设置选项样式",
    "Items": "组件绑定数据项集合",
    "LeftButtonTextAttr": "左侧按钮显示文本",
    "LeftPanelTextAttr": "左侧面板 Header 显示文本",
    "LeftPanelDefaultValue": "列表 1",
    "RightButtonTextAttr": "右侧按钮显示文本",
    "RightPanelTextAttr": "右侧面板 Header 显示文本",
    "RightPanelTextDefaultValue": "列表 2",
    "ShowSearch": "是否显示搜索框",
    "LeftPannelSearchPlaceHolderString": "左侧面板中的搜索框 placeholder 字符串",
    "RightPannelSearchPlaceHolderString": "右侧面板中的搜索框 placeholder 字符串",
    "IsDisabled": "是否禁用",
    "OnItemsChanged": "组件绑定数据项集合选项变化时回调方法",
    "OnSetItemClass": "设置 Item 样式回调方法",
    "Data": "数据",
    "Backup": "备选"
  },
  "BootstrapBlazor.Shared.Samples.Uploads": {
    "Title": "Upload 上传",
    "SubTitle": "通过点击上传文件",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "<code>InputUpload</code> 组件与其他表单组件一起使用，显示文件名称，点击 <b>浏览</b> 按钮后选择文件并上传；通过设置 <code>ShowRemoveButton</code> 参数，显示 <b>删除</b> 按钮，点击删除按钮时回调 <code>OnDelete</code> 委托方法",
    "BasicUsageLabelName": "姓名:",
    "BasicUsageLabelAdress": "地址:",
    "BasicUsageLabelPhoto": "照片:",
    "FormTitle": "表单应用",
    "FormIntro": "在表单内使用文件上传组件对文件格式进行约束",
    "FormLi1": "使用 <code>ValidateForm</code> 表单组件，通过设置模型属性的 <code>FileValidation</code> 标签设置自定义验证，支持文件 <b>扩展名</b> <b>大小</b> 验证，本例中设置扩展名为 <code>.png .jpg .jpeg</code>，文件大小限制为 <code>50K</code>",
    "FormLi2": "选择文件后并未开始上传文件，点击 <code>提交</code> 按钮数据验证合法后，再 <code>OnSubmit</code> 回调委托中进行上传文件操作，注意 <b>Picture</b> 属性类型为 <code>IBrowserFile</code>",
    "FormButtonText": "提交",
    "ClickUploadTitle": "点击上传",
    "ClickUploadIntro": "<code>ButtonUpload</code> 组件，经典款式，用户点击按钮弹出文件选择框。",
    "ClickUploadP1": "点击 <code>浏览按钮</code> 选择文件上传，本例中设置 <code>IsMultiple=true</code> 可多选文件进行上传",
    "ClickUploadP2": "设置 <code>IsSingle</code> 时，仅可以上传一张图片或者文件",
    "UploadedFilesTitle": "已上传文件列表",
    "UploadedFilesIntro": "使用 <code>DefaultFileList</code> 设置已上传的内容",
    "UploadFolderTitle": "上传文件夹",
    "UploadFolderIntro": "使用 <code>DefaultFileList</code> 设置已上传的内容",
    "AvatarUploadTitle": "用户头像上传",
    "AvatarUploadIntro": "<code>AvatarUpload</code> 组件，使用 <code>OnChange</code> 限制用户上传的图片格式和大小。本例中仅允许上传 <code>jpg/png/bmp/jpeg/gif</code> 五种图片格式",
    "AvatarUploadP1": "卡片形式头像框",
    "AvatarUploadP2": "圆形头像框",
    "AvatarUploadP3": "设置 <code>IsSingle</code> 时，仅可以上传一张图片或者文件",
    "AvatarUploadP4": " <div>组件提供了 <code>Accept</code> 属性用于设置上传文件过滤功能，本例中圆形头像框接受 GIF 和 JPEG 两种图像，设置 <code>Accept='image/gif, image/jpeg'</code>，如果不限制图像的格式，可以写为：<code>Accept='image/*'</code>，该属性并不安全还是应该是使用 <b>服务器端验证</b> 进行文件格式验证</div>",
    "AvatarUploadP5": "相关文档：<a href='https://www.runoob.com/tags/att-input-accept.html' target='_blank'>[Accept 属性详解]</a> <a href='http://www.iana.org/assignments/media-types/media-types.xhtml' target='_blank'>[Media Types 详细列表]</a>",
    "AvatarUploadP6": "通过 <code>DefaultFileList</code> 属性设置预览地址 <code>PrevUrl</code> 即可",
    "AvatarUploadP7": "验证表单内使用头像框示例",
    "AvatarUploadButtonText": "提交",
    "PreCardStyleTitle": "预览卡片式",
    "PreCardStyleIntro": "<code>CardUpload</code> 组件，呈现为卡片式带预览模式",
    "PreCardStyleSSR": "<b>SSR 模式</b>",
    "PreCardStyleServerSide": "<code>Server Side</code> 模式中可以使用 <code>IWebHostEnvironment</code> 注入服务获取到 <code>wwwwroot</code> 目录，保存文件到 <code>images\\uploader</code> 中，此功能无需 <b>MVC</b> 的控制器辅助进行文件的保存，直接调用 <code>SaveToFile</code> 方法即可",
    "PreCardStyleWasm": "<b>Wasm 模式</b>",
    "PreCardStyleWasmSide": "<code>wasm</code> 模式中无法使用 <code>IWebHostEnvironment</code> 需要调用 <code>webapi</code> 接口等形式将文件保存到服务器端",
    "PreCardStyleLink": "有兴趣的同学可以通过开源仓库中的 <code>wiki</code> 文档中相关资源查看关于 <code>Upload</code> 组件的相关知识技巧 <a href='{0}' target='_blank'>[传送门]</a>",
    "PreCardStyleValidation": "本例中通过服务器端验证当文件大小超过 <code>200MB</code> 时，提示文件太大提示信息",
    "PreCardStyleP1": "本例中设置 <code>ShowProgress=true</code> 显示上传进度条",
    "PreCardStyleP2": "设置 <code>IsSingle</code> 时，仅可以上传一张图片或者文件",
    "FileIconTitle": "文件图标",
    "FileIconIntro": "不同文件格式显示的图标不同",
    "ShowDeleteButton": "是否显示删除按钮",
    "IsDisabled": "是否禁用",
    "PlaceHolder": "占位字符串",
    "Accept": "上传接收的文件格式",
    "BrowserButtonClass": "上传按钮样式",
    "BrowserButtonIcon": "浏览按钮图标",
    "BrowserButtonText": "浏览按钮显示文字",
    "DeleteButtonClass": "删除按钮样式",
    "DeleteButtonIcon": "删除按钮图标",
    "DeleteButtonText": "删除按钮文字",
    "DeleteButtonTextDefaultValue": "删除",
    "OnDelete": "点击删除按钮时回调此方法",
    "OnChange": "点击浏览按钮时回调此方法",
    "IsDirectory": "是否上传整个目录",
    "IsMultiple": "是否允许多文件上传",
    "IsSingle": "是否仅上传一次",
    "ShowProgress": "是否显示上传进度",
    "DefaultFileList": "已上传文件集合",
    "OnGetFileFormat": "设置文件格式图标回调委托",
    "Width": "预览框宽度",
    "Height": "预览框高度",
    "IsCircle": "是否为圆形头像模式",
    "Success": "上传成功",
    "Error": "模拟上传失败",
    "FormatError": "文件格式不正确",
    "AvatarMsg": "头像上传",
    "FileMsg": "上传文件",
    "FileError": "文件大小超过 200MB",
    "SaveFileError": "保存文件失败",
    "UploadFile": "上传文件",
    "WasmError": "Wasm 模式未实现保存代码",
    "SaveFile": "保存文件",
    "SaveFileMsg": "当前模式为 WebAssembly 模式，请调用 Webapi 模式保存文件到服务器端或数据库中",
    "RemoveMsg": "成功移除"
  },
  "BootstrapBlazor.Shared.Samples.ValidateForms": {
    "ChangeButtonText": "更改组件",
    "ResetButtonText": "重置组件",
    "ButtonText": "提交表单",
    "Title": "ValidateForm 表单组件",
    "SubTitle": "可供数据合规检查的表单组件",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "放置到 <code>ValidateForm</code> 中的组件提交时自动进行数据合规检查",
    "BasicUsageP1": "组件说明：",
    "BasicUsageLi1": "<code>ValidateForm</code> 组件支持异步设置 <code>Model</code> 值",
    "BasicUsageLi2": "表单事件为 <code>OnValidSubmit</code> <code>OnInvalidSubmit</code>",
    "BasicUsageLi3": "<code>Model</code> 参数为必填项不允许为空",
    "BasicUsageLi4": "表单内可以放置多个按钮，通过设置 <code>ButtonType='ButtonType.Submit'</code> 参数是否提交表单",
    "BasicUsageLi5": "客户端验证机制支持模型的 <code>Required</code> 标签，通过设置 <code>ErrorMessage</code> 参数设置提示信息，未设置时使用默认的英文提示信息",
    "BasicUsageLi6": "表单默认检查表单内绑定字段值是否合法，如需要检查模型所有字段时可设置 <code>ValidateAllProperties</code> 属性值为 <code>true</code>",
    "BasicUsageLi7": "通过设置提交按钮 <code>Button</code> 属性 <code>IsAsync</code> 值，设置异步提交表单",
    "BasicUsageLi8": "表单内组件通常用法都是使用双向绑定技术对 <code>Model</code> 的属性值进行双向绑定，当其值改变时会导致所在组件 <code>StateHasChanged</code>,方法被调用，即其所在组件或者页面进行刷新重新渲染",
    "BasicUsageP2": "注意事项：",
    "InnerComponentTitle": "内置组件",
    "InnerComponentIntro": "放置支持表单组件到 <code>ValidateForm</code> 中",
    "InnerComponentLabel": "支持表单验证的组件示例",
    "InnerComponentP1": "示例说明",
    "InnerComponentLi1": "姓名为字符串类型",
    "InnerComponentLi2": "年龄为整数类型",
    "InnerComponentLi3": "生日为时间类型",
    "InnerComponentLi4": "教育为枚举类型",
    "InnerComponentLi5": "爱好为集合类型",
    "InnerComponentP2": "本例中通过设置 <b>提交按钮</b> 属性 <code>IsAsync</code> 来异步提交表单，点击提交后禁用自身，异步操作完毕后恢复",
    "CustomDisplsyErrorTitle": "自定义显示错误信息",
    "CustomDisplsyErrorIntro": "通过调用 <code>SetError</code> 方法设置自定义错误信息",
    "CustomDisplsyErrorP1": "<b>应用场景</b>,<div>客户端验证通过后进行数据库保存操作，如果出现其他问题，后仍然可以进行表单自定义错误提示，本例中数据验证合法后，点击<code>提交表单</code>按钮后，姓名字段会显示,<code>数据库中已存在</code>这样的自定义提示信息</div>",
    "ValidatorAllFieldTitle": "验证所有字段值",
    "ValidatorAllFieldIntro": "此组件默认检查表单内模型绑定字段值，如需要检查模型所有字段值时设置 <code>ValidateAllProperties</code> 值",
    "ValidatorAllFieldP1": " 本例中未放置 <code>Address</code>，由于设置 <code>ValidateAllProperties</code> 参数值为 <code>true</code>，所以 <code>Address</code> 字段仍然被检查，及时表单内所有数据均合法后，提交数据时仍然触发 <code>OnInvalidSubmit</code> 回调委托",
    "ComplexValidationTitle": "复杂类型支持",
    "ComplexValidationIntro": "支持任意复杂类型的绑定与验证",
    "ComplexValidationP1": "本示例中第二个绑定的是一个超级复杂类型 <code>ComplexModel.Dummy.Dummy2.Name</code> 清空值后，点击 <b>提交表单</b> 会对数据进行验证。第二个文本框验证合规后，通过调用<code>SetError</code> 再次显示错误提示",
    "ComplexValidationPre": "ComplexForm.SetError('Dummy.Dummy2.Name','数据库中已存在');",
    "DynamicFormTitle": "动态调整表单内组件",
    "DynamicFormIntro": "通过代码更改表单内组件，验证表单仍然可以正确的进行验证",
    "DynamicFormP1": "点击 <b>更改组件</b> 按钮后 <code>地址</code> 组件变更为 <code>数量</code> 组件，<b>重置组件</b> 按钮恢复，<code>姓名</code> <code>地址</code>组件为必填项，<code>数量</code> 组件有默认值 <code>0</code> 所以可以通过数据检查",
    "InnerFormLabelTitle": "表单内设置组件标签右对齐",
    "InnerFormLabelIntro": "通过样式统一设置全站或者特定表单内标签对齐方式",
    "InnerFormLabelP1": "地址文本框增加了 <b>邮件地址</b> 验证规则",
    "CustomValidationFormTitle": "自定义验证表单",
    "CustomValidationFormIntro": "通过设置 <code>Rules</code> 添加自定义验证规则",
    "CustomValidationFormP1": "地址文本框增加了 <b>邮件地址</b> 验证规则，点击提交时验证",
    "CustomValidationFormComment1": "增加邮箱验证规则",
    "CustomValidationFormComment2": "Razor 文件中使用",
    "Model": "表单组件绑定的数据模型，必填属性",
    "ValidateAllProperties": "是否检查所有字段",
    "ShowRequiredMark": "表单内必填项是否显示 * 标记",
    "ChildContent": "子组件模板实例",
    "OnValidSubmit": "表单提交时数据合规检查通过时的回调委托",
    "OnInvalidSubmit": "表单提交时数据合规检查未通过时的回调委托",
    "SetError": "设置验证失败方法",
    "OnInvalidSubmitLog": "OnInvalidSubmit 回调委托: 验证未通过",
    "OnValidSubmitLog": "OnValidSubmit 回调委托: 验证通过",
    "OnValidSubmitSatringLog": "OnValidSubmit 回调委托: Starting ...",
    "OnValidSubmitDoneLog": "OnValidSubmit 回调委托: Done!",
    "OnInvalidSubmitCallBackLog": "OnInvalidSubmit 回调委托",
    "OnValidSubmitCallBackLog": "OnValidSubmit 回调委托",
    "DatabaseExistLog": "数据库中已存在"
  },
  "BootstrapBlazor.Shared.Samples.Avatars": {
    "Title": "Avatar 头像",
    "SubTitle": "用图标、图片或者字符的形式展示用户或事物信息。",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "通过 <code>IsCircle</code> 和 <code>Size</code> 设置头像的形状和大小。",
    "BasicUsageDivider": "分割线",
    "IconTitle": "展示类型",
    "IconIntro": "支持三种类型：图标、图片和字符",
    "BorderTitle": "边框",
    "BorderIntro": "通过设置 <code>IsBorder</code> 是否显示头像框边框，此模式下图片加载失败时边框为 <code>border-danger</code> 样式，加载成功时边框为 <code>border-success</code>;其余模式下边框为<code>border-info</code>",
    "BorderDiv1": "第一幅圆角正方形头像框加载正确，所以边框为 <b class='text-info'>蓝色</b>",
    "BorderDiv2": "第二幅圆形头像加载图片路径错误，所以边框为 <b class='text-danger'>红色</b>，图片显示为默认图标",
    "CircletTitle": "异步加载",
    "CircleIntro": "适用于图片地址由 <code>webapi</code> 等接口异步获取的场景",
    "Size": "头像框大小",
    "IsBorder": "是否显示边框",
    "IsCircle": "是否为圆形",
    "IsIcon": "是否为图标",
    "IsText": "是否为显示为文字",
    "Icon": "头像框显示图标",
    "Text": "头像框显示文字",
    "Url": "Image 头像路径地址",
    "GetUrlAsync": "获取 Image 头像路径地址异步回调委托"
  },
  "BootstrapBlazor.Shared.Samples.Badges": {
    "Title": "Badge 徽章组件",
    "SubTitle": "出现在按钮、图标旁的数字或状态标记",
    "BasicusageTitle": "基础用法",
    "BasicusageIntro": "提供各种颜色的徽章小挂件组件",
    "PillTitle": "胶囊徽章",
    "PillIntro": "通过属性 <code>IsPill='true'</code> 设置圆角的徽章挂件",
    "ButtonTitle": "按钮内徽章",
    "ButtonIntro": "按钮内部徽章",
    "ButtonSpan": "主要按钮",
    "ChildContent": "内容",
    "Class": "样式",
    "Color": "颜色",
    "IsPill": "胶囊样式"
  },
  "BootstrapBlazor.Shared.Samples.BarcodeReaders": {
    "Title": "BarcodeReader 条码扫描",
    "SubTitle": "本组件通过调用摄像头对条码进行扫描，获取到条码内容条码/QR码",
    "Attention": "特别注意：",
    "Li1": "站点要启用 <code>https</code>，这是浏览器厂商要求的",
    "Li2": "移动端 iOS 系统必须使用 <code>Safari</code> 浏览器，切换前/后摄像头要点一下关闭功能按钮",
    "Li3": "安卓手机大概率需要原生系统浏览器，<code>Chrome</code> 是必定可以的，某些浏览器可能不兼容摄像头",
    "Li4": "条码识别率与手机像素，条码大小，手机执行效率有关",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "通过摄像头进行扫码识别",
    "Step": "操作步骤：",
    "BasicUsageLi1": "点击开始打开摄像头",
    "BasicUsageLi2": "对准条码进行扫描",
    "BasicUsageLi3": "点击关闭按钮关闭摄像头",
    "ImageTitle": "基本用法",
    "ImageIntro": "通过静态图片进行扫码识别",
    "ImageLi1": "点击扫码弹出选择文件框",
    "ImageLi2": "选取包含条码图片",
    "ImageLi3": "开始识别条码",
    "AutoStartTitle": "自动开始",
    "AutoStartIntro": "通过设置 <code>AutoStart</code> 参数设置自动开启摄像头",
    "AutoStartLi1": "点击扫码弹出选择文件框",
    "AutoStartLi2": "选取包含条码图片",
    "AutoStartLi3": "开始识别条码",
    "ButtonScanText": "扫描按钮文字",
    "ButtonScanTextDefaultValue": "扫描",
    "ButtonStopText": "关闭按钮文字",
    "ButtonStopTextDefaultValue": "关闭",
    "AutoStopText": "自动关闭按钮文字",
    "AutoStopTextDefaultValue": "自动关闭",
    "DeviceLabel": "设备列表前置标签文字",
    "DeviceLabelDefaultValue": "摄像头",
    "InitDevicesString": "初始化设备列表文字",
    "InitDevicesStringDefaultValue": "正在识别摄像头",
    "NotFoundDevicesString": "未找到视频相关设备文字",
    "NotFoundDevicesStringDefaultValue": "未找到视频相关设备",
    "AutoStart": "组件初始化时是否自动开启摄像头",
    "AutoStop": "扫描到条码后是否自动停止",
    "ScanType": "扫描方式摄像头或者图片",
    "OnInit": "初始化摄像头回调方法",
    "OnResult": "扫描到条码回调方法",
    "OnStart": "打开摄像头回调方法",
    "OnClose": "关闭摄像头回调方法",
    "OnError": "发生错误回调方法",
    "InitLog": "初始化摄像头完成",
    "ScanCodeLog": "扫描到条码",
    "ErrorLog": "发生错误",
    "OpenCameraLog": "打开摄像头",
    "CloseCameraLog": "关闭摄像头"
  },
  "BootstrapBlazor.Shared.Samples.Blocks": {
    "Title": "Block 条件块",
    "SubTitle": "根据参数条件决定是否显示块内容，通常与权限授权配合使用",
    "BasicUsageTitle": "普通用法",
    "BasicUsageIntro": "通过设置 <code>OnQueryCondition</code> 回调方法返回值判断是否显示组件内容",
    "TemplateTitle": "模板",
    "TemplateIntro": "通过设置 <code>Authorized</code> <code>NotAuthorized</code> 可以分别设置符合条件与不符合条件时显示的内容",
    "TemplateDiv1": "我是 <b>符合</b> 条件显示的组件内容",
    "TemplateDiv2": "我是 <b>不符合</b> 条件显示的组件内容",
    "AuthorizateTitle": "通过权限判断",
    "AuthorizateIntro": "本例模拟用户登录来控制 <code>Block</code> 内容是否显示，使用比 <code>AuthorizeView</code> 简单",
    "AuthorizateDiv1": "我是 <code>CondtionBlock</code> 组件内容，当前登录用户：<code>{0}</code>",
    "AuthorizateDiv2": "我是 <code>AuthorizeView</code> 组件内容，当前登录用户：<code>{0}</code>",
    "AuthorizateDiv3": "我是 <code>AuthorizeView</code> 组件内容，当前未登录",
    "UsersTitle": "预设置用户",
    "UsersIntro": "通过设置 <code>Users</code> 控制显示内容，当前登录用户属于预设用户时显示",
    "UsersDiv1": "当前用户 <code>{0}</code> 允许看到此内容",
    "RolesTitle": "预设置角色",
    "RolesIntro": "通过设置 <code>Roles</code> 控制显示内容，当前登录用户属于预设角色时显示",
    "RolesDiv1": "当前角色 <code>User</code> 允许看到此内容",
    "Tips": "通过设置不同的 <code>Name</code> 当作资源，结合授权系统对此资源授权可以实现对网页中任意元素进行权限控制",
    "OnQueryCondition": "是否显示此 Block",
    "ChildContent": "Block 块内显示内容",
    "Authorized": "Block 块内符合条件显示内容",
    "NotAuthorized": "Block 块内不符合条件显示内容",
    "IsShow": "显示",
    "IsHide": "隐藏",
    "Login": "登入",
    "Logout": "登出"
  },
  "BootstrapBlazor.Shared.Samples.Cards": {
    "Title": "Card 卡片",
    "SubTitle": "将信息聚合在卡片容器中展示",
    "BasicUsageTitle": "Card 卡片组件",
    "BasicUsageIntro": "Card简单示例",
    "FooterTitle": "Header 和 Footer",
    "FooterIntro": "通过添加 CardHeader 与 CardFooter 元素即可展示相关内容",
    "IsCenterTitle": "内容居中",
    "IsCenterIntro": "通过设置，<code>IsCenter=true</code> 使内容居中",
    "ColorTitle": "带有边框颜色的卡片",
    "ColorIntro": "通过设置，<code>Color</code> 使border和Body具有相应的颜色",
    "CardBody": "获得/设置 CardBody",
    "CardFooter": "获得/设置 CardFooter",
    "CardHeader": "获得/设置 CardHeader",
    "Class": "样式",
    "Color": "设置卡片边框颜色",
    "IsCenter": "通过设置,IsCenter=true 使内容居中"
  },
  "BootstrapBlazor.Shared.Samples.Calendars": {
    "Title": "Calendar 日历框",
    "SubTitle": "按照日历形式展示数据的容器。当数据是日期或按照日期划分时，例如日程、课表、价格日历等，农历等。目前支持年/月切换。",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "基础的日历显示。",
    "BindTitle": "数据双向绑定",
    "BindIntro": "日历框选择时间时数据自动更新文本框",
    "ViewModelTitle": "按周展示",
    "ViewModelIntro": "通过设置属性 <code>CalendarViewModel.Week</code>",
    "AppTitle": "实战应用",
    "AppIntro": "课堂表",
    "AppText": "目前按周内组件暂时为统一使用 <code>ChildContext</code> 来进行渲染，所有单元格内的数据相关操作组件均未进行封装，稍后完善",
    "None": "无",
    "Chinese": "语文",
    "Math": "数学",
    "English": "英语",
    "Study": "自习",
    "Siesta": "午休",
    "Value": "组件值",
    "ChildContent": "子组件",
    "ValueChanged": "值改变时回调委托"
  },
  "BootstrapBlazor.Shared.Samples.Cameras": {
    "Title": "Camera 摄像头拍照组件",
    "SubTitle": "本组件通过调用摄像头进行拍照操作",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "通过摄像头进行拍照",
    "BasicUsageStep": "操作步骤：",
    "BasicUsageLi1": "点击开始打开摄像头",
    "BasicUsageLi2": "点击拍照按钮",
    "BasicUsageLi3": "点击关闭按钮关闭摄像头",
    "ShowPreviewTitle": "显示预览",
    "ShowPreviewIntro": "通过设置 <code>ShowPreview</code> 属性控制是否显示照片预览",
    "AutoStartTitle": "自动开始",
    "AutoStartIntro": "通过设置 <code>AutoStart</code> 属性控制是否组件运行时直接开启摄像头",
    "ShowPreview": "是否显示 照片预览",
    "AutoStart": "是否直接开启摄像头",
    "DeviceLabel": "设备列表前置标签文字",
    "FrontText": "前置显示文字",
    "BackText": "后置显示文字",
    "PlayText": "开启按钮显示文本",
    "StopText": "关闭按钮显示文本",
    "PhotoText": "拍照按钮显示文本",
    "InitDevicesString": "初始化设备列表文字",
    "InitDevicesStringDefaultValue": "正在识别摄像头",
    "NotFoundDevicesString": "未找到视频相关设备文字",
    "NotFoundDevicesStringDefaultValue": "未找到视频相关设备",
    "OnInit": "初始化摄像头回调方法",
    "OnStart": "开始扫码回调方法",
    "OnClose": "关闭扫码回调方法",
    "OnCapture": "扫码成功回调方法"
  },
  "BootstrapBlazor.Shared.Samples.Captchas": {
    "Title": "Captchas 滑块验证码",
    "SubTitle": "通过拖动滑块进行人机识别",
    "BasicUsageTitle": "基础功能",
    "BasicUsageIntro": "进行简单的人机识别",
    "ImageTitle": "指定图床路径与名称",
    "ImageIntro": "通过 <code>ImagesPath</code> 设置图床路径，通过 <code>ImagesName</code> 设置图片名称，后台通过计算拼接随机图片全路径名称",
    "ImageCallbackTitle": "指定图床委托方法",
    "ImageCallbackIntro": "通过 <code>GetImageName</code> 设置自定义方法拼接随机图片全路径名称",
    "ImagesPath": "图床路径",
    "ImagesName": "滑块背景图文件名称",
    "HeaderText": "组件 Header 显示文字",
    "HeaderTextDefaultValue": "请完成安全验证",
    "BarText": "拖动滑块显示文字",
    "BarTextDefaultValue": "向右滑动填充拼图",
    "FailedText": "背景图加载失败显示文字",
    "FailedTextDefaultValue": "加载失败",
    "LoadText": "背景图加载时显示文字",
    "LoadTextDefaultValue": "正在加载 ...",
    "TryText": "拼图失败滑块显示文字",
    "TryTextDefaultValue": "再试一次",
    "Offset": "拼图对齐偏移量",
    "Width": "拼图宽度",
    "Height": "拼图高度",
    "OnValid": "滑块验证码进行验证结果判断后回调此方法",
    "GetImageName": "自定义获取背景图文件名称方法"
  },
  "BootstrapBlazor.Shared.Samples.Carousels": {
    "Title": "Carousel 走马灯",
    "SubTitle": "在有限空间内，循环播放同一类型的图片、文字等内容",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "适用广泛的基础用法，通过设置 <code>Items</code> 属性值对组件进行图片的绑定，值为图片路径数组",
    "FadeTitle": "淡入淡出",
    "FadeIntro": "通过设置 <code>IsFade</code> 属性，图片切换时采用淡入淡出效果",
    "OnClickTitle": "点击图片回调事件",
    "OnClickIntro": "通过设置 <code>OnClick</code> 属性后，点击 <code>Image</code> 后触发 <code>OnClick</code> 回调委托",
    "Images": "Images 集合",
    "IsFade": "是否淡入淡出",
    "Width": "设置图片宽度",
    "OnClick": "点击图片回调委托"
  },
  "BootstrapBlazor.Shared.Samples.Client": {
    "Title": "获取客户端连接信息",
    "SubTitle": "多用于系统日志跟踪",
    "BasicUsageTitle": "普通用法",
    "BasicUsageIntro": "注入服务显示客户端信息",
    "BasicUsageP1": "用法介绍",
    "BasicUsageP2": "1. <b>Startup.cs</b> 文件中使用 <code>UseBootstrapBlazor</code> 中间件进行客户端信息收集",
    "BasicUsageTips": "<code>app.UseBootstrapBlazor</code> 中间件位于程序集 <code>BootstrapBlazor.Middleware</code>，请自行引用此包才能正常使用",
    "BasicUsageP3": "2. 组件中使用注入服务 <code>WebClientService</code> 调用 <code>RetrieveRemoteInfo</code> 方法",
    "GroupBoxTitle": "您的连接信息",
    "Id": "连接 ID",
    "RequestUrl": "请求地址",
    "Ip": "IP 地址",
    "OS": "操作系统",
    "Browser": "浏览器",
    "Engine": "浏览器引擎",
    "Device": "设备",
    "Language": "语言"
  },
  "BootstrapBlazor.Shared.Samples.Circles": {
    "Title": "Circle 进度环",
    "SubTitle": "图表类组件。一般有两种用途：",
    "Li1": "显示某项任务进度的百分比",
    "Li2": "统计某些指标的占比。",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "通过设置 <code>Value</code> 属性设定圆形进度",
    "IncreaseSpan": "增加",
    "DecreaseSpan": "减少",
    "ColorTitle": "颜色",
    "ColorIntro": "通过设置 <code>Color</code> 属性设定圆形进度条颜色",
    "StrokeWidthTitle": "进度条宽度",
    "StrokeWidthIntro": "通过设置 <code>StrokeWidth</code> 属性设定圆形进度条宽度",
    "ChildContentTitle": "自定义显示内容",
    "ChildContentIntro": "通过自定义子组件自定义显示内容",
    "ChildContentP1": "消费人群规模",
    "ChildContentSpan": "总占人数",
    "Width": "组件宽度",
    "StrokeWidth": "进度条宽度",
    "Value": "当前进度",
    "Color": "进度条颜色",
    "ShowProgress": "是否显示进度条信息",
    "ChildContent": "子组件"
  },
  "BootstrapBlazor.Shared.Samples.Collapses": {
    "Title": "Collapse 折叠面板",
    "SubTitle": "通过折叠面板收纳内容区域",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "可同时展开多个面板，面板之间不影响",
    "AccordionTitle": "手风琴效果",
    "AccordionIntro": "每次只能展开一个面板",
    "ColorTitle": "子项标题颜色",
    "ColorIntro": "每个面板设置不同颜色",
    "ItemsTitle": "动态更新",
    "ItemsIntro": "通过条件逻辑设置 <code>CollapseItems</code> 模板",
    "Consistency": "一致性 Consistency",
    "ConsistencyItem1": "与现实生活一致：与现实生活的流程、逻辑保持一致，遵循用户习惯的语言和概念；",
    "ConsistencyItem2": "在界面中一致：所有的元素和结构需保持一致，比如：设计样式、图标和文本、元素的位置等。",
    "Feedback": "反馈 Feedback",
    "FeedbackItem1": "控制反馈：通过界面样式和交互动效让用户可以清晰的感知自己的操作；",
    "FeedbackItem2": "页面反馈：操作后，通过页面元素的变化清晰地展现当前状态。",
    "Efficiency": "效率 Efficiency",
    "EfficiencyItem1": "简化流程：设计简洁直观的操作流程；",
    "EfficiencyItem2": "清晰明确：语言表达清晰且表意明确，让用户快速理解进而作出决策；",
    "EfficiencyItem3": "帮助用户识别：界面简单直白，让用户快速识别而非回忆，减少用户记忆负担。",
    "Controllability": "可控 Controllability",
    "ControllabilityItem1": "用户决策：根据场景可给予用户操作建议或安全提示，但不能代替用户进行决策；",
    "ControllabilityItem2": "结果可控：用户可以自由的进行操作，包括撤销、回退和终止当前操作等。",
    "ButtonText": "切换",
    "CollapseItems": "内容",
    "IsAccordion": "是否手风琴效果"
  },
  "BootstrapBlazor.Shared.Samples.Displays": {
    "Title": "Display 显示组件",
    "SubTitle": "显示静态文本数据",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "仅显示",
    "BasicUsage": "基本用法",
    "BindWayTitle": "双向绑定数据",
    "BindWayIntro": "通过双向绑定可以自动获取资源文件中的显示标签",
    "BindWayP1": "<code>Display</code> 组件开启双向绑定时，会根据绑定的 <code>Model</code> 属性值去自动获取 <code>Display/DisplayName</code> 标签值并且显示为前置 <code>Label</code>，通过 <code>DisplayText</code> 属性可以自定义显示前置标签，或者通过 <code>ShowLabel</code> 属性关闭前置标签是否显示",
    "BindWayCustomLabel": "自定义标签",
    "BindWayP2": "设置 <code>DisplayText</code> 值为 <b>自定义标签</b>",
    "BindWayOccupants": "占位",
    "BindWayP3": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>true</code> 时均显示",
    "BindWayNotccupants": "不占位",
    "BindWayP4": "无论是否设置 <code>DisplayText</code> 值，当 <code>ShowLabel</code> 为 <code>false</code> 时均不显示",
    "DataTypeTitle": "泛型绑定",
    "DataTypeIntro": "<code>Display</code> 组件内置对 <code>枚举</code> <code>集合</code> <code>数组</code> 进行处理，如不符合条件时，请自定义格式化或者回调委托方法",
    "EditorFormTitle": "表单内使用",
    "EditorFormIntro": "<code>Display</code> 组件在表单组件 <code>EditorForm</code> 中使用，多用于明细页，不可编辑模式",
    "FormatStringTitle": "自定义格式",
    "FormatStringIntro": "设置 <code>FormatString</code> 属性值为 <code>yyyy-MM-dd</code> 时，组件显示的时间格式为年月日",
    "FormatStringettingText": "设置",
    "FormatStringP": "<code>Display</code> 组件绑定 <code>byte[]</code> 数组，格式化成 <code>base64</code> 编码字符串示例",
    "LookupTitle": "自动翻译为 Text",
    "LookupIntro": "设置 <code>Lookup</code> 值为 <code>IEnumerable&lt;SelectedItem&gt;</code> 集合，组件将通过此数据集，进行通过 <code>Value</code> 显示 <code>Text</code> 翻译工作",
    "LookupP1": "本例中组件 <code>Value='@@IntValue'</code> 设置 <code>Lookup='@@IntValueSource'</code> 组件将 <code>Value</code> 值对应的 <code>Text</code> 显示出来",
    "ShowLabel": "是否显示前置标签",
    "DisplayText": "前置标签显示文本",
    "FormatString": "数值格式化字符串",
    "Formatter": "TableHeader 实例",
    "Integer": "整型",
    "Enum": "枚举",
    "Collection": "集合",
    "Arr": "数组"
  },
  "BootstrapBlazor.Shared.Samples.DropdownWidgets": {
    "Title": "DropdownWidget 下拉挂件",
    "SubTitle": "多用于头部信息汇总展示",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "直接在页面上通过 <code>ChildContent</code> 编写挂件内容",
    "BasicUsageMessage": "您有 4 个未读消息",
    "BasicUsageViewMessage": "查看所有消息",
    "BasicUsageNotify": "您有 10 个未读通知",
    "BasicUsageViewNotify": "查看所有通知",
    "BasicUsageTasks": "您有 3 个任务",
    "BasicUsageViewTasks": "查看所有任务",
    "AttrTitle": "DropdownWidgetItem 组件",
    "Icon": "挂件图标",
    "BadgeColor": "徽章颜色",
    "HeaderColor": "Header 颜色",
    "BadgeNumber": "徽章显示数量",
    "ShowArrow": "是否显示小箭头",
    "MenuAlignment": "菜单对齐方式",
    "HeaderTemplate": "Header 模板",
    "BodyTemplate": "Body 模板",
    "FooterTemplate": "Footer 模板"
  },
  "BootstrapBlazor.Shared.Samples.Empties": {
    "Title": "Empty 空状态",
    "SubTitle": "空状态时的展示占位图",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "添加 <code>Empty</code> 标签即可",
    "ImageTitle": "设置空状态图片路径",
    "ImageIntro": "设置 <code>Image</code> 属性即可",
    "ImageText": "暂无数据",
    "TemplateTitle": "自定义空状态模板",
    "TemplateIntro": "内套 <code>Template</code> 标签渲染自定义组件",
    "TemplateIButtonText": "返回上一页",
    "Image": "自定义图片路径",
    "Text": "自定义描述信息",
    "TextDefaultValue": "暂无描述",
    "Width": "自定义图片宽度",
    "Height": "自定义图片高度",
    "Template": "自定义模板",
    "ChildContent": "子组件"
  },
  "BootstrapBlazor.Shared.Samples.GroupBoxs": {
    "Title": "GroupBox 集合组件",
    "SubTitle": "模拟 WinForm 的 GroupBox 组件",
    "BasicUsageTitle": "基础用法",
    "BasicUsageIntro": "将自己的组件放到 <code>GroupBox</code> 内部即可",
    "GroupTitle": "表单示例",
    "GroupP1": "我是 <code>GroupBox</code> 示例",
    "GroupP2": "更多示例请参考 <code>EditorForms</code> 表单示例 <a href='editorforms' target='_blank'>[传送门]</a>",
    "AttTitle": "设置组件标题"
  },
  "BootstrapBlazor.Shared.Samples.LinkButtons": {
    "ComTitle": "LinkButton 链接按钮",
    "SubTitle": "提供 A 标签按钮",
    "LinkButtonTextTitle": "链接按钮",
    "LinkButtonTextIntro": "通过 <code>Text</code> 值设置按钮显示文本",
    "LinkButtonText": "链接按钮",
    "LinkButtonUrlTitle": "导航地址",
    "LinkButtonUrlIntro": "通过 <code>Url</code> 值设置导航地址",
    "LinkButtonTitleTitle": "导航地址",
    "LinkButtonTitleTooltip": "我是提示信息条",
    "LinkButtonTitleIntro": "通过 <code>Title</code> 值设置链接按钮 <code>Tooltip</code>",
    "LinkButtonTitleDetail": "鼠标悬停到按钮上时显示 <code>Tooltip</code>",
    "LinkButtonImageTitle": "图片",
    "LinkButtonImageIntro": "通过 <code>ImageUrl</code> 值设置图片地址",
    "LinkButtonChildTitle": "模板",
    "LinkButtonChildIntro": "通过 <code>ChildContent</code> 模板自定义显示内容",
    "LinkButtonOnClickTitle": "点击事件",
    "LinkButtonOnClickIntro": "通过 <code>OnClick</code> 回调方法响应点击事件",
    "Text": "显示文本",
    "Url": "Url",
    "Title": "Tooltip 显示文字",
    "ImageUrl": "显示图片地址",
    "TooltipPlacement": "Tooltip 显示位置",
    "ChildContent": "子组件",
    "OnClick": "点击事件回调方法"
  },
  "BootstrapBlazor.Shared.Samples.ListViews": {
    "Title": "ListView 列表视图",
    "SubTitle": "提供规则排列控件",
    "BasicUsageTitle": "普通用法",
    "BasicUsageIntro": "适用于大量重复的数据实现规则排列",
    "BasicUsageP1": "点击图片时触发 <code>OnListViewItemClick</code> 事件",
    "ProductListText": "产品列表",
    "PaginationTitle": "分页显示",
    "PaginationIntro": "设置 <code>Pageable</code> 显示分页组件",
    "GroupTitle": "分组显示",
    "GroupIntro": "设置 <code>GroupName</code> 数据进行分组显示",
    "Items": "组件数据源",
    "Pageable": "是否分页",
    "PageItemsSource": "每页显示数量数据源",
    "HeaderTemplate": "ListView Header 模板",
    "BodyTemplate": "ListView Body 模板",
    "FooterTemplate": "ListView Footer 模板",
    "OnQueryAsync": "异步查询回调方法",
    "OnListViewItemClick": "ListView元素点击时回调委托",
    "QueryAsync": "手工查询数据方法"
  },
  "BootstrapBlazor.Shared.Samples.Locator": {
    "Title": "获取 IP 地理位置",
    "SubTitle": "多用于系统日志跟踪与分析",
    "BasicUsageTitle": "普通用法",
    "BasicUsageIntro": "注入服务显示客户端地理位置信息",
    "BasicUsageP1": "用法介绍",
    "BasicUsageP2": "组件中使用注入服务 <code>IIPLocatorProvider</code> 调用 <code>Locate</code> 方法",
    "BasicUsageP3": "由于地理位置查询接口返回字符集可能是其他字符集如 <code>gbk</code>，程序会报错；",
    "BasicUsageP4": "解决办法：",
    "BasicUsageP5": "<code>Startup</code> 文件中 <code>ConfigureServices</code> 方法内增加下面这句话即可解决",
    "BasicUsageP6": "IP 测试数据",
    "BasicUsageP7": "山东省济南市 联通",
    "BasicUsageP8": "安徽省合肥市 电信",
    "BasicUsageInputText": "Ip 地址",
    "BasicUsageDisplayText": "地理位置",
    "BasicUsageButtonText": "定位",
    "BasicUsageP9": "扩展自定义地理位置查询接口",
    "BasicUsageP10": "1. 实现自定义定位器",
    "BasicUsageP11": "2. 配置自定义定位器",
    "BasicUsageP12": "通过 <code>AddBootstrapBlazor</code> 方法的回调委托参数进行自定义定位器 <code>CustomerLocator</code> 配置"
  },
  "BootstrapBlazor.Shared.Samples.Ips": {
    "BasicUsageTitle": "基础用法"
  },
  "BootstrapBlazor.Shared.Samples.Prints": {
    "Title": "Print 打印组件",
    "SubTitle": "用于打印文档或者局部视图",
    "Tips1": "设置 <code style='margin-left: 14px;'>PreviewUrl</code> 时，单开一个新网页进行打印预览，点击此页面的打印按钮进行网页打印",
    "Tips2": "不设置 <code>PreviewUrl</code> 时，如果是 <code>Dialog</code> 组件中的打印按钮，则打印弹窗内容",
    "Tips": "<b>打印弹窗</b>时由于仅打印弹窗内容，所以对 <code>_Host.cshtml/index.html</code> 页面有所要求，代码如下；<code>blazor</code> 生成的代码使用 <code>app</code> 进行包裹方便打印时隐藏这部分",
    "PreButtonText": "打印",
    "PrintButtonTitle": "普通用法",
    "PrintButtonIntro": "通过点击打印按钮将页面进行打印",
    "PrintP1": "点击下方打印按钮后，弹出新页面进行打印预览，确认无误后点击打印预览页面中的打印按钮进行打印机选择进行打印操作",
    "PrintDialogTitle": "打印弹窗",
    "PrintDialogIntro": "通过设置弹窗组件 <code>ShowPrint</code> 开启打印功能",
    "PrintDialogP": "本例中弹窗内容为自定义组件 <code>{0}</code> 弹窗自身按钮所在 <code>Footer</code> 被隐藏，所以弹窗内置的 <code>Print</code> 按钮无法显示，设置 <code>@nameof(DialogOption.ShowPrintButtonInHeader)</code> 使 <b>打印</b> 按钮显示在标题栏中",
    "PrintServiceTitle": "打印服务",
    "PrintServiceIntro": "通过设置要打印的内容组件，直接调用 <b>打印服务</b> 进行打印作业",
    "DialogTitle": "数据查询窗口"
  },
  "BootstrapBlazor.Shared.Samples.Tags": {
    "Title": "Tag 标签",
    "SubTitle": "用于标记和选择。",
    "Tag1": "标签一",
    "Tag2": "标签二",
    "Tag3": "标签三",
    "Tag4": "标签四",
    "Tag5": "标签五",
    "Tag6": "标签六",
    "Tag7": "标签七",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "页面中的非浮层元素，不会自动消失。",
    "CloseButtonTitle": "关闭按钮",
    "CloseButtonIntro": "提供关闭按钮的标签",
    "IconTitle": "带 Icon",
    "IcoIntro": "表示某种状态时提升可读性。",
    "ChildContent": "内容",
    "Class": "样式",
    "Color": "颜色",
    "Icon": "图标",
    "ShowDismiss": "关闭按钮",
    "OnDismiss": "关闭标签回调方法"
  },
  "BootstrapBlazor.Shared.Samples.Timelines": {
    "Title": "Timeline 时间线",
    "SubTitle": "可视化地呈现时间流信息",
    "BasicUsageTitle": "基本用法",
    "BasicUsageIntro": "Timeline 可拆分成多个按照时间戳正序或倒序排列的 activity，时间戳是其区分于其他控件的重要特征，使⽤时注意与 Steps 步骤条等区分。",
    "BasicUsageP": "排序：",
    "CutomNodeStyleTitle": "⾃定义节点样式",
    "CutomNodeStyleIntro": "可根据实际场景⾃定义节点颜⾊，或直接使⽤图标。",
    "LeftTitle": "左侧展现",
    "LeftIntro": "内容在时间轴左侧轮流出现",
    "LeftP": "通过设置 <code>IsLeft</code> 属性来控制内容出现在时间线左侧",
    "AlternateTitle": "交替展现",
    "AlternateIntro": "内容在时间轴两侧轮流出现",
    "AlternateP": "通过设置 <code>IsAlternate</code> 属性来控制时间线左右交替展现",
    "DispalyCustomComponentTitle": "展现自定义组件",
    "DispalyCustomComponentIntro": "时间轴上展现自定义组件",
    "DispalyCustomComponentP": "通过设置 <code>TimelineItem</code> 的 <code>CustomerComponent</code> 来控制时间线展现的自定义组件",
    "SelectedItem1": "正序",
    "SelectedItem2": "倒序",
    "TimelineItemContent1": "创建时间",
    "TimelineItemContent2": "通过审核",
    "TimelineItemContent3": "活动按期开始",
    "TimelineItemContent4": "默认样式的节点",
    "TimelineItemContent5": "支持自定义颜色",
    "TimelineItemContent6": "支持使用图标",
    "Description1": "实时输出",
    "Description2": "计数器",
    "Description3": "天气预报信息",
    "Items": "数据集合",
    "IsReverse": "是否倒序显示",
    "IsLeft": "是否左侧展现内容",
    "IsAlternate": "是否交替展现内容",
    "Color": "节点颜色",
    "Content": "内容正文",
    "Icon": "节点图标",
    "Description": "节点描述文字",
    "Component": "节点自定义组件",
    "AttributeTitle": "TimelineItem 属性"
  },
  "BootstrapBlazor.Shared.Components.DemoBlock": {
    "Title": "未设置",
    "SubTitle": "示例"
  },
  "BootstrapBlazor.Shared.Components.Tips": {
    "Title": "小提示"
  },
  "BootstrapBlazor.Shared.Components.AttributeTable": {
    "Title": "Attributes 属性"
  },
  "BootstrapBlazor.Shared.Components.MethodTable": {
    "Title": "Methods 方法"
  },
  "BootstrapBlazor.Shared.Common.AttributeItem": {
    "Name": "参数",
    "Description": "说明",
    "Type": "类型",
    "ValueList": "可选值",
    "DefaultValue": "默认值"
  },
  "BootstrapBlazor.Shared.Common.EventItem": {
    "Name": "参数",
    "Description": "说明",
    "Type": "类型"
  },
  "BootstrapBlazor.Shared.Common.MethodItem": {
    "Title": "Methods 方法",
    "Name": "参数",
    "Description": "说明",
    "Type": "类型",
    "Parameters": "参数",
    "ReturnValue": "返回值"
  },
  "BootstrapBlazor.Shared.Shared.ComponentLayout": {
    "Title": "基于 Bootstrap 和 Blazor 的企业级组件库",
    "Example": "示例",
    "Video": "相关视频"
  },
  "BootstrapBlazor.Shared.Samples.Alerts": {
    "Title": "Alert 警告",
    "SubTitle": "用于页面中展示重要的提示信息。",
    "BaseUsageText": "基本用法",
    "IntroText1": "页面中的非浮层元素，不会自动消失。",
    "AlertPrimaryText": "主要的警告框",
    "AlertSecondaryText": "次要的警告框",
    "AlertSuccessText": "成功的警告框",
    "AlertDangerText": "危险的警告框",
    "AlertWarningText": "警告的警告框",
    "AlertInfoText": "信息的警告框",
    "AlertDarkText": "黑暗的警告框",
    "CloseButtonUsageText": "关闭按钮",
    "IntroText2": "提供关闭按钮的警告框",
    "WithIconUsageText": "带 Icon",
    "IntroText3": "表示某种状态时提升可读性。",
    "ShowBarUsageText": "显示左侧 Bar",
    "IntroText4": "作为 <code>Tip</code> 使用"
  },
  "BootstrapBlazor.Shared.Samples.QRCodes": {
    "Title": "QRCode 二维码",
    "SubTitle": "用于二维码生成",
    "BaseUsageText": "基本用法",
    "IntroText1": "点击生成按钮，生成特定的 <code>QRCode</code>",
    "DirectTitle": "直接生成",
    "DirectIntro": "通过 <code>Content</code> 参数指定二维码内容",
    "SuccessText": "二维码生成成功",
    "CallbackDescription": "二维码生成后回调委托"
  },
  "BootstrapBlazor.Shared.Samples.Anchors": {
    "Title": "Anchor 锚点",
    "SubTitle": "用于跳转到页面指定位置",
    "BaseUsageText": "基本用法",
    "IntroText1": "需要展现当前页面上可供跳转的锚点链接，以及快速在锚点之间跳转",
    "IntroText2": "点击下面 <code>Anchor</code> 项目，页面滚动到相对应的章节",
    "ContentText1": "<p>与现实生活一致：与现实生活的流程、逻辑保持一致，遵循用户习惯的语言和概念；在界面中一致：所有的元素和结构需保持一致，比如：设计样式、图标和文本、元素的位置等。</p><p>控制反馈：通过界面样式和交互动效让用户可以清晰的感知自己的操作；</p><p>页面反馈：操作后，通过页面元素的变化清晰地展现当前状态。</p><p>简化流程：设计简洁直观的操作流程；</p><p>清晰明确：语言表达清晰且表意明确，让用户快速理解进而作出决策；</p><p>帮助用户识别：界面简单直白，让用户快速识别而非回忆，减少用户记忆负担。</p>",
    "Desc1": "锚点目标 Id",
    "Desc2": "滚动条所在元素 Id",
    "Desc3": "偏移量用于调整间隙使用",
    "Desc4": "内容"
  },
  "BootstrapBlazor.Shared.Samples.Breadcrumbs": {
    "Title": "Breadcrumb 面包屑",
    "H1": "显示当前页面的路径，快速返回之前的任意页面。",
    "Block1Title": "基础用法",
    "Block1Intro": "适用广泛的基础用法。"
  },
  "BootstrapBlazor.Shared.Foo": {
    "Name": "姓名",
    "DateTime": "日期",
    "Address": "地址",
    "Count": "数量",
    "Complete": "是/否",
    "Education": "学历",
    "Hobby": "爱好",
    "Name.Required": "{0}是必填项",
    "Address.Required": "{0}是必填项",
    "Education.Required": "{0}是必选项",
    "Hobby.Required": "请选择一种{0}",
    "Name.PlaceHolder": "不可为空",
    "Hobbys": "游泳,登山,打球,下棋",
    "Foo.Name": "张三 {0}",
    "Foo.Address": "上海市普陀区金沙江路 {0} 弄",
    "Foo.Address2": "地球、中国、上海市普陀区金沙江路 {0} 弄 这里是超长单元格示例",
    "Foo.BindValue": "绑定值",
    "True": "通过",
    "False": "未通过",
    "NullItemText": "未设置"
  },
  "BootstrapBlazor.Shared.Samples.ValidateForms.ComplexFoo": {
    "Name": "姓名",
    "Name.Required": "{0} 值是必填项"
  },
  "BootstrapBlazor.Shared.Samples.ValidateForms.Dummy2": {
    "Name": "姓名",
    "Name.Required": "Dummy2 {0} 值是必填项"
  },
  "BootstrapBlazor.Shared.EnumEducation": {
    "PlaceHolder": "请选择 ...",
    "Primary": "小学",
    "Middel": "中学"
  },
  "BootstrapBlazor.Shared.Components.ThemeChooser": {
    "Title": "点击切换主题",
    "HeaderText": "请选择主题"
  },
  "BootstrapBlazor.Shared.Samples.Uploads.Person": {
    "Name": "姓名",
    "Name.Required": "{0}不能为空",
    "Picture": "上传文件",
    "Picture.Required": "上传文件不能为空"
  },
  "BootstrapBlazor.Shared.Components.CultureChooser": {
    "Label": "语言："
  },
  "BootstrapBlazor.Shared.Shared.BaseLayout": {
    "DownloadText": "Download",
    "HomeText": "首页",
    "IntroductionText": "文档",
    "ComponentsText": "组件",
    "FlowText": "工作流",
    "InstallAppText": "安装小程序",
    "InstallText": "安装",
    "CancelText": "取消",
    "Title": "点击查看更新日志"
  },
  "BootstrapBlazor.Shared.Shared.NavMenu": {
    "GetStarted": "快速上手",
    "Introduction": "简介",
    "Install": "类库安装",
    "ProjectTemplate": "项目模板",
    "Globalization": "全球化",
    "Localization": "本地化",
    "ServerBlazor": "服务器端模式",
    "ClientBlazor": "客户端模式",
    "ZIndex": "组件层次",
    "Theme": "组件主题",
    "Labels": "表单标签",
    "GlobalException": "全局异常",
    "LayoutPage": "后台模拟器",
    "Components": "组件总览",
    "LayoutComponents": "布局组件",
    "Client": "客户信息服务 Client",
    "Divider": "分割线 Divider",
    "Layout": "布局组件 Layout",
    "FullScreen": "全屏组件 FullScreen",
    "Footer": "页脚组件 Footer",
    "Row": "行组件 Row",
    "Scroll": "滚动条 Scroll",
    "Skeleton": "骨架屏 Skeleton",
    "Split": "分割面板 Split",
    "NavigationComponents": "导航组件",
    "Anchor": "锚点 Anchor",
    "AnchorLink": "锚点链接 AnchorLink",
    "Breadcrumb": "面包屑 Breadcrumb",
    "Dropdown": "下拉菜单 Dropdown",
    "GoTop": "跳转组件 GoTop",
    "Logout": "登出组件 Logout",
    "Menu": "菜单 Menu",
    "Nav": "导航栏 Nav",
    "Pagination": "分页 Pagination",
    "Steps": "步骤条 Steps",
    "Tab": "标签页 Tab",
    "NotificationComponents": "通知组件",
    "Alert": "警告框 Alert",
    "Console": "控制台 Console",
    "Dialog": "对话框 Dialog",
    "Dispatch": "消息分发 Dispatch",
    "Drawer": "抽屉 Drawer",
    "EditDialog": "编辑弹窗 EditDialog",
    "FloatingLabel": "悬浮标签 FloatingLabel",
    "Message": "消息框 Message",
    "Modal": "模态框 Modal",
    "Light": "指示灯 Light",
    "Popconfirm": "确认框 Popconfirm",
    "Progress": "进度条 Progress",
    "SearchDialog": "搜索弹窗 SearchDialog",
    "Spinner": "旋转图标 Spinner",
    "SweetAlert": "模态弹框 SweetAlert",
    "Timer": "计时器 Timer",
    "Toast": "轻量弹窗 Toast",
    "FormsComponents": "表单组件",
    "AutoComplete": "自动完成 AutoComplete",
    "AutoFill": "自动填充 AutoFill",
    "Button": "按钮 Button",
    "Block": "条件块 Block",
    "Cascader": "级联选择 Cascader",
    "Checkbox": "多选框 Checkbox",
    "CheckboxList": "多选框组 CheckboxList",
    "ColorPicker": "颜色拾取器 ColorPicker",
    "DateTimePicker": "时间框 DateTimePicker",
    "DateTimeRange": "时间范围框 DateTimeRange",
    "Editor": "富文本框 Editor",
    "EditorForm": "表单编辑框 EditorForm",
    "Input": "输入框 Input",
    "InputNumber": "数字框 InputNumber",
    "Ip": "IP 地址 IpAddress",
    "Markdown": "富文本框 Markdown",
    "MultiSelect": "多项选择器 MultiSelect",
    "Radio": "单选框 Radio",
    "Rate": "评分 Rate",
    "Select": "选择器 Select",
    "Slider": "滑块 Slider",
    "Switch": "开关 Switch",
    "Textarea": "多行文本框 Textarea",
    "Toggle": "开关 Toggle",
    "Transfer": "穿梭框 Transfer",
    "Upload": "上传组件 Upload",
    "ValidateForm": "验证表单 ValidateForm",
    "DataComponents": "数据组件",
    "Avatar": "头像框 Avatar",
    "Badge": "徽章 Badge",
    "BarcodeReader": "条码扫描 BarcodeReader",
    "Card": "卡片 Card",
    "Calendar": "日历框 Calendar",
    "Camera": "摄像头 Camera",
    "Captcha": "验证码 Captcha",
    "Carousel": "走马灯 Carousel",
    "Circle": "进度环 Circle",
    "Collapse": "折叠 Collapse",
    "Display": "数据显示 Display",
    "DropdownWidget": "挂件 DropdownWidget",
    "GroupBox": "集合 GroupBox",
    "HandwrittenPage": "手写组件 HandwrittenPage",
    "LinkButton": "链接按钮 LinkButton",
    "ListView": "列表组件 ListView",
    "Locator": "位置定位 Locator",
    "Popover": "弹出窗 Popover",
    "Print": "打印组件 Print",
    "QRCode": "二维码 QRCode",
    "Search": "搜索框 Search",
    "Tag": "标签 Tag",
    "Timeline": "时间线 Timeline",
    "Title": "网站标题 Title",
    "Download": "文件下载 Download",
    "Tooltip": "工具条 Tooltip",
    "Tree": "树形组件 Tree",
    "Table": "表格组件",
    "TableBase": "基本功能",
    "TableRow": "行设置",
    "TableColumn": "列设置",
    "TableCell": "单元格",
    "TableDetail": "明细行",
    "TableDynamic": "动态表格",
    "TableSearch": "搜索功能",
    "TableFilter": "筛选和排序",
    "TableFixHeader": "固定表头",
    "TableHeaderGroup": "表头分组",
    "TableFixColumn": "固定列",
    "TablePage": "分页功能",
    "TableToolbar": "工具栏",
    "TableEdit": "表单维护",
    "TableDynamicExcel": "Excel-DataTable",
    "TableExcel": "Excel-Items",
    "TableExport": "导出功能",
    "TableSelection": "行选中",
    "TableAutoRefresh": "自动刷新",
    "TableFooter": "统计合并",
    "TableDialog": "弹窗联动",
    "TableWrap": "折行演示",
    "TableTree": "树形数据",
    "TableLaoding": "数据加载",
    "TableLookup": "外键数据源",
    "TableVirtualization": "虚拟滚动",
    "MenuAccordion": "手风琴效果",
    "MenuExpandAll": "全部展开",
    "Empty": "空状态 Empty",
    "Charts": "图表 Chart",
    "ChartSummary": "简介",
    "ChartLine": "折线图",
    "ChartBar": "柱状图",
    "ChartPie": "饼图",
    "ChartDoughnut": "圆环图",
    "ChartBubble": "气泡图",
    "Transition": "过渡效果 Transition"
  },
  "BootstrapBlazor.Shared.Samples.Table.TablesFooter": {
    "Left": "左对齐",
    "Center": "居中",
    "Right": "右对齐"
  },
  "BootstrapBlazor.Shared.Samples.Table.TablesDetailRow": {
    "DetailTextTrue": "关闭明细行",
    "DetailTextFalse": "开启明细行"
  },
  "BootstrapBlazor.Shared.Samples.Table.Tables": {
    "RefreshText": "刷新",
    "ButtonAddColumnText": "增加列",
    "ButtonRemoveColumnText": "移除列"
  },
  "BootstrapBlazor.Shared.Pages.Introduction": {
    "Title": "简介",
    "P1": "BootstrapBlazor 是一套基于 Bootstrap 和 Blazor 的企业级组件库，可以认为是 Bootstrap 项目的 Blazor 版实现。",
    "P2": "依赖关系为：BootstrapBlazor > Bootstrap > jQuery",
    "P3": "最新 <a href='template' target='_blank'>项目模板</a> 中将以上依赖进行了打包捆绑大大简化使用",
    "UpdateTitle": "更新日志",
    "UpdateLog": "组件为了修复 <code>bug</code> 每天可能有小版本发布，每个月第二个 <b><code>周四</code></b> 发布 <b><code>正式版</code></b> 更新日志 <a id='log' data-bs-toggle='popover' title='更新日志' data-bs-content='组件为了修复 <code>bug</code> 每天可能有小版本发布，每个月第二个 <b><code>周四</code></b> 发布 <b><code>正式版</code></b> 更新日志' data-bs-html='true' href='{0}' target='_blank'>[传送门]</a>",
    "LearnTitle": "学习资料",
    "LearnLi1": "Blazor 官方文档",
    "LearnLi2": "使用 Blazor WebAssembly 和 Visual Studio Code 生成 Web 应用",
    "LearnLi3": "什么是 Blazor",
    "LearnLi4": "练习 - 配置开发环境",
    "LearnLi5": "Blazor 组件",
    "LearnLi6": "练习 - 添加组件",
    "LeanrnLi7": "数据绑定和事件",
    "LearnLi8": "练习 - 数据绑定和事件",
    "Summarize": "总结",
    "ProjectsShow": "作品展示",
    "P5": "国内最大代码托管协作开发平台 <b><a href='{0}' target='_blank'>码云</a></b> C# 板块最高星 <a href='{1}'><img src={2}' alt='star' style='margin-bottom',: '1px;' ></a> 作品 <b><a href='{3}' target=''_blank'>通用后台管理系统 BootstrapAdmin</a></b> 准备使用本组件实现全部功能",
    "ShowWebSiteTitle": "演示网站",
    "GetStarted": "快速上手",
    "QuikStart": "快速入门",
    "Features": "组件特色",
    "P6": "Bootstrap Blazor UI 组件库提供了从基本的 <code>Button</code> 组件到高级的网页级 <code>SmartPage</code> 组件",
    "Advantage": "优势",
    "AdvantageLi1": "使用组件无需编写 <code>Javascript</code>",
    "AdvantageLi2": "组件支持所有 <code>html</code> 特性",
    "AdvantageLi3": "组件支持数据双向绑定",
    "AdvantageLi4": "组件支持自动客户端验证",
    "AdvantageLi5": "组件支持组合",
    "Community": "交流群"
  },
  "BootstrapBlazor.Shared.Components.QQGroup": {
    "Group": "QQ群",
    "Status": "满",
    "Welcome": "欢迎加群讨论"
  },
  "BootstrapBlazor.Shared.Components.EventTable": {
    "Title": "事件 Event"
  },
  "BootstrapBlazor.Shared.Samples.HandwrittenPage": {
    "Title": "Handwritten 手写签名",
    "SubTitle": "用于移动终端签名保存为 Base64 编码字符串",
    "BaseUsageText": "基础用法",
    "IntroText1": "触摸设备直接手写签名保存为 Base64",
    "IntroText2": "桌面浏览器测试请用F12模拟为触摸设备",
    "HandwrittenButtonText": "签名",
    "SaveButtonText": "保存按钮文本",
    "SaveButtonTextDefaultValue": "保存",
    "ClearButtonText": "清除按钮文本",
    "ClearButtonTextDefaultValue": "清除",
    "Result": "手写签名imgBase64字符串",
    "HandwrittenBase64": "手写结果回调方法"
  }
}
