-
Notifications
You must be signed in to change notification settings - Fork 148
Add i18n in Zetachain docs #765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…on zetachain docs, en & zh
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedFailed to post review comments 📝 WalkthroughWalkthroughThis pull request implements comprehensive internationalization (i18n) support for the ZetaChain documentation site, adding Chinese (zh-CN) language variants across all major documentation sections. The changes include configuration updates, locale-aware utility functions for route handling and title management, component modifications to support locale detection, and extensive Chinese translations of documentation content. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Browser
participant NextMiddleware as Next.js Middleware
participant App
participant Router as useRouter()
participant NavComponent as Navigation<br/>Component
User->>Browser: Navigate to /en-US/developers<br/>or /zh-CN/developers
Browser->>NextMiddleware: Request with locale prefix
NextMiddleware->>App: Route request with locale
App->>Router: useRouter detects locale
Router->>NavComponent: Provides router.locale
NavComponent->>NavComponent: Use normalizePath()<br/>and removeLocalePrefix()
NavComponent->>NavComponent: Determine active route<br/>via isPathMatch()
NavComponent->>NavComponent: Fetch title via<br/>getPageTitleWithLocale()
NavComponent->>Browser: Render with correct<br/>title & active state
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20–25 minutes Areas requiring focused attention:
Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Tip 📝 Customizable high-level summaries are now available in beta!You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.
Example instruction:
Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 40
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
src/pages/about/info/bug-bounty.zh-CN.mdx (1)
25-25: Clarify unexplained trailing marker.Line 25 ends with
***which appears incomplete or unexplained. Verify if this is a formatting artifact or if content is missing.src/components/shared/components/Layout/components/NavigationAccordionLink.tsx (1)
30-52: Refactor accordion route matching to handle locale prefixes and query parametersThe review identifies a critical inconsistency:
NavigationAccordionperforms route matching without accounting for locale prefixes, whileNavigationAccordionLinkcorrectly usesisPathMatchto handle locale-aware comparisons.Confirmed Issues:
Locale prefix mismatch: When
router.asPathcontains a locale prefix (e.g.,/zh-CN/developers/api), the comparisonnormalizedPathname.startsWith(normalizedPageRoute)fails becausepage.routeis locale-neutral (e.g.,/developers/api).Query parameter retention:
router.asPathincludes query strings and hashes, which are not stripped before comparison, causing false negatives when navigating to routes with search parameters.Proposed Solution:
Align
NavigationAccordionwith the locale-aware behavior already implemented inNavigationAccordionLinkby stripping query parameters and removing locale prefixes:-import { isPathMatch, normalizePath } from "~/lib/helpers/router"; //导入工具函数 +import { isPathMatch, normalizePath, removeLocalePrefix } from "~/lib/helpers/router"; // 导入工具函数 const NavigationAccordion: React.FC<NavigationAccordionLinkProps> = ({ page, children }) => { const router = useRouter(); - const normalizedPathname = normalizePath(router.asPath || router.pathname); + const rawPath = (router.asPath || router.pathname).split("#")[0].split("?")[0]; + const locales = router.locales || ["en-US", "zh-CN"]; + const normalizedPathname = normalizePath(removeLocalePrefix(rawPath, locales)); - const normalizedPageRoute = normalizePath(page.route); - const isRouteInAccordion = normalizedPathname.startsWith(normalizedPageRoute) || normalizedPathname === normalizedPageRoute; + const normalizedPageRoute = normalizePath(page.route); + const isRouteInAccordion = + normalizedPathname === normalizedPageRoute || normalizedPathname.startsWith(`${normalizedPageRoute}/`);This ensures accordion expansion behaves consistently across all locales and URL patterns.
🧹 Nitpick comments (14)
src/pages/_meta.zh-CN.json (1)
23-24: Remove trailing whitespace after closing brace.Line 24 contains unnecessary whitespace that can be removed for cleaner formatting.
- } - +}src/pages/developers/evm/cctx.zh-CN.mdx (1)
1-99: 跨链交易示例与链路说明准确入站/出站定义、通过
inboundHashToCctxData级联查询 CCTX 以及各网络示例链接整体一致且技术逻辑清楚,作为 zh-CN 本地化内容可以直接上线。src/pages/about/services/goldrush.zh-CN.mdx (2)
13-13: Minor Chinese grammar refinement at line 13.The phrase "采用一致的请求/响应结构" could be refined for clarity. Consider revising to "采用一致的请求/响应结构" or "一致地采用请求/响应结构" for improved fluency. The static analysis tool flagged this as a potential modifier ordering issue.
152-152: Chinese word order refinement at line 152.The opening phrase "更多关于 GoldRush API 与 ZetaChain 集成的教程" could be reordered for better native fluency. Consider: "更多关于 GoldRush API 与 ZetaChain 集成的教程,请参阅..." or "若要了解更多关于 GoldRush API 与 ZetaChain 集成的内容,请参阅...". This aligns with native speaker conventions flagged by the static analysis tool.
src/components/shared/components/Layout/components/NavigationLayout.tsx (1)
89-95: Misleading comment and suboptimal deduplication algorithm.The comment states "使用 Map 去重" (using Map to deduplicate), but the implementation uses
array.find()within areduce, which is O(n²). For better performance and accuracy, consider using an actualMaporSetfor O(n) deduplication.Apply this diff for a more efficient and accurate implementation:
- // ✅ 添加去重逻辑:使用 Map 去重,只保留每个 route 的第一个页面 .reduce((acc, page) => { - if (!acc.find((p) => p.route === page.route)) { + // Deduplicate by route: keep only the first occurrence + if (!acc.some((p) => p.route === page.route)) { acc.push(page); } return acc; }, [] as typeof navSection.children)Or, for optimal performance with an actual Set:
+ .reduce((acc, page) => { + const seen = new Set<string>(); + return navSection.children + .filter((page) => page.route !== item.url) + .filter((page) => { + if (seen.has(page.route)) return false; + seen.add(page.route); + return true; + }); + }, [] as typeof navSection.children)Note: The simpler fix is to replace
findwithsomeand correct the comment. The Set-based approach is optimal but requires restructuring.src/middleware.js (1)
5-6: Fix ESLint and Prettier violations.The code has style violations flagged by ESLint and Prettier. After removing console statements, ensure the file ends with a newline.
Apply this diff:
export function middleware(request) { return nextraLocales(request); } +src/components/shared/components/Layout/components/NavigationItem.tsx (1)
25-35: Remove commented-out code.The old implementation is preserved in comments. Since version control maintains the history, this commented code should be removed to keep the codebase clean.
Apply this diff to remove the commented code:
- // const isSelected = useMemo(() => { - // if (!url) { - // return false; - // } - - // if (router.pathname === "/" || url === "/") { - // return url === router.pathname; - // } - - // return router.pathname.startsWith(url); - // }, [url, router.pathname]);src/pages/developers/protocol/evm.zh-CN.md (1)
6-86: Content looks solid; please re‑check markdownlint MD037 locallyThe Chinese reference text and Solidity signatures read correctly and are consistent with the described behavior. Only note: markdownlint reported MD037 (“no-space-in-emphasis”) on this file. I do not see an obvious issue in the current snippet, but it is worth re-running markdownlint locally and trimming any hidden spaces immediately inside
*...*if present, to keep CI green.src/components/shared/components/Layout/components/NavigationAccordionLink.tsx (1)
2-11: Run Prettier/ESLint to normalize import and whitespace formattingThe logic changes are sound, but ESLint/Prettier are flagging a few style issues here:
- Line 2: inline comment after import has no space after
//.- Line 10:
import { getPageTitle,getPageTitleWithLocale }is missing a space after the comma.- Lines around 35–43 and 40–43: extra/incorrect blank-line spacing per Prettier hints.
Please run the project’s formatter (e.g.,
pnpm lint --fixorpnpm format, depending on your setup) to bring this file back into compliance.Also applies to: 35-43, 73-107
src/lib/helpers/nextra.ts (1)
4-31: Locale-aware title helpers look correct; just fix minor formatting
useGetPageTitleandgetPageTitleWithLocalecorrectly consultgetMetaTitlewith the current/explicit locale and gracefully fall back to the legacypage.meta?.title ?? startCase(toLower(page.name))behavior, so existing consumers remain safe while gaining i18n support.ESLint/Prettier are only flagging minor whitespace on blank lines (e.g., lines 10, 16, 28). Please run the project formatter over this file to clear those style warnings.
src/pages/nodes/validate/validator.zh-CN.mdx (1)
109-109: Consider adding a measure word for better Chinese style.Between the number "700" and the currency "ZETA", a measure word would improve readability.
Suggested revision:
-使用以下命令追加委托,调整代币数量以满足最低质押要求。要进入前 100 名验证人(按投票权排序),截至 2025 年一季度大约需要 700 枚 ZETA。 +使用以下命令追加委托,调整代币数量以满足最低质押要求。要进入前 100 名验证人(按投票权排序),截至 2025 年一季度大约需要 700 个 ZETA。src/pages/developers/chains/bitcoin.zh-CN.mdx (1)
68-68: Consider adding a measure word for better Chinese style.Between the number "255" and the unit "字节", a measure word would improve readability.
Suggested revision:
-Compact 编码更节省空间,适合优化交易大小。当所有动态字段(载荷与回退地址)都小于 255 字节时可用 `CompactShort`;若任一字段可能超过此阈值,请使用 `CompactLong`。 +Compact 编码更节省空间,适合优化交易大小。当所有动态字段(载荷与回退地址)都小于 255 个字节时可用 `CompactShort`;若任一字段可能超过此阈值,请使用 `CompactLong`。src/pages/developers/chains/solana.zh-CN.mdx (1)
1-7: Minor zh-CN wording polish for account termIn Line 3, “将 SOL 存入 ZetaChain 的帐号或全链应用”中“帐号”略显口语化/旧式。为与其他技术文档更一致,可考虑改为“账户”或“账号”(例如:“存入 ZetaChain 的账户或全链应用”)。
src/pages/developers/tutorials/messaging.zh-CN.mdx (1)
294-303: Clarify that JSON example values are public on‑chain data (Gitleaks false positive)The
contractAddress,targetContract,targetToken, andtransactionHashfields in this JSON example are standard on‑chain addresses/hashes, not secrets. Tools like Gitleaks may still flag them as “generic API keys.” To avoid confusion in future security reviews, consider either documenting that these are public testnet values or adding them to your secret‑scanner allowlist instead of altering the example.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (107)
add-i18-test.md(1 hunks)next.config.js(2 hunks)src/components/shared/components/Layout/components/NavigationAccordionLink.tsx(5 hunks)src/components/shared/components/Layout/components/NavigationItem.tsx(2 hunks)src/components/shared/components/Layout/components/NavigationLayout.tsx(1 hunks)src/hooks/useSetDirectoriesState.ts(1 hunks)src/lib/data/meta-data.ts(1 hunks)src/lib/helpers/nextra.ts(1 hunks)src/lib/helpers/router.ts(1 hunks)src/middleware.js(1 hunks)src/pages/_meta.zh-CN.json(1 hunks)src/pages/about/_meta.zh-CN.json(1 hunks)src/pages/about/index.zh-CN.mdx(1 hunks)src/pages/about/info/_meta.zh-CN.json(1 hunks)src/pages/about/info/bug-bounty.zh-CN.mdx(1 hunks)src/pages/about/info/faq.zh-CN.mdx(1 hunks)src/pages/about/info/glossary.zh-CN.mdx(1 hunks)src/pages/about/services/_meta.zh-CN.json(1 hunks)src/pages/about/services/alchemy.zh-CN.mdx(1 hunks)src/pages/about/services/apro.zh-CN.mdx(1 hunks)src/pages/about/services/envio.zh-CN.mdx(1 hunks)src/pages/about/services/goldrush.zh-CN.mdx(1 hunks)src/pages/about/services/goldsky.zh-CN.mdx(1 hunks)src/pages/about/services/index.zh-CN.mdx(1 hunks)src/pages/about/services/onfinality.zh-CN.mdx(1 hunks)src/pages/about/services/particle.zh-CN.mdx(1 hunks)src/pages/about/services/pyth.zh-CN.mdx(1 hunks)src/pages/about/services/space-id.zh-CN.mdx(1 hunks)src/pages/about/services/subquery.zh-CN.mdx(1 hunks)src/pages/about/services/the-graph.zh-CN.mdx(1 hunks)src/pages/about/services/wallets.zh-CN.mdx(1 hunks)src/pages/about/token-utility/_meta.zh-CN.json(1 hunks)src/pages/about/token-utility/distribution.zh-CN.mdx(1 hunks)src/pages/about/token-utility/gas.zh-CN.mdx(1 hunks)src/pages/about/token-utility/liquidity.zh-CN.mdx(1 hunks)src/pages/about/token-utility/overview.zh-CN.mdx(1 hunks)src/pages/about/token-utility/token.zh-CN.mdx(1 hunks)src/pages/about/token-utility/validators.zh-CN.mdx(1 hunks)src/pages/developers/_meta.zh-CN.json(1 hunks)src/pages/developers/architecture/_meta.zh-CN.json(1 hunks)src/pages/developers/architecture/modules.zh-CN.mdx(1 hunks)src/pages/developers/architecture/observers.zh-CN.mdx(1 hunks)src/pages/developers/architecture/overview.zh-CN.mdx(1 hunks)src/pages/developers/architecture/privileged.zh-CN.mdx(1 hunks)src/pages/developers/architecture/rewards.zh-CN.mdx(1 hunks)src/pages/developers/architecture/whitelisting.zh-CN.mdx(1 hunks)src/pages/developers/chains/_meta.zh-CN.json(1 hunks)src/pages/developers/chains/bitcoin.zh-CN.mdx(1 hunks)src/pages/developers/chains/evm.zh-CN.mdx(1 hunks)src/pages/developers/chains/functionality.zh-CN.mdx(1 hunks)src/pages/developers/chains/list.zh-CN.mdx(1 hunks)src/pages/developers/chains/solana.zh-CN.mdx(1 hunks)src/pages/developers/chains/sui.zh-CN.mdx(1 hunks)src/pages/developers/chains/ton.zh-CN.mdx(1 hunks)src/pages/developers/chains/zetachain.zh-CN.mdx(1 hunks)src/pages/developers/evm/_meta.zh-CN.json(1 hunks)src/pages/developers/evm/addresses.zh-CN.mdx(1 hunks)src/pages/developers/evm/cctx.zh-CN.mdx(1 hunks)src/pages/developers/evm/erc20.zh-CN.mdx(1 hunks)src/pages/developers/evm/gas.zh-CN.mdx(1 hunks)src/pages/developers/evm/gateway.zh-CN.mdx(1 hunks)src/pages/developers/evm/index.zh-CN.mdx(1 hunks)src/pages/developers/evm/throughput.zh-CN.mdx(1 hunks)src/pages/developers/evm/zeta.zh-CN.mdx(1 hunks)src/pages/developers/evm/zrc20.zh-CN.mdx(1 hunks)src/pages/developers/index.zh-CN.mdx(1 hunks)src/pages/developers/protocol/_meta.zh-CN.json(1 hunks)src/pages/developers/protocol/evm.zh-CN.md(1 hunks)src/pages/developers/protocol/solana.zh-CN.md(1 hunks)src/pages/developers/protocol/sui.zh-CN.md(1 hunks)src/pages/developers/protocol/ton.zh-CN.md(1 hunks)src/pages/developers/standards/_meta.zh-CN.json(1 hunks)src/pages/developers/standards/nft.zh-CN.mdx(1 hunks)src/pages/developers/standards/overview.zh-CN.mdx(1 hunks)src/pages/developers/standards/token.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/_meta.zh-CN.json(1 hunks)src/pages/developers/tutorials/call.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/frontend.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/hello.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/intro.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/messaging.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/solana.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/staking.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/sui-withdraw-and-call.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/sui.zh-CN.mdx(1 hunks)src/pages/developers/tutorials/swap.zh-CN.mdx(1 hunks)src/pages/index.zh-CN.mdx(1 hunks)src/pages/nodes/_meta.zh-CN.json(1 hunks)src/pages/nodes/index.zh-CN.mdx(1 hunks)src/pages/nodes/start-here/_meta.zh-CN.json(1 hunks)src/pages/nodes/start-here/requirements.zh-CN.mdx(1 hunks)src/pages/nodes/start-here/setup.zh-CN.mdx(1 hunks)src/pages/nodes/start-here/syncing.zh-CN.mdx(1 hunks)src/pages/nodes/validate/_meta.zh-CN.json(1 hunks)src/pages/nodes/validate/validator-gcp.zh-CN.mdx(1 hunks)src/pages/nodes/validate/validator.zh-CN.mdx(1 hunks)src/pages/reference/_meta.zh-CN.json(1 hunks)src/pages/reference/cli.zh-CN.mdx(1 hunks)src/pages/reference/explorers.zh-CN.mdx(1 hunks)src/pages/reference/faucet.zh-CN.mdx(1 hunks)src/pages/reference/index.zh-CN.mdx(1 hunks)src/pages/reference/localnet.zh-CN.mdx(1 hunks)src/pages/reference/mcp.zh-CN.mdx(1 hunks)src/pages/reference/network/_meta.zh-CN.json(1 hunks)src/pages/reference/network/api.zh-CN.mdx(1 hunks)src/pages/reference/network/contracts.zh-CN.mdx(1 hunks)src/pages/reference/network/details.zh-CN.mdx(1 hunks)
⛔ Files not processed due to max files limit (47)
- src/pages/reference/network/openapi.zh-CN.mdx
- src/pages/reference/registry.zh-CN.mdx
- src/pages/reference/toolkit.zh-CN.mdx
- src/pages/reference/tools/address-converter.zh-CN.mdx
- src/pages/reference/tools/proposals.zh-CN.mdx
- src/pages/start/_meta.zh-CN.json
- src/pages/start/app.zh-CN.mdx
- src/pages/start/build.zh-CN.mdx
- src/pages/start/index.zh-CN.mdx
- src/pages/start/zetachain.zh-CN.mdx
- src/pages/users/_meta.zh-CN.json
- src/pages/users/cli/_meta.zh-CN.json
- src/pages/users/cli/account.zh-CN.mdx
- src/pages/users/cli/balances.zh-CN.mdx
- src/pages/users/cli/delegate.zh-CN.mdx
- src/pages/users/cli/governance/_meta.zh-CN.json
- src/pages/users/cli/governance/deposit.zh-CN.mdx
- src/pages/users/cli/governance/index.zh-CN.mdx
- src/pages/users/cli/governance/parameter.zh-CN.mdx
- src/pages/users/cli/governance/submit.zh-CN.mdx
- src/pages/users/cli/governance/text.zh-CN.mdx
- src/pages/users/cli/governance/upgrade.zh-CN.mdx
- src/pages/users/cli/governance/voting.zh-CN.mdx
- src/pages/users/cli/rewards.zh-CN.mdx
- src/pages/users/cli/setup.zh-CN.mdx
- src/pages/users/index.zh-CN.mdx
- src/pages/users/keplr/_meta.zh-CN.json
- src/pages/users/keplr/setup.zh-CN.mdx
- src/pages/users/keplr/staking.zh-CN.mdx
- src/pages/users/keplr/transfer.zh-CN.mdx
- src/pages/users/keplr/voting.zh-CN.mdx
- src/pages/users/leap/_meta.zh-CN.json
- src/pages/users/leap/delegate.zh-CN.mdx
- src/pages/users/leap/setup.zh-CN.mdx
- src/pages/users/pingpub/_meta.zh-CN.json
- src/pages/users/pingpub/delegate.zh-CN.mdx
- src/pages/users/zetahub/_meta.zh-CN.json
- src/pages/users/zetahub/connect-wallet.zh-CN.mdx
- src/pages/users/zetahub/create-wallet.zh-CN.mdx
- src/pages/users/zetahub/earn-zeta-xp.zh-CN.mdx
- src/pages/users/zetahub/enroll-zeta-xp.zh-CN.mdx
- src/pages/users/zetahub/get-zeta.zh-CN.mdx
- src/pages/users/zetahub/pool.zh-CN.mdx
- src/pages/users/zetahub/send.zh-CN.mdx
- src/pages/users/zetahub/stake.zh-CN.mdx
- src/styles/globals.css
- src/theme.config.tsx
🧰 Additional context used
🧬 Code graph analysis (5)
src/hooks/useSetDirectoriesState.ts (2)
src/lib/helpers/nextra.ts (1)
getDirectories(94-119)src/lib/app.store.ts (1)
useAppDispatch(24-24)
src/components/shared/components/Layout/components/NavigationItem.tsx (1)
src/lib/helpers/router.ts (2)
normalizePath(6-9)isPathStartWith(46-53)
src/lib/helpers/nextra.ts (1)
src/lib/data/meta-data.ts (1)
getMetaTitle(157-208)
src/components/shared/components/Layout/components/NavigationLayout.tsx (1)
src/components/shared/components/Layout/components/NavigationAccordionLink.tsx (1)
NavigationAccordionLink(82-121)
src/components/shared/components/Layout/components/NavigationAccordionLink.tsx (2)
src/lib/helpers/router.ts (2)
normalizePath(6-9)isPathMatch(23-41)src/lib/helpers/nextra.ts (1)
getPageTitleWithLocale(22-31)
🪛 ast-grep (0.40.0)
src/lib/helpers/router.ts
[warning] 15-15: Regular expression constructed from variable input detected. This can lead to Regular Expression Denial of Service (ReDoS) attacks if the variable contains malicious patterns. Use libraries like 'recheck' to validate regex safety or use static patterns.
Context: new RegExp(^(${localePattern}))
Note: [CWE-1333] Inefficient Regular Expression Complexity [REFERENCES]
- https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
- https://cwe.mitre.org/data/definitions/1333.html
(regexp-from-variable)
🪛 ESLint
src/middleware.js
[error] 5-5: Unexpected console statement.
(no-console)
[error] 5-5: Replace '🔵·Middleware·执行:' with "🔵·Middleware·执行:"
(prettier/prettier)
[error] 6-6: Unexpected console statement.
(no-console)
[error] 6-6: Replace '🔵·Cookie:',·request.cookies.get('NEXT_LOCALE' with "🔵·Cookie:",·request.cookies.get("NEXT_LOCALE"
(prettier/prettier)
[error] 8-8: Insert ⏎
(prettier/prettier)
src/hooks/useSetDirectoriesState.ts
[error] 31-37: Run autofix to sort these imports!
(simple-import-sort/imports)
[error] 40-40: Delete ·
(prettier/prettier)
[error] 41-41: Delete ··
(prettier/prettier)
[error] 42-42: Delete ··
(prettier/prettier)
[error] 66-66: Replace 'locale' with "locale"
(prettier/prettier)
[error] 71-71: Replace 'name' with "name"
(prettier/prettier)
[error] 103-103: Delete ············
(prettier/prettier)
[error] 106-106: Delete ············
(prettier/prettier)
[error] 127-127: Delete ············
(prettier/prettier)
[error] 145-148: Replace ⏎····()·=>·getDirectories(filteredPages),⏎····[filteredPages]⏎·· with ()·=>·getDirectories(filteredPages),·[filteredPages]
(prettier/prettier)
[error] 164-164: Insert ⏎
(prettier/prettier)
src/components/shared/components/Layout/components/NavigationItem.tsx
[error] 40-40: Delete ··
(prettier/prettier)
[error] 42-42: Delete ····
(prettier/prettier)
[error] 46-46: Delete ··
(prettier/prettier)
src/lib/data/meta-data.ts
[error] 3-64: Run autofix to sort these imports!
(simple-import-sort/imports)
[error] 3-3: Replace '../../pages/_meta.en-US.json' with "../../pages/_meta.en-US.json"
(prettier/prettier)
[error] 4-4: Replace '../../pages/_meta.zh-CN.json' with "../../pages/_meta.zh-CN.json"
(prettier/prettier)
[error] 7-7: Replace '../../pages/start/_meta.en-US.json' with "../../pages/start/_meta.en-US.json"
(prettier/prettier)
[error] 8-8: Replace '../../pages/start/_meta.zh-CN.json' with "../../pages/start/_meta.zh-CN.json"
(prettier/prettier)
[error] 11-11: Replace '../../pages/about/_meta.en-US.json' with "../../pages/about/_meta.en-US.json"
(prettier/prettier)
[error] 12-12: Replace '../../pages/about/_meta.zh-CN.json' with "../../pages/about/_meta.zh-CN.json"
(prettier/prettier)
[error] 13-13: Replace '../../pages/about/token-utility/_meta.en-US.json' with "../../pages/about/token-utility/_meta.en-US.json"
(prettier/prettier)
[error] 14-14: Replace '../../pages/about/token-utility/_meta.zh-CN.json' with "../../pages/about/token-utility/_meta.zh-CN.json"
(prettier/prettier)
[error] 15-15: Replace '../../pages/about/services/_meta.en-US.json' with "../../pages/about/services/_meta.en-US.json"
(prettier/prettier)
[error] 16-16: Replace '../../pages/about/services/_meta.zh-CN.json' with "../../pages/about/services/_meta.zh-CN.json"
(prettier/prettier)
[error] 17-17: Replace '../../pages/about/info/_meta.en-US.json' with "../../pages/about/info/_meta.en-US.json"
(prettier/prettier)
[error] 18-18: Replace '../../pages/about/info/_meta.zh-CN.json' with "../../pages/about/info/_meta.zh-CN.json"
(prettier/prettier)
[error] 21-21: Replace '../../pages/developers/_meta.en-US.json' with "../../pages/developers/_meta.en-US.json"
(prettier/prettier)
[error] 22-22: Replace '../../pages/developers/_meta.zh-CN.json' with "../../pages/developers/_meta.zh-CN.json"
(prettier/prettier)
[error] 23-23: Replace '../../pages/developers/architecture/_meta.en-US.json' with "../../pages/developers/architecture/_meta.en-US.json"
(prettier/prettier)
[error] 24-24: Replace '../../pages/developers/architecture/_meta.zh-CN.json' with "../../pages/developers/architecture/_meta.zh-CN.json"
(prettier/prettier)
[error] 25-25: Replace '../../pages/developers/chains/_meta.en-US.json' with "../../pages/developers/chains/_meta.en-US.json"
(prettier/prettier)
[error] 26-26: Replace '../../pages/developers/chains/_meta.zh-CN.json' with "../../pages/developers/chains/_meta.zh-CN.json"
(prettier/prettier)
[error] 27-27: Replace '../../pages/developers/protocol/_meta.en-US.json' with "../../pages/developers/protocol/_meta.en-US.json"
(prettier/prettier)
[error] 28-28: Replace '../../pages/developers/protocol/_meta.zh-CN.json' with "../../pages/developers/protocol/_meta.zh-CN.json"
(prettier/prettier)
[error] 29-29: Replace '../../pages/developers/standards/_meta.en-US.json' with "../../pages/developers/standards/_meta.en-US.json"
(prettier/prettier)
[error] 30-30: Replace '../../pages/developers/standards/_meta.zh-CN.json' with "../../pages/developers/standards/_meta.zh-CN.json"
(prettier/prettier)
[error] 31-31: Replace '../../pages/developers/tutorials/_meta.en-US.json' with "../../pages/developers/tutorials/_meta.en-US.json"
(prettier/prettier)
[error] 32-32: Replace '../../pages/developers/tutorials/_meta.zh-CN.json' with "../../pages/developers/tutorials/_meta.zh-CN.json"
(prettier/prettier)
[error] 33-33: Replace '../../pages/developers/evm/_meta.en-US.json' with "../../pages/developers/evm/_meta.en-US.json"
(prettier/prettier)
[error] 34-34: Replace '../../pages/developers/evm/_meta.zh-CN.json' with "../../pages/developers/evm/_meta.zh-CN.json"
(prettier/prettier)
[error] 37-37: Replace '../../pages/nodes/_meta.en-US.json' with "../../pages/nodes/_meta.en-US.json"
(prettier/prettier)
[error] 38-38: Replace '../../pages/nodes/_meta.zh-CN.json' with "../../pages/nodes/_meta.zh-CN.json"
(prettier/prettier)
[error] 39-39: Replace '../../pages/nodes/start-here/_meta.en-US.json' with "../../pages/nodes/start-here/_meta.en-US.json"
(prettier/prettier)
[error] 40-40: Replace '../../pages/nodes/start-here/_meta.zh-CN.json' with "../../pages/nodes/start-here/_meta.zh-CN.json"
(prettier/prettier)
[error] 41-41: Replace '../../pages/nodes/validate/_meta.en-US.json' with "../../pages/nodes/validate/_meta.en-US.json"
(prettier/prettier)
[error] 42-42: Replace '../../pages/nodes/validate/_meta.zh-CN.json' with "../../pages/nodes/validate/_meta.zh-CN.json"
(prettier/prettier)
[error] 45-45: Replace '../../pages/reference/_meta.en-US.json' with "../../pages/reference/_meta.en-US.json"
(prettier/prettier)
[error] 46-46: Replace '../../pages/reference/_meta.zh-CN.json' with "../../pages/reference/_meta.zh-CN.json"
(prettier/prettier)
[error] 47-47: Replace '../../pages/reference/network/_meta.en-US.json' with "../../pages/reference/network/_meta.en-US.json"
(prettier/prettier)
[error] 48-48: Replace '../../pages/reference/network/_meta.zh-CN.json' with "../../pages/reference/network/_meta.zh-CN.json"
(prettier/prettier)
[error] 51-51: Replace '../../pages/users/_meta.en-US.json' with "../../pages/users/_meta.en-US.json"
(prettier/prettier)
[error] 52-52: Replace '../../pages/users/_meta.zh-CN.json' with "../../pages/users/_meta.zh-CN.json"
(prettier/prettier)
[error] 53-53: Replace '../../pages/users/cli/_meta.en-US.json' with "../../pages/users/cli/_meta.en-US.json"
(prettier/prettier)
[error] 54-54: Replace '../../pages/users/cli/_meta.zh-CN.json' with "../../pages/users/cli/_meta.zh-CN.json"
(prettier/prettier)
[error] 55-55: Replace '../../pages/users/cli/governance/_meta.en-US.json' with "../../pages/users/cli/governance/_meta.en-US.json"
(prettier/prettier)
[error] 56-56: Replace '../../pages/users/cli/governance/_meta.zh-CN.json' with "../../pages/users/cli/governance/_meta.zh-CN.json"
(prettier/prettier)
[error] 57-57: Replace '../../pages/users/keplr/_meta.en-US.json' with "../../pages/users/keplr/_meta.en-US.json"
(prettier/prettier)
[error] 58-58: Replace '../../pages/users/keplr/_meta.zh-CN.json' with "../../pages/users/keplr/_meta.zh-CN.json"
(prettier/prettier)
[error] 59-59: Replace '../../pages/users/leap/_meta.en-US.json' with "../../pages/users/leap/_meta.en-US.json"
(prettier/prettier)
[error] 60-60: Replace '../../pages/users/leap/_meta.zh-CN.json' with "../../pages/users/leap/_meta.zh-CN.json"
(prettier/prettier)
[error] 61-61: Replace '../../pages/users/pingpub/_meta.en-US.json' with "../../pages/users/pingpub/_meta.en-US.json"
(prettier/prettier)
[error] 62-62: Replace '../../pages/users/pingpub/_meta.zh-CN.json' with "../../pages/users/pingpub/_meta.zh-CN.json"
(prettier/prettier)
[error] 63-63: Replace '../../pages/users/zetahub/_meta.en-US.json' with "../../pages/users/zetahub/_meta.en-US.json"
(prettier/prettier)
[error] 64-64: Replace '../../pages/users/zetahub/_meta.zh-CN.json' with "../../pages/users/zetahub/_meta.zh-CN.json"
(prettier/prettier)
[error] 71-71: Replace ····'en-US' with ··"en-US"
(prettier/prettier)
[error] 72-72: Replace ····'/' with "/"
(prettier/prettier)
[error] 73-73: Replace ····'/start' with "/start"
(prettier/prettier)
[error] 74-74: Replace ····'/about' with "/about"
(prettier/prettier)
[error] 75-75: Replace ····'/about/token-utility' with "/about/token-utility"
(prettier/prettier)
[error] 76-76: Replace ········'/about/services' with ····"/about/services"
(prettier/prettier)
[error] 77-77: Replace ········'/about/info' with ····"/about/info"
(prettier/prettier)
[error] 78-78: Replace ····'/developers' with "/developers"
(prettier/prettier)
[error] 79-79: Replace ····'/developers/architecture' with "/developers/architecture"
(prettier/prettier)
[error] 80-80: Replace ····'/developers/chains' with "/developers/chains"
(prettier/prettier)
[error] 81-81: Replace ····'/developers/protocol' with "/developers/protocol"
(prettier/prettier)
[error] 82-82: Replace ····'/developers/standards' with "/developers/standards"
(prettier/prettier)
[error] 83-83: Replace ····'/developers/tutorials' with "/developers/tutorials"
(prettier/prettier)
[error] 84-84: Replace ····'/developers/evm' with "/developers/evm"
(prettier/prettier)
[error] 85-85: Replace ····'/nodes' with "/nodes"
(prettier/prettier)
[error] 86-86: Replace ········'/nodes/start-here' with ····"/nodes/start-here"
(prettier/prettier)
[error] 87-87: Replace ········'/nodes/validate' with ····"/nodes/validate"
(prettier/prettier)
[error] 88-88: Replace ····'/reference' with "/reference"
(prettier/prettier)
[error] 89-89: Replace ····'/reference/network' with "/reference/network"
(prettier/prettier)
[error] 90-90: Replace ····'/users' with "/users"
(prettier/prettier)
[error] 91-91: Replace ····'/users/cli' with "/users/cli"
(prettier/prettier)
[error] 92-92: Replace ····'/users/cli/governance' with "/users/cli/governance"
(prettier/prettier)
[error] 93-93: Replace ····'/users/keplr' with "/users/keplr"
(prettier/prettier)
[error] 94-94: Replace ····'/users/leap' with "/users/leap"
(prettier/prettier)
[error] 95-95: Replace ····'/users/pingpub' with "/users/pingpub"
(prettier/prettier)
[error] 96-96: Replace ····'/users/zetahub' with "/users/zetahub"
(prettier/prettier)
[error] 97-97: Delete ··
(prettier/prettier)
[error] 98-98: Replace ··'zh-CN' with "zh-CN"
(prettier/prettier)
[error] 99-99: Replace ········'/' with ····"/"
(prettier/prettier)
[error] 100-100: Replace ····'/start' with "/start"
(prettier/prettier)
[error] 101-101: Replace ····'/about' with "/about"
(prettier/prettier)
[error] 102-102: Replace ····'/about/token-utility' with "/about/token-utility"
(prettier/prettier)
[error] 103-103: Replace ····'/about/services' with "/about/services"
(prettier/prettier)
[error] 104-104: Replace ········'/about/info' with ····"/about/info"
(prettier/prettier)
[error] 105-105: Replace ····'/developers' with "/developers"
(prettier/prettier)
[error] 106-106: Replace ····'/developers/architecture' with "/developers/architecture"
(prettier/prettier)
[error] 107-107: Replace ····'/developers/chains' with "/developers/chains"
(prettier/prettier)
[error] 108-108: Replace ········'/developers/protocol' with ····"/developers/protocol"
(prettier/prettier)
[error] 109-109: Replace ····'/developers/standards' with "/developers/standards"
(prettier/prettier)
[error] 110-110: Replace ····'/developers/tutorials' with "/developers/tutorials"
(prettier/prettier)
[error] 111-111: Replace ····'/developers/evm' with "/developers/evm"
(prettier/prettier)
[error] 112-112: Replace ····'/nodes' with "/nodes"
(prettier/prettier)
[error] 113-113: Replace ····'/nodes/start-here' with "/nodes/start-here"
(prettier/prettier)
[error] 114-114: Replace ········'/nodes/validate' with ····"/nodes/validate"
(prettier/prettier)
[error] 115-115: Replace ····'/reference' with "/reference"
(prettier/prettier)
[error] 116-116: Replace ····'/reference/network' with "/reference/network"
(prettier/prettier)
[error] 117-117: Replace ····'/users' with "/users"
(prettier/prettier)
[error] 118-118: Replace ····'/users/cli' with "/users/cli"
(prettier/prettier)
[error] 119-119: Replace ····'/users/cli/governance' with "/users/cli/governance"
(prettier/prettier)
[error] 120-120: Replace ····'/users/keplr' with "/users/keplr"
(prettier/prettier)
[error] 121-121: Replace ····'/users/leap' with "/users/leap"
(prettier/prettier)
[error] 122-122: Replace ····'/users/pingpub' with "/users/pingpub"
(prettier/prettier)
[error] 123-123: Replace ····'/users/zetahub' with "/users/zetahub"
(prettier/prettier)
[error] 124-124: Delete ··
(prettier/prettier)
[error] 158-158: Delete ··
(prettier/prettier)
[error] 159-159: Delete ··
(prettier/prettier)
[error] 161-161: Replace ··const·segments·=·route.split('/' with const·segments·=·route.split("/"
(prettier/prettier)
[error] 163-163: Delete ··
(prettier/prettier)
[error] 164-164: Replace ···· with ··
(prettier/prettier)
[error] 165-165: Replace ········ with ····
(prettier/prettier)
[error] 166-166: Delete ··
(prettier/prettier)
[error] 168-168: Delete ··
(prettier/prettier)
[error] 170-170: Delete ··
(prettier/prettier)
[error] 171-171: Delete ··
(prettier/prettier)
[error] 172-172: Delete ··
(prettier/prettier)
[error] 173-173: Replace ····if·(directMeta·&&·typeof·directMeta·===·'object' with ··if·(directMeta·&&·typeof·directMeta·===·"object"
(prettier/prettier)
[error] 174-174: Delete ····
(prettier/prettier)
[error] 175-175: Replace ········ with ····
(prettier/prettier)
[error] 176-176: Replace ············if·(typeof·pageMeta·===·'object'·&&·'title' with ······if·(typeof·pageMeta·===·"object"·&&·"title"
(prettier/prettier)
[error] 177-177: Replace ················ with ········
(prettier/prettier)
[error] 178-178: Replace ············ with ······
(prettier/prettier)
[error] 179-179: Replace ············if·(typeof·pageMeta·===·'string' with ······if·(typeof·pageMeta·===·"string"
(prettier/prettier)
[error] 180-180: Delete ········
(prettier/prettier)
[error] 181-181: Delete ······
(prettier/prettier)
[error] 182-182: Delete ····
(prettier/prettier)
[error] 183-183: Delete ··
(prettier/prettier)
[error] 185-185: Replace ···· with ··
(prettier/prettier)
[error] 186-186: Delete ··
(prettier/prettier)
[error] 187-187: Delete ··
(prettier/prettier)
[error] 188-188: Replace ···· with ··
(prettier/prettier)
[error] 189-189: Replace ····const·parentPath·=·'/'·+·segments.slice(0,·i).join('/' with const·parentPath·=·"/"·+·segments.slice(0,·i).join("/"
(prettier/prettier)
[error] 190-190: Delete ····
(prettier/prettier)
[error] 192-192: Replace ········if·(parentMeta·&&·typeof·parentMeta·===·'object' with ····if·(parentMeta·&&·typeof·parentMeta·===·"object"
(prettier/prettier)
[error] 193-193: Replace ············ with ······
(prettier/prettier)
[error] 194-194: Delete ······
(prettier/prettier)
[error] 195-195: Replace ················ with ········
(prettier/prettier)
[error] 196-196: Replace ················if·(typeof·pageMeta·===·'object'·&&·'title' with ········if·(typeof·pageMeta·===·"object"·&&·"title"
(prettier/prettier)
[error] 197-197: Replace ···················· with ··········
(prettier/prettier)
[error] 198-198: Delete ········
(prettier/prettier)
[error] 199-199: Delete ········
(prettier/prettier)
[error] 200-200: Replace ················if·(typeof·pageMeta·===·'string' with ········if·(typeof·pageMeta·===·"string"
(prettier/prettier)
[error] 201-201: Replace ···················· with ··········
(prettier/prettier)
[error] 202-202: Delete ········
(prettier/prettier)
[error] 203-203: Replace ············ with ······
(prettier/prettier)
[error] 204-204: Replace ········ with ····
(prettier/prettier)
[error] 205-205: Delete ··
(prettier/prettier)
[error] 207-207: Delete ··
(prettier/prettier)
[error] 208-208: Insert ⏎
(prettier/prettier)
src/lib/helpers/nextra.ts
[error] 10-10: Delete ··
(prettier/prettier)
[error] 16-16: Delete ··
(prettier/prettier)
[error] 28-28: Delete ··
(prettier/prettier)
src/lib/helpers/router.ts
[error] 15-15: Replace locale with (locale)
(prettier/prettier)
[error] 31-31: Delete ··
(prettier/prettier)
[error] 49-49: Delete ··
(prettier/prettier)
[error] 51-51: Delete ··
(prettier/prettier)
[error] 53-53: Insert ⏎
(prettier/prettier)
src/components/shared/components/Layout/components/NavigationAccordionLink.tsx
[error] 10-10: Insert ·
(prettier/prettier)
[error] 40-40: Delete ··
(prettier/prettier)
[error] 42-42: Insert ⏎···
(prettier/prettier)
[error] 43-43: Delete ··
(prettier/prettier)
🪛 Gitleaks (8.29.0)
src/pages/developers/tutorials/messaging.zh-CN.mdx
[high] 298-298: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
🪛 LanguageTool
src/pages/about/token-utility/overview.zh-CN.mdx
[uncategorized] ~19-~19: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:简洁"地"跨
Context: ...etaChain 解锁了诸如比特币智能合约与可编程性、任意链可访问的应用、更简洁的跨链操作等场景。 ## 主要参与者 生态中主要有四类参与者: - Zeta...
(wb4)
src/pages/about/info/bug-bounty.zh-CN.mdx
[uncategorized] ~1-~1: 数量词修饰并列短语,可能产生歧义
Context: ...用于保障其 Web 应用、智能合约与区块链本身的安全。作为一条连接包括比特币在内多条网络、兼容 EVM 的一层公链,ZetaChain 致力于为跨链互操作应用打造坚固可靠...
(s5)
src/pages/developers/chains/ton.zh-CN.mdx
[uncategorized] ~5-~5: 您的意思是“"账"号”?
Context: ... TON Gateway 支持: - 将 TON 存入 ZetaChain 的帐号或全链应用 - 存入 TON 并调用全链应用 - 从 ZetaChain 提取...
(ZHANG7_ZHANG8)
[uncategorized] ~40-~40: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很全"?
Context: ...data-encoding) 格式编码。 evm_recipient 必须是全链应用合约地址。 call_data 单元(cell)包含将传递给全链应用...
(SHI_ADHECTIVE_ERROR)
src/pages/developers/architecture/modules.zh-CN.mdx
[uncategorized] ~81-~81: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...shold` 时,投票单即视为“已完成”。 将投票单推进到“已完成”状态的最后一票会触发跨链交易执行并支付相关 Gas 成本。 投票单完成后提交的投票会被丢弃。...
(wa5)
[uncategorized] ~89-~89: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...teInbound` 对入站交易进行投票。 将投票单推进到“已完成”状态的最后一票会触发跨链交易执行。 若目标链是 ZetaChain 且 CCTX 不包含消息...
(wa5)
[uncategorized] ~193-~193: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:高度"地"连接
Context: ...MsgVoteGasPrice VoteGasPrice 提交指定区块高度的连接链 Gas 价格信息。每位验证者提交的价格会单独记录,并更新中位数索引。 ...
(wb4)
[uncategorized] ~210-~210: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"投票
Context: ...tbound` 为在连接链上已广播并确认的出站交易投票。若这是首个投票,会创建新的投票单;当投票达到阈值时,投票单完成并处理出站交易。 若观测成功,将铸造等量于...
(wb4)
[uncategorized] ~216-~216: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"回
Context: ...前的状态处理: - 若之前状态为 PendingOutbound,将创建新的回退交易。为支付回退交易费用,会用 CCTX 携带的代币在 ZetaChain ...
(wb4)
[uncategorized] ~258-~258: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"投票
Context: ...oteInbound` 为在连接链上观察到的入站交易投票。若为首个投票,会创建新的投票单;当投票达到阈值时,投票单完成并创建新的 CCTX。 若接收链为 Zet...
(wb4)
[uncategorized] ~690-~690: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:单"地"创建
Context: ...略参数。 投票单用于为入站与出站交易投票。observer 模块提供投票单的创建、读取、更新、删除(CRUD)能力,并提供辅助函数判断投票单是否完成。投票机...
(wb4)
src/pages/developers/chains/sui.zh-CN.mdx
[uncategorized] ~9-~9: 您的意思是“"账"号”?
Context: ...teway 支持: - 将原生 SUI 及其他代币存入 ZetaChain 的帐号或全链应用 - 存入代币的同时调用全链应用 ## 存入代币 若要将代币存入...
(ZHANG7_ZHANG8)
[uncategorized] ~27-~27: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很全"?
Context: ...进制字符串),可对应 ZetaChain 上的外部账户或全链应用地址。即使接收方是全链应用合约,deposit 也不会触发合约调用;如需存入并调用应用,请使用 ...
(SHI_ADHECTIVE_ERROR)
src/pages/about/services/goldrush.zh-CN.mdx
[uncategorized] ~13-~13: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:一致"地"请求
Context: ... 数据索引等待时间长 GoldRush 提供 RESTful API,采用一致的请求/响应结构。仅需替换 URL 中的网络名称,就能查询 200+ 支持网络中任...
(wb4)
[uncategorized] ~152-~152: “关于”组成的介词短语必需位于句首,或请改用"对于"代替。
Context: ...``` 运行 node index.js,可获得与上述类似的结果。 更多关于 GoldRush API 与 ZetaChain 集成的教程,请参阅 [Zet...
(wb2)
src/pages/developers/evm/gateway.zh-CN.mdx
[uncategorized] ~55-~55: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:灵活"地"回
Context: ...chain) 的信息。 ## 回退处理 Gateway 在跨链操作中提供灵活的回退机制。如果目标链上的 Gateway 调用失败,可按配置在源链调用指定合约完...
(wb4)
src/pages/nodes/validate/validator.zh-CN.mdx
[uncategorized] ~109-~109: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...满足最低质押要求。要进入前 100 名验证人(按投票权排序),截至 2025 年一季度大约需要 700 枚 ZETA。 ```bash zetacored tx s...
(wa5)
src/pages/developers/chains/evm.zh-CN.mdx
[uncategorized] ~5-~5: 您的意思是“"账"号”?
Context: ...teway。 EVM Gateway 支持: - 向 ZetaChain 的帐号或全链应用存入 Gas 代币。 - 存入受支持的 ERC-20 代币(包括 Z...
(ZHANG7_ZHANG8)
[uncategorized] ~47-~47: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很全"?
Context: ...将执行目标全链应用合约的 onCall 函数。 receiver 必须是全链应用合约地址。 ```solidity pragma solidity 0....
(SHI_ADHECTIVE_ERROR)
src/pages/developers/evm/cctx.zh-CN.mdx
[uncategorized] ~58-~58: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"跨
Context: ...TX 哈希继续查询,API 会返回 HTTP 404,说明此 CCTX 未触发新的跨链交易。 ## 入站并终止(Abort) 以下示例展示了从 Ethereu...
(wb4)
add-i18-test.md
[grammar] ~1-~1: Ensure spelling is correct
Context: ## work repoter I am try to reading the nextra/next.js &...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~26-~26: Ensure spelling is correct
Context: ...ence - [x] start - [x] users I add the nextra LocaleSwitch to switch languages, now i...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
src/pages/about/services/envio.zh-CN.mdx
[uncategorized] ~9-~9: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:便捷"地"初始化
Context: ...pt 编写索引器。 Envio 让链上数据索引变得简单快捷,具备高速同步与便捷的初始化流程,同时内置详尽的日志与错误信息,方便排查调试。 <div class...
(wb4)
src/pages/developers/evm/index.zh-CN.mdx
[uncategorized] ~50-~50: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"跨
Context: ...X)的状态与生命周期,是追踪其进度与状态的核心账本。它在入站事件通过验证后创建新的跨链交易记录,并根据事件(如 PendingInbound、`Pending...
(wb4)
src/pages/about/info/faq.zh-CN.mdx
[uncategorized] ~30-~30: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很全"?
Context: ...n 网络手续费、目标链 Gas 等)都会在这笔交易里一次性结算。 ### 什么是全链 dApp? 全链 dApp 是通过 ZetaChain 在不同区块链与扩容...
(SHI_ADHECTIVE_ERROR)
src/pages/developers/chains/solana.zh-CN.mdx
[uncategorized] ~3-~3: 您的意思是“"账"号”?
Context: ...ana Gateway。它支持: - 将 SOL 存入 ZetaChain 的帐号或全链应用 - 存入受支持的 SPL 代币 - 存入 SOL 并调用全链应用 ...
(ZHANG7_ZHANG8)
[uncategorized] ~44-~44: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很全"?
Context: ...将执行目标全链应用合约的 onCall 函数。 receiver 必须是全链应用合约地址。 调用全链应用时,message 会传递给 `onCall...
(SHI_ADHECTIVE_ERROR)
src/pages/developers/chains/bitcoin.zh-CN.mdx
[uncategorized] ~68-~68: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...(载荷与回退地址)都小于 255 字节时可用 CompactShort;若任一字段可能超过此阈值,请使用 CompactLong。 ABI 编码 ...
(wa5)
src/pages/about/info/glossary.zh-CN.mdx
[uncategorized] ~38-~38: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很全"?
Context: ...nichain(全链) 好似所有区块链或层都联结成一条链。ZetaChain 是全链解决方案,具备链无关的互操作能力,可连接所有已接入的链。 ## Omnich...
(SHI_ADHECTIVE_ERROR)
src/pages/developers/tutorials/call.zh-CN.mdx
[uncategorized] ~469-~469: 数量词修饰并列短语,可能产生歧义
Context: ... 这一模式是构建真正全链 dApp 的基础:不再局限于单链,而是能够在同一处协调多链逻辑、资产与数据。 接下来你可以: - 接入更多连接链,扩展应用的覆盖面 - 拓展...
(s5)
[uncategorized] ~477-~477: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:真正"地"跨
Context: ...致,使你的应用从第一天起即具备跨链、可拓展的能力。现在就将这个最小示例打造成真正的跨链功能吧!
(wb4)
src/pages/developers/tutorials/messaging.zh-CN.mdx
[uncategorized] ~195-~195: 您的意思是“由"于"”吗?
Context: ...teway.depositAndCall(...)` 发送跨链消息时,具体的路由与执行逻辑由 Universal Router 合约在 ZetaChain...
(YU7_YU8)
src/pages/developers/protocol/sui.zh-CN.md
[uncategorized] ~18-~18: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...nt:跨链操作时发布的事件,便于链上追踪。 --- ### 常量 定义了若干错误码与限制: - EAlreadyWhitelisted、ENotWhite...
(wa5)
[uncategorized] ~32-~32: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"提
Context: ...ithdraw_and_whitelist_cap_impl:管理员重新签发新的提现与白名单 Cap,并更新活跃 ID。 - pause/unpaus...
(wb4)
🪛 markdownlint-cli2 (0.18.1)
src/pages/developers/protocol/evm.zh-CN.md
386-386: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
389-389: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
398-398: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
| @@ -0,0 +1,40 @@ | |||
| ## work repoter | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in title.
Line 1 contains a spelling error: "repoter" should be "reporter".
-## work repoter
+## Work ReportCommittable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 LanguageTool
[grammar] ~1-~1: Ensure spelling is correct
Context: ## work repoter I am try to reading the nextra/next.js &...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In add-i18-test.md around lines 1 to 1, the title contains a typo ("work
repoter"); update the text to "work reporter" by correcting the misspelled word
so the heading reads "## work reporter".
| @@ -0,0 +1,40 @@ | |||
| ## work repoter | |||
|
|
|||
| I am try to reading the nextra/next.js & i18n official docs to add a touch-down button on zetachain docs. Help users can click to switch en & zh, and other languages. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improve awkward phrasing.
Line 3 contains ungrammatical text. Revise for clarity and correctness.
-I am try to reading the nextra/next.js & i18n official docs to add a touch-down button on zetachain docs. Help users can click to switch en & zh, and other languages.
+I am trying to read the Nextra/Next.js & i18n official documentation to add a language-switch button to the ZetaChain docs, enabling users to switch between English & Chinese, and potentially other languages.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| I am try to reading the nextra/next.js & i18n official docs to add a touch-down button on zetachain docs. Help users can click to switch en & zh, and other languages. | |
| I am trying to read the Nextra/Next.js & i18n official documentation to add a language-switch button to the ZetaChain docs, enabling users to switch between English & Chinese, and potentially other languages. |
🤖 Prompt for AI Agents
In add-i18-test.md around line 3, the sentence is ungrammatical and awkward ("I
am try to reading the nextra/next.js & i18n official docs to add a touch-down
button on zetachain docs. Help users can click to switch en & zh, and other
languages."); rewrite it for clarity and correct grammar — e.g. state that you
reviewed Nextra/Next.js and i18n docs and implemented a language toggle on the
ZetaChain docs so users can switch between English, Chinese, and other
languages; keep it concise and use proper verbs and punctuation.
| - https://github.com/shuding/nextra/blob/main/packages/nextra-theme-docs/src/components/locale-switch.tsx | ||
| - https://nextra-v2-oe0zrpzjp-shud.vercel.app/docs/guide/i18n | ||
|
|
||
| denis dev a demo to help me understand how i18n work, I have been read. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clarify awkward phrasing.
Line 9 would be clearer if revised.
-denis dev a demo to help me understand how i18n work, I have been read.
+Denis created a demo to help me understand how i18n works; I have reviewed it.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| denis dev a demo to help me understand how i18n work, I have been read. | |
| Denis created a demo to help me understand how i18n works; I have reviewed it. |
🤖 Prompt for AI Agents
In add-i18-test.md around line 9, the sentence "denis dev a demo to help me
understand how i18n work, I have been read." is awkward and unclear; rewrite it
to use correct grammar and clearer meaning — for example, use proper
capitalization, verbs and plurality ("Denis developed a demo to help me
understand how i18n works; I have read it.") or a similar concise, grammatically
correct sentence that matches the intended message.
| - https://docs-v2-git-feat-i18n.zetachain.app/zh-CN/start/app | ||
|
|
||
| ### developing | ||
| [2025.11.19 09:29] I have been modify `next.config.js` and `/src/theme.config.tsx` to add i18n languages switch feature. testing in cloud server always downtime, so I use my local pc try again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improve grammar in timestamp entry.
Line 15 contains grammatical issues. Consider revising for clarity.
-[2025.11.19 09:29] I have been modify `next.config.js` and `/src/theme.config.tsx` to add i18n languages switch feature. testing in cloud server always downtime, so I use my local pc try again.
+[2025.11.19 09:29] I modified `next.config.js` and `/src/theme.config.tsx` to add i18n language-switch features. Cloud server testing was consistently unavailable, so I tested locally on my machine instead.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [2025.11.19 09:29] I have been modify `next.config.js` and `/src/theme.config.tsx` to add i18n languages switch feature. testing in cloud server always downtime, so I use my local pc try again. | |
| [2025.11.19 09:29] I modified `next.config.js` and `/src/theme.config.tsx` to add i18n language-switch features. Cloud server testing was consistently unavailable, so I tested locally on my machine instead. |
🤖 Prompt for AI Agents
In add-i18-test.md around line 15, the timestamp entry sentence is grammatically
incorrect; replace "[2025.11.19 09:29] I have been modify `next.config.js` and
`/src/theme.config.tsx` to add i18n languages switch feature. testing in cloud
server always downtime, so I use my local pc try again." with a corrected
version such as "[2025.11.19 09:29] I modified `next.config.js` and
`/src/theme.config.tsx` to add an i18n language switch feature. Testing on the
cloud server caused downtime, so I retried locally on my PC." Ensure
capitalization, verb tense, and article use are fixed.
| - [x] start | ||
| - [x] users | ||
|
|
||
| I add the nextra LocaleSwitch to switch languages, now is support en & zh. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improve sentence structure and capitalization.
Line 26 would benefit from clearer phrasing and proper capitalization.
-I add the nextra LocaleSwitch to switch languages, now is support en & zh.
+I added the Nextra LocaleSwitch component to enable language switching; English (en-US) and Chinese (zh-CN) are now supported.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| I add the nextra LocaleSwitch to switch languages, now is support en & zh. | |
| I added the Nextra LocaleSwitch component to enable language switching; English (en-US) and Chinese (zh-CN) are now supported. |
🧰 Tools
🪛 LanguageTool
[grammar] ~26-~26: Ensure spelling is correct
Context: ...ence - [x] start - [x] users I add the nextra LocaleSwitch to switch languages, now i...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In add-i18-test.md around line 26, the sentence is awkward and incorrectly
capitalized; replace it with a clearer, properly capitalized sentence such as:
"I added the Nextra LocaleSwitch to enable language switching; it now supports
English and Chinese." Ensure "Nextra LocaleSwitch" is capitalized and use
"English" and "Chinese" rather than "en" & "zh".
| - 用户无需离开主链即可管理委托的应用 | ||
|
|
||
| 质押是保障网络安全并获取奖励的基础能力。接下来可进一步探索预编译提供的高级函数,例如再委托、查询解锁条目、领取奖励等。*** | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove trailing asterisks.
Similar to other documentation files, this line ends with *** which should be removed for consistency.
Apply this diff:
-质押是保障网络安全并获取奖励的基础能力。接下来可进一步探索预编译提供的高级函数,例如再委托、查询解锁条目、领取奖励等。***
+质押是保障网络安全并获取奖励的基础能力。接下来可进一步探索预编译提供的高级函数,例如再委托、查询解锁条目、领取奖励等。Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/pages/developers/tutorials/staking.zh-CN.mdx around line 146, remove the
trailing asterisks at the end of the line (the `***`) so the line matches other
docs; edit the line to delete those characters and save the file, ensuring no
extra whitespace remains after removal.
| 2. 同时调用指定 Sui 合约并传入参数 | ||
|
|
||
| 此流程展示了如何将资产提现与合约调用结合,实现 ZetaChain 与 Sui 之间复杂的跨链 DeFi 交互。*** | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove trailing asterisks.
The trailing *** should be removed for consistency.
Apply this diff:
-此流程展示了如何将资产提现与合约调用结合,实现 ZetaChain 与 Sui 之间复杂的跨链 DeFi 交互。***
+此流程展示了如何将资产提现与合约调用结合,实现 ZetaChain 与 Sui 之间复杂的跨链 DeFi 交互。Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/pages/developers/tutorials/sui-withdraw-and-call.zh-CN.mdx around line
212, remove the trailing asterisks ("***") present at the end of the line so the
text matches the project's formatting consistency; edit that line to delete the
three asterisks and ensure surrounding punctuation/spacing remains correct.
| ``` | ||
|
|
||
| 至此,你已完成从 Sui 合约到 ZetaChain 的跨链调用,并掌握了定制载荷与事件处理的流程。*** | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove trailing asterisks.
The trailing *** should be removed for formatting consistency.
Apply this diff:
-至此,你已完成从 Sui 合约到 ZetaChain 的跨链调用,并掌握了定制载荷与事件处理的流程。***
+至此,你已完成从 Sui 合约到 ZetaChain 的跨链调用,并掌握了定制载荷与事件处理的流程。Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/pages/developers/tutorials/sui.zh-CN.mdx around line 276 there are
trailing asterisks ("***") at the end of the line; remove those trailing
asterisks so the line ends with the intended text only and update surrounding
whitespace if needed to preserve formatting/line breaks.
| 生产环境建议监控节点资源(CPU、内存、磁盘及 IO),以便及时发现性能下降。 | ||
|
|
||
| `zetacored` 会生成日志,可用于定位错误并排查问题。若按上述步骤配置为 Systemd 服务,可使用 `journalctl -eu zetacored` 查看日志。 | ||
|
|
||
| ### 指标 | ||
|
|
||
| Prometheus 默认在 **26660** 端口提供指标,可由 Prometheus Collector 拉取。更多信息请参考 [Cosmos SDK Telemetry 文档](https://docs.cosmos.network/v0.50/learn/advanced/telemetry)。*** | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop trailing *** in the “指标” section
The last line (…Telemetry 文档](https://docs.cosmos.network/v0.50/learn/advanced/telemetry)。***) ends with *** that does not correspond to any opening emphasis marker.
Please remove the trailing *** (or convert it into proper emphasis around actual text) so the MDX renders cleanly and avoids markdownlint complaints.
🤖 Prompt for AI Agents
src/pages/nodes/start-here/setup.zh-CN.mdx around lines 210 to 217: the "指标"
section ends with an extraneous trailing '***' after the telemetry link which
breaks MDX/Markdown rendering; remove the trailing '***' (or convert it into
valid emphasis if you intended to emphasize surrounding text) so the line ends
cleanly with the punctuation after the link.
| # Model Context Protocol (MCP) | ||
|
|
||
| Model Context Protocol(MCP)是一项开放标准,可让 AI 助手通过本地或远程服务器安全地连接外部工具与数据源。 | ||
|
|
||
| ZetaChain MCP 服务器可扩展你的 AI 编码环境(如 Cursor 或 Claude Code),让其直接访问链上数据并执行 CLI 动作。你可以在编辑器或聊天界面内查询余额、估算跨链费用、执行合约调用、追踪跨链交易等,无需跳出当前工作区。 | ||
|
|
||
| ## 安装 ZetaChain CLI | ||
|
|
||
| 全局安装最新版本的 ZetaChain CLI: | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add YAML frontmatter with title metadata.
Unlike other .mdx files in this PR (e.g., faucet.zh-CN.mdx, particle.zh-CN.mdx), this file lacks the YAML frontmatter that provides title and metadata to the Nextra documentation framework. This may cause navigation, breadcrumbs, and sidebar rendering to fail.
Add YAML frontmatter before the first heading:
+---
+title: "Model Context Protocol (MCP)"
+---
+
# Model Context Protocol (MCP)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Model Context Protocol (MCP) | |
| Model Context Protocol(MCP)是一项开放标准,可让 AI 助手通过本地或远程服务器安全地连接外部工具与数据源。 | |
| ZetaChain MCP 服务器可扩展你的 AI 编码环境(如 Cursor 或 Claude Code),让其直接访问链上数据并执行 CLI 动作。你可以在编辑器或聊天界面内查询余额、估算跨链费用、执行合约调用、追踪跨链交易等,无需跳出当前工作区。 | |
| ## 安装 ZetaChain CLI | |
| 全局安装最新版本的 ZetaChain CLI: | |
| --- | |
| title: "Model Context Protocol (MCP)" | |
| --- | |
| # Model Context Protocol (MCP) | |
| Model Context Protocol(MCP)是一项开放标准,可让 AI 助手通过本地或远程服务器安全地连接外部工具与数据源。 | |
| ZetaChain MCP 服务器可扩展你的 AI 编码环境(如 Cursor 或 Claude Code),让其直接访问链上数据并执行 CLI 动作。你可以在编辑器或聊天界面内查询余额、估算跨链费用、执行合约调用、追踪跨链交易等,无需跳出当前工作区。 | |
| ## 安装 ZetaChain CLI | |
| 全局安装最新版本的 ZetaChain CLI: | |
🤖 Prompt for AI Agents
In src/pages/reference/mcp.zh-CN.mdx around lines 1 to 10, the file is missing
the YAML frontmatter (title/metadata) required by the Nextra docs framework; add
a YAML frontmatter block (--- with at least a title field, e.g. title: "Model
Context Protocol (MCP)" and any other needed metadata like slug or nav order)
placed before the first heading so navigation, breadcrumbs and sidebar render
correctly.
[2025.11.19 09:29] I have been modify
next.config.jsand/src/theme.config.tsxto add i18n languages switch feature. testing in cloud server always downtime, so I use my local pc try again.[2025.11.19 15:15] in macmini is successfully add i18n. I match the en & zh pages:
I add the nextra LocaleSwitch to switch languages, now is support en & zh.
in
srcadd the new filemiddleware.js, will help to match the files path.every english docs is named
xxx.en-US, every chinese docs is namedxxx.zh-CN.but now have three questions in this branch.
the sidebar is not turn with the language switchwhen user click someone page, the sidebar is not highlight.index.en-USorindex.zh-CNwill be redirect to the father path, but the true path is the children. such as viewhttp://localhost:3001/zh-CN/developers/evmis 404 not found. I am check the problem, but need some times.[2025.11.21 10:29] I solve the sidebar highlight issue, add a path compare tool
router.tsinsrc/lib/helpers. the router.pathname is different from page.route, so need a tool to remove the prefix for locale and make a standard router format.[2025.11.21 12:56] I solve the sidebar en & zh switch, and make sure the folders and files name is true.
Summary by CodeRabbit
Release Notes
✏️ Tip: You can customize this high-level summary in your review settings.