apps/www/.i18nswarm/card.svg | 22 + apps/www/.i18nswarm/report.html | 210 + apps/www/.i18nswarm/review-queue.json | 1501 ++ apps/www/.i18nswarm/run.json | 108 + apps/www/app/(blog)/blog/page.tsx | 4 +- apps/www/app/(docs)/docs/not-found.tsx | 10 +- apps/www/app/(marketing)/showcase/page.tsx | 6 +- apps/www/app/layout.tsx | 7 +- apps/www/app/not-found.tsx | 10 +- apps/www/components/blog/mobile-toc.tsx | 8 +- apps/www/components/blog/table-of-contents.tsx | 4 +- apps/www/components/code-block-command.tsx | 4 +- apps/www/components/command-menu.tsx | 14 +- apps/www/components/component-preview-tabs.tsx | 4 +- apps/www/components/contribute.tsx | 4 +- apps/www/components/copy-button.tsx | 4 +- apps/www/components/docs-copy-page.tsx | 4 +- apps/www/components/docs-toc.tsx | 4 +- apps/www/components/github-link.tsx | 4 +- apps/www/components/logo-button.tsx | 8 +- apps/www/components/mobile-nav.tsx | 8 +- apps/www/components/mode-toggle.tsx | 6 +- apps/www/components/open-in-v0-button.tsx | 4 +- apps/www/components/sections/component-demos.tsx | 7 +- apps/www/components/sections/cta.tsx | 6 +- apps/www/components/sections/hero.tsx | 4 +- apps/www/components/sections/showcase.tsx | 6 +- apps/www/components/sections/testimonials.tsx | 4 +- .../www/components/sections/video-testimonials.tsx | 7 +- apps/www/components/sidebar-cta.tsx | 17 +- apps/www/components/ui/sidebar.tsx | 14 +- apps/www/i18n/request.ts | 11 + apps/www/messages/en.json | 478 + apps/www/messages/ja.json | 478 + apps/www/messages/translation-todo.json | 1002 + apps/www/next.config.mjs | 5 +- apps/www/package-lock.json | 18093 +++++++++++++++++++ apps/www/package.json | 5 +- .../example/animated-gradient-text-demo-2.tsx | 4 +- .../registry/example/animated-shiny-text-demo.tsx | 4 +- apps/www/registry/example/backlight-image-demo.tsx | 4 +- apps/www/registry/example/backlight-video-demo.tsx | 4 +- apps/www/registry/example/blur-fade-text-demo.tsx | 6 +- apps/www/registry/example/border-beam-demo-2.tsx | 6 +- apps/www/registry/example/border-beam-demo-3.tsx | 18 +- apps/www/registry/example/border-beam-demo.tsx | 18 +- apps/www/registry/example/comic-text-demo.tsx | 4 +- .../www/registry/example/confetti-basic-cannon.tsx | 4 +- .../registry/example/confetti-custom-shapes.tsx | 4 +- apps/www/registry/example/confetti-demo.tsx | 4 +- apps/www/registry/example/confetti-emoji.tsx | 4 +- apps/www/registry/example/confetti-fireworks.tsx | 4 +- .../registry/example/confetti-random-direction.tsx | 4 +- .../www/registry/example/confetti-side-cannons.tsx | 4 +- apps/www/registry/example/confetti-stars.tsx | 4 +- apps/www/registry/example/cool-mode-custom.tsx | 4 +- apps/www/registry/example/cool-mode-demo.tsx | 4 +- .../registry/example/dia-text-reveal-demo-2.tsx | 4 +- .../registry/example/dia-text-reveal-demo-4.tsx | 4 +- apps/www/registry/example/dia-text-reveal-demo.tsx | 4 +- .../registry/example/glare-hover-demo-alert.tsx | 14 +- apps/www/registry/example/glare-hover-demo-cta.tsx | 12 +- apps/www/registry/example/glare-hover-demo.tsx | 12 +- apps/www/registry/example/globe-demo.tsx | 4 +- apps/www/registry/example/hyper-text-demo.tsx | 4 +- .../example/interactive-hover-button-demo.tsx | 4 +- apps/www/registry/example/kinetic-text-demo.tsx | 4 +- apps/www/registry/example/lens-demo-2.tsx | 13 +- apps/www/registry/example/lens-demo-3.tsx | 13 +- apps/www/registry/example/lens-demo.tsx | 13 +- apps/www/registry/example/light-rays-demo.tsx | 9 +- apps/www/registry/example/magic-card-demo.tsx | 14 +- apps/www/registry/example/magic-card-demo2.tsx | 11 +- apps/www/registry/example/meteors-demo.tsx | 4 +- .../registry/example/neon-gradient-card-demo.tsx | 4 +- apps/www/registry/example/noise-texture-demo-2.tsx | 13 +- apps/www/registry/example/noise-texture-demo-3.tsx | 4 +- apps/www/registry/example/noise-texture-demo-4.tsx | 6 +- apps/www/registry/example/particles-demo.tsx | 4 +- apps/www/registry/example/pointer-demo-1.tsx | 18 +- .../registry/example/pulsating-button-demo-2.tsx | 4 +- .../www/registry/example/pulsating-button-demo.tsx | 4 +- .../www/registry/example/rainbow-button-demo-2.tsx | 4 +- apps/www/registry/example/rainbow-button-demo.tsx | 4 +- apps/www/registry/example/retro-grid-demo.tsx | 4 +- apps/www/registry/example/ripple-button-demo.tsx | 4 +- apps/www/registry/example/ripple-demo.tsx | 4 +- .../example/scroll-based-velocity-demo.tsx | 6 +- apps/www/registry/example/scroll-progress-demo.tsx | 4 +- apps/www/registry/example/shimmer-button-demo.tsx | 4 +- apps/www/registry/example/shine-border-demo-2.tsx | 14 +- apps/www/registry/example/shine-border-demo.tsx | 14 +- apps/www/registry/example/shiny-button-demo.tsx | 4 +- apps/www/registry/example/smooth-cursor-demo.tsx | 6 +- apps/www/registry/example/sparkles-text-demo.tsx | 4 +- apps/www/registry/example/spinning-text-demo-2.tsx | 4 +- apps/www/registry/example/spinning-text-demo.tsx | 4 +- apps/www/registry/example/terminal-demo-2.tsx | 12 +- apps/www/registry/example/terminal-demo.tsx | 30 +- apps/www/registry/example/text-3d-flip-demo-2.tsx | 4 +- apps/www/registry/example/text-3d-flip-demo.tsx | 4 +- apps/www/registry/example/text-animate-demo-2.tsx | 4 +- apps/www/registry/example/text-animate-demo-3.tsx | 4 +- apps/www/registry/example/text-animate-demo-4.tsx | 4 +- apps/www/registry/example/text-animate-demo-6.tsx | 4 +- apps/www/registry/example/text-animate-demo-7.tsx | 4 +- apps/www/registry/example/text-animate-demo-8.tsx | 4 +- apps/www/registry/example/text-animate-demo-9.tsx | 4 +- apps/www/registry/example/text-animate-demo.tsx | 4 +- apps/www/registry/example/text-reveal-demo.tsx | 4 +- .../registry/example/typing-animation-demo-4.tsx | 4 +- .../registry/example/typing-animation-demo-5.tsx | 4 +- .../registry/example/typing-animation-demo-7.tsx | 10 +- .../registry/example/typing-animation-demo-8.tsx | 8 +- .../www/registry/example/typing-animation-demo.tsx | 4 +- apps/www/registry/example/video-text-demo.tsx | 4 +- apps/www/registry/example/warp-background-demo.tsx | 8 +- .../registry/magicui/animated-theme-toggler.tsx | 4 +- apps/www/registry/magicui/code-comparison.tsx | 8 +- apps/www/registry/magicui/hero-video-dialog.tsx | 4 +- apps/www/registry/magicui/icon-cloud.tsx | 4 +- 121 files changed, 22380 insertions(+), 255 deletions(-) diff --git a/apps/www/.i18nswarm/card.svg b/apps/www/.i18nswarm/card.svg new file mode 100644 index 0000000..cec2d4c --- /dev/null +++ b/apps/www/.i18nswarm/card.svg @@ -0,0 +1,22 @@ + + + + + +I18N-SWARM · CODE-SIDE I18N + +71.4% +71.4% +of localizable +auto-wired + + + +BUILD GREEN +www +242 auto-localized · 347 to review · 0 corruptions + +greymoth +next · build GREEN + + \ No newline at end of file diff --git a/apps/www/.i18nswarm/report.html b/apps/www/.i18nswarm/report.html new file mode 100644 index 0000000..5eac5a3 --- /dev/null +++ b/apps/www/.i18nswarm/report.html @@ -0,0 +1,210 @@ + + + +i18n-swarm · www + +
+
+
i18n-swarm · code-side localization
+

