-
Couldn't load subscription status.
- Fork 54
Localization/initial jp kr #390
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
Conversation
|
Caution Review failedFailed to post review comments Summary by CodeRabbitRelease Notes
WalkthroughAdds full multilingual support (en/ja/ko): language config and utilities, locale provider/hooks, server i18n, SEOHead with hreflang/canonical/OG, language switcher UI, localized navigation data across many product exports, translation validation tooling, and ~40+ localized documentation pages and locale bundles. Changes
Sequence Diagram(s)%%{init: {"themeVariables":{"sequenceNumber":"#6b7280","actorBackground":"#f3f9ff","actorBorder":"#2d6cdf"}}}%%
sequenceDiagram
actor User
participant Browser
participant NextRouter as "Next.js Router"
participant LocaleCtx as "LocaleContext"
participant App as "_app / AppContent"
participant SEO as "SEOHead"
participant Page as "Page Component"
User->>Browser: request /ja/core
Browser->>NextRouter: route /ja/core
NextRouter->>LocaleCtx: determine locale from pathname
LocaleCtx-->>NextRouter: locale='ja', messages
NextRouter->>App: render with locale
App->>SEO: provide title, description, locale
SEO->>SEO: normalize path, build canonical
SEO->>SEO: generate alternate URLs (en, ja, ko) + x-default
SEO->>Browser: inject meta/link tags (hreflang, OG, twitter)
App->>Page: render UI (NavList, LanguageSwitcher, content)
User->>Browser: click LanguageSwitcher -> "ko"
Browser->>NextRouter: navigate to /ko/core
NextRouter->>LocaleCtx: locale update -> 'ko'
Note right of Page: Page re-renders with ko messages
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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: 118
♻️ Duplicate comments (5)
src/components/products/umi/index.js (1)
124-239: Same localization pattern as other product files.This follows the same
localizedNavigationstructure pattern flagged in das-api/index.js. The code duplication and maintenance concerns apply here as well.src/components/products/shank/index.js (1)
43-83: Same localization pattern as other product files.This follows the same
localizedNavigationstructure pattern flagged in das-api/index.js. The code duplication and maintenance concerns apply here as well.src/components/products/sugar/index.js (1)
16-29: Same localization pattern as other product files.This follows the same
localizedNavigationstructure pattern flagged in das-api/index.js. The code duplication and maintenance concerns apply here as well.src/components/products/hydra/index.js (1)
37-71: Same localization pattern as other product files.This follows the same
localizedNavigationstructure pattern flagged in das-api/index.js. The code duplication and maintenance concerns apply here as well.src/components/products/fusion/index.js (1)
38-81: Same localization pattern as other product files.This follows the same
localizedNavigationstructure pattern flagged in das-api/index.js. The code duplication and maintenance concerns apply here as well.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (107)
SEO_EXAMPLE.md(1 hunks)SEO_IMPLEMENTATION.md(1 hunks)TRANSLATION_STATUS.md(1 hunks)package.json(1 hunks)src/components/Header.jsx(2 hunks)src/components/LanguageSwitcher.jsx(1 hunks)src/components/NavList.jsx(2 hunks)src/components/SEOHead.jsx(1 hunks)src/components/TableOfContent.jsx(1 hunks)src/components/helperComponents/guideIndex.jsx(5 hunks)src/components/products/Grid.jsx(2 hunks)src/components/products/Sections.jsx(1 hunks)src/components/products/amman/index.js(1 hunks)src/components/products/aura/index.js(1 hunks)src/components/products/bubblegum-v2/index.js(1 hunks)src/components/products/bubblegum/index.js(1 hunks)src/components/products/candyMachine/index.js(1 hunks)src/components/products/cli/index.js(1 hunks)src/components/products/core/index.js(1 hunks)src/components/products/coreCandyMachine/index.js(1 hunks)src/components/products/das-api/index.js(1 hunks)src/components/products/fusion/index.js(1 hunks)src/components/products/global/index.js(1 hunks)src/components/products/guides/index.js(1 hunks)src/components/products/hydra/index.js(1 hunks)src/components/products/inscription/index.js(1 hunks)src/components/products/legacyDocumentation/index.js(1 hunks)src/components/products/mpl-hybrid/index.js(1 hunks)src/components/products/shank/index.js(1 hunks)src/components/products/sugar/index.js(1 hunks)src/components/products/tokenAuthRules/index.js(1 hunks)src/components/products/tokenMetadata/index.js(1 hunks)src/components/products/umi/index.js(1 hunks)src/config/languages.js(1 hunks)src/contexts/LocaleContext.js(1 hunks)src/i18n.js(1 hunks)src/locales/en.json(1 hunks)src/locales/ja.json(1 hunks)src/locales/ko.json(1 hunks)src/middleware.js(1 hunks)src/pages/404.js(1 hunks)src/pages/404.md(0 hunks)src/pages/_app.jsx(2 hunks)src/pages/ja/amman/cli-commands.md(1 hunks)src/pages/ja/amman/configuration.md(1 hunks)src/pages/ja/amman/getting-started.md(1 hunks)src/pages/ja/amman/index.md(1 hunks)src/pages/ja/amman/pre-made-configs.md(1 hunks)src/pages/ja/aura/blockchains/eclipse.md(1 hunks)src/pages/ja/aura/blockchains/solana.md(1 hunks)src/pages/ja/aura/faq.md(1 hunks)src/pages/ja/aura/index.md(1 hunks)src/pages/ja/aura/reading-solana-and-svm-data.md(1 hunks)src/pages/ja/bubblegum-v2/burn-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/collections.md(1 hunks)src/pages/ja/bubblegum-v2/concurrent-merkle-trees.md(1 hunks)src/pages/ja/bubblegum-v2/create-trees.md(1 hunks)src/pages/ja/bubblegum-v2/delegate-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/delegate-trees.md(1 hunks)src/pages/ja/bubblegum-v2/faq.md(1 hunks)src/pages/ja/bubblegum-v2/fetch-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/freeze-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/hashed-nft-data.md(1 hunks)src/pages/ja/bubblegum-v2/index.md(1 hunks)src/pages/ja/bubblegum-v2/merkle-tree-canopy.md(1 hunks)src/pages/ja/bubblegum-v2/mint-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/sdk/index.md(1 hunks)src/pages/ja/bubblegum-v2/sdk/javascript.md(1 hunks)src/pages/ja/bubblegum-v2/sdk/rust.md(1 hunks)src/pages/ja/bubblegum-v2/stored-nft-data.md(1 hunks)src/pages/ja/bubblegum-v2/transfer-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/update-cnfts.md(1 hunks)src/pages/ja/bubblegum-v2/verify-creators.md(1 hunks)src/pages/ja/bubblegum/burn-cnfts.md(1 hunks)src/pages/ja/bubblegum/create-trees.md(1 hunks)src/pages/ja/bubblegum/decompress-cnfts.md(1 hunks)src/pages/ja/bubblegum/delegate-cnfts.md(1 hunks)src/pages/ja/bubblegum/delegate-trees.md(1 hunks)src/pages/ja/bubblegum/guides/index.md(1 hunks)src/pages/ja/bubblegum/guides/javascript/how-to-create-1000000-nfts-on-solana.md(1 hunks)src/pages/ja/bubblegum/guides/javascript/how-to-interact-with-cnfts-on-other-svms.md(1 hunks)src/pages/ja/bubblegum/index.md(1 hunks)src/pages/ja/bubblegum/mint-cnfts.md(1 hunks)src/pages/ja/bubblegum/sdk/index.md(1 hunks)src/pages/ja/bubblegum/sdk/javascript.md(1 hunks)src/pages/ja/bubblegum/sdk/rust.md(1 hunks)src/pages/ja/bubblegum/transfer-cnfts.md(1 hunks)src/pages/ja/bubblegum/update-cnfts.md(1 hunks)src/pages/ja/bubblegum/verify-collections.md(1 hunks)src/pages/ja/bubblegum/verify-creators.md(1 hunks)src/pages/ja/candy-machine/custom-guards/generating-client.md(1 hunks)src/pages/ja/candy-machine/getting-started/index.md(1 hunks)src/pages/ja/candy-machine/getting-started/js.md(1 hunks)src/pages/ja/candy-machine/getting-started/rust.md(1 hunks)src/pages/ja/candy-machine/guard-groups.md(1 hunks)src/pages/ja/candy-machine/guard-route.md(1 hunks)src/pages/ja/candy-machine/guards.md(1 hunks)src/pages/ja/candy-machine/guards/address-gate.md(1 hunks)src/pages/ja/candy-machine/guards/allocation.md(1 hunks)src/pages/ja/candy-machine/guards/allow-list.md(1 hunks)src/pages/ja/candy-machine/guards/bot-tax.md(1 hunks)src/pages/ja/candy-machine/guards/end-date.md(1 hunks)src/pages/ja/candy-machine/guards/freeze-sol-payment.md(1 hunks)src/pages/ja/candy-machine/guards/freeze-token-payment.md(1 hunks)src/pages/ja/candy-machine/guards/gatekeeper.md(1 hunks)src/pages/ja/candy-machine/guards/mint-limit.md(1 hunks)src/pages/ja/candy-machine/guards/nft-burn.md(1 hunks)
⛔ Files not processed due to max files limit (63)
- src/pages/ja/candy-machine/guards/nft-gate.md
- src/pages/ja/candy-machine/guards/nft-payment.md
- src/pages/ja/candy-machine/guards/program-gate.md
- src/pages/ja/candy-machine/guards/redeemed-amount.md
- src/pages/ja/candy-machine/guards/sol-payment.md
- src/pages/ja/candy-machine/guards/start-date.md
- src/pages/ja/candy-machine/guards/third-party-signer.md
- src/pages/ja/candy-machine/guards/token-burn.md
- src/pages/ja/candy-machine/guards/token-gate.md
- src/pages/ja/candy-machine/guards/token-payment.md
- src/pages/ja/candy-machine/guards/token2022-payment.md
- src/pages/ja/candy-machine/guides/airdrop-mint-to-another-wallet.md
- src/pages/ja/candy-machine/guides/create-an-nft-collection-on-solana-with-candy-machine.md
- src/pages/ja/candy-machine/guides/index.md
- src/pages/ja/candy-machine/guides/mint-to-another-wallet.md
- src/pages/ja/candy-machine/index.md
- src/pages/ja/candy-machine/insert-items.md
- src/pages/ja/candy-machine/manage.md
- src/pages/ja/candy-machine/mint.md
- src/pages/ja/candy-machine/pnfts.md
- src/pages/ja/candy-machine/references/index.md
- src/pages/ja/candy-machine/settings.md
- src/pages/ja/candy-machine/sugar/bring-your-own-uploader.md
- src/pages/ja/candy-machine/sugar/cache.md
- src/pages/ja/candy-machine/sugar/commands/airdrop.md
- src/pages/ja/candy-machine/sugar/commands/bundlr.md
- src/pages/ja/candy-machine/sugar/commands/collection.md
- src/pages/ja/candy-machine/sugar/commands/config.md
- src/pages/ja/candy-machine/sugar/commands/deploy.md
- src/pages/ja/candy-machine/sugar/commands/freeze.md
- src/pages/ja/candy-machine/sugar/commands/guard.md
- src/pages/ja/candy-machine/sugar/commands/hash.md
- src/pages/ja/candy-machine/sugar/commands/launch.md
- src/pages/ja/candy-machine/sugar/commands/mint.md
- src/pages/ja/candy-machine/sugar/commands/reveal.md
- src/pages/ja/candy-machine/sugar/commands/show.md
- src/pages/ja/candy-machine/sugar/commands/sign.md
- src/pages/ja/candy-machine/sugar/commands/update.md
- src/pages/ja/candy-machine/sugar/commands/upload.md
- src/pages/ja/candy-machine/sugar/commands/validate.md
- src/pages/ja/candy-machine/sugar/commands/verify.md
- src/pages/ja/candy-machine/sugar/commands/withdraw.md
- src/pages/ja/candy-machine/sugar/configuration.md
- src/pages/ja/candy-machine/sugar/getting-started.md
- src/pages/ja/candy-machine/sugar/index.md
- src/pages/ja/candy-machine/sugar/installation.md
- src/pages/ja/cli/config/explorer.md
- src/pages/ja/cli/config/rpcs.md
- src/pages/ja/cli/config/wallets.md
- src/pages/ja/cli/core/create-asset.md
- src/pages/ja/cli/core/create-collection.md
- src/pages/ja/cli/core/fetch.md
- src/pages/ja/cli/core/plugins.md
- src/pages/ja/cli/core/update-asset.md
- src/pages/ja/cli/index.md
- src/pages/ja/cli/installation.md
- src/pages/ja/cli/toolbox/sol-airdrop.md
- src/pages/ja/cli/toolbox/sol-balance.md
- src/pages/ja/cli/toolbox/sol-transfer.md
- src/pages/ja/cli/toolbox/token-create.md
- src/pages/ja/cli/toolbox/token-transfer.md
- src/pages/ja/community-guides.md
- src/pages/ja/contact.md
💤 Files with no reviewable changes (1)
- src/pages/404.md
🧰 Additional context used
📓 Path-based instructions (4)
src/components/products/*/index.js
📄 CodeRabbit inference engine (CLAUDE.md)
Each product has its own configuration in
src/components/products/[product]/index.jsthat defines navigation structure, hero components, section organization, GitHub links, and styling themes
Files:
src/components/products/coreCandyMachine/index.jssrc/components/products/amman/index.jssrc/components/products/bubblegum-v2/index.jssrc/components/products/shank/index.jssrc/components/products/das-api/index.jssrc/components/products/candyMachine/index.jssrc/components/products/hydra/index.jssrc/components/products/aura/index.jssrc/components/products/mpl-hybrid/index.jssrc/components/products/legacyDocumentation/index.jssrc/components/products/tokenMetadata/index.jssrc/components/products/guides/index.jssrc/components/products/sugar/index.jssrc/components/products/tokenAuthRules/index.jssrc/components/products/global/index.jssrc/components/products/bubblegum/index.jssrc/components/products/cli/index.jssrc/components/products/fusion/index.jssrc/components/products/umi/index.jssrc/components/products/inscription/index.jssrc/components/products/core/index.js
src/components/**/*.{js,jsx,ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Custom components go in
src/components/
Files:
src/components/products/coreCandyMachine/index.jssrc/components/products/amman/index.jssrc/components/products/bubblegum-v2/index.jssrc/components/products/shank/index.jssrc/components/products/das-api/index.jssrc/components/products/candyMachine/index.jssrc/components/products/hydra/index.jssrc/components/products/Grid.jsxsrc/components/products/aura/index.jssrc/components/products/mpl-hybrid/index.jssrc/components/products/legacyDocumentation/index.jssrc/components/products/tokenMetadata/index.jssrc/components/Header.jsxsrc/components/products/guides/index.jssrc/components/SEOHead.jsxsrc/components/products/sugar/index.jssrc/components/LanguageSwitcher.jsxsrc/components/NavList.jsxsrc/components/products/tokenAuthRules/index.jssrc/components/TableOfContent.jsxsrc/components/products/global/index.jssrc/components/products/bubblegum/index.jssrc/components/products/cli/index.jssrc/components/products/fusion/index.jssrc/components/products/umi/index.jssrc/components/products/inscription/index.jssrc/components/products/Sections.jsxsrc/components/helperComponents/guideIndex.jsxsrc/components/products/core/index.js
src/pages/**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Markdoc processes
.mdfiles in pages directory
Files:
src/pages/ja/amman/cli-commands.mdsrc/pages/ja/aura/blockchains/eclipse.mdsrc/pages/ja/bubblegum/delegate-trees.mdsrc/pages/ja/amman/getting-started.mdsrc/pages/ja/bubblegum-v2/collections.mdsrc/pages/ja/bubblegum/sdk/rust.mdsrc/pages/ja/bubblegum-v2/stored-nft-data.mdsrc/pages/ja/bubblegum-v2/delegate-cnfts.mdsrc/pages/ja/bubblegum/delegate-cnfts.mdsrc/pages/ja/bubblegum/transfer-cnfts.mdsrc/pages/ja/bubblegum/create-trees.mdsrc/pages/ja/candy-machine/guards.mdsrc/pages/ja/candy-machine/guards/allow-list.mdsrc/pages/ja/candy-machine/guards/address-gate.mdsrc/pages/ja/bubblegum-v2/index.mdsrc/pages/ja/bubblegum-v2/freeze-cnfts.mdsrc/pages/ja/candy-machine/getting-started/js.mdsrc/pages/ja/bubblegum/verify-creators.mdsrc/pages/ja/bubblegum-v2/faq.mdsrc/pages/ja/bubblegum-v2/sdk/index.mdsrc/pages/ja/bubblegum-v2/create-trees.mdsrc/pages/ja/bubblegum-v2/concurrent-merkle-trees.mdsrc/pages/ja/candy-machine/guards/nft-burn.mdsrc/pages/ja/aura/index.mdsrc/pages/ja/bubblegum/guides/javascript/how-to-create-1000000-nfts-on-solana.mdsrc/pages/ja/bubblegum/sdk/index.mdsrc/pages/ja/aura/faq.mdsrc/pages/ja/bubblegum-v2/delegate-trees.mdsrc/pages/ja/bubblegum/verify-collections.mdsrc/pages/ja/bubblegum/guides/index.mdsrc/pages/ja/bubblegum-v2/verify-creators.mdsrc/pages/ja/bubblegum-v2/burn-cnfts.mdsrc/pages/ja/amman/configuration.mdsrc/pages/ja/bubblegum-v2/update-cnfts.mdsrc/pages/ja/candy-machine/guards/bot-tax.mdsrc/pages/ja/candy-machine/guard-route.mdsrc/pages/ja/bubblegum-v2/transfer-cnfts.mdsrc/pages/ja/bubblegum-v2/hashed-nft-data.mdsrc/pages/ja/candy-machine/guards/freeze-sol-payment.mdsrc/pages/ja/bubblegum/guides/javascript/how-to-interact-with-cnfts-on-other-svms.mdsrc/pages/ja/bubblegum/burn-cnfts.mdsrc/pages/ja/bubblegum/mint-cnfts.mdsrc/pages/ja/candy-machine/guards/freeze-token-payment.mdsrc/pages/ja/candy-machine/guard-groups.mdsrc/pages/ja/candy-machine/getting-started/rust.mdsrc/pages/ja/bubblegum-v2/merkle-tree-canopy.mdsrc/pages/ja/bubblegum/index.mdsrc/pages/ja/candy-machine/custom-guards/generating-client.mdsrc/pages/ja/amman/pre-made-configs.mdsrc/pages/ja/bubblegum-v2/sdk/rust.mdsrc/pages/ja/bubblegum-v2/sdk/javascript.mdsrc/pages/ja/amman/index.mdsrc/pages/ja/aura/blockchains/solana.mdsrc/pages/ja/candy-machine/guards/gatekeeper.mdsrc/pages/ja/candy-machine/guards/mint-limit.mdsrc/pages/ja/candy-machine/getting-started/index.mdsrc/pages/ja/bubblegum/sdk/javascript.mdsrc/pages/ja/bubblegum/update-cnfts.mdsrc/pages/ja/bubblegum/decompress-cnfts.mdsrc/pages/ja/bubblegum-v2/mint-cnfts.mdsrc/pages/ja/bubblegum-v2/fetch-cnfts.mdsrc/pages/ja/candy-machine/guards/allocation.mdsrc/pages/ja/candy-machine/guards/end-date.mdsrc/pages/ja/aura/reading-solana-and-svm-data.md
src/middleware.js
📄 CodeRabbit inference engine (CLAUDE.md)
Middleware for URL redirects is handled in
src/middleware.js
Files:
src/middleware.js
🧠 Learnings (1)
📚 Learning: 2025-07-26T12:44:34.576Z
Learnt from: CR
PR: metaplex-foundation/developer-hub#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-26T12:44:34.576Z
Learning: Applies to src/middleware.js : Middleware for URL redirects is handled in `src/middleware.js`
Applied to files:
src/middleware.js
🧬 Code graph analysis (4)
src/components/products/Grid.jsx (3)
src/components/NavList.jsx (2)
useLocale(11-11)getLocalizedHref(13-16)src/shared/usePage.js (4)
useLocale(10-10)product(19-19)localizedProduct(174-174)productNav(178-178)src/components/products/IconWithName.jsx (1)
IconWithName(9-28)
src/pages/_app.jsx (1)
src/shared/usePage.js (1)
usePage(8-46)
src/components/NavList.jsx (3)
src/components/products/Grid.jsx (2)
useLocale(13-13)getLocalizedHref(35-44)src/shared/usePage.js (1)
useLocale(10-10)src/components/products/index.js (2)
productCategories(23-27)productCategories(23-27)
src/components/products/Sections.jsx (1)
src/components/icons/index.jsx (1)
Icon(35-53)
🪛 Biome (2.1.2)
src/components/LanguageSwitcher.jsx
[error] 63-68: Alternative text title element cannot be empty
For accessibility purposes, SVGs should have an alternative text, provided via title element. If the svg element has role="img", you should add the aria-label or aria-labelledby attribute.
(lint/a11y/noSvgWithoutTitle)
[error] 57-61: Provide an explicit type prop for the button element.
The default type of a button is submit, which causes the submission of a form when placed inside a form element. This is likely not the behaviour that you want inside a React application.
Allowed button types are: submit, button or reset
(lint/a11y/useButtonType)
🪛 LanguageTool
src/pages/ja/bubblegum-v2/collections.md
[uncategorized] ~9-~9: 「ことができる」という表現は冗長な可能性があります。
Context: ...機能も可能になります。MPL-Coreコレクションについてはこちらで詳しく読むことができます。 [ここでドキュメント化され...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/sdk/rust.md
[uncategorized] ~98-~98: 「ことができる」という表現は冗長な可能性があります。
Context: ...ることは、MPL-Bubblegum Rustクレートのすべての命令で見つけることができる命令関数のCpiBuilderバージョンを使用することで簡単に実現できます...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/delegate-cnfts.md
[uncategorized] ~7-~7: 「ことができる」という表現は冗長な可能性があります。
Context: ...の所有者は、cNFTの所有権を保持しながら、別のアカウントにdelegateすることができます。 {% .lead %} これにより、委任されたアカウント(**Dele...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/candy-machine/guards/allow-list.md
[uncategorized] ~288-~288: 「ことができる」という表現は冗長な可能性があります。
Context: ...うにmintArgs引数を使用してAllow Listガードのミント設定を渡すことができます。 ```ts import { getMerkleRoot } fro...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~345-~345: 「ことができる」という表現は冗長な可能性があります。
Context: ...Args`引数を使用してAllow Listガードの"Proof"ルート設定を渡すことができます。 ```ts import { getMerkleProof, ...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum-v2/index.md
[uncategorized] ~45-~45: 「ことができる」という表現は冗長な可能性があります。
Context: ...この概要では、マークルツリーをリーフと呼ぶハッシュのコレクションと考えることができます。各リーフは、[圧縮NFTのデータをハッシュ化する](/jp/bubbleg...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~104-~104: 「ことができる」という表現は冗長な可能性があります。
Context: ...はありませんが、台帳内のすべての以前のトランザクションを見て、その情報を見つけることができます。 {% diagram %} {% node #tx-1 label=...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~147-~147: 「ことができる」という表現は冗長な可能性があります。
Context: ...ate-trees)を使用して、cNFTで実行できる特定の操作について詳しく学ぶことができます。最後に、cNFTとマークルツリーの知識を深めるための[高度なガイド](/j...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/verify-creators.md
[uncategorized] ~9-~9: 「ことができる」という表現は冗長な可能性があります。
Context: ...マーケットプレイスなどのアプリがどの作成者が本物でどの作成者がそうでないかを知ることができるため重要です。 作成者は[圧縮NFTをミント](/jp/bubblegum/m...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum-v2/faq.md
[uncategorized] ~24-~24: 「ことができる」という表現は冗長な可能性があります。
Context: ...析は簡単ではありません。 幸いなことに、私たちのSDKは、以下のコード例で見ることができるように、すべての重い作業を行うヘルパーメソッドを提供します。圧縮NFTのアセット...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/candy-machine/guards/nft-burn.md
[grammar] ~167-~167: Ensure spelling is correct
Context: ...{% /dialect-switcher %} ## ルート命令 NFT Burnガードはルート命令をサポートしません。
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
src/pages/ja/bubblegum/guides/javascript/how-to-create-1000000-nfts-on-solana.md
[uncategorized] ~153-~153: 「ことができる」という表現は冗長な可能性があります。
Context: ...e tree。 - データ作成時にデータを保存しているインデクサからデータを読み取ることができるDAS対応RPC。 #### Merkle Tree Merkle Tr...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~157-~157: 「ことができる」という表現は冗長な可能性があります。
Context: ...Merkle Treeは、ほとんどの場合、cNFTデータの「データベース」と考えることができます。Merkle Treeが作成され、cNFTが満杯になるまで追加できます。...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~384-~384: 「ことができる」という表現は冗長な可能性があります。
Context: ...ロードし、cNFTをtreeにミントするループを作成するようにコードを調整し始めることができます。 Merkle Treeには100万個のcNFTのスペースがあるため、...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~386-~386: 「ことができる」という表現は冗長な可能性があります。
Context: ...のスペースがあるため、自由にループしてプロジェクトのニーズに応じてtreeを埋めることができます。 以下は、ループインデックスに基づいてcNFTに保存されたデータをイン...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/verify-collections.md
[uncategorized] ~9-~9: 「ことができる」という表現は冗長な可能性があります。
Context: ...クションの権限がこの圧縮NFTをコレクションの一部として承認したことを誰もが知ることができます。 NFTに関するコレクションの概念に馴染みがない場合、それらは他のNFT...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~11-~11: 「ことができる」という表現は冗長な可能性があります。
Context: ...ます。Metaplex Verified Collectionsについて詳しく読むことができます。 ...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum-v2/verify-creators.md
[uncategorized] ~9-~9: 「ことができる」という表現は冗長な可能性があります。
Context: ...マーケットプレイスなどのアプリがどの作成者が本物でどの作成者がそうでないかを知ることができるため重要です。 作成者は、ミントトランザクションに署名することで、[圧縮NFT...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/amman/configuration.md
[uncategorized] ~98-~98: 「ことができる」という表現は冗長な可能性があります。
Context: ...ために、_matchFeatures_設定プロパティを介してその機能を一致させることができます: ```js module.exports = { validato...
(DOUSI_KOTOGADEKIRU)
SEO_EXAMPLE.md
[style] ~138-~138: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...ng Tags ✅ All three versions have the exact same hreflang tags pointing to all alterna...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
src/pages/ja/candy-machine/guard-route.md
[uncategorized] ~15-~15: 「ことができる」という表現は冗長な可能性があります。
Context: ...」命令と呼んでいます。 この機能により、ガードは独自のプログラムロジックを含むことができるため、さらに強力になります。これにより、ガードは以下のことができます: - 重...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~26-~26: 「ことができる」という表現は冗長な可能性があります。
Context: ...それぞれのページ](/jp/candy-machine/guards)で見つけることができます。 例を提供してルート命令の動作を説明するために少し時間を取りましょう。例...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum-v2/transfer-cnfts.md
[uncategorized] ~21-~21: 「ことができる」という表現は冗長な可能性があります。
Context: ...。リーフ所有者またはpermanentTransferDelegateにすることができ、デフォルトではトランザクションのpayerです。 - **新しいリーフ所有...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/candy-machine/guards/freeze-sol-payment.md
[uncategorized] ~19-~19: 「ことができる」という表現は冗長な可能性があります。
Context: ...Freeze Escrowアカウントの初期化、NFTの解凍、資金のロック解除を行うことができます。 {% diagram %} {% node #initializ...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~134-~134: 「ことができる」という表現は冗長な可能性があります。
Context: ...Args`引数を使用してFreeze Sol Paymentガードのミント設定を渡すことができます。 ```ts mintV2(umi, { // ... mi...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~697-~697: 「ことができる」という表現は冗長な可能性があります。
Context: ...まま**です。 これを達成するにはいくつかの方法があり、2つのカテゴリに分けることができます: - ☀️ 解凍可能: 既存のフリーズされたNFTは、ルート命令...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/guides/javascript/how-to-interact-with-cnfts-on-other-svms.md
[uncategorized] ~38-~38: 「ことができる」という表現は冗長な可能性があります。
Context: ...innet-betaで使用されるのと同じcreateTree関数を使用して行うことができます。ただし、デフォルトのlogWrapperと`compressionP...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/mint-cnfts.md
[uncategorized] ~96-~96: 「ことができる」という表現は冗長な可能性があります。
Context: ...Verified**フィールドはtrueまたはfalseのいずれかとして渡すことができます。falseとして渡された場合、トランザクション中にtrueに設...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/candy-machine/guards/freeze-token-payment.md
[uncategorized] ~19-~19: 「ことができる」という表現は冗長な可能性があります。
Context: ...Freeze Escrowアカウントの初期化、NFTの解凍、資金のロック解除を行うことができます。 {% diagram %} {% node #initializ...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~143-~143: 「ことができる」という表現は冗長な可能性があります。
Context: ...gs`引数を使用してFreeze Token Paymentガードのミント設定を渡すことができます。 ```ts mintV2(umi, { // ... mi...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum-v2/merkle-tree-canopy.md
[uncategorized] ~13-~13: 「ことができる」という表現は冗長な可能性があります。
Context: ...上位nレベルをキャッシュすることで、証明を最初のd - nノードに切り捨てることができます。これにより、アカウント圧縮トランザクションのサイズを削減し、10億以上...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/index.md
[uncategorized] ~44-~44: 「ことができる」という表現は冗長な可能性があります。
Context: ...この概要では、マークルツリーをリーフと呼ぶハッシュのコレクションと考えることができます。各リーフは、[圧縮NFTのデータをハッシュ化する](/jp/bubbleg...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~103-~103: 「ことができる」という表現は冗長な可能性があります。
Context: ...はありませんが、台帳内のすべての以前のトランザクションを見て、その情報を見つけることができます。 {% diagram %} {% node #tx-1 label=...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~145-~145: 「ことができる」という表現は冗長な可能性があります。
Context: ...ate-trees)を使用して、cNFTで実行できる特定の操作について詳しく学ぶことができます。最後に、cNFTとマークルツリーの知識を深めるための[高度なガイド](/j...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/candy-machine/custom-guards/generating-client.md
[uncategorized] ~71-~71: 「ことができる」という表現は冗長な可能性があります。
Context: ...あなたのニーズに合わせて使用できるテンプレートです。 ガードには任意の名前を付けることができますが、例ではcustomGuard.tsと名付けます: ```ts i...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~189-~189: 「ことができる」という表現は冗長な可能性があります。
Context: ...新しいガードクライアントにアクセスしたいプロジェクトフォルダーにリンク/移動することができます。 AVAの内蔵テストスイートを使用して、複数のシナリオでガードを完全にテ...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~191-~191: 「ことができる」という表現は冗長な可能性があります。
Context: ...とは価値があります。テストの例は/clients/js/testsで見つけることができます。
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum-v2/sdk/rust.md
[uncategorized] ~95-~95: 「ことができる」という表現は冗長な可能性があります。
Context: ...、MPL-Bubblegum Rustクレート内のすべての命令に対して見つけることができる命令関数のCpiBuilderバージョンを使用することで簡単に実現できます...
(DOUSI_KOTOGADEKIRU)
src/pages/ja/bubblegum/decompress-cnfts.md
[uncategorized] ~15-~15: 「ことができる」という表現は冗長な可能性があります。
Context: ...ラットフォームとやりとりし、一般的にNFTエコシステムとの相互運用性を向上させることができます。 ## 解凍プロセス 圧縮NFTの解凍は、NFTの所有者によって開始さ...
(DOUSI_KOTOGADEKIRU)
[uncategorized] ~23-~23: 「ことができる」という表現は冗長な可能性があります。
Context: ...いは、所有者はCancel Redeem命令を使用してプロセスを逆転させることができ、これによりBubblegum tree上でリーフが復元され、Voucherア...
(DOUSI_KOTOGADEKIRU)
🪛 markdownlint-cli2 (0.18.1)
src/pages/ja/amman/cli-commands.md
10-10: Bare URL used
(MD034, no-bare-urls)
11-11: Bare URL used
(MD034, no-bare-urls)
13-13: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/amman/getting-started.md
17-17: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/collections.md
16-16: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
49-49: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/sdk/rust.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/delegate-cnfts.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/delegate-cnfts.md
70-70: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/transfer-cnfts.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards.md
390-390: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/allow-list.md
174-174: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
175-175: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
192-192: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
216-216: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
238-238: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
264-264: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
280-280: Link fragments should be valid
(MD051, link-fragments)
290-290: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
347-347: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
380-380: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
384-384: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/index.md
14-14: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
20-20: Bare URL used
(MD034, no-bare-urls)
22-22: Bare URL used
(MD034, no-bare-urls)
46-46: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/faq.md
60-60: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/sdk/index.md
13-13: Bare URL used
(MD034, no-bare-urls)
src/pages/ja/bubblegum-v2/create-trees.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/concurrent-merkle-trees.md
60-60: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/nft-burn.md
61-61: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
62-62: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
92-92: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
110-110: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
135-135: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
157-157: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/aura/index.md
17-17: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/guides/javascript/how-to-create-1000000-nfts-on-solana.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/aura/faq.md
18-18: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/delegate-trees.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/verify-collections.md
99-99: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/guides/index.md
15-15: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/verify-creators.md
94-94: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/burn-cnfts.md
49-49: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/amman/configuration.md
126-126: Files should end with a single newline character
(MD047, single-trailing-newline)
SEO_IMPLEMENTATION.md
48-48: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guard-route.md
207-207: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/transfer-cnfts.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/hashed-nft-data.md
49-49: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/freeze-sol-payment.md
19-19: Link fragments should be valid
(MD051, link-fragments)
79-79: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above
(MD022, blanks-around-headings)
162-162: Link fragments should be valid
(MD051, link-fragments)
163-163: Link fragments should be valid
(MD051, link-fragments)
164-164: Link fragments should be valid
(MD051, link-fragments)
165-165: Link fragments should be valid
(MD051, link-fragments)
166-166: Link fragments should be valid
(MD051, link-fragments)
167-167: Link fragments should be valid
(MD051, link-fragments)
168-168: Link fragments should be valid
(MD051, link-fragments)
169-169: Link fragments should be valid
(MD051, link-fragments)
170-170: Link fragments should be valid
(MD051, link-fragments)
214-214: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
215-215: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
274-274: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
275-275: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
346-346: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
428-428: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
429-429: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
497-497: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
583-583: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
584-584: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
656-656: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
765-765: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
766-766: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
767-767: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
792-792: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
793-793: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
794-794: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
812-812: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/guides/javascript/how-to-interact-with-cnfts-on-other-svms.md
150-150: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/mint-cnfts.md
21-21: Bare URL used
(MD034, no-bare-urls)
23-23: Bare URL used
(MD034, no-bare-urls)
47-47: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/freeze-token-payment.md
19-19: Link fragments should be valid
(MD051, link-fragments)
79-79: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above
(MD022, blanks-around-headings)
172-172: Link fragments should be valid
(MD051, link-fragments)
173-173: Link fragments should be valid
(MD051, link-fragments)
174-174: Link fragments should be valid
(MD051, link-fragments)
175-175: Link fragments should be valid
(MD051, link-fragments)
176-176: Link fragments should be valid
(MD051, link-fragments)
177-177: Link fragments should be valid
(MD051, link-fragments)
178-178: Link fragments should be valid
(MD051, link-fragments)
179-179: Link fragments should be valid
(MD051, link-fragments)
180-180: Link fragments should be valid
(MD051, link-fragments)
267-267: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/index.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/custom-guards/generating-client.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/amman/pre-made-configs.md
88-88: Hard tabs
Column: 52
(MD010, no-hard-tabs)
206-206: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/sdk/rust.md
50-50: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/gatekeeper.md
65-65: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
66-66: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
87-87: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
95-95: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above
(MD022, blanks-around-headings)
108-108: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
129-129: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
156-156: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
166-166: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
180-180: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/mint-limit.md
61-61: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
62-62: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
92-92: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
110-110: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
135-135: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
157-157: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/update-cnfts.md
72-72: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum/decompress-cnfts.md
57-57: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/bubblegum-v2/fetch-cnfts.md
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
40-40: Files should end with a single newline character
(MD047, single-trailing-newline)
src/pages/ja/candy-machine/guards/allocation.md
174-174: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
175-175: Trailing spaces
Expected: 0 or 2; Actual: 4
(MD009, no-trailing-spaces)
192-192: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
216-216: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
238-238: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
src/pages/ja/aura/reading-solana-and-svm-data.md
17-17: Files should end with a single newline character
(MD047, single-trailing-newline)
🔇 Additional comments (50)
src/pages/ja/bubblegum-v2/hashed-nft-data.md (1)
1-30: LGTM — Japanese localization and frontmatter are well-structured.The YAML frontmatter is properly formatted with title, metaTitle, and description in Japanese. The Rust code block accurately documents the
MetadataArgsV2struct with appropriate Japanese field documentation comments. The translation and technical terminology appear contextually sound.src/pages/ja/bubblegum-v2/update-cnfts.md (3)
7-35: LGTM — Markdoc structure and section organization are solid.The documentation follows a clear hierarchical structure with proper markdown heading levels (## for main sections, ### for subsections). The introduction effectively frames the two update authorities, and the content flows logically.
37-74: I'll search for the Bubblegum V2 API documentation to verify the code example accuracy.
The code example accurately implements the Bubblegum V2 API: imports are correct, the
UpdateArgsArgstype properly usessome()wrappers for optional fields likenameanduri, and theupdateMetadataV2function signature with parameters (leafOwner,currentMetadata, optionalauthority, optionalcoreCollection) matches the official API. The Markdoc dialect-switcher syntax is valid, and the Japanese comments align with the documented functionality. No corrections needed.
1-5: Frontmatter structure is correct and consistent with codebase conventions — no changes needed.The YAML frontmatter in the file matches the pattern used across all other Japanese localized pages. The codebase uses directory structure (
src/pages/ja/) for i18n routing rather than metadata fields. No locale-specific fields (likelocale: ja) are present anywhere in the sampled frontmatter from 50+ Japanese pages, confirming this is the established pattern.src/components/TableOfContent.jsx (3)
13-13: Good defensive improvement.Returning
nullexplicitly (rather thanundefined) makes the intent clearer and pairs well with thefilter(Boolean)on line 21.
21-21: Excellent addition to filter out missing elements.The
filter(Boolean)safely removes anynullorundefinedentries from the headings array, preventing potential crashes downstream.
29-31: Robust null-safety improvements.The optional chaining on line 29 (
headings[0]?.id) and the guard clause on line 31 (if (heading && top >= heading.top)) both gracefully handle cases where elements might be missing from the DOM. This prevents runtime errors when headings are unavailable.src/components/products/mpl-hybrid/index.js (1)
100-179: LGTM! Localization data properly structured.The localizedNavigation structure follows the established pattern and includes complete translations for all sections and links across English, Japanese, and Korean locales.
src/components/products/inscription/index.js (1)
69-133: LGTM! Localization data properly structured.The localizedNavigation structure is consistent with the project's localization pattern and includes complete translations for all navigation sections and links.
src/components/products/tokenMetadata/index.js (1)
111-214: LGTM! Comprehensive localization data.The localizedNavigation includes complete translations for all sections (Introduction, Features, Guides, Javascript) and links across English, Japanese, and Korean locales.
src/components/products/legacyDocumentation/index.js (1)
111-211: LGTM! Legacy documentation localization complete.The localizedNavigation properly covers all legacy product sections including Auction House, Developer Tools, Fixed Price Sale, Gumdrop, Mobile SDKs, and Token Entangler with translations for all three supported locales.
src/pages/ja/bubblegum/verify-creators.md (1)
1-57: LGTM! Well-structured Japanese documentation.The documentation page properly explains the creator verification process for compressed NFTs with clear code examples using the
@metaplex-foundation/mpl-bubblegumlibrary.src/pages/ja/bubblegum-v2/merkle-tree-canopy.md (1)
1-33: LGTM! Well-structured Japanese documentation.The technical content is accurate and comprehensive, covering MTU constraints, canopy caching mechanics, storage costs, and trade-offs. The table format and markdown structure follow best practices.
Note: The static analysis hint about "ことができます" being verbose is a stylistic suggestion that's acceptable in technical documentation context.
src/middleware.js (1)
62-62: LGTM! Helpful clarification.The comment improves code readability by clearly indicating the purpose of the redirect logic.
src/pages/ja/aura/blockchains/solana.md (1)
1-13: LGTM! Clear and concise endpoint documentation.The page structure follows the established pattern and provides the necessary Aura endpoint information for Solana.
src/components/products/candyMachine/index.js (1)
208-278: LGTM! Comprehensive multilingual navigation support.The localized navigation structure is well-organized and consistent across all three languages (en, ja, ko). The translations cover all necessary sections and links, aligning with the i18n framework introduced in this PR.
src/pages/ja/aura/blockchains/eclipse.md (1)
1-13: LGTM! Clear endpoint documentation.The page follows the established pattern and provides the necessary Aura endpoint information for Eclipse SVM.
src/components/products/coreCandyMachine/index.js (1)
325-419: LGTM!The localized navigation structure is well-organized and consistent across all three locales (en, ja, ko). The mappings provide proper translations for UI labels without altering any runtime logic.
src/components/Header.jsx (2)
5-5: LGTM!Clean import of the LanguageSwitcher component.
79-81: LGTM!The LanguageSwitcher is properly integrated into the header with appropriate responsive styling (
hidden sm:block), consistent with other header elements.src/components/products/amman/index.js (1)
35-78: LGTM!The localized navigation structure is well-organized and provides proper translations across all three locales (en, ja, ko). The implementation is consistent with other product modules in the PR.
src/pages/_app.jsx (3)
19-25: LGTM: Clean separation of concerns with LocaleProvider wrapper.The top-level LocaleProvider wrapping ensures locale context is available throughout the app before any components render. This is the correct placement for a context provider that needs to be accessible globally.
27-57: LGTM: AppContent component properly extracts rendering logic.The extraction of AppContent as a separate component is well-structured. It correctly:
- Calls
usePage(pageProps)to derive page metadata including locale- Passes the locale-aware page data to SEOHead
- Maintains the existing DialectProvider → Layout → Component hierarchy
32-37: LGTM: Centralized SEO metadata handling.Replacing inline Head tags with the SEOHead component centralizes SEO logic and enables locale-aware metadata generation (canonical URLs, hreflang alternates, og:locale, etc.). The props flow is correct:
page.title,page.description,page.metaTitle, andpage.localeare all sourced from theusePagehook.src/pages/ja/candy-machine/getting-started/rust.md (1)
1-20: LGTM: Japanese documentation is well-structured.The documentation provides clear information about using the Rust SDK with Candy Machine, including:
- Appropriate explanation of use cases (Rust clients, CPI calls)
- Complete reference links for both required libraries (Candy Machine Core and Candy Guard)
- Proper Japanese translations in frontmatter and content
src/pages/ja/bubblegum-v2/freeze-cnfts.md (1)
1-50: LGTM: Comprehensive freeze/thaw documentation with code examples.The documentation effectively demonstrates:
- The
freezeV2instruction usage with proper imports- Two delegate scenarios (leaf delegate and permanent freeze delegate)
- Correct parameter usage including
leafOwner,authority,leafDelegate, andcoreCollectionThe code examples are syntactically correct and follow best practices.
src/pages/ja/bubblegum/create-trees.md (1)
1-50: LGTM: Excellent documentation of Bubblegum tree creation.This documentation effectively covers:
- Clear explanation of the two required accounts (Merkle tree and tree config PDA)
- Visual diagram showing the relationship between accounts
- Detailed parameter descriptions (maxDepth, maxBufferSize)
- Practical compatibility table with recommended configurations and cost analysis
The Japanese translations are clear and well-structured.
src/components/products/bubblegum-v2/index.js (1)
93-190: LGTM: Complete localization data for three languages.The localizedNavigation provides comprehensive translations for:
- Headlines and descriptions
- All navigation sections (Introduction, SDK, Features, Advanced)
- All navigation links across all sections
All three languages (en, ja, ko) appear to have complete and consistent data.
src/pages/404.js (2)
1-14: LGTM: Properly localized 404 page.The Custom404 component correctly:
- Uses the
useLocalehook to access the translation function- Renders locale-aware messages via
t('404.message')andt('404.callToAction')- Includes the MarkdocGrid for navigation
16-28: LGTM: Hardcoded English frontmatter is intentional.The hardcoded English strings in
getStaticPropsserve as lookup keys for localization. According to theusePage.jslogic (lines 17-20 in relevant code snippets), there is special handling that detects these specific English strings and translates them usingt('404.title')andt('404.metaTitle').This is the correct implementation pattern for the 404 page in this i18n architecture.
src/locales/ko.json (1)
1-63: LGTM! Korean locale file is well-structured.The Korean locale JSON file is properly structured with all necessary translation keys for navigation, sections, UI elements, header, meta descriptions, and the 404 page. The JSON syntax is valid and the translations appear comprehensive.
src/locales/ja.json (1)
1-63: LGTM! Well-structured translation file.The Japanese translation file is comprehensive and well-organized, covering all necessary UI elements, navigation items, and metadata. The JSON structure is valid and consistent with the i18n infrastructure introduced in this PR.
src/components/NavList.jsx (1)
18-25: LGTM! Well-implemented translation helper.The
getTranslatedCategoryfunction properly maps category keys to translated strings with appropriate fallbacks.src/pages/ja/bubblegum-v2/sdk/javascript.md (1)
1-46: The script confirms a systematic issue: 500+ internal links across Japanese documentation files use/jp/instead of/ja/. However, before confirming this as an error requiring fixes, verification is needed on the intended link routing convention.Clarification required:
- Should locale-specific files under
src/pages/ja/use/ja/prefixes in internal links for consistency with their directory path?- Or is
/jp/an intentional global routing prefix regardless of locale directory?Check routing configuration or similar patterns in non-Japanese locale directories (e.g.,
en/,es/) to establish the correct convention before proceeding with systematic corrections.src/components/products/tokenAuthRules/index.js (1)
109-194: LGTM! Well-structured localization implementation.The localizedNavigation addition follows the established pattern and provides complete translations for English, Japanese, and Korean. All section titles and link labels from the original navigation structure are properly mapped, ensuring consistent multilingual support.
src/pages/ja/candy-machine/guards/bot-tax.md (1)
1-137: LGTM! Comprehensive documentation with important warnings.The Bot Tax guard documentation is well-structured and includes critical warnings about wallet behavior (Solflare, Phantom auto-injecting Lighthouse commands). The explanation of how the guard works and its impact on transaction success is clear and helpful for users.
src/locales/en.json (1)
1-63: LGTM! Well-organized locale structure.The English locale file provides a clean, hierarchical structure for UI translations with logical groupings (navigation, sections, ui, header, meta, 404). The keys are descriptive and the content is appropriate for the Metaplex Developer Hub.
SEO_EXAMPLE.md (1)
1-223: LGTM! Excellent SEO documentation.This documentation provides a comprehensive guide to the multilingual SEO implementation with clear examples, proper explanation of hreflang, canonical URLs, and og:locale tags. The inclusion of validation tools and the explanation of how search engines use these tags is particularly valuable for maintainers and contributors.
src/components/products/global/index.js (1)
57-133: LGTM!The localized navigation structure is complete and consistent across all three locales (en, ja, ko). All section and link keys are properly translated.
src/components/products/bubblegum/index.js (1)
115-224: LGTM!The localized navigation is complete and consistent across all three locales. All sections and links are properly translated.
src/components/products/guides/index.js (1)
222-355: LGTM!The localized navigation structure is complete and well-organized. All sections and links are properly translated across all three locales (en, ja, ko).
src/pages/ja/bubblegum/delegate-trees.md (1)
1-57: File appears to be incomplete in the provided code review context.The file ends with an unclosed code fence (````), suggesting the content provided is truncated. Please ensure the complete file is available for full review and that it ends with a single newline character per markdown standards (MD047).
src/pages/ja/bubblegum-v2/delegate-cnfts.md (1)
11-13: Verify internal link paths align with new locale structure.Lines 11–13 use old locale path structure (
/jp/bubblegum-v2/transfer-cnfts,/jp/bubblegum-v2/burn-cnfts, etc.). Per the SEO implementation and i18n changes, these should likely be updated to the new ISO 639-1 standard (/ja/instead of/jp/).Check if the related documentation pages (transfer-cnfts.md, burn-cnfts.md, freeze-cnfts.md) exist at:
- Old paths:
/jp/bubblegum-v2/transfer-cnftsetc.- New paths:
/ja/bubblegum-v2/transfer-cnftsetc.Update links accordingly.
src/pages/ja/bubblegum-v2/stored-nft-data.md (1)
1-48: File appears to be incomplete in the provided code review context.The file is cut off mid-diagram at line 48, with an incomplete code fence. The provided code does not show the full file content. Please ensure the complete file is provided for review, and verify it ends with a single newline character per markdown standards (MD047).
SEO_IMPLEMENTATION.md (1)
1-48: Documentation file is comprehensive and well-structured. ✅The SEO_IMPLEMENTATION.md document provides clear, detailed guidance on the multilingual SEO implementation. The structure, explanations, and examples are appropriate for developer reference. The document clearly explains:
- Language code standardization rationale
- Component and file changes
- SEO feature implementation
- URL structure patterns
- Instructions for adding future languages
The static analysis flag for missing trailing newline on line 48 appears to be a false positive for this documentation file (not a markdown page).
src/pages/ja/bubblegum-v2/mint-cnfts.md (1)
1-40: File appears to be incomplete in the provided code review context.The file is cut off mid-code-block at line 40. The provided code does not show the complete file or its ending. Please ensure the complete file is provided for full review, including verification that it ends with a single newline character per markdown standards (MD047).
src/pages/ja/bubblegum/mint-cnfts.md (1)
1-195: Remove or correct/jp/prefixed links fromsrc/pages/ja/bubblegum/mint-cnfts.md.The script confirms that this file contains
/jp/links at lines 7 and 10:
- Line 7:
[Bubblegum v2](/jp/bubblegum-v2/mint-cnfts)- Line 10:
[前のページ](/jp/bubblegum/create-trees)For consistency with other JA documentation, these root-relative
/jp/links should be replaced with relative paths (e.g.,../bubblegum-v2/mint-cnftsand./create-trees) or reviewed to ensure the site's routing handles them correctly. The scan reveals this pattern is widespread across JA pages, indicating either a systematic issue or intentional design that needs clarification.src/pages/ja/bubblegum/guides/javascript/how-to-create-1000000-nfts-on-solana.md (1)
188-214: Cost warning: ensure devnet-only emphasis and exact SOL.Text says “約7.7 SOL”. Confirm against current program rent; otherwise annotate as approximate and devnet-only, which you already did—LGTM.
src/components/products/aura/index.js (1)
48-88: LGTM on localizedNavigation.Structure mirrors base navigation and keys match titles; translations read well. No blocking issues.
src/components/helperComponents/guideIndex.jsx (1)
377-382: Localization helpers look good once locale codes are fixed.The
getLocalizedTextandgetLocalizedPathhelper functions are well-implemented. Once the locale code mismatch is resolved (usingja/koinstead ofjp/kr), these will correctly handle the locale-aware rendering and path generation.Also applies to: 420-423
Updated next-intl from ^4.3.5 to ^4.3.12 (installed 4.4.0). Updated pnpm-lock.yaml to reflect the new version. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
No description provided.