| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- {
- "theme.NotFound.title": {
- "message": "Page Not Found",
- "description": "The title of the 404 page"
- },
- "theme.NotFound.p1": {
- "message": "We could not find what you were looking for.",
- "description": "The first paragraph of the 404 page"
- },
- "theme.NotFound.p2": {
- "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
- "description": "The 2nd paragraph of the 404 page"
- },
- "theme.AnnouncementBar.closeButtonAriaLabel": {
- "message": "Close",
- "description": "The ARIA label for close button of announcement bar"
- },
- "theme.blog.paginator.navAriaLabel": {
- "message": "Blog list page navigation",
- "description": "The ARIA label for the blog pagination"
- },
- "theme.blog.paginator.newerEntries": {
- "message": "Newer Entries",
- "description": "The label used to navigate to the newer blog posts page (previous page)"
- },
- "theme.blog.paginator.olderEntries": {
- "message": "Older Entries",
- "description": "The label used to navigate to the older blog posts page (next page)"
- },
- "theme.blog.post.readingTime.plurals": {
- "message": "One min read|{readingTime} min read",
- "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
- },
- "theme.tags.tagsListLabel": {
- "message": "Tags:",
- "description": "The label alongside a tag list"
- },
- "theme.blog.post.readMore": {
- "message": "Read More",
- "description": "The label used in blog post item excerpts to link to full blog posts"
- },
- "theme.blog.post.paginator.navAriaLabel": {
- "message": "Blog post page navigation",
- "description": "The ARIA label for the blog posts pagination"
- },
- "theme.blog.post.paginator.newerPost": {
- "message": "Newer Post",
- "description": "The blog post button label to navigate to the newer/previous post"
- },
- "theme.blog.post.paginator.olderPost": {
- "message": "Older Post",
- "description": "The blog post button label to navigate to the older/next post"
- },
- "theme.tags.tagsPageTitle": {
- "message": "Tags",
- "description": "The title of the tag list page"
- },
- "theme.blog.post.plurals": {
- "message": "One post|{count} posts",
- "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
- },
- "theme.blog.tagTitle": {
- "message": "{nPosts} tagged with \"{tagName}\"",
- "description": "The title of the page for a blog tag"
- },
- "theme.tags.tagsPageLink": {
- "message": "View All Tags",
- "description": "The label of the link targeting the tag list page"
- },
- "theme.CodeBlock.copyButtonAriaLabel": {
- "message": "Copy code to clipboard",
- "description": "The ARIA label for copy code blocks button"
- },
- "theme.CodeBlock.copied": {
- "message": "Copied",
- "description": "The copied button label on code blocks"
- },
- "theme.CodeBlock.copy": {
- "message": "Copy",
- "description": "The copy button label on code blocks"
- },
- "theme.docs.sidebar.expandButtonTitle": {
- "message": "Expand sidebar",
- "description": "The ARIA label and title attribute for expand button of doc sidebar"
- },
- "theme.docs.sidebar.expandButtonAriaLabel": {
- "message": "Expand sidebar",
- "description": "The ARIA label and title attribute for expand button of doc sidebar"
- },
- "theme.docs.paginator.navAriaLabel": {
- "message": "Docs pages navigation",
- "description": "The ARIA label for the docs pagination"
- },
- "theme.docs.paginator.previous": {
- "message": "Previous",
- "description": "The label used to navigate to the previous doc"
- },
- "theme.docs.paginator.next": {
- "message": "Next",
- "description": "The label used to navigate to the next doc"
- },
- "theme.docs.sidebar.collapseButtonTitle": {
- "message": "Collapse sidebar",
- "description": "The title attribute for collapse button of doc sidebar"
- },
- "theme.docs.sidebar.collapseButtonAriaLabel": {
- "message": "Collapse sidebar",
- "description": "The title attribute for collapse button of doc sidebar"
- },
- "theme.docs.sidebar.responsiveCloseButtonLabel": {
- "message": "Close menu",
- "description": "The ARIA label for close button of mobile doc sidebar"
- },
- "theme.docs.sidebar.responsiveOpenButtonLabel": {
- "message": "Open menu",
- "description": "The ARIA label for open button of mobile doc sidebar"
- },
- "theme.docs.versions.unreleasedVersionLabel": {
- "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
- "description": "The label used to tell the user that he's browsing an unreleased doc version"
- },
- "theme.docs.versions.unmaintainedVersionLabel": {
- "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
- "description": "The label used to tell the user that he's browsing an unmaintained doc version"
- },
- "theme.docs.versions.latestVersionSuggestionLabel": {
- "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
- "description": "The label userd to tell the user that he's browsing an unmaintained doc version"
- },
- "theme.docs.versions.latestVersionLinkLabel": {
- "message": "latest version",
- "description": "The label used for the latest version suggestion link label"
- },
- "theme.common.editThisPage": {
- "message": "帮助我们修改文档",
- "description": "The link label to edit the current page"
- },
- "theme.common.headingLinkTitle": {
- "message": "Direct link to heading",
- "description": "Title for link to heading"
- },
- "theme.lastUpdated.atDate": {
- "message": " on {date}",
- "description": "The words used to describe on which date a page has been last updated"
- },
- "theme.lastUpdated.byUser": {
- "message": " by {user}",
- "description": "The words used to describe by who the page has been last updated"
- },
- "theme.lastUpdated.lastUpdatedAtBy": {
- "message": "Last updated{atDate}{byUser}",
- "description": "The sentence used to display when a page has been last updated, and by who"
- },
- "theme.common.skipToMainContent": {
- "message": "Skip to main content",
- "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
- },
- "theme.SearchPage.documentsFound.plurals": {
- "message": "One document found|{count} documents found",
- "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
- },
- "theme.SearchPage.existingResultsTitle": {
- "message": "Search results for \"{query}\"",
- "description": "The search page title for non-empty query"
- },
- "theme.SearchPage.emptyResultsTitle": {
- "message": "Search the documentation",
- "description": "The search page title for empty query"
- },
- "theme.SearchPage.inputPlaceholder": {
- "message": "Type your search here",
- "description": "The placeholder for search page input"
- },
- "theme.SearchPage.inputLabel": {
- "message": "Search",
- "description": "The ARIA label for search page input"
- },
- "theme.SearchPage.algoliaLabel": {
- "message": "Search by Algolia",
- "description": "The ARIA label for Algolia mention"
- },
- "theme.SearchPage.noResultsText": {
- "message": "No results were found",
- "description": "The paragraph for empty search result"
- },
- "theme.SearchPage.fetchingNewResults": {
- "message": "Fetching new results...",
- "description": "The paragraph for fetching new search results"
- },
- "theme.SearchBar.label": {
- "message": "Search",
- "description": "The ARIA label and placeholder for search button"
- },
- "Get Started": {
- "message": "快速开始"
- },
- "theme.PwaReloadPopup.info": {
- "message": "New version available",
- "description": "The text for PWA reload popup"
- },
- "theme.PwaReloadPopup.refreshButtonText": {
- "message": "Refresh",
- "description": "The text for PWA reload button"
- },
- "theme.PwaReloadPopup.closeButtonAriaLabel": {
- "message": "Close",
- "description": "The ARIA label for close button of PWA reload popup"
- },
- "theme.Playground.result": {
- "message": "Result",
- "description": "The result label of the live codeblocks"
- },
- "theme.Playground.liveEditor": {
- "message": "Live Editor",
- "description": "The live editor label of the live codeblocks"
- },
- "Support for Jvm Modern Frameworks": {
- "message": "适用大部分Jvm Web框架"
- },
- "Focus on Protection of API": {
- "message": "面向API的高性能认证鉴权框架"
- },
- "Extendable": {
- "message": "可扩展"
- },
- "Compatible": {
- "message": "原生兼容"
- },
- "Multi And Fast": {
- "message": "多支持与高性能"
- },
- "Multi Support Samples": {
- "message": "大量集成样例"
- },
- "Benchmark Compare": {
- "message": "基准性能测试"
- },
- "Why Is High Performance": {
- "message": "为什么高性能"
- },
- "Get Started With Sureness within Minutes": {
- "message": "几分钟入门Sureness"
- },
- "Focus on the protection of {restApi}. Based on {rbac}.{br}Provides {authentication} and {authorization}, etc.{br}Extension custom interface is {simple} and really {useful}.": {
- "message": "基于 {rbac} (用户-角色-资源)主要关注于对 {restApi} 的安全 (认证与鉴权) 保护。{br} 自定义Subject,Subject Creator,Processor和自定义数据源等良好的{interface}, {sample}和{doc}助急速理解扩展使用。"
- },
- "Support {WebSockets}, HTTP containers ({Servlet} and {JaxRs}).{br}No framework dependency.{native} supports {SpringBoot}, {SpringWebFlux}, {Javalin}, {Quarkus},{Ktor}, {Solon}, {Jfinal}, {Micronaut} etc.": {
- "message": "支持 {WebSockets} ,主流 HTTP 容器 {Servlet} 和 {JaxRs}。{br} 无特定Web框架依赖, 原生支持 {SpringBoot}, {SpringWebFlux}, {Javalin}, {Quarkus}, {Ktor}, {Solon}, {Jfinal}, {Micronaut} 等。"
- },
- "Supports {jwt}, {basic}, {digest} etc.{br}{dynamic} modification of {perm}.{br}{high} with {tree}.": {
- "message": "原生拥有 {jwt}, {basic}, {digest} 等认证方式。{br} 支持{dynamicCn}(动态配置每个 API 谁有权访问)。{br} 基于{treeCn}拥有的{highCn}。"
- },
- "Sureness allows you to security any server written with jvm modern frameworks such as {Spring}, {SpringBoot}, {SpringWebFlux}, {Javalin}, {Quarkus}, {Micronaut}, {Solon}, {Jfinal} or {Ktor} as well as frameworks for Kotlin.": {
- "message": "您可以通过使用Sureness来保护大部分JVM系语言的现代化框架搭建的后台服务,比如:Java 语言的 {Spring}, {SpringBoot}, {SpringWebFlux}, {Javalin}, {Quarkus}, {Micronaut}, {Solon}, {Jfinal} 和 Kotlin 语言的 {Ktor}."
- },
- "The essence of Sureness is to use {interceptor}(like servlet filter or Spring interceptor) to intercept all rest requests for authenticating and authorizing.{br}So no matter any framework, as long as it has a interceptor, it can integrate with sureness. Sureness uses {handling}, {checkIn} will return {SubjectSum}(user information) when auth success, or throw different types of auth exceptions when auth error.": {
- "message": "Sureness的本质是使用{interceptor}(如 servlet filter or Spring interceptor)拦截所有API请求对其认证鉴权判断。{br} 所以对于任何Web框架,只要其支持拦截器{interceptor}, 就能轻松和Sureness集成。Sureness使用异常处理流程即{handling}, {checkIn} 方法会在认证鉴权成功后返回带有用户信息的 {SubjectSum} 对象,但认证鉴权失败时抛出不同类型的异常,用户根据这些异常来继续后面的流程。"
- },
- "{Benchmark} test shows Sureness to lose 0.026ms performance compared to frameless application, Shiro lose 0.088ms, Spring Security lose 0.116ms.{br}In contrast, Sureness basically does not consume performance, and the performance (TPS loss) is {times3} that of Shiro and {times4} that of Spring Security.{br}{increases}.": {
- "message": "基准测试显示 Sureness 对比无权限框架应用损耗 0.026ms 性能,Shiro 损耗 0.088ms,Spring Security 损耗 0.116ms,相比之下 Sureness 性能(参考TPS损耗)是 Shiro 的 {times3cn},Spring Security 的 {times4cn}。{br}{increaseCn}。"
- },
- "In a large number of requests, we found that the {linear} of the {filter} is a performance bottleneck. {br}So we used a {tree} instead of {ant}.{br}Practice has proved that it is very {effective}.": {
- "message": "在大量的请求和过滤链匹配下,我们发现主要的性能瓶颈在{linearCn}这。{br} 所以我们使用了{treeCn}来代替其它安全框架常用的{antCn}。{br} 实践效果证明这有效,提升了{effCn}。"
- },
- "We provide many tutorials and samples, you can refer to them to builda complete permission project within 10 minutes.{br}Have Fun!": {
- "message": "我们提供了很多教程和集成样例,您可以参考其中在10分钟之内使用 Sureness 做一个完整功能的认证鉴权项目。{br} Have Fun!"
- },
- "Friend Links": {
- "message": "友情链接"
- },
- "Media Partners": {
- "message": "合作媒体"
- }
- }
|