www

+
+ +
+ + + + +I18N-SWARM · CODE-SIDE I18N + +71.4% +71.4% +of localizable +auto-wired + + + +BUILD GREEN +www +242 auto-localized · 347 to review · 0 corruptions + +greymoth +next · build GREEN + +
+ +
+ 71.4% +
+
of localizable strings auto-wired
+
242 auto-localized · 347 to review · 0 corruptions
+
+ BUILD GREEN +
+ +

before / after

+ + + + + + + + +
BEFORE (baseline)AFTER (i18n applied)
installOK installedOK installed
buildOK build ok (build)OK build ok (build)
typecheckOK typecheck ok (typecheck)OK typecheck ok (typecheck)
testno testsno tests
+

code-side trust without review: + NO + · verdict AUTO-VERIFIED (MEDIUM)

+ + +

review queue — 347 item(s) the agent will not touch

+
+

75 prose / mixed sentences / interpolated phrases

+
  • page.tsx Back to Blog fragment of a mixed text+markup/interpolation sentence
  • +
  • page.tsx uses Magic UI to build their landing page. fragment of a mixed text+markup/interpolation sentence
  • +
  • analytics.tsx window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gta… string literal inside a {expression} (could be an enum/condition — review)
  • +
  • command-menu.tsx K fragment of a mixed text+markup/interpolation sentence
  • +
  • command-menu.tsx Light fragment of a mixed text+markup/interpolation sentence
  • +
  • command-menu.tsx Dark fragment of a mixed text+markup/interpolation sentence
  • +
  • command-menu.tsx System fragment of a mixed text+markup/interpolation sentence
  • +
  • component-preview.tsx Component fragment of a mixed text+markup/interpolation sentence
  • +
  • component-preview.tsx not found in registry. fragment of a mixed text+markup/interpolation sentence
  • +
  • deal-banner.tsx 🔥🔥🔥 FIRE SALE - Get $100 off TODAY ONLY fragment of a mixed text+markup/interpolation sentence
  • +
  • discord-link.tsx members online in our Discord community fragment of a mixed text+markup/interpolation sentence
  • +
  • docs-copy-page.tsx View as Markdown fragment of a mixed text+markup/interpolation sentence
  • +
  • docs-copy-page.tsx Open in ChatGPT fragment of a mixed text+markup/interpolation sentence
  • +
  • docs-copy-page.tsx Open in Claude fragment of a mixed text+markup/interpolation sentence
  • +
  • docs-copy-page.tsx Copy Page fragment of a mixed text+markup/interpolation sentence
  • +
  • docs-toc.tsx On This Page fragment of a mixed text+markup/interpolation sentence
  • +
  • open-in-v0-button.tsx Open in fragment of a mixed text+markup/interpolation sentence
  • +
  • cta.tsx Get Magic UI Pro fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Introducing fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx 150+ free and open-source animated components and effects built with fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx React fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Typescript fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Tailwind CSS fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx , and fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Motion fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Perfect companion for fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx shadcn/ui fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Browse Components fragment of a mixed text+markup/interpolation sentence
  • +
  • hero.tsx Browse Templates fragment of a mixed text+markup/interpolation sentence
  • +
  • testimonial-tweet-link.tsx View Tweet fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx Ship fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx Faster fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx with fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx Magic UI Pro fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx Stop building from scratch. fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx Get fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx 8 production-ready templates fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx and fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx 50+ premium components fragment of a mixed text+markup/interpolation sentence
  • +
  • sidebar-cta.tsx that your users will love. fragment of a mixed text+markup/interpolation sentence
  • + 35 more
+
+
+

22 unusual component shapes (binding left for review)

+
  • icons.tsx Apple Pay a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • icons.tsx Docs-icon a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • icons.tsx Created with Sketch. a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Next.js a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Next.js a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx React a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx React a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Typescript a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Tailwind css a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Tailwind CSS a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Motion a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx Motion a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tech-stack.tsx shadcn a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • sheet.tsx Close a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • dock-demo.tsx LinkedIn a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • dock-demo.tsx X a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • dock-demo.tsx youtube a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • dock-demo.tsx Dock a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • file-tree.tsx Toggle a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tweet-card.tsx Verified Account a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tweet-card.tsx Tweet not found a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
  • +
  • tweet-card.tsx Link to tweet a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)
+
+
+

0 framework config & provider wiring

+

none

+
+
+

250 translation items (ja awaiting human/MT)

+
  • animated_gradient_text_demo_2.fast_gradient Fast Gradient ja awaiting human/MT
  • +
  • animated_shiny_text_demo.introducing_magic_ui ✨ Introducing Magic UI ja awaiting human/MT
  • +
  • animated_theme_toggler.toggle_theme Toggle theme ja awaiting human/MT
  • +
  • backlight_image_demo.fancy_gradient_background fancy gradient background ja awaiting human/MT
  • +
  • backlight_video_demo.gradient_loop_background Gradient Loop Background ja awaiting human/MT
  • +
  • blur_fade_text_demo.hello_world Hello World 👋 ja awaiting human/MT
  • +
  • blur_fade_text_demo.nice_to_meet_you Nice to meet you ja awaiting human/MT
  • +
  • border_beam_demo_2.now_playing Now Playing ja awaiting human/MT
  • +
  • border_beam_demo_2.stairway_to_heaven_led_zeppelin Stairway to Heaven - Led Zeppelin ja awaiting human/MT
  • +
  • border_beam_demo_3.email Email ja awaiting human/MT
  • +
  • border_beam_demo_3.enter_your_credentials_to_access_your_ac Enter your credentials to access your account. ja awaiting human/MT
  • +
  • border_beam_demo_3.enter_your_email Enter your email ja awaiting human/MT
  • +
  • border_beam_demo_3.enter_your_password Enter your password ja awaiting human/MT
  • +
  • border_beam_demo_3.login Login ja awaiting human/MT
  • +
  • border_beam_demo_3.password Password ja awaiting human/MT
  • +
  • border_beam_demo_3.register Register ja awaiting human/MT
  • +
  • border_beam_demo.email Email ja awaiting human/MT
  • +
  • border_beam_demo.enter_your_credentials_to_access_your_ac Enter your credentials to access your account. ja awaiting human/MT
  • +
  • border_beam_demo.enter_your_email Enter your email ja awaiting human/MT
  • +
  • border_beam_demo.enter_your_password Enter your password ja awaiting human/MT
  • +
  • border_beam_demo.login Login ja awaiting human/MT
  • +
  • border_beam_demo.password Password ja awaiting human/MT
  • +
  • border_beam_demo.register Register ja awaiting human/MT
  • +
  • code_block_command.copy Copy ja awaiting human/MT
  • +
  • code_comparison.after after ja awaiting human/MT
  • +
  • code_comparison.before before ja awaiting human/MT
  • +
  • code_comparison.vs VS ja awaiting human/MT
  • +
  • comic_text_demo.boom BOOM! ja awaiting human/MT
  • +
  • command_menu.links Links ja awaiting human/MT
  • +
  • command_menu.no_results_found No results found. ja awaiting human/MT
  • +
  • command_menu.search Search... ja awaiting human/MT
  • +
  • command_menu.search_documentation Search documentation... ja awaiting human/MT
  • +
  • command_menu.theme Theme ja awaiting human/MT
  • +
  • command_menu.type_a_command_or_search Type a command or search... ja awaiting human/MT
  • +
  • component_demos.component_demos Component Demos ja awaiting human/MT
  • +
  • component_demos.here_are_some_of_the_components_that_you Here are some of the components that you can use to build your landing pages. ja awaiting human/MT
  • +
  • component_preview_tabs.restart_btn restart-btn ja awaiting human/MT
  • +
  • confetti_basic_cannon.confetti Confetti 🎉 ja awaiting human/MT
  • +
  • confetti_custom_shapes.trigger_shapes Trigger Shapes ja awaiting human/MT
  • +
  • confetti_demo.confetti Confetti ja awaiting human/MT
  • + 210 more
+
+ + +
\ No newline at end of file diff --git a/apps/www/.i18nswarm/review-queue.json b/apps/www/.i18nswarm/review-queue.json new file mode 100644 index 0000000..381dbce --- /dev/null +++ b/apps/www/.i18nswarm/review-queue.json @@ -0,0 +1,1501 @@ +{ + "prose": [ + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\app\\(blog)\\blog\\[...slug]\\page.tsx", + "text": "Back to Blog", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\app\\(marketing)\\showcase\\[...slug]\\page.tsx", + "text": "uses Magic UI to build their landing page.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\analytics.tsx", + "text": "window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4CVHZX68BT');", + "reason": "string literal inside a {expression} (could be an enum/condition — review)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\command-menu.tsx", + "text": "K", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\command-menu.tsx", + "text": "Light", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\command-menu.tsx", + "text": "Dark", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\command-menu.tsx", + "text": "System", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\component-preview.tsx", + "text": "Component", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\component-preview.tsx", + "text": "not found in registry.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\deal-banner.tsx", + "text": "🔥🔥🔥 FIRE SALE - Get $100 off TODAY ONLY", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\discord-link.tsx", + "text": "members online in our Discord community", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\docs-copy-page.tsx", + "text": "View as Markdown", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\docs-copy-page.tsx", + "text": "Open in ChatGPT", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\docs-copy-page.tsx", + "text": "Open in Claude", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\docs-copy-page.tsx", + "text": "Copy Page", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\docs-toc.tsx", + "text": "On This Page", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\open-in-v0-button.tsx", + "text": "Open in", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\cta.tsx", + "text": "Get Magic UI Pro", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Introducing", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "150+ free and open-source animated components and effects built with", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "React", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Typescript", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Tailwind CSS", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": ", and", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Motion", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Perfect companion for", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "shadcn/ui", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Browse Components", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\hero.tsx", + "text": "Browse Templates", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sections\\testimonial-tweet-link.tsx", + "text": "View Tweet", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Ship", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Faster", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "with", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Magic UI Pro", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Stop building from scratch.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Get", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "8 production-ready templates", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "and", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "50+ premium components", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "that your users will love.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Get Lifetime Access", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "Trusted by", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\sidebar-cta.tsx", + "text": "developers", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\site-banner.tsx", + "text": "Introducing Magic UI Pro - 50+ blocks and templates to build beautiful landing pages in minutes", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\site-banner.tsx", + "text": "Magic UI is live on Product Hunt Today! Show your support and vote for us.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\site-footer.tsx", + "text": "Built by", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\site-footer.tsx", + "text": "dillion", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\site-footer.tsx", + "text": ". The source code is available on", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\site-footer.tsx", + "text": "GitHub", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\template-open.tsx", + "text": "Download", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\template-open.tsx", + "text": "Buy Now", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\version-select.tsx", + "text": "Tailwind v3", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\version-select.tsx", + "text": "Tailwind v4", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\animated-gradient-text-demo.tsx", + "text": "Introducing Magic UI", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\aurora-text-demo.tsx", + "text": "Ship", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\aurora-text-demo.tsx", + "text": "beautiful", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\border-beam-demo-4.tsx", + "text": "Buy Now", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\dia-text-reveal-demo-3.tsx", + "text": "Learn to", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\glare-hover-demo.tsx", + "text": "SSO (coming soon)", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\hero-video-dialog-demo-top-in-bottom-out.tsx", + "text": "Hero Video", + "reason": "string prop \"thumbnailAlt\" on component (may not be copy)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\hero-video-dialog-demo-top-in-bottom-out.tsx", + "text": "Hero Video", + "reason": "string prop \"thumbnailAlt\" on component (may not be copy)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\hero-video-dialog-demo.tsx", + "text": "Hero Video", + "reason": "string prop \"thumbnailAlt\" on component (may not be copy)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\hero-video-dialog-demo.tsx", + "text": "Hero Video", + "reason": "string prop \"thumbnailAlt\" on component (may not be copy)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\highlighter-demo.tsx", + "text": "The", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\highlighter-demo.tsx", + "text": "Magic UI Highlighter", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\highlighter-demo.tsx", + "text": "makes important", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\highlighter-demo.tsx", + "text": "text stand out", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\highlighter-demo.tsx", + "text": "effortlessly.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\lens-demo.tsx", + "text": "Zoom Area", + "reason": "string prop \"ariaLabel\" on component (may not be copy)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\line-shadow-text-demo.tsx", + "text": "Ship", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\line-shadow-text-demo.tsx", + "text": "Fast", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\magic-card-demo2.tsx", + "text": "View on GitHub", + "reason": "fragment of a mixed text+markup/interpolation sentence" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\pulsating-button-demo-2.tsx", + "text": "10px", + "reason": "string prop \"distance\" on component (may not be copy)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\text-animate-demo-5.tsx", + "text": "Fade in by line as paragraph Fade in by line as paragraph Fade in by line as paragraph", + "reason": "string literal inside a {expression} (could be an enum/condition — review)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\magicui\\video-text.tsx", + "text": "Your browser does not support the video tag.", + "reason": "fragment of a mixed text+markup/interpolation sentence" + } + ], + "unusualComponents": [ + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\icons.tsx", + "text": "Apple Pay", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\icons.tsx", + "text": "Docs-icon", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\icons.tsx", + "text": "Created with Sketch.", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Next.js", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Next.js", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "React", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "React", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Typescript", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Tailwind css", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Tailwind CSS", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Motion", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "Motion", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\tech-stack.tsx", + "text": "shadcn", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\components\\ui\\sheet.tsx", + "text": "Close", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\dock-demo.tsx", + "text": "LinkedIn", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\dock-demo.tsx", + "text": "X", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\dock-demo.tsx", + "text": "youtube", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\example\\dock-demo.tsx", + "text": "Dock", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\magicui\\file-tree.tsx", + "text": "Toggle", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\magicui\\tweet-card.tsx", + "text": "Verified Account", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\magicui\\tweet-card.tsx", + "text": "Tweet not found", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + }, + { + "file": "C:\\Users\\mhira\\AppData\\Local\\Temp\\claude\\C--Users-mhira\\42e825f8-6a7d-4043-a42a-a671fe5fea02\\scratchpad\\oss-ime6\\targets\\magicui\\apps\\www\\registry\\magicui\\tweet-card.tsx", + "text": "Link to tweet", + "reason": "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)" + } + ], + "providerWiring": [], + "translations": [ + { + "key": "animated_gradient_text_demo_2.fast_gradient", + "en": "Fast Gradient" + }, + { + "key": "animated_shiny_text_demo.introducing_magic_ui", + "en": "✨ Introducing Magic UI" + }, + { + "key": "animated_theme_toggler.toggle_theme", + "en": "Toggle theme" + }, + { + "key": "backlight_image_demo.fancy_gradient_background", + "en": "fancy gradient background" + }, + { + "key": "backlight_video_demo.gradient_loop_background", + "en": "Gradient Loop Background" + }, + { + "key": "blur_fade_text_demo.hello_world", + "en": "Hello World 👋" + }, + { + "key": "blur_fade_text_demo.nice_to_meet_you", + "en": "Nice to meet you" + }, + { + "key": "border_beam_demo_2.now_playing", + "en": "Now Playing" + }, + { + "key": "border_beam_demo_2.stairway_to_heaven_led_zeppelin", + "en": "Stairway to Heaven - Led Zeppelin" + }, + { + "key": "border_beam_demo_3.email", + "en": "Email" + }, + { + "key": "border_beam_demo_3.enter_your_credentials_to_access_your_ac", + "en": "Enter your credentials to access your account." + }, + { + "key": "border_beam_demo_3.enter_your_email", + "en": "Enter your email" + }, + { + "key": "border_beam_demo_3.enter_your_password", + "en": "Enter your password" + }, + { + "key": "border_beam_demo_3.login", + "en": "Login" + }, + { + "key": "border_beam_demo_3.password", + "en": "Password" + }, + { + "key": "border_beam_demo_3.register", + "en": "Register" + }, + { + "key": "border_beam_demo.email", + "en": "Email" + }, + { + "key": "border_beam_demo.enter_your_credentials_to_access_your_ac", + "en": "Enter your credentials to access your account." + }, + { + "key": "border_beam_demo.enter_your_email", + "en": "Enter your email" + }, + { + "key": "border_beam_demo.enter_your_password", + "en": "Enter your password" + }, + { + "key": "border_beam_demo.login", + "en": "Login" + }, + { + "key": "border_beam_demo.password", + "en": "Password" + }, + { + "key": "border_beam_demo.register", + "en": "Register" + }, + { + "key": "code_block_command.copy", + "en": "Copy" + }, + { + "key": "code_comparison.after", + "en": "after" + }, + { + "key": "code_comparison.before", + "en": "before" + }, + { + "key": "code_comparison.vs", + "en": "VS" + }, + { + "key": "comic_text_demo.boom", + "en": "BOOM!" + }, + { + "key": "command_menu.links", + "en": "Links" + }, + { + "key": "command_menu.no_results_found", + "en": "No results found." + }, + { + "key": "command_menu.search", + "en": "Search..." + }, + { + "key": "command_menu.search_documentation", + "en": "Search documentation..." + }, + { + "key": "command_menu.theme", + "en": "Theme" + }, + { + "key": "command_menu.type_a_command_or_search", + "en": "Type a command or search..." + }, + { + "key": "component_demos.component_demos", + "en": "Component Demos" + }, + { + "key": "component_demos.here_are_some_of_the_components_that_you", + "en": "Here are some of the components that you can use to build your landing pages." + }, + { + "key": "component_preview_tabs.restart_btn", + "en": "restart-btn" + }, + { + "key": "confetti_basic_cannon.confetti", + "en": "Confetti 🎉" + }, + { + "key": "confetti_custom_shapes.trigger_shapes", + "en": "Trigger Shapes" + }, + { + "key": "confetti_demo.confetti", + "en": "Confetti" + }, + { + "key": "confetti_emoji.trigger_emoji", + "en": "Trigger Emoji" + }, + { + "key": "confetti_fireworks.trigger_fireworks", + "en": "Trigger Fireworks" + }, + { + "key": "confetti_random_direction.random_confetti", + "en": "Random Confetti 🎉" + }, + { + "key": "confetti_side_cannons.trigger_side_cannons", + "en": "Trigger Side Cannons" + }, + { + "key": "confetti_stars.trigger_stars", + "en": "Trigger Stars" + }, + { + "key": "contribute.contribute", + "en": "Contribute" + }, + { + "key": "cool_mode_custom.click_me", + "en": "Click Me!" + }, + { + "key": "cool_mode_demo.click_me", + "en": "Click Me!" + }, + { + "key": "copy_button.copy", + "en": "Copy" + }, + { + "key": "cta.check_out_magic_ui_pro", + "en": "Check out Magic UI Pro" + }, + { + "key": "cta.looking_for_templates_instead", + "en": "Looking for templates instead?" + }, + { + "key": "dia_text_reveal_demo_2.design_systems", + "en": "Design systems" + }, + { + "key": "dia_text_reveal_demo_4.made_with_care", + "en": "Made with care" + }, + { + "key": "dia_text_reveal_demo.magic_ui", + "en": "Magic UI" + }, + { + "key": "dock_demo.dock", + "en": "Dock" + }, + { + "key": "dock_demo.linkedin", + "en": "LinkedIn" + }, + { + "key": "dock_demo.x", + "en": "X" + }, + { + "key": "dock_demo.youtube", + "en": "youtube" + }, + { + "key": "docs_copy_page.open_in_v0", + "en": "Open in v0" + }, + { + "key": "docs_toc.on_this_page", + "en": "On This Page" + }, + { + "key": "file_tree.toggle", + "en": "Toggle" + }, + { + "key": "github_link.view_on_github", + "en": "View on GitHub" + }, + { + "key": "glare_hover_demo_alert.action_required", + "en": "Action required" + }, + { + "key": "glare_hover_demo_alert.check_your_card_details_and_try_again", + "en": "Check your card details and try again." + }, + { + "key": "glare_hover_demo_alert.payment_declined", + "en": "Payment declined" + }, + { + "key": "glare_hover_demo_alert.subscription_confirmed", + "en": "Subscription confirmed" + }, + { + "key": "glare_hover_demo_alert.you_have_full_pro_access_until_april_5_2", + "en": "You have full Pro access until April 5, 2027." + }, + { + "key": "glare_hover_demo_alert.your_plan_expires_in_3_days_renew_to_kee", + "en": "Your plan expires in 3 days. Renew to keep access." + }, + { + "key": "glare_hover_demo_cta.14_day_free_trial_no_card_required", + "en": "14-day free trial · No card required" + }, + { + "key": "glare_hover_demo_cta.join_4_000_teams_already_using_our_platf", + "en": "Join 4,000+ teams already using our platform to ship faster." + }, + { + "key": "glare_hover_demo_cta.ready_to_get_started", + "en": "Ready to get started?" + }, + { + "key": "glare_hover_demo_cta.start_free_trial", + "en": "Start free trial" + }, + { + "key": "glare_hover_demo_cta.view_demo", + "en": "View demo" + }, + { + "key": "glare_hover_demo.for_teams_that_need_more", + "en": "For teams that need more." + }, + { + "key": "glare_hover_demo.get_started", + "en": "Get started" + }, + { + "key": "glare_hover_demo.mo", + "en": "/mo" + }, + { + "key": "glare_hover_demo.popular", + "en": "Popular" + }, + { + "key": "glare_hover_demo.pro", + "en": "Pro" + }, + { + "key": "globe_demo.globe", + "en": "Globe" + }, + { + "key": "hero_video_dialog.play_video", + "en": "Play video" + }, + { + "key": "hero.ui_library_for_design_engineers", + "en": "UI library for Design Engineers" + }, + { + "key": "hyper_text_demo.hover_me", + "en": "Hover Me!" + }, + { + "key": "icon_cloud.interactive_3d_icon_cloud", + "en": "Interactive 3D Icon Cloud" + }, + { + "key": "icons.apple_pay", + "en": "Apple Pay" + }, + { + "key": "icons.created_with_sketch", + "en": "Created with Sketch." + }, + { + "key": "icons.docs_icon", + "en": "Docs-icon" + }, + { + "key": "interactive_hover_button_demo.hover_me", + "en": "Hover Me" + }, + { + "key": "kinetic_text_demo.nostalgia", + "en": "Nostalgia" + }, + { + "key": "lens_demo_2.another_time", + "en": "Another time" + }, + { + "key": "lens_demo_2.image_placeholder", + "en": "image placeholder" + }, + { + "key": "lens_demo_2.let_apos_s_go", + "en": "Let's go" + }, + { + "key": "lens_demo_2.see_our_latest_and_best_camp_destination", + "en": "See our latest and best camp destinations all across the five continents of the globe." + }, + { + "key": "lens_demo_2.your_next_camp", + "en": "Your next camp" + }, + { + "key": "lens_demo_3.another_time", + "en": "Another time" + }, + { + "key": "lens_demo_3.image_placeholder", + "en": "image placeholder" + }, + { + "key": "lens_demo_3.let_apos_s_go", + "en": "Let's go" + }, + { + "key": "lens_demo_3.see_our_latest_and_best_camp_destination", + "en": "See our latest and best camp destinations all across the five continents of the globe." + }, + { + "key": "lens_demo_3.your_next_camp", + "en": "Your next camp" + }, + { + "key": "lens_demo.another_time", + "en": "Another time" + }, + { + "key": "lens_demo.image_placeholder", + "en": "image placeholder" + }, + { + "key": "lens_demo.let_apos_s_go", + "en": "Let's go" + }, + { + "key": "lens_demo.see_our_latest_and_best_camp_destination", + "en": "See our latest and best camp destinations all across the five continents of the globe." + }, + { + "key": "lens_demo.your_next_camp", + "en": "Your next camp" + }, + { + "key": "light_rays_demo.ambient_glow", + "en": "Ambient glow" + }, + { + "key": "light_rays_demo.drop_this_component_into_any_container_a", + "en": "Drop this component into any container and it will fill the space with softly animated light rays shining from above." + }, + { + "key": "light_rays_demo.light_rays", + "en": "Light Rays" + }, + { + "key": "logo_button.copy_logo_as_png", + "en": "Copy Logo as PNG" + }, + { + "key": "logo_button.copy_logo_as_svg", + "en": "Copy Logo as SVG" + }, + { + "key": "logo_button.home", + "en": "Home" + }, + { + "key": "magic_card_demo.email", + "en": "Email" + }, + { + "key": "magic_card_demo.enter_your_credentials_to_access_your_ac", + "en": "Enter your credentials to access your account" + }, + { + "key": "magic_card_demo.login", + "en": "Login" + }, + { + "key": "magic_card_demo.name_example_com", + "en": "name@example.com" + }, + { + "key": "magic_card_demo.password", + "en": "Password" + }, + { + "key": "magic_card_demo.sign_in", + "en": "Sign In" + }, + { + "key": "magic_card_demo2.frontend_developer", + "en": "Frontend Developer" + }, + { + "key": "magic_card_demo2.frontend_developer_focused_on_interactiv", + "en": "Frontend Developer focused on Interactive UI & Performance" + }, + { + "key": "magic_card_demo2.i_apos_m_passionate_about_visual_present", + "en": "I'm passionate about visual presentation and currently focusing on interactive UI." + }, + { + "key": "magic_card_demo2.yeom_jinho", + "en": "Yeom JinHo" + }, + { + "key": "meteors_demo.meteors", + "en": "Meteors" + }, + { + "key": "mobile_nav.home", + "en": "Home" + }, + { + "key": "mobile_nav.menu", + "en": "Menu" + }, + { + "key": "mobile_nav.toggle_menu", + "en": "Toggle Menu" + }, + { + "key": "mobile_toc.on_this_page", + "en": "On this page" + }, + { + "key": "mobile_toc.table_of_contents", + "en": "Table of contents" + }, + { + "key": "mode_toggle.toggle_theme", + "en": "Toggle theme" + }, + { + "key": "neon_gradient_card_demo.neon_gradient_card", + "en": "Neon Gradient Card" + }, + { + "key": "noise_texture_demo_2.email", + "en": "Email" + }, + { + "key": "noise_texture_demo_2.one_email_on_sundays_new_components_tips", + "en": "One email on Sundays—new components, tips, and changelog highlights. No spam, unsubscribe anytime." + }, + { + "key": "noise_texture_demo_2.subscribe", + "en": "Subscribe" + }, + { + "key": "noise_texture_demo_2.the_weekly_digest", + "en": "The weekly digest" + }, + { + "key": "noise_texture_demo_2.you_company_com", + "en": "you@company.com" + }, + { + "key": "noise_texture_demo_3.subscribe", + "en": "Subscribe" + }, + { + "key": "noise_texture_demo_4.search_with_texture", + "en": "Search with texture" + }, + { + "key": "noise_texture_demo_4.try_typing", + "en": "Try typing…" + }, + { + "key": "not_found.go_back", + "en": "Go back" + }, + { + "key": "not_found.page_not_found", + "en": "Page not found" + }, + { + "key": "not_found.take_me_home", + "en": "Take me home" + }, + { + "key": "not_found.the_page_you_are_looking_for_doesn_apos", + "en": "The page you are looking for doesn't exist." + }, + { + "key": "open_in_v0_button.open_in_v0", + "en": "Open in v0" + }, + { + "key": "page.blog", + "en": "Blog" + }, + { + "key": "page.companies_choose_magic_ui_to_build_their", + "en": "Companies choose Magic UI to build their landing pages." + }, + { + "key": "page.showcase", + "en": "Showcase" + }, + { + "key": "particles_demo.particles", + "en": "Particles" + }, + { + "key": "pointer_demo_1.a_custom_pointer_with_different_color", + "en": "A custom pointer with different color" + }, + { + "key": "pointer_demo_1.a_pointer_with_a_custom_svg_shape", + "en": "A pointer with a custom SVG shape" + }, + { + "key": "pointer_demo_1.animated_pointer", + "en": "Animated Pointer" + }, + { + "key": "pointer_demo_1.animated_pointer_2", + "en": "Animated pointer" + }, + { + "key": "pointer_demo_1.colored_pointer", + "en": "Colored Pointer" + }, + { + "key": "pointer_demo_1.custom_shape", + "en": "Custom Shape" + }, + { + "key": "pointer_demo_1.emoji_pointer", + "en": "Emoji Pointer" + }, + { + "key": "pointer_demo_1.using_an_emoji_as_a_custom_pointer", + "en": "Using an emoji as a custom pointer" + }, + { + "key": "pulsating_button_demo_2.join_affiliate_program", + "en": "Join Affiliate Program" + }, + { + "key": "pulsating_button_demo.join_affiliate_program", + "en": "Join Affiliate Program" + }, + { + "key": "rainbow_button_demo_2.get_unlimited_access", + "en": "Get Unlimited Access" + }, + { + "key": "rainbow_button_demo.get_unlimited_access", + "en": "Get Unlimited Access" + }, + { + "key": "retro_grid_demo.retro_grid", + "en": "Retro Grid" + }, + { + "key": "ripple_button_demo.click_me", + "en": "Click me" + }, + { + "key": "ripple_demo.ripple", + "en": "Ripple" + }, + { + "key": "scroll_based_velocity_demo.velocity_scroll", + "en": "Velocity Scroll" + }, + { + "key": "scroll_progress_demo.note_the_scroll_progress_is_shown_below", + "en": "Note: The scroll progress is shown below the navbar of the page." + }, + { + "key": "sheet.close", + "en": "Close" + }, + { + "key": "shimmer_button_demo.shimmer_button", + "en": "Shimmer Button" + }, + { + "key": "shine_border_demo_2.email", + "en": "Email" + }, + { + "key": "shine_border_demo_2.enter_your_credentials_to_access_your_ac", + "en": "Enter your credentials to access your account" + }, + { + "key": "shine_border_demo_2.login", + "en": "Login" + }, + { + "key": "shine_border_demo_2.name_example_com", + "en": "name@example.com" + }, + { + "key": "shine_border_demo_2.password", + "en": "Password" + }, + { + "key": "shine_border_demo_2.sign_in", + "en": "Sign In" + }, + { + "key": "shine_border_demo.email", + "en": "Email" + }, + { + "key": "shine_border_demo.enter_your_credentials_to_access_your_ac", + "en": "Enter your credentials to access your account" + }, + { + "key": "shine_border_demo.login", + "en": "Login" + }, + { + "key": "shine_border_demo.name_example_com", + "en": "name@example.com" + }, + { + "key": "shine_border_demo.password", + "en": "Password" + }, + { + "key": "shine_border_demo.sign_in", + "en": "Sign In" + }, + { + "key": "shiny_button_demo.shiny_button", + "en": "Shiny Button" + }, + { + "key": "showcase.companies_choose_magic_ui_to_build_their", + "en": "Companies choose Magic UI to build their landing pages." + }, + { + "key": "showcase.showcase", + "en": "Showcase" + }, + { + "key": "sidebar_cta.copy_paste_customize_in_minutes", + "en": "Copy, paste, customize in minutes" + }, + { + "key": "sidebar_cta.limited_time_offer", + "en": "Limited Time Offer" + }, + { + "key": "sidebar_cta.next_js_15_typescript_ready", + "en": "Next.js 15 + TypeScript ready" + }, + { + "key": "sidebar_cta.once", + "en": "once" + }, + { + "key": "sidebar_cta.save_100_hours_of_development", + "en": "Save 100+ hours of development" + }, + { + "key": "sidebar_cta.show_your_support_and_vote_for_us", + "en": "✨ Show your support and vote for us" + }, + { + "key": "sidebar_cta.vote_for_magic_ui_on_product_hunt_today", + "en": "Vote for Magic UI on Product Hunt Today!" + }, + { + "key": "sidebar.displays_the_mobile_sidebar", + "en": "Displays the mobile sidebar." + }, + { + "key": "sidebar.sidebar", + "en": "Sidebar" + }, + { + "key": "sidebar.toggle_sidebar", + "en": "Toggle Sidebar" + }, + { + "key": "smooth_cursor_demo.move_your_mouse_around", + "en": "Move your mouse around" + }, + { + "key": "smooth_cursor_demo.smoothcursor_is_disabled_on_touch_device", + "en": "SmoothCursor is disabled on touch devices" + }, + { + "key": "sparkles_text_demo.magic_ui", + "en": "Magic UI" + }, + { + "key": "spinning_text_demo_2.learn_more_earn_more_grow_more", + "en": "learn more • earn more • grow more •" + }, + { + "key": "spinning_text_demo.learn_more_earn_more_grow_more", + "en": "learn more • earn more • grow more •" + }, + { + "key": "table_of_contents.on_this_page", + "en": "On This Page" + }, + { + "key": "tech_stack.motion", + "en": "Motion" + }, + { + "key": "tech_stack.next_js", + "en": "Next.js" + }, + { + "key": "tech_stack.react", + "en": "React" + }, + { + "key": "tech_stack.shadcn", + "en": "shadcn" + }, + { + "key": "tech_stack.tailwind_css", + "en": "Tailwind css" + }, + { + "key": "tech_stack.tailwind_css_2", + "en": "Tailwind CSS" + }, + { + "key": "tech_stack.typescript", + "en": "Typescript" + }, + { + "key": "terminal_demo_2.cd_documents", + "en": "$ cd Documents" + }, + { + "key": "terminal_demo_2.documents_downloads_pictures", + "en": "Documents Downloads Pictures" + }, + { + "key": "terminal_demo_2.home_user_documents", + "en": "/home/user/Documents" + }, + { + "key": "terminal_demo_2.ls", + "en": "$ ls" + }, + { + "key": "terminal_demo_2.pwd", + "en": "$ pwd" + }, + { + "key": "terminal_demo.checking_registry", + "en": "✔ Checking registry." + }, + { + "key": "terminal_demo.gt_pnpm_dlx_shadcn_latest_init", + "en": "> pnpm dlx shadcn@latest init" + }, + { + "key": "terminal_demo.installing_dependencies", + "en": "✔ Installing dependencies." + }, + { + "key": "terminal_demo.lib_utils_ts", + "en": "- lib/utils.ts" + }, + { + "key": "terminal_demo.preflight_checks", + "en": "✔ Preflight checks." + }, + { + "key": "terminal_demo.success_project_initialization_completed", + "en": "Success! Project initialization completed." + }, + { + "key": "terminal_demo.updated_1_file", + "en": "ℹ Updated 1 file:" + }, + { + "key": "terminal_demo.updating_app_globals_css", + "en": "✔ Updating app/globals.css" + }, + { + "key": "terminal_demo.updating_tailwind_config_ts", + "en": "✔ Updating tailwind.config.ts" + }, + { + "key": "terminal_demo.validating_import_alias", + "en": "✔ Validating import alias." + }, + { + "key": "terminal_demo.validating_tailwind_css", + "en": "✔ Validating Tailwind CSS." + }, + { + "key": "terminal_demo.verifying_framework_found_next_js", + "en": "✔ Verifying framework. Found Next.js." + }, + { + "key": "terminal_demo.writing_components_json", + "en": "✔ Writing components.json." + }, + { + "key": "terminal_demo.you_may_now_add_components", + "en": "You may now add components." + }, + { + "key": "testimonials.what_people_are_saying_on_twitter", + "en": "What People Are Saying on Twitter" + }, + { + "key": "text_3d_flip_demo_2.design_for_failure", + "en": "Design for failure" + }, + { + "key": "text_3d_flip_demo.stay_hungry_stay_foolish", + "en": "Stay hungry, stay foolish" + }, + { + "key": "text_animate_demo_2.blur_in_text", + "en": "Blur in text" + }, + { + "key": "text_animate_demo_3.slide_up_by_word", + "en": "Slide up by word" + }, + { + "key": "text_animate_demo_4.scale_up_by_text", + "en": "Scale up by text" + }, + { + "key": "text_animate_demo_6.slide_left_by_character", + "en": "Slide left by character" + }, + { + "key": "text_animate_demo_7.blur_in_by_character", + "en": "Blur in by character" + }, + { + "key": "text_animate_demo_8.blur_in_by_character", + "en": "Blur in by character" + }, + { + "key": "text_animate_demo_9.wavy_motion", + "en": "Wavy Motion!" + }, + { + "key": "text_animate_demo.blur_in_by_character", + "en": "Blur in by character" + }, + { + "key": "text_reveal_demo.magic_ui_will_change_the_way_you_design", + "en": "Magic UI will change the way you design." + }, + { + "key": "tweet_card.link_to_tweet", + "en": "Link to tweet" + }, + { + "key": "tweet_card.tweet_not_found", + "en": "Tweet not found" + }, + { + "key": "tweet_card.verified_account", + "en": "Verified Account" + }, + { + "key": "typing_animation_demo_4.starts_typing_when_in_view", + "en": "Starts typing when in view" + }, + { + "key": "typing_animation_demo_5.no_cursor_shown", + "en": "No cursor shown" + }, + { + "key": "typing_animation_demo_7.blinking_cursor", + "en": "Blinking cursor" + }, + { + "key": "typing_animation_demo_7.static_cursor", + "en": "Static cursor" + }, + { + "key": "typing_animation_demo_7.with_blinking_cursor_default_watch_durin", + "en": "With blinking cursor (default) - watch during pause" + }, + { + "key": "typing_animation_demo_7.without_blinking_cursor_static_during_pa", + "en": "Without blinking cursor - static during pause" + }, + { + "key": "typing_animation_demo_8.block_cursor_vscode_style", + "en": "Block cursor (VSCode style)" + }, + { + "key": "typing_animation_demo_8.line_cursor_default", + "en": "Line cursor (default)" + }, + { + "key": "typing_animation_demo_8.underscore_cursor", + "en": "Underscore cursor" + }, + { + "key": "typing_animation_demo.hello_world", + "en": "Hello World! 👋" + }, + { + "key": "video_testimonials.featured_on_youtube", + "en": "Featured on YouTube" + }, + { + "key": "video_testimonials.play", + "en": "Play" + }, + { + "key": "video_text_demo.ocean", + "en": "OCEAN" + }, + { + "key": "warp_background_demo.congratulations_on_your_promotion", + "en": "Congratulations on Your Promotion!" + }, + { + "key": "warp_background_demo.your_hard_work_and_dedication_have_paid", + "en": "Your hard work and dedication have paid off. We're thrilled to see you take this next step in your career. Keep up the fantastic work!" + } + ], + "counts": { + "prose": 75, + "unusual": 22, + "wiring": 0, + "translations": 250, + "total": 347 + } +} \ No newline at end of file diff --git a/apps/www/.i18nswarm/run.json b/apps/www/.i18nswarm/run.json new file mode 100644 index 0000000..e6e08b4 --- /dev/null +++ b/apps/www/.i18nswarm/run.json @@ -0,0 +1,108 @@ +{ + "metrics": { + "files": 336, + "parseErrors": 0, + "candidates": 357, + "high": 264, + "ambiguous": 75, + "skip": 18, + "localizable": 339, + "autoHandledPct": 77.9, + "uniqueKeys": 250, + "clientFiles": 145, + "serverFiles": 191, + "bindingSafeFiles": 109, + "bindingBlockedFiles": 6, + "highApplied": 242, + "highBindingBlocked": 22, + "effectiveAppliedPct": 71.4, + "rewriteEdits": 242, + "rewriteSkipped": 0, + "corruptions": 0, + "skipByReason": { + "no natural-language letters (number/symbol)": 18 + }, + "bindingBlockReasons": { + "a rewired string lives outside a supported component function (arrow expression-body / HOC / nested render prop)": 6 + } + }, + "baseline": { + "step": "baseline", + "install": { + "ran": true, + "ok": true, + "durationMs": 131607, + "note": "installed" + }, + "build": { + "ran": true, + "ok": true, + "durationMs": 139822, + "note": "build ok (build)" + }, + "typecheck": { + "ran": true, + "ok": true, + "durationMs": 15986, + "note": "typecheck ok (typecheck)" + }, + "test": { + "ran": false, + "ok": false, + "durationMs": 0, + "note": "no test script", + "stats": { + "runner": "unknown", + "total": 0, + "passed": 0, + "failed": 0, + "skipped": 0, + "parsed": false + } + } + }, + "after": { + "step": "verify", + "install": { + "ran": true, + "ok": true, + "durationMs": 4410, + "note": "installed" + }, + "build": { + "ran": true, + "ok": true, + "durationMs": 125120, + "note": "build ok (build)" + }, + "typecheck": { + "ran": true, + "ok": true, + "durationMs": 20334, + "note": "typecheck ok (typecheck)" + }, + "test": { + "ran": false, + "ok": false, + "durationMs": 0, + "note": "no test script", + "stats": { + "runner": "unknown", + "total": 0, + "passed": 0, + "failed": 0, + "skipped": 0, + "parsed": false + } + } + }, + "decision": { + "verdict": "AUTO-VERIFIED", + "confidence": "MEDIUM", + "codeSideTrustWithoutReview": false, + "reasons": [ + "type-check (advisory): ok", + "build compiles all components, but project has no unit tests -> behavior change cannot be auto-proven" + ] + } +} \ No newline at end of file diff --git a/apps/www/app/(blog)/blog/page.tsx b/apps/www/app/(blog)/blog/page.tsx index 6f3164f..16b5c8e 100644 --- a/apps/www/app/(blog)/blog/page.tsx +++ b/apps/www/app/(blog)/blog/page.tsx @@ -1,3 +1,4 @@ +import { getTranslations } from 'next-intl/server'; /* eslint-disable @next/next/no-img-element */ import type { Metadata } from "next" import Link from "next/link" @@ -36,6 +37,7 @@ export default async function Page({ }: { searchParams?: Promise<{ tag?: string }> }) { + const t = await getTranslations(); const params = await searchParams const selectedTag = params?.tag ?? "" @@ -130,7 +132,7 @@ export default async function Page({
-

Blog

+

{t('page.blog')}

{BLOG_DESCRIPTION}

diff --git a/apps/www/app/(docs)/docs/not-found.tsx b/apps/www/app/(docs)/docs/not-found.tsx index e4e227b..e36b9f3 100644 --- a/apps/www/app/(docs)/docs/not-found.tsx +++ b/apps/www/app/(docs)/docs/not-found.tsx @@ -1,4 +1,5 @@ "use client" +import { useTranslations } from 'next-intl'; import Link from "next/link" import { useRouter } from "next/navigation" @@ -7,6 +8,7 @@ import { Button, buttonVariants } from "@/components/ui/button" import { Icons } from "@/components/icons" export default function NotFound() { + const t = useTranslations(); const router = useRouter() return (
@@ -16,10 +18,10 @@ export default function NotFound() {

- Page not found + {t('not_found.page_not_found')}

- The page you are looking for doesn't exist. + {t('not_found.the_page_you_are_looking_for_doesn_apos')}

@@ -28,11 +30,11 @@ export default function NotFound() { className={buttonVariants({ variant: "secondary" })} > - Go back + {t('not_found.go_back')} - Take me home + {t('not_found.take_me_home')}
diff --git a/apps/www/app/(marketing)/showcase/page.tsx b/apps/www/app/(marketing)/showcase/page.tsx index 2deab92..dbb5930 100644 --- a/apps/www/app/(marketing)/showcase/page.tsx +++ b/apps/www/app/(marketing)/showcase/page.tsx @@ -1,16 +1,18 @@ +import { useTranslations } from 'next-intl'; import { showcaseSource } from "@/lib/source" import { ShowcaseCard } from "@/components/sections/showcase" import { BlurFade } from "@/registry/magicui/blur-fade" export default function Page() { + const t = useTranslations(); const showcases = showcaseSource.getPages() return (

- Showcase + {t('page.showcase')}

- Companies choose Magic UI to build their landing pages. + {t('page.companies_choose_magic_ui_to_build_their')}

{showcases.map((showcase, idx) => ( diff --git a/apps/www/app/layout.tsx b/apps/www/app/layout.tsx index c8b87fc..4e0d5c2 100644 --- a/apps/www/app/layout.tsx +++ b/apps/www/app/layout.tsx @@ -1,3 +1,5 @@ +import { NextIntlClientProvider } from 'next-intl'; +import { getMessages } from 'next-intl/server'; import type { Viewport } from "next" import { Metadata } from "next" import { Provider as JotaiProvider } from "jotai" @@ -27,11 +29,12 @@ export const viewport: Viewport = { ], } -export default function RootLayout({ +export default async function RootLayout({ children, }: { children: React.ReactNode }) { + const messages = await getMessages(); return ( @@ -41,6 +44,7 @@ export default function RootLayout({ fontVariables )} > + @@ -52,6 +56,7 @@ export default function RootLayout({ + ) diff --git a/apps/www/app/not-found.tsx b/apps/www/app/not-found.tsx index e4e227b..e36b9f3 100644 --- a/apps/www/app/not-found.tsx +++ b/apps/www/app/not-found.tsx @@ -1,4 +1,5 @@ "use client" +import { useTranslations } from 'next-intl'; import Link from "next/link" import { useRouter } from "next/navigation" @@ -7,6 +8,7 @@ import { Button, buttonVariants } from "@/components/ui/button" import { Icons } from "@/components/icons" export default function NotFound() { + const t = useTranslations(); const router = useRouter() return (
@@ -16,10 +18,10 @@ export default function NotFound() {

- Page not found + {t('not_found.page_not_found')}

- The page you are looking for doesn't exist. + {t('not_found.the_page_you_are_looking_for_doesn_apos')}

@@ -28,11 +30,11 @@ export default function NotFound() { className={buttonVariants({ variant: "secondary" })} > - Go back + {t('not_found.go_back')} - Take me home + {t('not_found.take_me_home')}
diff --git a/apps/www/components/blog/mobile-toc.tsx b/apps/www/components/blog/mobile-toc.tsx index ac10f66..1d37d74 100644 --- a/apps/www/components/blog/mobile-toc.tsx +++ b/apps/www/components/blog/mobile-toc.tsx @@ -1,4 +1,5 @@ "use client" +import { useTranslations } from 'next-intl'; import { useState } from "react" import { Menu } from "lucide-react" @@ -15,6 +16,7 @@ import { import { BlogTableOfContents } from "./table-of-contents" export function MobileTOC() { + const t = useTranslations(); const [open, setOpen] = useState(false) return ( @@ -24,10 +26,10 @@ export function MobileTOC() { - On this page + {t('mobile_toc.on_this_page')}
diff --git a/apps/www/components/blog/table-of-contents.tsx b/apps/www/components/blog/table-of-contents.tsx index cc73a08..6460dba 100644 --- a/apps/www/components/blog/table-of-contents.tsx +++ b/apps/www/components/blog/table-of-contents.tsx @@ -1,4 +1,5 @@ "use client" +import { useTranslations } from 'next-intl'; import { useEffect, useState } from "react" @@ -23,6 +24,7 @@ export function BlogTableOfContents({ className?: string onLinkClick?: () => void }) { + const t = useTranslations(); const [activeHeading, setActiveHeading] = useState("") const [headings, setHeadings] = useState([]) const [isLoading, setIsLoading] = useState(true) @@ -97,7 +99,7 @@ export function BlogTableOfContents({ return (

- On This Page + {t('table_of_contents.on_this_page')}

}) { + const t = useTranslations(); const contributeLinks = [ { text: "Report an issue", @@ -41,7 +43,7 @@ export function Contribute({ page }: { page: Page }) { return (
-

Contribute

+

{t('contribute.contribute')}

- Toggle Menu + {t('mobile_nav.toggle_menu')}
@@ -55,11 +57,11 @@ export function MobileNav({ className }: { className?: string }) {
- Menu + {t('mobile_nav.menu')}
- Home + {t('mobile_nav.home')} {docsConfig.mainNav.map( (item, index) => diff --git a/apps/www/components/mode-toggle.tsx b/apps/www/components/mode-toggle.tsx index eac8699..a408f52 100644 --- a/apps/www/components/mode-toggle.tsx +++ b/apps/www/components/mode-toggle.tsx @@ -1,4 +1,5 @@ "use client" +import { useTranslations } from 'next-intl'; import * as React from "react" import { useTheme } from "next-themes" @@ -7,6 +8,7 @@ import { useMetaColor } from "@/hooks/use-meta-color" import { Button } from "@/components/ui/button" export function ModeToggle() { + const t = useTranslations(); const { setTheme, resolvedTheme } = useTheme() const { setMetaColor, metaColor } = useMetaColor() @@ -24,7 +26,7 @@ export function ModeToggle() { size="icon" className="group/toggle extend-touch-target size-8" onClick={toggleTheme} - title="Toggle theme" + title={t('mode_toggle.toggle_theme')} > - Toggle theme + {t('mode_toggle.toggle_theme')} ) } diff --git a/apps/www/components/open-in-v0-button.tsx b/apps/www/components/open-in-v0-button.tsx index 763cfcd..ee741e3 100644 --- a/apps/www/components/open-in-v0-button.tsx +++ b/apps/www/components/open-in-v0-button.tsx @@ -1,9 +1,11 @@ +import { useTranslations } from 'next-intl'; import { Button } from "@/components/ui/button" export function OpenInV0Button({ url }: { url: string }) { + const t = useTranslations(); return (