diff --git a/messages/[en]/about.json b/messages/[en]/about.json new file mode 100644 index 0000000..147cfcf --- /dev/null +++ b/messages/[en]/about.json @@ -0,0 +1,129 @@ +{ + "title": "About MyLibrary", + "description": "MyLibrary is a comprehensive component library built with Next.js and Tailwind CSS, designed to provide developers with reusable, accessible, and beautifully designed UI components. Our goal is to accelerate development workflows and maintain design consistency across projects.", + "overview": { + "components": "20+ Components", + "typescript": "TypeScript Ready", + "performance": "Performance Optimized" + }, + "mission": { + "title": "Our Mission", + "description": "To empower developers with a robust, flexible, and beautiful component library that reduces development time while maintaining high-quality user experiences. We believe in making web development more efficient and enjoyable." + }, + "vision": { + "title": "Our Vision", + "description": "To become the go-to component library for React developers, fostering a community where innovation meets practicality. We envision a world where building beautiful UIs is accessible to developers of all skill levels." + }, + "features": { + "title": "Why Choose MyLibrary?", + "designSystem": { + "title": "Design System", + "description": "Consistent design tokens and theming system for cohesive user experiences." + }, + "accessibility": { + "title": "Accessibility First", + "description": "Built with WCAG 2.1 guidelines and keyboard navigation support." + }, + "performance": { + "title": "Performance", + "description": "Optimized bundle size with tree-shaking and minimal dependencies." + }, + "devExperience": { + "title": "Developer Experience", + "description": "TypeScript support, comprehensive documentation, and excellent IDE integration." + }, + "community": { + "title": "Community Driven", + "description": "Open source project with active community contributions and feedback." + }, + "flexible": { + "title": "Flexible", + "description": "Customizable components that adapt to your design requirements." + } + }, + "techStack": { + "title": "Tech Stack", + "nextjs": { + "title": "Next.js 14", + "description": "React framework with App Router" + }, + "react": { + "title": "React 18", + "description": "Component-based architecture" + }, + "tailwind": { + "title": "Tailwind CSS", + "description": "Utility-first styling" + }, + "typescript": { + "title": "TypeScript", + "description": "Type-safe development" + }, + "additionalTools": { + "title": "Additional Tools", + "eslint": "ESLint", + "prettier": "Prettier", + "lucide": "Lucide Icons", + "postcss": "PostCSS", + "git": "Git" + } + }, + "gettingStarted": { + "title": "🚀 Getting Started", + "installation": { + "title": "Installation", + "description": "Install the library via npm or copy ready-to-use components directly." + }, + "import": { + "title": "Import", + "description": "Import the components you need directly into your React project and start building faster." + }, + "customize": { + "title": "Customize", + "description": "Tweak the design, colors, and behavior easily to match your own design system." + }, + "cta": "View Components" + }, + "contributing": { + "title": "Contributing", + "description": "We welcome contributions from the community! Whether you're fixing bugs, adding new components, or improving documentation, your help makes MyLibrary better for everyone.", + "submitIssues": { + "title": "Submit Issues", + "description": "Report bugs or request features on GitHub" + }, + "pullRequests": { + "title": "Create Pull Requests", + "description": "Contribute code improvements and new features" + }, + "documentation": { + "title": "Improve Documentation", + "description": "Help make our docs clearer and more comprehensive" + } + }, + "community": { + "title": "Community", + "description": "Join our growing community of developers who are building amazing user interfaces with MyLibrary.", + "githubStars": "GitHub Stars", + "contributors": "Contributors", + "downloads": "Downloads", + "builtWithLove": "Built with ❤️ by the open source community" + }, + "contributors": { + "title": "Our Contributors", + "thankYou": "Thank you to all the amazing developers who have contributed to making this component library better!", + "loading": "Loading contributors...", + "contributorsError": "Failed to load contributors", + "avatarAlt": "{login}'s avatar", + "contributions": "{count} contribution{count, plural, one {} other {s}}", + "profile": "Profile", + "join": "Want to join our contributors? Check out our ", + "githubRepo": "GitHub repository", + "getStarted": " to get started!" + }, + "license": { + "title": "Open Source & Free", + "description": "MyLibrary is released under the MIT License, making it free to use for both personal and commercial projects.", + "github": "View on GitHub", + "contact": "Get in Touch" + } +} diff --git a/messages/[en]/analytics.json b/messages/[en]/analytics.json new file mode 100644 index 0000000..5375c18 --- /dev/null +++ b/messages/[en]/analytics.json @@ -0,0 +1,38 @@ +{ + "header": { + "title": "Component Analytics Dashboard", + "description": "Track component usage, performance, and user engagement", + "export": "Export Data" + }, + "overview": { + "totalViews": "Total Views", + "totalCopies": "Total Copies", + "componentsUsed": "Components Used", + "sessionTime": "Session Time" + }, + "popular": { + "title": "Most Popular Components" + }, + "recent": { + "title": "Last 7 Days Activity", + "today": "Today" + }, + "performance": { + "title": "Performance Insights", + "avgViews": "Avg Views per Component", + "copyRate": "Copy Rate", + "viewsWeek": "Views This Week" + }, + "actions": { + "title": "Quick Actions", + "viewComponents": "View Components", + "export": "Export Analytics", + "reset": "Reset Data" + }, + "modal": { + "title": "Reset Analytics Data", + "message": "This will permanently delete all analytics data including views, copies, and session information. This action cannot be undone.", + "confirm": "Reset Data", + "cancel": "Cancel" + } +} \ No newline at end of file diff --git a/messages/[en]/common.json b/messages/[en]/common.json new file mode 100644 index 0000000..87eb6f3 --- /dev/null +++ b/messages/[en]/common.json @@ -0,0 +1,30 @@ +{ + "navigation": { + "home": "Home", + "about": "About", + "contact": "Contact", + "components": "Components", + "playground": "🎮 Playground", + "analytics": "Analytics", + "feedback": "Feedback", + "game":"🎮 Game", + "racing game":"🏁 Racing Game", + "fun": "Fun" + }, + "footer": { + "brand": "MyLibrary", + "subtitle": "Component Library", + "description": "An open-source Next.js + Tailwind CSS Component Library with ready-to-use UI components. Perfect for developers to learn, practice, and contribute during Hacktoberfest and beyond.", + "followUs": "Follow Us", + "social": { + "github": "GitHub", + "linkedin": "LinkedIn", + "twitter": "Twitter", + "discord": "Discord", + "youtube": "YouTube" + }, + "madeWith": "Made with", + "hacktoberfest": "for Hacktoberfest", + "copyright": "MyLibrary Component Library. All rights reserved." + } +} \ No newline at end of file diff --git a/messages/[en]/comps.json b/messages/[en]/comps.json new file mode 100644 index 0000000..7001b6a --- /dev/null +++ b/messages/[en]/comps.json @@ -0,0 +1,350 @@ +{ + "hero": { + "title": "React UI Playground", + "description": "Beautiful, modern & responsive component demo – each below section is styled for clarity, vibrance, and accessibility." + }, + "search": { + "placeholder": "Search components (buttons, cards, primary, etc.)", + "results": "Found {count} component{count, plural, one {} other {s}}{search, select, '' {} other { matching \"{search}\"}}{filter, select, all {} other { in {filter}}}", + "noResults": "No components found" + }, + "filter": { + "all": "All Components", + "buttons": "Buttons", + "backgrounds": "Backgrounds", + "cards": "Cards", + "inputs": "Inputs", + "navigation": "Navigation", + "badges": "Badges" + }, + "selectOptions": { + "option1": "Option 1", + "option2": "Option 2", + "option3": "Option 3" + }, + "tabs": { + "dashboard": "Dashboard", + "dashboardContent": "Dashboard content goes here...", + "analytics": "Analytics", + "analyticsContent": "Analytics content goes here...", + "settings": "Settings", + "settingsContent": "Settings content goes here..." + }, + "breadcrumb": { + "home": "Home", + "components": "Components", + "navigation": "Navigation", + "breadcrumb": "Breadcrumb" + }, + "buttons": { + "primary": { + "name": "Primary Button", + "label": "Primary", + "keywords": ["primary", "main", "action", "cta"], + "desc": "Used for Main Actions" + }, + "gradient": { + "name": "Gradient Button", + "label": "Gradient", + "keywords": ["gradient", "colorful", "bright", "cta"], + "desc": "Vibrant gradient button with hover scaling and loading spinner" + }, + "neon": { + "name": "Neon Button", + "label": "Neon", + "keywords": ["neon", "glow", "bright", "futuristic"], + "desc": "Glowing futuristic button with loading spinner and hover scaling" + }, + "secondary": { + "name": "Secondary Button", + "label": "Secondary", + "keywords": ["secondary", "alternate"], + "desc": "Used for secondary Actions" + }, + "ghost": { + "name": "Ghost Button", + "label": "Ghost", + "keywords": ["ghost", "transparent", "subtle"], + "desc": "Used for minimal actions" + }, + "outline": { + "name": "Outline Button", + "label": "Outline", + "keywords": ["outline", "border", "stroke"], + "desc": "Used for gives outline" + }, + "danger": { + "name": "Danger Button", + "label": "Danger", + "keywords": ["danger", "error", "delete", "warning", "red"], + "desc": "Used for destructive actions" + }, + "success": { + "name": "Success Button", + "label": "Success", + "keywords": ["success", "confirm", "done", "green"], + "desc": "Used for success actions" + }, + "icon": { + "name": "Icon Button", + "label": "Icon", + "keywords": ["icon", "star", "symbol"], + "desc": "Used for icons" + }, + "rainbow": { + "name": "Rainbow Button", + "label": "Rainbow", + "keywords": ["rainbow", "action", "colorful"], + "desc": "Used for call to actions" + }, + "glass": { + "name": "Glass Button", + "label": "Button", + "keywords": ["glass", "cta", "action"], + "desc": "Used for any action" + } + }, + "cards": { + "simple": { + "name": "Simple Card", + "title": "Simple Card", + "description": "A minimal card with actions.", + "keywords": ["simple", "basic", "minimal"] + }, + "smart": { + "name": "Smart Card", + "title": "Smart Card", + "description": "A modern card with gradient background, hover effects, and optional footer.", + "footer": "Action", + "keywords": ["smart", "gradient", "card", "hover", "footer", "image"] + }, + "image": { + "name": "Image Card", + "title": "Image Card", + "description": "Card with SVG image.", + "keywords": ["image", "picture", "visual"] + }, + "feature": { + "name": "Feature Card", + "title": "Feature Card", + "description": "Highlight features and benefits.", + "keywords": ["feature", "highlight", "benefit"] + }, + "pricing": { + "name": "Pricing Card", + "plan": "Pro", + "price": "$9/mo", + "features": ["10 projects", "Priority support", "Unlimited users"], + "keywords": ["pricing", "plan", "subscription", "price"] + }, + "data": { + "name": "Data Card", + "title": "Active Projects", + "keywords": ["data", "stats", "analytics", "metrics"] + } + }, + "utility": { + "alert": { + "name": "MinimalAlert", + "keywords": ["alert", "popup"] + }, + "loaders": { + "name": "Loaders", + "simple": "Simple Loader", + "dual": "Dual Loader", + "dots": "Dots Loader", + "bar": "Bar Loader", + "keywords": ["spinner", "loader", "loading"] + }, + "tooltips": { + "name": "Tooltips", + "simple": "Simple ToolTip", + "animated": "Animated ToolTip", + "refreshText": "Click to refresh", + "deleteText": "Delete item", + "keywords": ["tooltip", "popups"] + } + }, + "inputs": { + "text": { + "name": "Text Input", + "label": "Sample Input", + "placeholder": "Enter text", + "keywords": ["text", "input", "field", "form"] + }, + "password": { + "name": "Password Input", + "placeholder": "Enter password", + "keywords": ["password", "input", "field", "form", "show", "hide"], + "label": "Password", + "error": "Invalid password" + }, + "select": { + "name": "Select", + "label": "Sample Select", + "keywords": ["select", "dropdown", "options", "choice"] + }, + "checkbox": { + "name": "Checkbox", + "label": "Sample Checkbox", + "description": "Check this option", + "keywords": ["checkbox", "check", "toggle", "boolean"] + }, + "loginForm": { + "name": "Login Form", + "keywords": ["login", "form", "authentication", "signin", "auth", "email", "password"], + "desc": "Complete login form with validation and social login options" + }, + "calendar": { + "name": "Calendar", + "keywords": ["calendar", "date", "schedule", "month", "events"], + "desc": "Accessible, responsive month-view calendar with event indicators" + }, + "emailAddress": { + "label": "Email Address", + "placeholder": "Enter your email", + "helperText": "We'll never share your email.", + "required": "Required" + }, + + "chooseOption": { + "label": "Choose an option" + }, + "termsConditions": { + "label": "Accept Terms", + "description": "You must accept terms and conditions" + }, + "disabledOption": { + "label": "Disabled Option", + "description": "This option is disabled" + } + }, + "backgrounds": { + "interactiveTiles": { + "name": "Interactive Tiles", + "keywords": ["interactive", "tiles", "backgrounds", "grid"], + "desc": "Interactive tiles background" + } + }, + "navigation": { + "breadcrumb": { + "name": "Breadcrumb", + "keywords": ["breadcrumb", "navigation", "path", "hierarchy"] + }, + "tabs": { + "name": "Tabs", + "keywords": ["tabs", "navigation", "switch", "toggle"] + }, + "pagination": { + "name": "Pagination", + "keywords": ["pagination", "pages", "navigation", "paging"] + } + }, + "badges": { + "badge": { + "name": "Badge", + "primary": "Primary", + "success": "Success", + "warning": "Warning", + "danger": "Danger", + "closable": "Closable", + "withIcon": "With Icon", + "notifications": "Notifications", + "keywords": ["badge", "tag", "label", "status", "indicator"], + "desc": "Used for status indicators and labels" + }, + "chip": { + "name": "Chip", + "primary": "Primary Chip", + "success": "Success", + "warning": "Warning", + "danger": "Danger", + "closable": "Closable", + "withIcon": "With Icon", + "keywords": ["chip", "tag", "label", "filter", "category"], + "desc": "Used for filters, categories, and removable tags" + } + }, + "sections": { + "buttons": "Buttons", + "cards": "Cards", + "inputs": "Inputs", + "backgrounds": "Backgrounds", + "utility": "Utility", + "navigation": "Navigation", + "badges": "Badges", + "avatars": "Avatars", + "accordion": "Accordion", + "feedback": "Feedback", + "formHelper": "Form Helpers" + }, + "avatars": { + "group": "Avatar Group" + }, + "feedback": { + "success": "Success feedback message", + "error": "Error feedback message", + "warning": "Warning feedback message", + "info": "Info feedback message" + }, + "formHelper": { + "datePicker": { + "title": "Date Picker", + "label": "Pick a date" + }, + "slider": { + "title": "Slider" + }, + "fileUpload": { + "title": "File Upload" + }, + "formValidation": { + "title": "Form Validation" + }, + "loginForm": { + "title": "Login Form" + }, + "signupPage": { + "title": "Signup Page" + }, + "otpVerification": { + "title": "OTP Verification", + "tryCode": "Try code 123456" + } + }, + "accordion": { + "basic": { + "title": "Basic Accordion", + "items": [ + { "title": "Section 1", "content": "Content for section 1" }, + { "title": "Section 2", "content": "Content for section 2" }, + { "title": "Section 3", "content": "Content for section 3" }, + { "title": "Section 4", "content": "Content for section 4" } + ] + }, + "multiple": { + "title": "Multiple Open Accordion", + "items": [ + { "title": "Section 1", "content": "Content for section 1" }, + { "title": "Section 2", "content": "Content for section 2" }, + { "title": "Section 3", "content": "Content for section 3" }, + { "title": "Section 4", "content": "Content for section 4" } + ] + }, + "minimal": { + "title": "Minimal Accordion", + "items": [ + { "title": "Section 1", "content": "Content for section 1" }, + { "title": "Section 2", "content": "Content for section 2" }, + { "title": "Section 3", "content": "Content for section 3" } + ] + }, + "alwaysOpen": { + "title": "Always Open Accordion", + "items": [ + { "title": "Section 1", "content": "Content for section 1" }, + { "title": "Section 2", "content": "Content for section 2" } + ] + } + } +} diff --git a/messages/[en]/contact.json b/messages/[en]/contact.json new file mode 100644 index 0000000..28580be --- /dev/null +++ b/messages/[en]/contact.json @@ -0,0 +1,78 @@ +{ + "header": { + "title": "Get in Touch", + "description": "Have questions about our component library? Want to contribute or report a bug? We'd love to hear from you!" + }, + "form": { + "title": "Send us a Message", + "success": "Thank you for your message! We'll get back to you soon.", + "error": "Sorry, there was an error sending your message. Please try again.", + "sending": "Sending...", + "send": "Send Message", + "fields": { + "name": { + "label": "Full Name *", + "placeholder": "Enter your full name" + }, + "email": { + "label": "Email Address *", + "placeholder": "your.email@example.com" + }, + "subject": { + "label": "Subject *", + "placeholder": "Select a subject", + "options": { + "bugReport": "Bug Report", + "featureRequest": "Feature Request", + "documentation": "Documentation", + "contribution": "Contribution", + "support": "General Support", + "other": "Other" + } + }, + "message": { + "label": "Message *", + "placeholder": "Tell us how we can help you..." + } + } + }, + "errors": { + "nameRequired": "Name is required", + "emailRequired": "Email is required", + "emailInvalid": "Please enter a valid email address", + "subjectRequired": "Subject is required", + "messageRequired": "Message is required", + "messageLength": "Message must be at least 10 characters long" + }, + "info": { + "title": "Contact Information", + "email": { + "title": "Email" + }, + "github": { + "title": "GitHub" + }, + "linktree": { + "title": "Linktree", + "description": "Check out our Linktree for all our social links:" + } + }, + "social": { + "title": "Follow Us" + }, + "faq": { + "title": "Frequently Asked Questions", + "q1": { + "title": "How can I contribute to the library?", + "description": "Check out our CONTRIBUTING.md file for guidelines on how to contribute components, report bugs, or suggest improvements." + }, + "q2": { + "title": "Is this library free to use?", + "description": "Yes! This component library is open source and free to use in both personal and commercial projects." + }, + "q3": { + "title": "How do I report a bug?", + "description": "You can report bugs through our GitHub issues page or by using the contact form above with \"Bug Report\" as the subject." + } + } +} diff --git a/messages/[en]/feedback.json b/messages/[en]/feedback.json new file mode 100644 index 0000000..c7295fa --- /dev/null +++ b/messages/[en]/feedback.json @@ -0,0 +1,86 @@ +{ + "header": { + "title": "We Value Your Feedback", + "description": "Help us improve MyLibrary by sharing your thoughts, reporting bugs, or suggesting new features." + }, + "alert": { + "success": { + "title": "Thank you!", + "message": "Your feedback has been submitted successfully. We'll review it soon." + }, + "error": { + "title": "Error", + "message": "Please fill in all required fields before submitting." + } + }, + "form": { + "title": "Share Your Feedback", + "categoryLabel": "Feedback Category *", + "ratingLabel": "Overall Rating", + "emailLabel": "Email (Optional)", + "emailPlaceholder": "your.email@example.com", + "emailHelper": "We'll only use this to follow up on your feedback", + "feedbackLabel": "Your Feedback *", + "feedbackPlaceholder": "Tell us about your experience, report a bug, or suggest improvements...", + "submit": "Submit Feedback", + "clear": "Clear Form" + }, + "category": { + "bug": "Bug Report", + "feature": "Feature Request", + "improvement": "Improvement Suggestion", + "general": "General Feedback" + }, + "rating": { + "5": "⭐⭐⭐⭐⭐ Excellent", + "4": "⭐⭐⭐⭐ Good", + "3": "⭐⭐⭐ Average", + "2": "⭐⭐ Poor", + "1": "⭐ Very Poor" + }, + "sidebar": { + "stats": { + "title": "Community Stats", + "totalComponents": "Total Components", + "githubStars": "GitHub Stars", + "contributors": "Contributors", + "issuesResolved": "Issues Resolved" + }, + "progress": { + "title": "Development Progress", + "buttons": "Button Components", + "cards": "Card Components", + "forms": "Form Components", + "navigation": "Navigation" + }, + "contact": { + "title": "Other Ways to Reach Us", + "email": "📧 Email Support", + "discord": "💬 Discord Community", + "github": "🐙 GitHub Issues" + } + }, + "recent": { + "title": "Recent Community Feedback", + "items": [ + { + "name": "Alex", + "time": "2 days ago", + "category": "Feature", + "feedback": "Love the new button variants! Could we get a loading state for buttons?" + }, + { + "name": "Sarah", + "time": "1 week ago", + "category": "Bug", + "feedback": "Card component spacing issue on mobile devices. Fixed in latest update!" + }, + { + "name": "Mike", + "time": "2 weeks ago", + "category": "General", + "feedback": "Excellent documentation and examples. Makes integration super easy!" + } + ] + } +} \ No newline at end of file diff --git a/messages/[en]/playground.json b/messages/[en]/playground.json new file mode 100644 index 0000000..9fc90fd --- /dev/null +++ b/messages/[en]/playground.json @@ -0,0 +1,219 @@ +{ + "title": "Advanced Component Playground", + "subtitle": "Customize components in real-time and export production-ready code!", + + "controls": { + "componentType": "Component Type", + "variant": "Variant", + "previewMode": "Preview Mode", + "myFavorites": "My Favorites ({count})", + "customizationControls": "Customization Controls", + "reset": "Reset", + "random": "Random", + "showFavorites": "Show Favorites", + "hideFavorites": "Hide Favorites" + }, + + "componentTypes": { + "buttons": "Buttons", + "cards": "Cards", + "inputs": "Inputs" + }, + + "buttonVariants": { + "primary": "Primary Button", + "secondary": "Secondary Button", + "danger": "Danger Button", + "success": "Success Button", + "ghost": "Ghost Button", + "outline": "Outline Button", + "rainbow": "Rainbow Button" + }, + + "cardVariants": { + "simple": "Simple Card", + "feature": "Feature Card", + "pricing": "Pricing Card", + "user": "User Card", + "data": "Data Card" + }, + + "inputVariants": { + "text": "Text Input", + "select": "Select Dropdown", + "checkbox": "Checkbox" + }, + + "buttonControls": { + "buttonText": "Button Text", + "buttonSize": "Button Size", + "sizes": { + "small": "Small", + "medium": "Medium", + "large": "Large" + }, + "disabled": "Disabled", + "loading": "Loading", + "loadingText": "⏳ Loading..." + }, + + "cardControls": { + "cardTitle": "Card Title", + "cardDescription": "Card Description", + "cardTitlePlaceholder": "Enter card title", + "cardDescriptionPlaceholder": "Enter card description" + }, + + "pricingControls": { + "planName": "Plan Name", + "price": "Price", + "features": "Features (comma separated)", + "planPlaceholder": "e.g., Pro", + "pricePlaceholder": "e.g., $9/mo", + "featuresPlaceholder": "Feature 1, Feature 2, Feature 3" + }, + + "userCardControls": { + "userName": "User Name", + "email": "Email", + "role": "Role", + "avatarUrl": "Avatar URL", + "userNamePlaceholder": "John Doe", + "emailPlaceholder": "john@example.com", + "rolePlaceholder": "Software Engineer", + "avatarPlaceholder": "https://i.pravatar.cc/150?img=1" + }, + + "dataCardControls": { + "dataTitle": "Data Title", + "value": "Value", + "icon": "Icon (Emoji)", + "trend": "Trend (%)", + "dataTitlePlaceholder": "Active Projects", + "valuePlaceholder": "27", + "iconPlaceholder": "📂", + "trendPlaceholder": "8" + }, + + "inputControls": { + "label": "Label", + "placeholder": "Placeholder", + "errorMessage": "Error Message (optional)", + "required": "Required", + "labelPlaceholder": "Enter input label", + "placeholderPlaceholder": "Enter placeholder text", + "errorPlaceholder": "Enter error message" + }, + + "codeSection": { + "generatedCode": "Generated Code", + "show": "Show", + "hide": "Hide", + "copyCode": "Copy Code", + "copied": "✅ Copied!", + "failedToCopy": "❌ Failed to copy", + "language": "React JSX" + }, + + "preview": { + "livePreview": "Live Preview", + "componentInfo": "Component Info", + "type": "Type", + "variant": "Variant", + "interactive": "Interactive", + "clickToTest": "Yes (Click to test)", + "displayOnly": "Display only", + "light": "Light", + "dark": "Dark" + }, + + "favorites": { + "title": "My Favorite Components ({count})", + "clearAll": "Clear All", + "noFavorites": "No favorite components yet", + "noFavoritesDesc": "Click the heart icon on any component to add it to your favorites", + "addFavorite": "Add Favorite", + "removeFavorite": "Remove Favorite", + "addedDate": "Added {date}", + "componentSuffix": "Component", + "addToFavorites": "Add to favorites", + "removeFromFavorites": "Remove from favorites" + }, + + "showcase": { + "allVariants": "All {type} Variants", + "clickToCustomize": "Click to customize", + "preview": "Preview", + "sample": "Sample" + }, + + "stats": { + "title": "Playground Stats", + "buttonTypes": "Button Types", + "cardTypes": "Card Types", + "inputTypes": "Input Types", + "favorites": "Favorites" + }, + + "actions": { + "randomize": "Randomize", + "reset": "Reset", + "copyCode": "Copy Code" + }, + + "defaultValues": { + "buttonText": "Click Me", + "cardTitle": "Sample Card", + "cardDescription": "This is a sample card description", + "inputLabel": "Sample Input", + "inputPlaceholder": "Enter text here...", + "checkboxDescription": "Check this option", + "selectOptions": { + "option1": "Option 1", + "option2": "Option 2", + "option3": "Option 3" + } + }, + + "randomValues": { + "buttonTexts": ["Get Started", "Learn More", "Sign Up Now", "Download", "Subscribe", "Join Us", "Try Free", "Contact Us"], + "cardTitles": ["Amazing Feature", "Premium Service", "New Product", "Special Offer", "Latest Update"], + "cardDescriptions": [ + "Discover incredible features that will transform your workflow", + "Experience premium quality with our professional services", + "Introducing our latest product with cutting-edge technology", + "Limited time offer with exclusive benefits for you", + "Stay updated with the latest improvements and features" + ], + "userNames": ["Alice Johnson", "Bob Smith", "Carol Davis", "David Wilson", "Emma Brown"], + "userRoles": ["Frontend Developer", "Backend Engineer", "UI/UX Designer", "Product Manager", "DevOps Engineer"], + "dataTitles": ["Total Users", "Revenue", "Active Sessions", "Conversion Rate", "Growth Rate"], + "dataValues": ["1,234", "$45.6K", "89%", "12.5%", "+23%"], + "dataIcons": ["👥", "💰", "📊", "📈", "🚀"] + }, + + "pricing": { + "defaultPlan": "Pro", + "defaultPrice": "$9/mo", + "defaultFeatures": ["10 projects", "Priority support", "Unlimited users"] + }, + + "userData": { + "defaultName": "John Doe", + "defaultEmail": "john@example.com", + "defaultRole": "Software Engineer" + }, + + "dataCard": { + "defaultTitle": "Active Projects", + "defaultValue": "27", + "defaultIcon": "📂", + "defaultTrend": 8 + }, + + "messages": { + "codeCopied": "Code copied to clipboard!", + "copyFailed": "Failed to copy code.", + "clickAlert": "{component} clicked!" + } +} \ No newline at end of file diff --git a/messages/[es]/about.json b/messages/[es]/about.json new file mode 100644 index 0000000..a8f25db --- /dev/null +++ b/messages/[es]/about.json @@ -0,0 +1,129 @@ +{ + "title": "Acerca de MyLibrary", + "description": "MyLibrary es una biblioteca de componentes integral construida con Next.js y Tailwind CSS, diseñada para proporcionar a los desarrolladores componentes de UI reutilizables, accesibles y bellamente diseñados. Nuestro objetivo es acelerar los flujos de trabajo de desarrollo y mantener la coherencia del diseño en los proyectos.", + "overview": { + "components": "20+ Componentes", + "typescript": "Listo para TypeScript", + "performance": "Optimizado para rendimiento" + }, + "mission": { + "title": "Nuestra Misión", + "description": "Empoderar a los desarrolladores con una biblioteca de componentes robusta, flexible y hermosa que reduzca el tiempo de desarrollo manteniendo experiencias de usuario de alta calidad. Creemos en hacer el desarrollo web más eficiente y agradable." + }, + "vision": { + "title": "Nuestra Visión", + "description": "Convertirse en la biblioteca de componentes preferida para desarrolladores de React, fomentando una comunidad donde la innovación se une a la practicidad. Imaginamos un mundo donde crear hermosas interfaces de usuario sea accesible para desarrolladores de todos los niveles." + }, + "features": { + "title": "¿Por qué elegir MyLibrary?", + "designSystem": { + "title": "Sistema de Diseño", + "description": "Tokens de diseño consistentes y sistema de temas para experiencias de usuario cohesivas." + }, + "accessibility": { + "title": "Accesibilidad Primero", + "description": "Construido con las directrices WCAG 2.1 y soporte de navegación por teclado." + }, + "performance": { + "title": "Rendimiento", + "description": "Tamaño de paquete optimizado con tree-shaking y dependencias mínimas." + }, + "devExperience": { + "title": "Experiencia del Desarrollador", + "description": "Soporte para TypeScript, documentación completa e integración excelente con IDE." + }, + "community": { + "title": "Impulsado por la Comunidad", + "description": "Proyecto de código abierto con contribuciones y retroalimentación activa de la comunidad." + }, + "flexible": { + "title": "Flexible", + "description": "Componentes personalizables que se adaptan a tus requisitos de diseño." + } + }, + "techStack": { + "title": "Tecnologías", + "nextjs": { + "title": "Next.js 14", + "description": "Framework de React con App Router" + }, + "react": { + "title": "React 18", + "description": "Arquitectura basada en componentes" + }, + "tailwind": { + "title": "Tailwind CSS", + "description": "Estilos utilitarios primero" + }, + "typescript": { + "title": "TypeScript", + "description": "Desarrollo con tipado seguro" + }, + "additionalTools": { + "title": "Herramientas Adicionales", + "eslint": "ESLint", + "prettier": "Prettier", + "lucide": "Lucide Icons", + "postcss": "PostCSS", + "git": "Git" + } + }, + "gettingStarted": { + "title": "🚀 Comenzando", + "installation": { + "title": "Instalación", + "description": "Instala la biblioteca vía npm o copia componentes listos para usar directamente." + }, + "import": { + "title": "Importar", + "description": "Importa los componentes que necesitas directamente en tu proyecto React y comienza a construir más rápido." + }, + "customize": { + "title": "Personalizar", + "description": "Ajusta el diseño, los colores y el comportamiento fácilmente para que coincidan con tu propio sistema de diseño." + }, + "cta": "Ver Componentes" + }, + "contributing": { + "title": "Contribuyendo", + "description": "¡Damos la bienvenida a las contribuciones de la comunidad! Ya sea que estés corrigiendo errores, agregando nuevos componentes o mejorando la documentación, tu ayuda hace que MyLibrary sea mejor para todos.", + "submitIssues": { + "title": "Enviar Problemas", + "description": "Reporta errores o solicita funciones en GitHub" + }, + "pullRequests": { + "title": "Crear Pull Requests", + "description": "Contribuye con mejoras de código y nuevas funciones" + }, + "documentation": { + "title": "Mejorar Documentación", + "description": "Ayuda a que nuestra documentación sea más clara y completa" + } + }, + "community": { + "title": "Comunidad", + "description": "Únete a nuestra creciente comunidad de desarrolladores que están creando increíbles interfaces de usuario con MyLibrary.", + "githubStars": "Estrellas en GitHub", + "contributors": "Colaboradores", + "downloads": "Descargas", + "builtWithLove": "Construido con ❤️ por la comunidad de código abierto" + }, + "contributors": { + "title": "Nuestros Colaboradores", + "thankYou": "¡Gracias a todos los desarrolladores increíbles que han contribuido a mejorar esta biblioteca de componentes!", + "loading": "Cargando colaboradores...", + "contributorsError": "No se pudieron cargar los colaboradores", + "avatarAlt": "Avatar de {login}", + "contributions": "{count} contribución{count, plural, one {} other {es}}", + "profile": "Perfil", + "join": "¿Quieres unirte a nuestros colaboradores? Consulta nuestro ", + "githubRepo": "repositorio de GitHub", + "getStarted": " para comenzar!" + }, + "license": { + "title": "Código Abierto y Gratis", + "description": "MyLibrary se publica bajo la Licencia MIT, lo que la hace gratuita para uso personal y comercial.", + "github": "Ver en GitHub", + "contact": "Contáctanos" + } +} \ No newline at end of file diff --git a/messages/[es]/analytics.json b/messages/[es]/analytics.json new file mode 100644 index 0000000..3ab47fc --- /dev/null +++ b/messages/[es]/analytics.json @@ -0,0 +1,38 @@ +{ + "header": { + "title": "Panel de análisis de componentes", + "description": "Supervisa el uso de componentes, el rendimiento y la participación de los usuarios", + "export": "Exportar datos" + }, + "overview": { + "totalViews": "Vistas totales", + "totalCopies": "Copias totales", + "componentsUsed": "Componentes utilizados", + "sessionTime": "Tiempo de sesión" + }, + "popular": { + "title": "Componentes más populares" + }, + "recent": { + "title": "Actividad de los últimos 7 días", + "today": "Hoy" + }, + "performance": { + "title": "Información de rendimiento", + "avgViews": "Promedio de vistas por componente", + "copyRate": "Tasa de copias", + "viewsWeek": "Vistas esta semana" + }, + "actions": { + "title": "Acciones rápidas", + "viewComponents": "Ver componentes", + "export": "Exportar análisis", + "reset": "Restablecer datos" + }, + "modal": { + "title": "Restablecer datos analíticos", + "message": "Esto eliminará permanentemente todos los datos analíticos, incluidas las vistas, las copias y la información de la sesión. Esta acción no se puede deshacer.", + "confirm": "Restablecer datos", + "cancel": "Cancelar" + } +} diff --git a/messages/[es]/common.json b/messages/[es]/common.json new file mode 100644 index 0000000..5a665ae --- /dev/null +++ b/messages/[es]/common.json @@ -0,0 +1,33 @@ +{ + "navigation": { + "home": "Inicio", + "about": "Acerca de", + "contact": "Contacto", + "components": "Componentes", + "playground": "🎮 Zona de juegos", + "analytics": "Analíticas", + "feedback": "Retroalimentación", + "game": "🎮 Juego", + "racing game": "🏁 Juego de carreras", + "fun": "Diversión" + }, + + "footer": { + "brand": "MiBiblioteca", + "subtitle": "Biblioteca de Componentes", + "description": "Una biblioteca de componentes de código abierto basada en Next.js + Tailwind CSS con componentes de interfaz listos para usar. Perfecta para que los desarrolladores aprendan, practiquen y contribuyan durante Hacktoberfest y más allá.", + "followUs": "Síguenos", + "social": { + "github": "GitHub", + "linkedin": "LinkedIn", + "twitter": "Twitter", + "discord": "Discord", + "youtube": "YouTube" + }, + "madeWith": "Hecho con", + "hacktoberfest": "para Hacktoberfest", + "copyright": "Biblioteca de Componentes MiBiblioteca. Todos los derechos reservados." + } + + +} \ No newline at end of file diff --git a/messages/[es]/comps.json b/messages/[es]/comps.json new file mode 100644 index 0000000..4ceec8d --- /dev/null +++ b/messages/[es]/comps.json @@ -0,0 +1,226 @@ +{ + "hero": { + "title": "React UI Playground", + "description": "Demostración de componentes moderna, hermosa y responsiva – cada sección está diseñada para claridad, viveza y accesibilidad." + }, + "search": { + "placeholder": "Buscar componentes (botones, tarjetas, principal, etc.)", + "results": "Encontrados {count} componente{count, plural, one {} other {s}}{search, select, '' {} other { que coinciden con \"{search}\"}}{filter, select, all {} other { en {filter}}}", + "noResults": "No se encontraron componentes" + }, + "filter": { + "all": "Todos los Componentes", + "buttons": "Botones", + "backgrounds": "Fondos", + "cards": "Tarjetas", + "inputs": "Entradas", + "navigation": "Navegación", + "badges": "Insignias" + }, + "selectOptions": { + "option1": "Opción 1", + "option2": "Opción 2", + "option3": "Opción 3" + }, + "tabs": { + "dashboard": "Panel", + "dashboardContent": "El contenido del panel va aquí...", + "analytics": "Analítica", + "analyticsContent": "El contenido de analítica va aquí...", + "settings": "Configuraciones", + "settingsContent": "El contenido de configuraciones va aquí..." + }, + "breadcrumb": { + "home": "Inicio", + "components": "Componentes", + "navigation": "Navegación", + "breadcrumb": "Miga de pan" + }, + "buttons": { + "primary": { + "name": "Botón Principal", + "label": "Principal", + "keywords": ["principal", "acción", "cta"], + "desc": "Usado para acciones principales" + }, + "gradient": { + "name": "Botón Gradiente", + "label": "Gradiente", + "keywords": ["gradiente", "colorido", "brillante", "cta"], + "desc": "Botón vibrante con gradiente y spinner de carga" + }, + "neon": { + "name": "Botón Neón", + "label": "Neón", + "keywords": ["neón", "brillo", "futurista"], + "desc": "Botón futurista brillante con spinner de carga" + }, + "secondary": { + "name": "Botón Secundario", + "label": "Secundario", + "keywords": ["secundario", "alternativo"], + "desc": "Usado para acciones secundarias" + }, + "ghost": { + "name": "Botón Fantasma", + "label": "Fantasma", + "keywords": ["fantasma", "transparente", "sutil"], + "desc": "Usado para acciones mínimas" + }, + "outline": { + "name": "Botón de Contorno", + "label": "Contorno", + "keywords": ["contorno", "borde"], + "desc": "Usado para dar contorno" + }, + "danger": { + "name": "Botón de Peligro", + "label": "Peligro", + "keywords": ["peligro", "error", "eliminar", "advertencia", "rojo"], + "desc": "Usado para acciones destructivas" + }, + "success": { + "name": "Botón de Éxito", + "label": "Éxito", + "keywords": ["éxito", "confirmar", "hecho", "verde"], + "desc": "Usado para acciones exitosas" + }, + "icon": { + "name": "Botón de Ícono", + "label": "Ícono", + "keywords": ["ícono", "estrella", "símbolo"], + "desc": "Usado para íconos" + }, + "rainbow": { + "name": "Botón Arcoíris", + "label": "Arcoíris", + "keywords": ["arcoíris", "acción", "colorido"], + "desc": "Usado para llamadas a la acción" + }, + "glass": { + "name": "Botón de Vidrio", + "label": "Botón", + "keywords": ["vidrio", "cta", "acción"], + "desc": "Usado para cualquier acción" + } + }, + "cards": { + "simple": { + "name": "Tarjeta Simple", + "title": "Tarjeta Simple", + "description": "Una tarjeta mínima con acciones.", + "keywords": ["simple", "básico", "mínimo"] + }, + "smart": { + "name": "Tarjeta Inteligente", + "title": "Tarjeta Inteligente", + "description": "Tarjeta moderna con fondo de gradiente, efectos hover y pie de página opcional.", + "footer": "Acción", + "keywords": ["inteligente", "gradiente", "tarjeta", "hover", "pie", "imagen"] + }, + "image": { + "name": "Tarjeta de Imagen", + "title": "Tarjeta de Imagen", + "description": "Tarjeta con imagen SVG.", + "keywords": ["imagen", "foto", "visual"] + }, + "feature": { + "name": "Tarjeta de Característica", + "title": "Tarjeta de Característica", + "description": "Resalta características y beneficios.", + "keywords": ["característica", "resaltar", "beneficio"] + }, + "pricing": { + "name": "Tarjeta de Precios", + "plan": "Pro", + "price": "$9/mes", + "features": ["10 proyectos", "Soporte prioritario", "Usuarios ilimitados"], + "keywords": ["precio", "plan", "suscripción", "costo"] + }, + "data": { + "name": "Tarjeta de Datos", + "title": "Proyectos Activos", + "keywords": ["datos", "estadísticas", "analítica", "métricas"] + } + }, + "inputs": { + "text": { + "name": "Entrada de Texto", + "label": "Entrada de Muestra", + "placeholder": "Ingrese texto", + "keywords": ["texto", "entrada", "campo", "formulario"] + }, + "password": { + "name": "Entrada de Contraseña", + "placeholder": "Ingrese contraseña", + "keywords": ["contraseña", "entrada", "campo", "formulario", "mostrar", "ocultar"] + }, + "select": { + "name": "Seleccionar", + "label": "Selección de Muestra", + "keywords": ["seleccionar", "desplegable", "opciones", "elección"] + }, + "checkbox": { + "name": "Casilla de Verificación", + "label": "Casilla de Muestra", + "description": "Marque esta opción", + "keywords": ["casilla", "verificar", "alternar", "booleano"] + }, + "loginForm": { + "name": "Formulario de Inicio de Sesión", + "keywords": ["inicio de sesión", "formulario", "autenticación", "correo", "contraseña"], + "desc": "Formulario completo de inicio de sesión con validación y opciones sociales" + }, + "calendar": { + "name": "Calendario", + "keywords": ["calendario", "fecha", "agenda", "mes", "eventos"], + "desc": "Calendario mensual accesible y responsivo con indicadores de eventos" + } + }, + "backgrounds": { + "interactiveTiles": { + "name": "Baldosas Interactivas", + "keywords": ["interactivo", "baldosas", "fondos", "cuadrícula"], + "desc": "Fondo de baldosas interactivas" + } + }, + "navigation": { + "breadcrumb": { + "name": "Miga de pan", + "keywords": ["miga de pan", "navegación", "ruta", "jerarquía"] + }, + "tabs": { + "name": "Pestañas", + "keywords": ["pestañas", "navegación", "cambiar", "alternar"] + }, + "pagination": { + "name": "Paginación", + "keywords": ["paginación", "páginas", "navegación", "paginado"] + } + }, + "badges": { + "badge": { + "name": "Insignia", + "primary": "Principal", + "success": "Éxito", + "warning": "Advertencia", + "danger": "Peligro", + "closable": "Cerrable", + "withIcon": "Con Ícono", + "notifications": "Notificaciones", + "keywords": ["insignia", "etiqueta", "estado", "indicador"], + "desc": "Usado para indicadores de estado y etiquetas" + }, + "chip": { + "name": "Chip", + "primary": "Chip Principal", + "success": "Éxito", + "warning": "Advertencia", + "danger": "Peligro", + "closable": "Cerrable", + "withIcon": "Con Ícono", + "keywords": ["chip", "etiqueta", "filtro", "categoría"], + "desc": "Usado para filtros, categorías y etiquetas removibles" + } + } +} \ No newline at end of file diff --git a/messages/[es]/contact.json b/messages/[es]/contact.json new file mode 100644 index 0000000..04dfc3e --- /dev/null +++ b/messages/[es]/contact.json @@ -0,0 +1,78 @@ +{ + "header": { + "title": "Contáctanos", + "description": "¿Tienes preguntas sobre nuestra biblioteca de componentes? ¿Quieres contribuir o reportar un error? ¡Nos encantaría saber de ti!" + }, + "form": { + "title": "Envíanos un mensaje", + "success": "¡Gracias por tu mensaje! Nos pondremos en contacto contigo pronto.", + "error": "Lo sentimos, hubo un error al enviar tu mensaje. Por favor, inténtalo de nuevo.", + "sending": "Enviando...", + "send": "Enviar mensaje", + "fields": { + "name": { + "label": "Nombre completo *", + "placeholder": "Ingresa tu nombre completo" + }, + "email": { + "label": "Correo electrónico *", + "placeholder": "your.email@example.com" + }, + "subject": { + "label": "Asunto *", + "placeholder": "Selecciona un asunto", + "options": { + "bugReport": "Reporte de error", + "featureRequest": "Solicitud de función", + "documentation": "Documentación", + "contribution": "Contribución", + "support": "Soporte general", + "other": "Otro" + } + }, + "message": { + "label": "Mensaje *", + "placeholder": "Cuéntanos cómo podemos ayudarte..." + } + } + }, + "errors": { + "nameRequired": "El nombre es obligatorio", + "emailRequired": "El correo electrónico es obligatorio", + "emailInvalid": "Por favor, ingresa una dirección de correo válida", + "subjectRequired": "El asunto es obligatorio", + "messageRequired": "El mensaje es obligatorio", + "messageLength": "El mensaje debe tener al menos 10 caracteres" + }, + "info": { + "title": "Información de contacto", + "email": { + "title": "Correo electrónico" + }, + "github": { + "title": "GitHub" + }, + "linktree": { + "title": "Linktree", + "description": "Consulta nuestro Linktree para todos nuestros enlaces sociales:" + } + }, + "social": { + "title": "Síguenos" + }, + "faq": { + "title": "Preguntas frecuentes", + "q1": { + "title": "¿Cómo puedo contribuir a la biblioteca?", + "description": "Consulta nuestro archivo CONTRIBUTING.md para obtener pautas sobre cómo contribuir con componentes, reportar errores o sugerir mejoras." + }, + "q2": { + "title": "¿Esta biblioteca es gratuita?", + "description": "¡Sí! Esta biblioteca de componentes es de código abierto y gratuita para uso personal y comercial." + }, + "q3": { + "title": "¿Cómo reporto un error?", + "description": "Puedes reportar errores a través de nuestra página de issues en GitHub o usando el formulario de contacto arriba con \"Reporte de error\" como asunto." + } + } +} diff --git a/messages/[es]/feedback.json b/messages/[es]/feedback.json new file mode 100644 index 0000000..4d77378 --- /dev/null +++ b/messages/[es]/feedback.json @@ -0,0 +1,86 @@ +{ + "header": { + "title": "Valoramos tus comentarios", + "description": "Ayúdanos a mejorar MyLibrary compartiendo tus opiniones, reportando errores o sugiriendo nuevas funcionalidades." + }, + "alert": { + "success": { + "title": "¡Gracias!", + "message": "Tu comentario ha sido enviado con éxito. Lo revisaremos pronto." + }, + "error": { + "title": "Error", + "message": "Por favor, completa todos los campos obligatorios antes de enviar." + } + }, + "form": { + "title": "Comparte tus comentarios", + "categoryLabel": "Categoría de comentarios *", + "ratingLabel": "Calificación general", + "emailLabel": "Correo electrónico (opcional)", + "emailPlaceholder": "tu.email@ejemplo.com", + "emailHelper": "Solo lo usaremos para hacer un seguimiento de tus comentarios", + "feedbackLabel": "Tus comentarios *", + "feedbackPlaceholder": "Cuéntanos tu experiencia, informa un error o sugiere mejoras...", + "submit": "Enviar comentarios", + "clear": "Borrar formulario" + }, + "category": { + "bug": "Reporte de error", + "feature": "Solicitud de característica", + "improvement": "Sugerencia de mejora", + "general": "Comentarios generales" + }, + "rating": { + "5": "⭐⭐⭐⭐⭐ Excelente", + "4": "⭐⭐⭐⭐ Bueno", + "3": "⭐⭐⭐ Promedio", + "2": "⭐⭐ Malo", + "1": "⭐ Muy malo" + }, + "sidebar": { + "stats": { + "title": "Estadísticas de la comunidad", + "totalComponents": "Componentes totales", + "githubStars": "Estrellas en GitHub", + "contributors": "Contribuidores", + "issuesResolved": "Problemas resueltos" + }, + "progress": { + "title": "Progreso del desarrollo", + "buttons": "Componentes de botones", + "cards": "Componentes de tarjetas", + "forms": "Componentes de formularios", + "navigation": "Navegación" + }, + "contact": { + "title": "Otras formas de contactarnos", + "email": "📧 Soporte por correo electrónico", + "discord": "💬 Comunidad de Discord", + "github": "🐙 Problemas en GitHub" + } + }, + "recent": { + "title": "Comentarios recientes de la comunidad", + "items": [ + { + "name": "Alex", + "time": "Hace 2 días", + "category": "Funcionalidad", + "feedback": "¡Me encantan las nuevas variantes de botones! ¿Podemos obtener un estado de carga para los botones?" + }, + { + "name": "Sarah", + "time": "Hace 1 semana", + "category": "Error", + "feedback": "Problema de espaciado del componente de tarjeta en dispositivos móviles. ¡Solucionado en la última actualización!" + }, + { + "name": "Mike", + "time": "Hace 2 semanas", + "category": "General", + "feedback": "¡Excelente documentación y ejemplos! Hace que la integración sea muy fácil." + } + ] + } +} diff --git a/messages/[es]/homepage.json b/messages/[es]/homepage.json new file mode 100644 index 0000000..0218eee --- /dev/null +++ b/messages/[es]/homepage.json @@ -0,0 +1,47 @@ +{ + "hero_title": "Crea aplicaciones React hermosas y de alto rendimiento con facilidad", + "hero_description": "Nuestra biblioteca de componentes ofrece a los desarrolladores elementos de interfaz personalizables y accesibles, optimizados para el ecosistema de React.", + "explore_components": "Explorar componentes", + "try_playground": "🎮 Probar el Playground", + "beautiful_components": "Componentes hermosos", + "ready_to_use": "Listo para usar en tus proyectos", + "features_title": "Optimizado para React", + "features_description": "Componentes ligeros y rápidos, diseñados específicamente para aplicaciones React.", + "themes_title": "Temas personalizados", + "themes_description": "Admite una personalización sencilla con temas claros, oscuros y personalizados.", + "apis_title": "APIs flexibles", + "apis_description": "Props simples e intuitivas que permiten un control total sobre tus componentes.", + "documentation_title": "Bien documentado", + "documentation_description": "Documentación completa y clara para facilitar tu experiencia de desarrollo.", + "featured_components": "Componentes destacados", + "simple_card_title": "Tarjeta simple", + "simple_card_description": "Tarjeta limpia y minimalista con soporte para acciones.", + "feature_card_title": "Tarjeta de función", + "feature_card_description": "Destaca las funciones de tu aplicación con estilo.", + "pricing_card_plan": "Pro", + "pricing_card_price": "$9/mes", + "pricing_card_features": [ + "10 proyectos", + "Soporte prioritario", + "Usuarios ilimitados" + ], + "data_card_title": "Proyectos activos", + "data_card_icon": "📂", + "data_card_trend": "8", + "getting_started": "Primeros pasos", + "getting_started_step_one_title": "Agregar el paquete", + "getting_started_step_one_description": "Instálalo con npm o yarn para una fácil integración.", + "getting_started_step_one_code": "npm install my-components-library", + "getting_started_step_2_title": "Importar componentes", + "getting_started_step_2_description": "Importa solo lo que necesites de la biblioteca para mantener los paquetes pequeños.", + "getting_started_step_two_code": "import '{ Button, Card }' from 'my-components-library';", + "getting_started_step_3_title": "Usar componentes", + "getting_started_step_3_description": "Aplica los componentes directamente con props fáciles de usar.", + "getting_started_step_3_code": "''", + "cta_title": "¿Listo para crear aplicaciones impresionantes?", + "cta_button": "Comienza a construir ahora", + "theme": { + "toggle_light": "Cambiar a modo claro", + "toggle_dark": "Cambiar a modo oscuro" + } +} diff --git a/messages/[es]/playground.json b/messages/[es]/playground.json new file mode 100644 index 0000000..1e09fc7 --- /dev/null +++ b/messages/[es]/playground.json @@ -0,0 +1,219 @@ +{ + "title": "Zona avanzada de componentes", + "subtitle": "¡Personaliza componentes en tiempo real y exporta código listo para producción!", + + "controls": { + "componentType": "Tipo de componente", + "variant": "Variante", + "previewMode": "Modo de vista previa", + "myFavorites": "Mis favoritos ({count})", + "customizationControls": "Controles de personalización", + "reset": "Restablecer", + "random": "Aleatorio", + "showFavorites": "Mostrar favoritos", + "hideFavorites": "Ocultar favoritos" + }, + + "componentTypes": { + "buttons": "Botones", + "cards": "Tarjetas", + "inputs": "Entradas" + }, + + "buttonVariants": { + "primary": "Botón principal", + "secondary": "Botón secundario", + "danger": "Botón de peligro", + "success": "Botón de éxito", + "ghost": "Botón fantasma", + "outline": "Botón con borde", + "rainbow": "Botón arcoíris" + }, + + "cardVariants": { + "simple": "Tarjeta simple", + "feature": "Tarjeta de función", + "pricing": "Tarjeta de precios", + "user": "Tarjeta de usuario", + "data": "Tarjeta de datos" + }, + + "inputVariants": { + "text": "Entrada de texto", + "select": "Menú desplegable", + "checkbox": "Casilla de verificación" + }, + + "buttonControls": { + "buttonText": "Texto del botón", + "buttonSize": "Tamaño del botón", + "sizes": { + "small": "Pequeño", + "medium": "Mediano", + "large": "Grande" + }, + "disabled": "Desactivado", + "loading": "Cargando", + "loadingText": "⏳ Cargando..." + }, + + "cardControls": { + "cardTitle": "Título de la tarjeta", + "cardDescription": "Descripción de la tarjeta", + "cardTitlePlaceholder": "Introduce el título de la tarjeta", + "cardDescriptionPlaceholder": "Introduce la descripción de la tarjeta" + }, + + "pricingControls": { + "planName": "Nombre del plan", + "price": "Precio", + "features": "Características (separadas por comas)", + "planPlaceholder": "por ejemplo, Pro", + "pricePlaceholder": "por ejemplo, $9/mes", + "featuresPlaceholder": "Característica 1, Característica 2, Característica 3" + }, + + "userCardControls": { + "userName": "Nombre del usuario", + "email": "Correo electrónico", + "role": "Rol", + "avatarUrl": "URL del avatar", + "userNamePlaceholder": "John Doe", + "emailPlaceholder": "john@example.com", + "rolePlaceholder": "Ingeniero de software", + "avatarPlaceholder": "https://i.pravatar.cc/150?img=1" + }, + + "dataCardControls": { + "dataTitle": "Título de datos", + "value": "Valor", + "icon": "Icono (Emoji)", + "trend": "Tendencia (%)", + "dataTitlePlaceholder": "Proyectos activos", + "valuePlaceholder": "27", + "iconPlaceholder": "📂", + "trendPlaceholder": "8" + }, + + "inputControls": { + "label": "Etiqueta", + "placeholder": "Texto del marcador de posición", + "errorMessage": "Mensaje de error (opcional)", + "required": "Requerido", + "labelPlaceholder": "Introduce la etiqueta del campo", + "placeholderPlaceholder": "Introduce el texto del marcador", + "errorPlaceholder": "Introduce el mensaje de error" + }, + + "codeSection": { + "generatedCode": "Código generado", + "show": "Mostrar", + "hide": "Ocultar", + "copyCode": "Copiar código", + "copied": "✅ ¡Copiado!", + "failedToCopy": "❌ Error al copiar", + "language": "React JSX" + }, + + "preview": { + "livePreview": "Vista previa en vivo", + "componentInfo": "Información del componente", + "type": "Tipo", + "variant": "Variante", + "interactive": "Interactivo", + "clickToTest": "Sí (Haz clic para probar)", + "displayOnly": "Solo mostrar", + "light": "Claro", + "dark": "Oscuro" + }, + + "favorites": { + "title": "Mis componentes favoritos ({count})", + "clearAll": "Borrar todo", + "noFavorites": "Aún no hay componentes favoritos", + "noFavoritesDesc": "Haz clic en el ícono del corazón en cualquier componente para agregarlo a tus favoritos", + "addFavorite": "Agregar a favoritos", + "removeFavorite": "Eliminar de favoritos", + "addedDate": "Añadido el {date}", + "componentSuffix": "Componente", + "addToFavorites": "Agregar a favoritos", + "removeFromFavorites": "Eliminar de favoritos" + }, + + "showcase": { + "allVariants": "Todas las variantes de {type}", + "clickToCustomize": "Haz clic para personalizar", + "preview": "Vista previa", + "sample": "Ejemplo" + }, + + "stats": { + "title": "Estadísticas del playground", + "buttonTypes": "Tipos de botones", + "cardTypes": "Tipos de tarjetas", + "inputTypes": "Tipos de entradas", + "favorites": "Favoritos" + }, + + "actions": { + "randomize": "Aleatorizar", + "reset": "Restablecer", + "copyCode": "Copiar código" + }, + + "defaultValues": { + "buttonText": "Haz clic aquí", + "cardTitle": "Tarjeta de ejemplo", + "cardDescription": "Esta es una descripción de ejemplo de una tarjeta", + "inputLabel": "Campo de ejemplo", + "inputPlaceholder": "Escribe algo aquí...", + "checkboxDescription": "Marca esta opción", + "selectOptions": { + "option1": "Opción 1", + "option2": "Opción 2", + "option3": "Opción 3" + } + }, + + "randomValues": { + "buttonTexts": ["Comenzar", "Aprender más", "Regístrate ahora", "Descargar", "Suscribirse", "Únete", "Prueba gratis", "Contáctanos"], + "cardTitles": ["Función increíble", "Servicio premium", "Nuevo producto", "Oferta especial", "Última actualización"], + "cardDescriptions": [ + "Descubre funciones increíbles que transformarán tu flujo de trabajo", + "Experimenta calidad premium con nuestros servicios profesionales", + "Presentamos nuestro último producto con tecnología de punta", + "Oferta por tiempo limitado con beneficios exclusivos para ti", + "Mantente actualizado con las últimas mejoras y características" + ], + "userNames": ["Alice Johnson", "Bob Smith", "Carol Davis", "David Wilson", "Emma Brown"], + "userRoles": ["Desarrollador frontend", "Ingeniero backend", "Diseñador UI/UX", "Gerente de producto", "Ingeniero DevOps"], + "dataTitles": ["Usuarios totales", "Ingresos", "Sesiones activas", "Tasa de conversión", "Tasa de crecimiento"], + "dataValues": ["1,234", "$45.6K", "89%", "12.5%", "+23%"], + "dataIcons": ["👥", "💰", "📊", "📈", "🚀"] + }, + + "pricing": { + "defaultPlan": "Pro", + "defaultPrice": "$9/mes", + "defaultFeatures": ["10 proyectos", "Soporte prioritario", "Usuarios ilimitados"] + }, + + "userData": { + "defaultName": "John Doe", + "defaultEmail": "john@example.com", + "defaultRole": "Ingeniero de software" + }, + + "dataCard": { + "defaultTitle": "Proyectos activos", + "defaultValue": "27", + "defaultIcon": "📂", + "defaultTrend": 8 + }, + + "messages": { + "codeCopied": "¡Código copiado al portapapeles!", + "copyFailed": "Error al copiar el código.", + "clickAlert": "¡{component} clicado!" + } +} diff --git a/messages/[fr]/about.json b/messages/[fr]/about.json new file mode 100644 index 0000000..af90d38 --- /dev/null +++ b/messages/[fr]/about.json @@ -0,0 +1,129 @@ +{ + "title": "À propos de MyLibrary", + "description": "MyLibrary est une bibliothèque de composants complète construite avec Next.js et Tailwind CSS, conçue pour fournir aux développeurs des composants UI réutilisables, accessibles et magnifiquement conçus. Notre objectif est d'accélérer les flux de travail de développement et de maintenir la cohérence du design dans les projets.", + "overview": { + "components": "20+ Composants", + "typescript": "Compatible TypeScript", + "performance": "Optimisé pour la performance" + }, + "mission": { + "title": "Notre Mission", + "description": "Donner aux développeurs une bibliothèque de composants robuste, flexible et belle qui réduit le temps de développement tout en maintenant des expériences utilisateur de haute qualité. Nous croyons en un développement web plus efficace et agréable." + }, + "vision": { + "title": "Notre Vision", + "description": "Devenir la bibliothèque de composants incontournable pour les développeurs React, en favorisant une communauté où l'innovation rencontre la praticité. Nous imaginons un monde où la création de belles interfaces utilisateur est accessible à tous les développeurs." + }, + "features": { + "title": "Pourquoi choisir MyLibrary ?", + "designSystem": { + "title": "Système de Design", + "description": "Tokens de design cohérents et système de thèmes pour des expériences utilisateur harmonieuses." + }, + "accessibility": { + "title": "Accessibilité d'abord", + "description": "Conforme aux directives WCAG 2.1 et support de la navigation au clavier." + }, + "performance": { + "title": "Performance", + "description": "Taille du bundle optimisée avec tree-shaking et dépendances minimales." + }, + "devExperience": { + "title": "Expérience Développeur", + "description": "Support TypeScript, documentation complète et excellente intégration IDE." + }, + "community": { + "title": "Porté par la Communauté", + "description": "Projet open source avec des contributions et des retours actifs de la communauté." + }, + "flexible": { + "title": "Flexible", + "description": "Composants personnalisables qui s'adaptent à vos besoins de design." + } + }, + "techStack": { + "title": "Technologies", + "nextjs": { + "title": "Next.js 14", + "description": "Framework React avec App Router" + }, + "react": { + "title": "React 18", + "description": "Architecture basée sur les composants" + }, + "tailwind": { + "title": "Tailwind CSS", + "description": "Styling utilitaire-first" + }, + "typescript": { + "title": "TypeScript", + "description": "Développement typé" + }, + "additionalTools": { + "title": "Outils Additionnels", + "eslint": "ESLint", + "prettier": "Prettier", + "lucide": "Lucide Icons", + "postcss": "PostCSS", + "git": "Git" + } + }, + "gettingStarted": { + "title": "🚀 Pour commencer", + "installation": { + "title": "Installation", + "description": "Installez la bibliothèque via npm ou copiez directement les composants prêts à l'emploi." + }, + "import": { + "title": "Importer", + "description": "Importez les composants dont vous avez besoin directement dans votre projet React et commencez à construire plus rapidement." + }, + "customize": { + "title": "Personnaliser", + "description": "Ajustez le design, les couleurs et le comportement facilement pour correspondre à votre propre système de design." + }, + "cta": "Voir les composants" + }, + "contributing": { + "title": "Contribuer", + "description": "Nous accueillons les contributions de la communauté ! Que vous corrigiez des bugs, ajoutiez de nouveaux composants ou amélioriez la documentation, votre aide rend MyLibrary meilleur pour tous.", + "submitIssues": { + "title": "Soumettre des problèmes", + "description": "Signalez des bugs ou demandez des fonctionnalités sur GitHub" + }, + "pullRequests": { + "title": "Créer des Pull Requests", + "description": "Contribuez à l'amélioration du code et à de nouvelles fonctionnalités" + }, + "documentation": { + "title": "Améliorer la documentation", + "description": "Aidez à rendre notre documentation plus claire et complète" + } + }, + "community": { + "title": "Communauté", + "description": "Rejoignez notre communauté croissante de développeurs qui créent des interfaces utilisateur incroyables avec MyLibrary.", + "githubStars": "Étoiles GitHub", + "contributors": "Contributeurs", + "downloads": "Téléchargements", + "builtWithLove": "Construit avec ❤️ par la communauté open source" + }, + "contributors": { + "title": "Nos Contributeurs", + "thankYou": "Merci à tous les développeurs incroyables qui ont contribué à améliorer cette bibliothèque de composants !", + "loading": "Chargement des contributeurs...", + "contributorsError": "Impossible de charger les contributeurs", + "avatarAlt": "Avatar de {login}", + "contributions": "{count} contribution{count, plural, one {} other {s}}", + "profile": "Profil", + "join": "Vous souhaitez rejoindre nos contributeurs ? Consultez notre ", + "githubRepo": "dépôt GitHub", + "getStarted": " pour commencer !" + }, + "license": { + "title": "Open Source & Gratuit", + "description": "MyLibrary est publié sous licence MIT, ce qui le rend gratuit pour une utilisation personnelle et commerciale.", + "github": "Voir sur GitHub", + "contact": "Contactez-nous" + } +} \ No newline at end of file diff --git a/messages/[fr]/analytics.json b/messages/[fr]/analytics.json new file mode 100644 index 0000000..97cf172 --- /dev/null +++ b/messages/[fr]/analytics.json @@ -0,0 +1,38 @@ +{ + "header": { + "title": "Tableau de bord des analyses de composants", + "description": "Suivez l’utilisation des composants, les performances et l’engagement des utilisateurs", + "export": "Exporter les données" + }, + "overview": { + "totalViews": "Vues totales", + "totalCopies": "Copies totales", + "componentsUsed": "Composants utilisés", + "sessionTime": "Durée de la session" + }, + "popular": { + "title": "Composants les plus populaires" + }, + "recent": { + "title": "Activité des 7 derniers jours", + "today": "Aujourd’hui" + }, + "performance": { + "title": "Aperçu des performances", + "avgViews": "Moyenne des vues par composant", + "copyRate": "Taux de copie", + "viewsWeek": "Vues cette semaine" + }, + "actions": { + "title": "Actions rapides", + "viewComponents": "Voir les composants", + "export": "Exporter les analyses", + "reset": "Réinitialiser les données" + }, + "modal": { + "title": "Réinitialiser les données d’analyse", + "message": "Cela supprimera définitivement toutes les données d’analyse, y compris les vues, les copies et les informations de session. Cette action est irréversible.", + "confirm": "Réinitialiser les données", + "cancel": "Annuler" + } +} diff --git a/messages/[fr]/common.json b/messages/[fr]/common.json new file mode 100644 index 0000000..7c7e7db --- /dev/null +++ b/messages/[fr]/common.json @@ -0,0 +1,31 @@ + +{ + "navigation": { + "home": "Accueil", + "about": "À propos", + "contact": "Contact", + "components": "Composants", + "playground": "🎮 Bac à sable", + "analytics": "Analytique", + "feedback": "Retour d'information", + "game": "🎮 Jeu", + "racing game": "🏁 Jeu de courses", + "fun": "Amusement" + }, + "footer": { + "brand": "MaBibliothèque", + "subtitle": "Bibliothèque de composants", + "description": "Une bibliothèque de composants open-source Next.js + Tailwind CSS avec des composants d'interface utilisateur prêts à l'emploi. Parfaite pour les développeurs souhaitant apprendre, pratiquer et contribuer pendant le Hacktoberfest et au-delà.", + "followUs": "Suivez-nous", + "social": { + "github": "GitHub", + "linkedin": "LinkedIn", + "twitter": "Twitter", + "discord": "Discord", + "youtube": "YouTube" + }, + "madeWith": "Fait avec", + "hacktoberfest": "pour le Hacktoberfest", + "copyright": "Bibliothèque de composants MaBibliothèque. Tous droits réservés." + } +} \ No newline at end of file diff --git a/messages/[fr]/comps.json b/messages/[fr]/comps.json new file mode 100644 index 0000000..4bd5097 --- /dev/null +++ b/messages/[fr]/comps.json @@ -0,0 +1,350 @@ +{ + "hero": { + "title": "Terrain de jeu UI React", + "description": "Démonstration de composants beaux, modernes et réactifs – chaque section ci-dessous est stylisée pour la clarté, la vibrance et l'accessibilité." + }, + "search": { + "placeholder": "Rechercher des composants (boutons, cartes, principal, etc.)", + "results": "Trouvé {count} composant{count, plural, one {} other {s}}{search, select, '' {} other { correspondant à \"{search}\"}}{filter, select, all {} other { dans {filter}}}", + "noResults": "Aucun composant trouvé" + }, + "filter": { + "all": "Tous les composants", + "buttons": "Boutons", + "backgrounds": "Arrière-plans", + "cards": "Cartes", + "inputs": "Entrées", + "navigation": "Navigation", + "badges": "Badges" + }, + "selectOptions": { + "option1": "Option 1", + "option2": "Option 2", + "option3": "Option 3" + }, + "tabs": { + "dashboard": "Tableau de bord", + "dashboardContent": "Le contenu du tableau de bord va ici...", + "analytics": "Analyse", + "analyticsContent": "Le contenu des analyses va ici...", + "settings": "Paramètres", + "settingsContent": "Le contenu des paramètres va ici..." + }, + "breadcrumb": { + "home": "Accueil", + "components": "Composants", + "navigation": "Navigation", + "breadcrumb": "Fil d'Ariane" + }, + "buttons": { + "primary": { + "name": "Bouton principal", + "label": "Principal", + "keywords": ["principal", "principal", "action", "cta"], + "desc": "Utilisé pour les actions principales" + }, + "gradient": { + "name": "Bouton dégradé", + "label": "Dégradé", + "keywords": ["dégradé", "coloré", "vibrant", "cta"], + "desc": "Bouton dégradé vibrant avec mise à l'échelle au survol et indicateur de chargement" + }, + "neon": { + "name": "Bouton Néon", + "label": "Néon", + "keywords": ["néon", "lueur", "vif", "futuriste"], + "desc": "Bouton futuriste lumineux avec indicateur de chargement et mise à l'échelle au survol" + }, + "secondary": { + "name": "Bouton secondaire", + "label": "Secondaire", + "keywords": ["secondaire", "alternatif"], + "desc": "Utilisé pour les actions secondaires" + }, + "ghost": { + "name": "Bouton Ghost", + "label": "Ghost", + "keywords": ["ghost", "transparent", "subtil"], + "desc": "Utilisé pour des actions minimales" + }, + "outline": { + "name": "Bouton Outline", + "label": "Outline", + "keywords": ["outline", "bordure", "contour"], + "desc": "Utilisé pour donner un contour" + }, + "danger": { + "name": "Bouton Danger", + "label": "Danger", + "keywords": ["danger", "erreur", "supprimer", "avertissement", "rouge"], + "desc": "Utilisé pour des actions destructrices" + }, + "success": { + "name": "Bouton de succès", + "label": "Succès", + "keywords": ["succès", "confirmer", "terminé", "vert"], + "desc": "Utilisé pour les actions de succès" + }, + "icon": { + "name": "Bouton icône", + "label": "Icône", + "keywords": ["icône", "étoile", "symbole"], + "desc": "Utilisé pour des icônes" + }, + "rainbow": { + "name": "Bouton Arc-en-ciel", + "label": "Arc-en-ciel", + "keywords": ["arc-en-ciel", "action", "coloré"], + "desc": "Utilisé pour des appels à l'action" + }, + "glass": { + "name": "Bouton en verre", + "label": "Bouton", + "keywords": ["verre", "cta", "action"], + "desc": "Utilisé pour toute action" + } + }, + "cards": { + "simple": { + "name": "Carte simple", + "title": "Carte simple", + "description": "Une carte minimale avec des actions.", + "keywords": ["simple", "de base", "minimal"] + }, + "smart": { + "name": "Carte intelligente", + "title": "Carte intelligente", + "description": "Une carte moderne avec fond dégradé, effets au survol et pied de page optionnel.", + "footer": "Action", + "keywords": ["intelligent", "dégradé", "carte", "survol", "pied de page", "image"] + }, + "image": { + "name": "Carte d'image", + "title": "Carte d'image", + "description": "Carte avec image SVG.", + "keywords": ["image", "photo", "visuel"] + }, + "feature": { + "name": "Carte de fonctionnalités", + "title": "Carte de fonctionnalités", + "description": "Mettez en valeur les caractéristiques et avantages.", + "keywords": ["fonctionnalité", "mettre en valeur", "avantage"] + }, + "pricing": { + "name": "Carte de prix", + "plan": "Pro", + "price": "$9/mois", + "features": ["10 projets", "Support prioritaire", "Utilisateurs illimités"], + "keywords": ["tarification", "plan", "abonnement", "prix"] + }, + "data": { + "name": "Carte de données", + "title": "Projets actifs", + "keywords": ["données", "statistiques", "analyses", "métriques"] + } + }, + "utility": { + "alert": { + "name": "MinimalAlert", + "keywords": ["alerte", "popup"] + }, + "loaders": { + "name": "Chargeurs", + "simple": "Chargeur simple", + "dual": "Chargeur double", + "dots": "Chargeur de points", + "bar": "Chargeur en barre", + "keywords": ["spinner", "chargeur", "chargement"] + }, + "tooltips": { + "name": "Info-bulles", + "simple": "Info-bulle simple", + "animated": "Info-bulle animée", + "refreshText": "Cliquez pour actualiser", + "deleteText": "Supprimer l'élément", + "keywords": ["info-bulle", "popup"] + } + }, + "inputs": { + "text": { + "name": "Entrée de texte", + "label": "Entrée d'exemple", + "placeholder": "Entrez du texte", + "keywords": ["texte", "entrée", "champ", "formulaire"] + }, + "password": { + "name": "Entrée de mot de passe", + "placeholder": "Entrez le mot de passe", + "keywords": ["mot de passe", "entrée", "champ", "formulaire", "afficher", "masquer"], + "label": "Mot de passe", + "error": "Mot de passe invalide" + }, + "select": { + "name": "Sélectionner", + "label": "Sélectionner un exemple", + "keywords": ["sélectionner", "menu déroulant", "options", "choix"] + }, + "checkbox": { + "name": "Case à cocher", + "label": "Case à cocher exemple", + "description": "Cochez cette option", + "keywords": ["case à cocher", "vérifier", "toggle", "booléen"] + }, + "loginForm": { + "name": "Formulaire de connexion", + "keywords": ["connexion", "formulaire", "authentification", "se connecter", "auth", "email", "mot de passe"], + "desc": "Formulaire de connexion complet avec validation et options de connexion sociale" + }, + "calendar": { + "name": "Calendrier", + "keywords": ["calendrier", "date", "planification", "mois", "événements"], + "desc": "Calendrier réactif et accessible avec vue mensuelle et indicateurs d'événements" + }, + "emailAddress": { + "label": "Adresse e-mail", + "placeholder": "Entrez votre email", + "helperText": "Nous ne partagerons jamais votre e-mail.", + "required": "Requis" + }, + "chooseOption": { + "label": "Choisir une option" + }, + "termsConditions": { + "label": "Accepter les conditions", + "description": "Vous devez accepter les conditions générales" + }, + "disabledOption": { + "label": "Option désactivée", + "description": "Cette option est désactivée" + } + }, + "backgrounds": { + "interactiveTiles": { + "name": "Carreaux interactifs", + "keywords": ["interactif", "carreaux", "arrière-plans", "grille"], + "desc": "Arrière-plan avec carreaux interactifs" + } + }, + "navigation": { + "breadcrumb": { + "name": "Fil d'Ariane", + "keywords": ["fil d'ariane", "navigation", "chemin", "hiérarchie"] + }, + "tabs": { + "name": "Onglets", + "keywords": ["onglets", "navigation", "commutateur", "basculer"] + }, + "pagination": { + "name": "Pagination", + "keywords": ["pagination", "pages", "navigation", "pagination"] + } + }, + "badges": { + "badge": { + "name": "Badge", + "primary": "Primaire", + "success": "Succès", + "warning": "Avertissement", + "danger": "Danger", + "closable": "Fermable", + "withIcon": "Avec icône", + "notifications": "Notifications", + "keywords": ["badge", "étiquette", "statut", "indicateur"], + "desc": "Utilisé pour les indicateurs de statut et les étiquettes" + }, + "chip": { + "name": "Puce", + "primary": "Puce principale", + "success": "Succès", + "warning": "Avertissement", + "danger": "Danger", + "closable": "Fermable", + "withIcon": "Avec icône", + "keywords": ["puce", "étiquette", "filtre", "catégorie"], + "desc": "Utilisé pour les filtres, les catégories et les étiquettes amovibles" + } + }, + "sections": { + "buttons": "Boutons", + "cards": "Cartes", + "inputs": "Entrées", + "backgrounds": "Arrière-plans", + "utility": "Utilitaires", + "navigation": "Navigation", + "badges": "Badges", + "avatars": "Avatars", + "accordion": "Accordéon", + "feedback": "Retour", + "formHelper": "Aide au formulaire" + }, + "avatars": { + "group": "Groupe d'avatars" + }, + "feedback": { + "success": "Message de retour de succès", + "error": "Message de retour d'erreur", + "warning": "Message de retour d'avertissement", + "info": "Message de retour d'information" + }, + "formHelper": { + "datePicker": { + "title": "Sélecteur de date", + "label": "Choisir une date" + }, + "slider": { + "title": "Curseur" + }, + "fileUpload": { + "title": "Téléchargement de fichier" + }, + "formValidation": { + "title": "Validation de formulaire" + }, + "loginForm": { + "title": "Formulaire de connexion" + }, + "signupPage": { + "title": "Page d'inscription" + }, + "otpVerification": { + "title": "Vérification OTP", + "tryCode": "Essayez le code 123456" + } + }, + "accordion": { + "basic": { + "title": "Accordéon de base", + "items": [ + { "title": "Section 1", "content": "Contenu de la section 1" }, + { "title": "Section 2", "content": "Contenu de la section 2" }, + { "title": "Section 3", "content": "Contenu de la section 3" }, + { "title": "Section 4", "content": "Contenu de la section 4" } + ] + }, + "multiple": { + "title": "Accordéon à ouvertures multiples", + "items": [ + { "title": "Section 1", "content": "Contenu de la section 1" }, + { "title": "Section 2", "content": "Contenu de la section 2" }, + { "title": "Section 3", "content": "Contenu de la section 3" }, + { "title": "Section 4", "content": "Contenu de la section 4" } + ] + }, + "minimal": { + "title": "Accordéon minimal", + "items": [ + { "title": "Section 1", "content": "Contenu de la section 1" }, + { "title": "Section 2", "content": "Contenu de la section 2" }, + { "title": "Section 3", "content": "Contenu de la section 3" } + ] + }, + "alwaysOpen": { + "title": "Accordéon toujours ouvert", + "items": [ + { "title": "Section 1", "content": "Contenu de la section 1" }, + { "title": "Section 2", "content": "Contenu de la section 2" } + ] + } + } +} + diff --git a/messages/[fr]/contact.json b/messages/[fr]/contact.json new file mode 100644 index 0000000..28d67c5 --- /dev/null +++ b/messages/[fr]/contact.json @@ -0,0 +1,78 @@ +{ + "header": { + "title": "Contactez-nous", + "description": "Des questions sur notre bibliothèque de composants ? Vous souhaitez contribuer ou signaler un bug ? Nous serions ravis de vous entendre !" + }, + "form": { + "title": "Envoyez-nous un message", + "success": "Merci pour votre message ! Nous vous répondrons bientôt.", + "error": "Désolé, une erreur s'est produite lors de l'envoi de votre message. Veuillez réessayer.", + "sending": "Envoi...", + "send": "Envoyer le message", + "fields": { + "name": { + "label": "Nom complet *", + "placeholder": "Entrez votre nom complet" + }, + "email": { + "label": "Adresse e-mail *", + "placeholder": "your.email@example.com" + }, + "subject": { + "label": "Sujet *", + "placeholder": "Sélectionnez un sujet", + "options": { + "bugReport": "Rapport de bug", + "featureRequest": "Demande de fonctionnalité", + "documentation": "Documentation", + "contribution": "Contribution", + "support": "Support général", + "other": "Autre" + } + }, + "message": { + "label": "Message *", + "placeholder": "Dites-nous comment nous pouvons vous aider..." + } + } + }, + "errors": { + "nameRequired": "Le nom est requis", + "emailRequired": "L'e-mail est requis", + "emailInvalid": "Veuillez entrer une adresse e-mail valide", + "subjectRequired": "Le sujet est requis", + "messageRequired": "Le message est requis", + "messageLength": "Le message doit contenir au moins 10 caractères" + }, + "info": { + "title": "Informations de contact", + "email": { + "title": "E-mail" + }, + "github": { + "title": "GitHub" + }, + "linktree": { + "title": "Linktree", + "description": "Consultez notre Linktree pour tous nos liens sociaux :" + } + }, + "social": { + "title": "Suivez-nous" + }, + "faq": { + "title": "Questions fréquemment posées", + "q1": { + "title": "Comment puis-je contribuer à la bibliothèque ?", + "description": "Consultez notre fichier CONTRIBUTING.md pour les directives sur la contribution de composants, le signalement de bugs ou la suggestion d'améliorations." + }, + "q2": { + "title": "Cette bibliothèque est-elle gratuite ?", + "description": "Oui ! Cette bibliothèque de composants est open source et gratuite pour une utilisation personnelle et commerciale." + }, + "q3": { + "title": "Comment signaler un bug ?", + "description": "Vous pouvez signaler des bugs via notre page GitHub issues ou en utilisant le formulaire de contact ci-dessus avec \"Rapport de bug\" comme sujet." + } + } +} diff --git a/messages/[fr]/feedback.json b/messages/[fr]/feedback.json new file mode 100644 index 0000000..32b89db --- /dev/null +++ b/messages/[fr]/feedback.json @@ -0,0 +1,86 @@ +{ + "header": { + "title": "Nous apprécions vos retours", + "description": "Aidez-nous à améliorer MyLibrary en partageant vos réflexions, en signalant des bugs ou en suggérant de nouvelles fonctionnalités." + }, + "alert": { + "success": { + "title": "Merci !", + "message": "Votre retour a été soumis avec succès. Nous l'examinerons bientôt." + }, + "error": { + "title": "Erreur", + "message": "Veuillez remplir tous les champs obligatoires avant de soumettre." + } + }, + "form": { + "title": "Partagez vos retours", + "categoryLabel": "Catégorie de retour *", + "ratingLabel": "Note générale", + "emailLabel": "Email (facultatif)", + "emailPlaceholder": "votre.email@exemple.com", + "emailHelper": "Nous l'utiliserons uniquement pour un suivi de vos retours", + "feedbackLabel": "Votre retour *", + "feedbackPlaceholder": "Parlez-nous de votre expérience, signalez un bug ou suggérez des améliorations...", + "submit": "Soumettre les retours", + "clear": "Effacer le formulaire" + }, + "category": { + "bug": "Signalement de bug", + "feature": "Demande de fonctionnalité", + "improvement": "Suggestion d'amélioration", + "general": "Retour général" + }, + "rating": { + "5": "⭐⭐⭐⭐⭐ Excellent", + "4": "⭐⭐⭐⭐ Bon", + "3": "⭐⭐⭐ Moyen", + "2": "⭐⭐ Pauvre", + "1": "⭐ Très pauvre" + }, + "sidebar": { + "stats": { + "title": "Statistiques de la communauté", + "totalComponents": "Composants totaux", + "githubStars": "Étoiles GitHub", + "contributors": "Contributeurs", + "issuesResolved": "Problèmes résolus" + }, + "progress": { + "title": "Progrès du développement", + "buttons": "Composants de boutons", + "cards": "Composants de cartes", + "forms": "Composants de formulaires", + "navigation": "Navigation" + }, + "contact": { + "title": "Autres façons de nous contacter", + "email": "📧 Support par email", + "discord": "💬 Communauté Discord", + "github": "🐙 Problèmes GitHub" + } + }, + "recent": { + "title": "Retours récents de la communauté", + "items": [ + { + "name": "Alex", + "time": "Il y a 2 jours", + "category": "Fonctionnalité", + "feedback": "J'adore les nouvelles variantes de boutons ! Pouvons-nous avoir un état de chargement pour les boutons ?" + }, + { + "name": "Sarah", + "time": "Il y a 1 semaine", + "category": "Bug", + "feedback": "Problème d'espacement du composant carte sur les appareils mobiles. Résolu dans la dernière mise à jour !" + }, + { + "name": "Mike", + "time": "Il y a 2 semaines", + "category": "Général", + "feedback": "Excellente documentation et exemples. L'intégration devient super facile !" + } + ] + } +} diff --git a/messages/[fr]/homepage.json b/messages/[fr]/homepage.json index cef5105..a2ab394 100644 --- a/messages/[fr]/homepage.json +++ b/messages/[fr]/homepage.json @@ -1,39 +1,47 @@ - { - "hero_title": "Créez des applications React belles et performantes facilement", - "hero_description": "Notre bibliothèque de composants permet aux développeurs de disposer d'éléments d'interface personnalisables et accessibles optimisés pour les écosystèmes React.", - "explore_components": "Explorer les composants", - "try_playground": "🎮 Essayer le bac à sable", - "beautiful_components": "Composants magnifiques", - "ready_to_use": "Prêt à l'emploi dans vos projets", - "features_title": "Optimisé pour React", - "features_description": "Composants légers et rapides, conçus spécifiquement pour les applications React.", - "themes_title": "Thèmes personnalisés", - "themes_description": "Prend en charge une personnalisation sans effort avec des thèmes clairs, sombres et personnalisés.", - "apis_title": "APIs flexibles", - "apis_description": "Props simples et intuitifs permettant un contrôle total sur vos composants.", - "documentation_title": "Bien documenté", - "documentation_description": "Documentation complète et claire pour faciliter votre expérience de développement.", - "featured_components": "Composants vedettes", - "simple_card_title": "Carte simple", - "simple_card_description": "Carte épurée et minimaliste avec prise en charge des actions.", - "feature_card_title": "Carte de fonctionnalités", - "feature_card_description": "Mettez en valeur les fonctionnalités de votre application avec style.", - "pricing_card_plan": "Pro", - "pricing_card_price": "$9/mois", - "pricing_card_features": ["10 projets", "Support prioritaire", "Utilisateurs illimités"], - "data_card_title": "Projets actifs", - "data_card_icon": "📂", - "data_card_trend": 8, - "getting_started": "Premiers pas", - "getting_started_step_1_title": "Ajouter le paquet", - "getting_started_step_1_description": "Installez avec npm ou yarn pour une intégration facile.", - "getting_started_step_1_code": "npm install my-components-library", - "getting_started_step_2_title": "Importer des composants", - "getting_started_step_2_description": "Importez uniquement ce dont vous avez besoin depuis la bibliothèque pour garder les bundles légers.", - "getting_started_step_2_code": "import { Button, Card } from 'my-components-library';", - "getting_started_step_3_title": "Utiliser des composants", - "getting_started_step_3_description": "Appliquez directement les composants avec des props faciles à utiliser.", - "getting_started_step_3_code": "", - "cta_title": "Prêt à créer des applications époustouflantes ?", - "cta_button": "Commencer à construire maintenant" - } \ No newline at end of file +{ + "hero_title": "Créez de magnifiques applications React performantes en toute simplicité", + "hero_description": "Notre bibliothèque de composants permet aux développeurs d’utiliser des éléments d’interface personnalisables et accessibles, optimisés pour l’écosystème React.", + "explore_components": "Explorer les composants", + "try_playground": "🎮 Essayer le terrain de jeu", + "beautiful_components": "Beaux composants", + "ready_to_use": "Prêt à être utilisé dans vos projets", + "features_title": "Optimisé pour React", + "features_description": "Des composants légers et rapides, conçus spécifiquement pour les applications React.", + "themes_title": "Thèmes personnalisés", + "themes_description": "Prend en charge une personnalisation facile avec des thèmes clairs, sombres et personnalisés.", + "apis_title": "API flexibles", + "apis_description": "Des props simples et intuitives offrant un contrôle total sur vos composants.", + "documentation_title": "Bien documenté", + "documentation_description": "Une documentation complète et claire pour faciliter votre expérience de développement.", + "featured_components": "Composants mis en avant", + "simple_card_title": "Carte simple", + "simple_card_description": "Carte propre et minimaliste avec support d’action.", + "feature_card_title": "Carte de fonctionnalité", + "feature_card_description": "Mettez en valeur les fonctionnalités de votre application avec style.", + "pricing_card_plan": "Pro", + "pricing_card_price": "9 $/mois", + "pricing_card_features": [ + "10 projets", + "Support prioritaire", + "Utilisateurs illimités" + ], + "data_card_title": "Projets actifs", + "data_card_icon": "📂", + "data_card_trend": "8", + "getting_started": "Bien démarrer", + "getting_started_step_one_title": "Ajouter le package", + "getting_started_step_one_description": "Installez-le avec npm ou yarn pour une intégration facile.", + "getting_started_step_one_code": "npm install my-components-library", + "getting_started_step_2_title": "Importer les composants", + "getting_started_step_2_description": "Importez uniquement ce dont vous avez besoin pour garder des bundles légers.", + "getting_started_step_two_code": "import '{ Button, Card }' from 'my-components-library';", + "getting_started_step_3_title": "Utiliser les composants", + "getting_started_step_3_description": "Appliquez directement les composants avec des props simples à utiliser.", + "getting_started_step_3_code": "''", + "cta_title": "Prêt à créer des applications époustouflantes ?", + "cta_button": "Commencer maintenant", + "theme": { + "toggle_light": "Passer au mode clair", + "toggle_dark": "Passer au mode sombre" + } +} diff --git a/messages/[fr]/playground.json b/messages/[fr]/playground.json new file mode 100644 index 0000000..bf9b720 --- /dev/null +++ b/messages/[fr]/playground.json @@ -0,0 +1,219 @@ +{ + "title": "Aire de jeu avancée des composants", + "subtitle": "Personnalisez les composants en temps réel et exportez du code prêt pour la production !", + + "controls": { + "componentType": "Type de composant", + "variant": "Variante", + "previewMode": "Mode d’aperçu", + "myFavorites": "Mes favoris ({count})", + "customizationControls": "Contrôles de personnalisation", + "reset": "Réinitialiser", + "random": "Aléatoire", + "showFavorites": "Afficher les favoris", + "hideFavorites": "Masquer les favoris" + }, + + "componentTypes": { + "buttons": "Boutons", + "cards": "Cartes", + "inputs": "Champs de saisie" + }, + + "buttonVariants": { + "primary": "Bouton principal", + "secondary": "Bouton secondaire", + "danger": "Bouton de danger", + "success": "Bouton de succès", + "ghost": "Bouton fantôme", + "outline": "Bouton contour", + "rainbow": "Bouton arc-en-ciel" + }, + + "cardVariants": { + "simple": "Carte simple", + "feature": "Carte de fonctionnalité", + "pricing": "Carte de tarification", + "user": "Carte utilisateur", + "data": "Carte de données" + }, + + "inputVariants": { + "text": "Champ de texte", + "select": "Menu déroulant", + "checkbox": "Case à cocher" + }, + + "buttonControls": { + "buttonText": "Texte du bouton", + "buttonSize": "Taille du bouton", + "sizes": { + "small": "Petit", + "medium": "Moyen", + "large": "Grand" + }, + "disabled": "Désactivé", + "loading": "Chargement", + "loadingText": "⏳ Chargement..." + }, + + "cardControls": { + "cardTitle": "Titre de la carte", + "cardDescription": "Description de la carte", + "cardTitlePlaceholder": "Entrez le titre de la carte", + "cardDescriptionPlaceholder": "Entrez la description de la carte" + }, + + "pricingControls": { + "planName": "Nom du plan", + "price": "Prix", + "features": "Fonctionnalités (séparées par des virgules)", + "planPlaceholder": "ex : Pro", + "pricePlaceholder": "ex : 9€/mois", + "featuresPlaceholder": "Fonction 1, Fonction 2, Fonction 3" + }, + + "userCardControls": { + "userName": "Nom de l’utilisateur", + "email": "E-mail", + "role": "Rôle", + "avatarUrl": "URL de l’avatar", + "userNamePlaceholder": "John Doe", + "emailPlaceholder": "john@example.com", + "rolePlaceholder": "Ingénieur logiciel", + "avatarPlaceholder": "https://i.pravatar.cc/150?img=1" + }, + + "dataCardControls": { + "dataTitle": "Titre des données", + "value": "Valeur", + "icon": "Icône (Émoji)", + "trend": "Tendance (%)", + "dataTitlePlaceholder": "Projets actifs", + "valuePlaceholder": "27", + "iconPlaceholder": "📂", + "trendPlaceholder": "8" + }, + + "inputControls": { + "label": "Étiquette", + "placeholder": "Texte de l’espace réservé", + "errorMessage": "Message d’erreur (optionnel)", + "required": "Obligatoire", + "labelPlaceholder": "Entrez l’étiquette du champ", + "placeholderPlaceholder": "Entrez le texte de l’espace réservé", + "errorPlaceholder": "Entrez le message d’erreur" + }, + + "codeSection": { + "generatedCode": "Code généré", + "show": "Afficher", + "hide": "Masquer", + "copyCode": "Copier le code", + "copied": "✅ Copié !", + "failedToCopy": "❌ Échec de la copie", + "language": "React JSX" + }, + + "preview": { + "livePreview": "Aperçu en direct", + "componentInfo": "Informations sur le composant", + "type": "Type", + "variant": "Variante", + "interactive": "Interactif", + "clickToTest": "Oui (Cliquez pour tester)", + "displayOnly": "Affichage uniquement", + "light": "Clair", + "dark": "Sombre" + }, + + "favorites": { + "title": "Mes composants favoris ({count})", + "clearAll": "Tout effacer", + "noFavorites": "Aucun composant favori pour le moment", + "noFavoritesDesc": "Cliquez sur l’icône de cœur d’un composant pour l’ajouter à vos favoris", + "addFavorite": "Ajouter aux favoris", + "removeFavorite": "Supprimer des favoris", + "addedDate": "Ajouté le {date}", + "componentSuffix": "Composant", + "addToFavorites": "Ajouter aux favoris", + "removeFromFavorites": "Retirer des favoris" + }, + + "showcase": { + "allVariants": "Toutes les variantes de {type}", + "clickToCustomize": "Cliquez pour personnaliser", + "preview": "Aperçu", + "sample": "Exemple" + }, + + "stats": { + "title": "Statistiques de l’aire de jeu", + "buttonTypes": "Types de boutons", + "cardTypes": "Types de cartes", + "inputTypes": "Types de champs de saisie", + "favorites": "Favoris" + }, + + "actions": { + "randomize": "Aléatoire", + "reset": "Réinitialiser", + "copyCode": "Copier le code" + }, + + "defaultValues": { + "buttonText": "Cliquez-moi", + "cardTitle": "Carte d’exemple", + "cardDescription": "Ceci est une description d’exemple de carte", + "inputLabel": "Champ d’exemple", + "inputPlaceholder": "Entrez du texte ici...", + "checkboxDescription": "Cochez cette option", + "selectOptions": { + "option1": "Option 1", + "option2": "Option 2", + "option3": "Option 3" + } + }, + + "randomValues": { + "buttonTexts": ["Commencer", "En savoir plus", "Inscrivez-vous maintenant", "Télécharger", "S’abonner", "Rejoignez-nous", "Essai gratuit", "Contactez-nous"], + "cardTitles": ["Fonctionnalité incroyable", "Service premium", "Nouveau produit", "Offre spéciale", "Dernière mise à jour"], + "cardDescriptions": [ + "Découvrez des fonctionnalités incroyables qui transformeront votre flux de travail", + "Profitez d’une qualité premium grâce à nos services professionnels", + "Découvrez notre dernier produit avec une technologie de pointe", + "Offre à durée limitée avec des avantages exclusifs pour vous", + "Restez à jour avec les dernières améliorations et fonctionnalités" + ], + "userNames": ["Alice Johnson", "Bob Smith", "Carol Davis", "David Wilson", "Emma Brown"], + "userRoles": ["Développeur frontend", "Ingénieur backend", "Designer UI/UX", "Chef de produit", "Ingénieur DevOps"], + "dataTitles": ["Utilisateurs totaux", "Revenus", "Sessions actives", "Taux de conversion", "Taux de croissance"], + "dataValues": ["1 234", "45,6 K€", "89%", "12,5%", "+23%"], + "dataIcons": ["👥", "💰", "📊", "📈", "🚀"] + }, + + "pricing": { + "defaultPlan": "Pro", + "defaultPrice": "9€/mois", + "defaultFeatures": ["10 projets", "Support prioritaire", "Utilisateurs illimités"] + }, + + "userData": { + "defaultName": "John Doe", + "defaultEmail": "john@example.com", + "defaultRole": "Ingénieur logiciel" + }, + + "dataCard": { + "defaultTitle": "Projets actifs", + "defaultValue": "27", + "defaultIcon": "📂", + "defaultTrend": 8 + }, + + "messages": { + "codeCopied": "Code copié dans le presse-papiers !", + "copyFailed": "Échec de la copie du code.", + "clickAlert": "{component} cliqué !" + } +} diff --git a/messages/[hi]/about.json b/messages/[hi]/about.json new file mode 100644 index 0000000..f08b644 --- /dev/null +++ b/messages/[hi]/about.json @@ -0,0 +1,129 @@ +{ + "title": "MyLibrary के बारे में", + "description": "MyLibrary एक व्यापक कंपोनेंट लाइब्रेरी है जो Next.js और Tailwind CSS के साथ बनाई गई है, जिसे डेवलपर्स को पुन: प्रयोज्य, सुलभ और सुंदर UI कंपोनेंट्स प्रदान करने के लिए डिज़ाइन किया गया है। हमारा लक्ष्य विकास वर्कफ़्लो को तेज़ करना और परियोजनाओं में डिज़ाइन की स्थिरता बनाए रखना है।", + "overview": { + "components": "20+ कंपोनेंट्स", + "typescript": "TypeScript तैयार", + "performance": "प्रदर्शन के लिए अनुकूलित" + }, + "mission": { + "title": "हमारा मिशन", + "description": "डेवलपर्स को एक मजबूत, लचीली और सुंदर कंपोनेंट लाइब्रेरी के साथ सशक्त बनाना जो विकास समय को कम करे और उच्च गुणवत्ता वाले उपयोगकर्ता अनुभव बनाए रखे। हम वेब विकास को अधिक कुशल और आनंददायक बनाने में विश्वास करते हैं।" + }, + "vision": { + "title": "हमारी दृष्टि", + "description": "React डेवलपर्स के लिए प्रमुख कंपोनेंट लाइब्रेरी बनना, एक समुदाय को बढ़ावा देना जहाँ नवाचार व्यावहारिकता से मिलता है। हम एक ऐसी दुनिया की कल्पना करते हैं जहाँ सुंदर UI बनाना सभी स्तरों के डेवलपर्स के लिए सुलभ हो।" + }, + "features": { + "title": "MyLibrary क्यों चुनें?", + "designSystem": { + "title": "डिज़ाइन सिस्टम", + "description": "सुसंगत डिज़ाइन टोकन और थीमिंग सिस्टम एकजुट उपयोगकर्ता अनुभव के लिए।" + }, + "accessibility": { + "title": "पहले पहुँच", + "description": "WCAG 2.1 दिशानिर्देशों और कीबोर्ड नेविगेशन समर्थन के साथ बनाया गया।" + }, + "performance": { + "title": "प्रदर्शन", + "description": "ट्री-शेकिंग और न्यूनतम निर्भरताओं के साथ अनुकूलित बंडल आकार।" + }, + "devExperience": { + "title": "डेवलपर अनुभव", + "description": "TypeScript समर्थन, व्यापक दस्तावेज़ीकरण, और उत्कृष्ट IDE एकीकरण।" + }, + "community": { + "title": "समुदाय द्वारा संचालित", + "description": "सक्रिय समुदाय योगदान और प्रतिक्रिया के साथ ओपन सोर्स प्रोजेक्ट।" + }, + "flexible": { + "title": "लचीला", + "description": "अनुकूलन योग्य कंपोनेंट्स जो आपके डिज़ाइन आवश्यकताओं के अनुसार ढल जाते हैं।" + } + }, + "techStack": { + "title": "टेक स्टैक", + "nextjs": { + "title": "Next.js 14", + "description": "React फ्रेमवर्क App Router के साथ" + }, + "react": { + "title": "React 18", + "description": "कंपोनेंट-आधारित आर्किटेक्चर" + }, + "tailwind": { + "title": "Tailwind CSS", + "description": "यूटिलिटी-फर्स्ट स्टाइलिंग" + }, + "typescript": { + "title": "TypeScript", + "description": "टाइप-सुरक्षित विकास" + }, + "additionalTools": { + "title": "अतिरिक्त उपकरण", + "eslint": "ESLint", + "prettier": "Prettier", + "lucide": "Lucide Icons", + "postcss": "PostCSS", + "git": "Git" + } + }, + "gettingStarted": { + "title": "🚀 शुरुआत करें", + "installation": { + "title": "इंस्टॉलेशन", + "description": "npm के माध्यम से लाइब्रेरी इंस्टॉल करें या सीधे तैयार कंपोनेंट्स कॉपी करें।" + }, + "import": { + "title": "इम्पोर्ट", + "description": "आवश्यक कंपोनेंट्स को सीधे अपने React प्रोजेक्ट में इम्पोर्ट करें और तेजी से निर्माण शुरू करें।" + }, + "customize": { + "title": "कस्टमाइज़ करें", + "description": "डिज़ाइन, रंग और व्यवहार को आसानी से अपने डिज़ाइन सिस्टम के अनुसार बदलें।" + }, + "cta": "कंपोनेंट्स देखें" + }, + "contributing": { + "title": "योगदान", + "description": "हम समुदाय से योगदान का स्वागत करते हैं! चाहे आप बग ठीक कर रहे हों, नए कंपोनेंट्स जोड़ रहे हों, या दस्तावेज़ीकरण सुधार रहे हों, आपकी मदद MyLibrary को सभी के लिए बेहतर बनाती है।", + "submitIssues": { + "title": "समस्याएँ सबमिट करें", + "description": "GitHub पर बग रिपोर्ट करें या फीचर्स का अनुरोध करें" + }, + "pullRequests": { + "title": "पुल रिक्वेस्ट बनाएं", + "description": "कोड सुधार और नई सुविधाओं में योगदान करें" + }, + "documentation": { + "title": "दस्तावेज़ीकरण सुधारें", + "description": "हमारे दस्तावेज़ को अधिक स्पष्ट और व्यापक बनाने में मदद करें" + } + }, + "community": { + "title": "समुदाय", + "description": "MyLibrary के साथ अद्भुत यूजर इंटरफेस बनाने वाले डेवलपर्स के हमारे बढ़ते समुदाय में शामिल हों।", + "githubStars": "GitHub स्टार्स", + "contributors": "योगदानकर्ता", + "downloads": "डाउनलोड्स", + "builtWithLove": "ओपन सोर्स समुदाय द्वारा ❤️ के साथ बनाया गया" + }, + "contributors": { + "title": "हमारे योगदानकर्ता", + "thankYou": "इस कंपोनेंट लाइब्रेरी को बेहतर बनाने में योगदान देने वाले सभी अद्भुत डेवलपर्स का धन्यवाद!", + "loading": "योगदानकर्ता लोड हो रहे हैं...", + "contributorsError": "योगदानकर्ता लोड करने में विफल", + "avatarAlt": "{login} का अवतार", + "contributions": "{count} योगदान{count, plural, one {} other {s}}", + "profile": "प्रोफ़ाइल", + "join": "क्या आप हमारे योगदानकर्ताओं में शामिल होना चाहते हैं? हमारा ", + "githubRepo": "GitHub रिपॉजिटरी", + "getStarted": " देखें और शुरुआत करें!" + }, + "license": { + "title": "ओपन सोर्स और मुफ्त", + "description": "MyLibrary MIT लाइसेंस के तहत जारी किया गया है, जिससे यह व्यक्तिगत और व्यावसायिक परियोजनाओं के लिए मुफ्त है।", + "github": "GitHub पर देखें", + "contact": "संपर्क करें" + } +} \ No newline at end of file diff --git a/messages/[hi]/analytics.json b/messages/[hi]/analytics.json new file mode 100644 index 0000000..6a37a89 --- /dev/null +++ b/messages/[hi]/analytics.json @@ -0,0 +1,38 @@ +{ + "header": { + "title": "कंपोनेंट विश्लेषण डैशबोर्ड", + "description": "कंपोनेंट उपयोग, प्रदर्शन और उपयोगकर्ता सहभागिता को ट्रैक करें", + "export": "डेटा निर्यात करें" + }, + "overview": { + "totalViews": "कुल दृश्य", + "totalCopies": "कुल प्रतियां", + "componentsUsed": "उपयोग किए गए कंपोनेंट्स", + "sessionTime": "सत्र का समय" + }, + "popular": { + "title": "सबसे लोकप्रिय कंपोनेंट्स" + }, + "recent": { + "title": "पिछले 7 दिनों की गतिविधि", + "today": "आज" + }, + "performance": { + "title": "प्रदर्शन अंतर्दृष्टि", + "avgViews": "प्रति कंपोनेंट औसत दृश्य", + "copyRate": "कॉपी दर", + "viewsWeek": "इस सप्ताह के दृश्य" + }, + "actions": { + "title": "त्वरित क्रियाएँ", + "viewComponents": "कंपोनेंट्स देखें", + "export": "विश्लेषण निर्यात करें", + "reset": "डेटा रीसेट करें" + }, + "modal": { + "title": "विश्लेषण डेटा रीसेट करें", + "message": "यह सभी विश्लेषण डेटा जैसे दृश्य, प्रतियां और सत्र जानकारी को स्थायी रूप से हटा देगा। इस क्रिया को पूर्ववत नहीं किया जा सकता।", + "confirm": "डेटा रीसेट करें", + "cancel": "रद्द करें" + } +} diff --git a/messages/[hi]/common.json b/messages/[hi]/common.json new file mode 100644 index 0000000..39f7456 --- /dev/null +++ b/messages/[hi]/common.json @@ -0,0 +1,30 @@ +{ + "navigation": { + "home": "होम", + "about": "परिचय", + "contact": "संपर्क", + "components": "घटक", + "playground": "🎮 प्लेग्राउंड", + "analytics": "विश्लेषण", + "feedback": "प्रतिक्रिया", + "game": "🎮 गेम", + "racing game": "🏁 रेसिंग गेम", + "fun": "मज़ा" + }, + "footer": { + "brand": "मायलाइब्रेरी", + "subtitle": "कंपोनेंट लाइब्रेरी", + "description": "एक ओपन-सोर्स Next.js + Tailwind CSS कंपोनेंट लाइब्रेरी जिसमें तैयार-उपयोग UI कंपोनेंट्स शामिल हैं। डेवलपर्स के लिए सीखने, अभ्यास करने और Hacktoberfest के दौरान एवं उसके बाद योगदान देने के लिए उपयुक्त।", + "followUs": "हमारा अनुसरण करें", + "social": { + "github": "गिटहब", + "linkedin": "लिंक्डइन", + "twitter": "ट्विटर", + "discord": "डिस्कॉर्ड", + "youtube": "यूट्यूब" + }, + "madeWith": "से बनाया गया", + "hacktoberfest": "Hacktoberfest के लिए", + "copyright": "मायलाइब्रेरी कंपोनेंट लाइब्रेरी। सर्वाधिकार सुरक्षित।" + } +} diff --git a/messages/[hi]/comps.json b/messages/[hi]/comps.json new file mode 100644 index 0000000..c47d62d --- /dev/null +++ b/messages/[hi]/comps.json @@ -0,0 +1,350 @@ +{ + "hero": { + "title": "React UI Playground", + "description": "सुंदर, आधुनिक और उत्तरदायी कंपोनेंट डेमो – प्रत्येक अनुभाग स्पष्टता, जीवंतता और पहुंच के लिए डिज़ाइन किया गया है।" + }, + "search": { + "placeholder": "कंपोनेंट खोजें (बटन, कार्ड, प्राइमरी, आदि)", + "results": "{count} कंपोनेंट{count, plural, one {} other {s}} मिला{count, plural, one {} other {s}}{search, select, '' {} other { \"{search}\" से मेल खाते हुए}}{filter, select, all {} other { {filter} में}}", + "noResults": "कोई कंपोनेंट नहीं मिला" + }, + "filter": { + "all": "सभी कंपोनेंट्स", + "buttons": "बटन", + "backgrounds": "पृष्ठभूमि", + "cards": "कार्ड्स", + "inputs": "इनपुट्स", + "navigation": "नेविगेशन", + "badges": "बैज" + }, + "selectOptions": { + "option1": "विकल्प 1", + "option2": "विकल्प 2", + "option3": "विकल्प 3" + }, + "tabs": { + "dashboard": "डैशबोर्ड", + "dashboardContent": "डैशबोर्ड सामग्री यहाँ जाती है...", + "analytics": "एनालिटिक्स", + "analyticsContent": "एनालिटिक्स सामग्री यहाँ जाती है...", + "settings": "सेटिंग्स", + "settingsContent": "सेटिंग्स सामग्री यहाँ जाती है..." + }, + "breadcrumb": { + "home": "होम", + "components": "कंपोनेंट्स", + "navigation": "नेविगेशन", + "breadcrumb": "ब्रेडक्रंब" + }, + "buttons": { + "primary": { + "name": "प्राइमरी बटन", + "label": "प्राइमरी", + "keywords": ["प्राइमरी", "मुख्य", "एक्शन", "cta"], + "desc": "मुख्य क्रियाओं के लिए उपयोग किया जाता है" + }, + "gradient": { + "name": "ग्रेडिएंट बटन", + "label": "ग्रेडिएंट", + "keywords": ["ग्रेडिएंट", "रंगीन", "चमकीला", "cta"], + "desc": "वाइब्रेंट ग्रेडिएंट बटन, होवर स्केलिंग और लोडिंग स्पिनर के साथ" + }, + "neon": { + "name": "नियॉन बटन", + "label": "नियॉन", + "keywords": ["नियॉन", "चमक", "फ्यूचरिस्टिक"], + "desc": "चमकदार फ्यूचरिस्टिक बटन, लोडिंग स्पिनर और होवर स्केलिंग के साथ" + }, + "secondary": { + "name": "सेकेंडरी बटन", + "label": "सेकेंडरी", + "keywords": ["सेकेंडरी", "वैकल्पिक"], + "desc": "सेकेंडरी क्रियाओं के लिए उपयोग किया जाता है" + }, + "ghost": { + "name": "घोस्ट बटन", + "label": "घोस्ट", + "keywords": ["घोस्ट", "पारदर्शी", "सूक्ष्म"], + "desc": "मिनिमल क्रियाओं के लिए उपयोग किया जाता है" + }, + "outline": { + "name": "आउटलाइन बटन", + "label": "आउटलाइन", + "keywords": ["आउटलाइन", "बॉर्डर"], + "desc": "आउटलाइन देने के लिए उपयोग किया जाता है" + }, + "danger": { + "name": "डेंजर बटन", + "label": "डेंजर", + "keywords": ["डेंजर", "त्रुटि", "हटाना", "चेतावनी", "लाल"], + "desc": "विनाशकारी क्रियाओं के लिए उपयोग किया जाता है" + }, + "success": { + "name": "सक्सेस बटन", + "label": "सक्सेस", + "keywords": ["सक्सेस", "पुष्टि", "हो गया", "हरा"], + "desc": "सफल क्रियाओं के लिए उपयोग किया जाता है" + }, + "icon": { + "name": "आइकन बटन", + "label": "आइकन", + "keywords": ["आइकन", "स्टार", "सिंबल"], + "desc": "आइकन के लिए उपयोग किया जाता है" + }, + "rainbow": { + "name": "रेनबो बटन", + "label": "रेनबो", + "keywords": ["रेनबो", "एक्शन", "रंगीन"], + "desc": "कॉल टू एक्शन के लिए उपयोग किया जाता है" + }, + "glass": { + "name": "ग्लास बटन", + "label": "बटन", + "keywords": ["ग्लास", "cta", "एक्शन"], + "desc": "किसी भी क्रिया के लिए उपयोग किया जाता है" + } + }, + "cards": { + "simple": { + "name": "सिंपल कार्ड", + "title": "सिंपल कार्ड", + "description": "एक मिनिमल कार्ड जिसमें क्रियाएँ हैं।", + "keywords": ["सिंपल", "बेसिक", "मिनिमल"] + }, + "smart": { + "name": "स्मार्ट कार्ड", + "title": "स्मार्ट कार्ड", + "description": "आधुनिक कार्ड, ग्रेडिएंट बैकग्राउंड, होवर इफेक्ट्स और वैकल्पिक फुटर के साथ।", + "footer": "एक्शन", + "keywords": ["स्मार्ट", "ग्रेडिएंट", "कार्ड", "होवर", "फुटर", "इमेज"] + }, + "image": { + "name": "इमेज कार्ड", + "title": "इमेज कार्ड", + "description": "SVG इमेज के साथ कार्ड।", + "keywords": ["इमेज", "फोटो", "विजुअल"] + }, + "feature": { + "name": "फीचर कार्ड", + "title": "फीचर कार्ड", + "description": "फीचर्स और लाभ को हाइलाइट करें।", + "keywords": ["फीचर", "हाइलाइट", "लाभ"] + }, + "pricing": { + "name": "प्राइसिंग कार्ड", + "plan": "प्रो", + "price": "₹700/माह", + "features": ["10 प्रोजेक्ट्स", "प्राथमिकता समर्थन", "अनलिमिटेड यूजर्स"], + "keywords": ["प्राइसिंग", "प्लान", "सब्सक्रिप्शन", "मूल्य"] + }, + "data": { + "name": "डेटा कार्ड", + "title": "सक्रिय प्रोजेक्ट्स", + "keywords": ["डेटा", "स्टैट्स", "एनालिटिक्स", "मेट्रिक्स"] + } + }, + "utility": { + "alert": { + "name": "تنبيه بسيط", + "keywords": ["تنبيه", "منبثق"] + }, + "loaders": { + "name": "المحملات", + "simple": "محمل بسيط", + "dual": "محمل مزدوج", + "dots": "محمل النقاط", + "bar": "محمل الشريط", + "keywords": ["دوّار", "محمل", "جارٍ التحميل"] + }, + "tooltips": { + "name": "تلميحات الأدوات", + "simple": "تلميح أداة بسيط", + "animated": "تلميح أداة متحرك", + "refreshText": "انقر للتحديث", + "deleteText": "حذف العنصر", + "keywords": ["تلميح", "منبثق"] + } +}, + "inputs": { + "text": { + "name": "टेक्स्ट इनपुट", + "label": "सैंपल इनपुट", + "placeholder": "टेक्स्ट दर्ज करें", + "keywords": ["टेक्स्ट", "इनपुट", "फील्ड", "फॉर्म"] + }, + "password": { + "name": "पासवर्ड इनपुट", + "placeholder": "पासवर्ड दर्ज करें", + "keywords": ["पासवर्ड", "इनपुट", "फील्ड", "फॉर्म", "शो", "हाइड"], + "label": "पासवर्ड", + "error": "अमान्य पासवर्ड" + }, + "select": { + "name": "सेलेक्ट", + "label": "सैंपल सेलेक्ट", + "keywords": ["सेलेक्ट", "ड्रॉपडाउन", "विकल्प", "चयन"] + }, + "checkbox": { + "name": "चेकबॉक्स", + "label": "सैंपल चेकबॉक्स", + "description": "इस विकल्प को चुनें", + "keywords": ["चेकबॉक्स", "चेक", "टॉगल", "बूलियन"] + }, + "loginForm": { + "name": "लॉगिन फॉर्म", + "keywords": ["लॉगिन", "फॉर्म", "ऑथेंटिकेशन", "ईमेल", "पासवर्ड"], + "desc": "पूर्ण लॉगिन फॉर्म, वेलिडेशन और सोशल लॉगिन विकल्पों के साथ" + }, + "calendar": { + "name": "कैलेंडर", + "keywords": ["कैलेंडर", "तारीख", "शेड्यूल", "महीना", "इवेंट्स"], + "desc": "एक्सेसिबल, उत्तरदायी कैलेंडर जिसमें इवेंट इंडिकेटर्स हैं" + }, + "emailAddress": { + "label": "ईमेल पता", + "placeholder": "अपना ईमेल दर्ज करें", + "helperText": "हम आपका ईमेल साझा नहीं करेंगे।", + "required": "आवश्यक" + }, + + "chooseOption": { + "label": "एक विकल्प चुनें" + }, + "termsConditions": { + "label": "नियम स्वीकार करें", + "description": "आपको नियम और शर्तें स्वीकार करनी होंगी" + }, + "disabledOption": { + "label": "अक्षम विकल्प", + "description": "यह विकल्प अक्षम है" + } + }, + "backgrounds": { + "interactiveTiles": { + "name": "इंटरएक्टिव टाइल्स", + "keywords": ["इंटरएक्टिव", "टाइल्स", "पृष्ठभूमि", "ग्रिड"], + "desc": "इंटरएक्टिव टाइल्स पृष्ठभूमि" + } + }, + "navigation": { + "breadcrumb": { + "name": "ब्रेडक्रंब", + "keywords": ["ब्रेडक्रंब", "नेविगेशन", "पथ", "अनुक्रम"] + }, + "tabs": { + "name": "टैब्स", + "keywords": ["टैब्स", "नेविगेशन", "स्विच", "टॉगल"] + }, + "pagination": { + "name": "पेजिनेशन", + "keywords": ["पेजिनेशन", "पेजेस", "नेविगेशन", "पेजिंग"] + } + }, + "badges": { + "badge": { + "name": "बैज", + "primary": "प्राइमरी", + "success": "सक्सेस", + "warning": "चेतावनी", + "danger": "डेंजर", + "closable": "क्लोजेबल", + "withIcon": "आइकन के साथ", + "notifications": "सूचनाएँ", + "keywords": ["बैज", "टैग", "लेबल", "स्थिति", "सूचक"], + "desc": "स्थिति संकेतक और लेबल के लिए उपयोग किया जाता है" + }, + "chip": { + "name": "चिप", + "primary": "प्राइमरी चिप", + "success": "सक्सेस", + "warning": "चेतावनी", + "danger": "डेंजर", + "closable": "क्लोजेबल", + "withIcon": "आइकन के साथ", + "keywords": ["चिप", "टैग", "लेबल", "फिल्टर", "श्रेणी"], + "desc": "फिल्टर, श्रेणियाँ और हटाने योग्य टैग के लिए उपयोग किया जाता है" + } + }, + "sections": { + "buttons": "बटन", + "cards": "कार्ड्स", + "inputs": "इनपुट्स", + "backgrounds": "पृष्ठभूमि", + "utility": "यूटिलिटी", + "navigation": "नेविगेशन", + "badges": "बैज", + "avatars": "अवतार", + "accordion": "एकॉर्डियन", + "feedback": "फीडबैक", + "formHelper": "फॉर्म हेल्पर्स" + }, + "avatars": { + "group": "अवतार समूह" + }, + "feedback": { + "success": "सफलता फीडबैक संदेश", + "error": "त्रुटि फीडबैक संदेश", + "warning": "चेतावनी फीडबैक संदेश", + "info": "सूचना फीडबैक संदेश" + }, + "formHelper": { + "datePicker": { + "title": "तारीख चयनकर्ता", + "label": "तारीख चुनें" + }, + "slider": { + "title": "स्लाइडर" + }, + "fileUpload": { + "title": "फाइल अपलोड" + }, + "formValidation": { + "title": "फॉर्म सत्यापन" + }, + "loginForm": { + "title": "लॉगिन फॉर्म" + }, + "signupPage": { + "title": "साइनअप पेज" + }, + "otpVerification": { + "title": "ओटीपी सत्यापन", + "tryCode": "कोड 123456 आज़माएँ" + } + }, + "accordion": { + "basic": { + "title": "बेसिक एकॉर्डियन", + "items": [ + { "title": "सेक्शन 1", "content": "सेक्शन 1 के लिए सामग्री" }, + { "title": "सेक्शन 2", "content": "सेक्शन 2 के लिए सामग्री" }, + { "title": "सेक्शन 3", "content": "सेक्शन 3 के लिए सामग्री" }, + { "title": "सेक्शन 4", "content": "सेक्शन 4 के लिए सामग्री" } + ] + }, + "multiple": { + "title": "मल्टीपल ओपन एकॉर्डियन", + "items": [ + { "title": "सेक्शन 1", "content": "सेक्शन 1 के लिए सामग्री" }, + { "title": "सेक्शन 2", "content": "सेक्शन 2 के लिए सामग्री" }, + { "title": "सेक्शन 3", "content": "सेक्शन 3 के लिए सामग्री" }, + { "title": "सेक्शन 4", "content": "सेक्शन 4 के लिए सामग्री" } + ] + }, + "minimal": { + "title": "मिनिमल एकॉर्डियन", + "items": [ + { "title": "सेक्शन 1", "content": "सेक्शन 1 के लिए सामग्री" }, + { "title": "सेक्शन 2", "content": "सेक्शन 2 के लिए सामग्री" }, + { "title": "सेक्शन 3", "content": "सेक्शन 3 के लिए सामग्री" } + ] + }, + "alwaysOpen": { + "title": "हमेशा खुला एकॉर्डियन", + "items": [ + { "title": "सेक्शन 1", "content": "सेक्शन 1 के लिए सामग्री" }, + { "title": "सेक्शन 2", "content": "सेक्शन 2 के लिए सामग्री" } + ] + } + } +} \ No newline at end of file diff --git a/messages/[hi]/contact.json b/messages/[hi]/contact.json new file mode 100644 index 0000000..d68dbf6 --- /dev/null +++ b/messages/[hi]/contact.json @@ -0,0 +1,78 @@ +{ + "header": { + "title": "संपर्क करें", + "description": "क्या आपके पास हमारी कंपोनेंट लाइब्रेरी के बारे में सवाल हैं? योगदान करना चाहते हैं या कोई बग रिपोर्ट करना चाहते हैं? हम आपसे सुनना पसंद करेंगे!" + }, + "form": { + "title": "हमें संदेश भेजें", + "success": "आपके संदेश के लिए धन्यवाद! हम जल्द ही आपसे संपर्क करेंगे।", + "error": "माफ़ कीजिए, आपका संदेश भेजने में त्रुटि हुई। कृपया पुनः प्रयास करें।", + "sending": "भेजा जा रहा है...", + "send": "संदेश भेजें", + "fields": { + "name": { + "label": "पूरा नाम *", + "placeholder": "अपना पूरा नाम दर्ज करें" + }, + "email": { + "label": "ईमेल पता *", + "placeholder": "your.email@example.com" + }, + "subject": { + "label": "विषय *", + "placeholder": "एक विषय चुनें", + "options": { + "bugReport": "बग रिपोर्ट", + "featureRequest": "फीचर अनुरोध", + "documentation": "दस्तावेज़ीकरण", + "contribution": "योगदान", + "support": "सामान्य सहायता", + "other": "अन्य" + } + }, + "message": { + "label": "संदेश *", + "placeholder": "हमें बताएं कि हम आपकी कैसे मदद कर सकते हैं..." + } + } + }, + "errors": { + "nameRequired": "नाम आवश्यक है", + "emailRequired": "ईमेल आवश्यक है", + "emailInvalid": "कृपया एक मान्य ईमेल पता दर्ज करें", + "subjectRequired": "विषय आवश्यक है", + "messageRequired": "संदेश आवश्यक है", + "messageLength": "संदेश कम से कम 10 अक्षरों का होना चाहिए" + }, + "info": { + "title": "संपर्क जानकारी", + "email": { + "title": "ईमेल" + }, + "github": { + "title": "GitHub" + }, + "linktree": { + "title": "Linktree", + "description": "हमारे सभी सोशल लिंक के लिए हमारा Linktree देखें:" + } + }, + "social": { + "title": "हमें फॉलो करें" + }, + "faq": { + "title": "अक्सर पूछे जाने वाले प्रश्न", + "q1": { + "title": "मैं लाइब्रेरी में कैसे योगदान कर सकता हूँ?", + "description": "हमारे CONTRIBUTING.md फ़ाइल में कंपोनेंट्स योगदान करने, बग रिपोर्ट करने या सुधार सुझाने के दिशा-निर्देश देखें।" + }, + "q2": { + "title": "क्या यह लाइब्रेरी मुफ्त है?", + "description": "हाँ! यह कंपोनेंट लाइब्रेरी ओपन सोर्स है और व्यक्तिगत तथा व्यावसायिक परियोजनाओं में मुफ्त उपयोग के लिए उपलब्ध है।" + }, + "q3": { + "title": "मैं बग कैसे रिपोर्ट करूँ?", + "description": "आप हमारे GitHub issues पेज के माध्यम से या ऊपर दिए गए संपर्क फ़ॉर्म में \"बग रिपोर्ट\" विषय चुनकर बग रिपोर्ट कर सकते हैं।" + } + } +} diff --git a/messages/[hi]/feedback.json b/messages/[hi]/feedback.json new file mode 100644 index 0000000..8386f61 --- /dev/null +++ b/messages/[hi]/feedback.json @@ -0,0 +1,86 @@ +{ + "header": { + "title": "हम आपकी प्रतिक्रिया की सराहना करते हैं", + "description": "MyLibrary को सुधारने में हमारी मदद करें, अपनी राय साझा करें, बग रिपोर्ट करें, या नई सुविधाओं का सुझाव दें।" + }, + "alert": { + "success": { + "title": "धन्यवाद!", + "message": "आपकी प्रतिक्रिया सफलतापूर्वक सबमिट कर दी गई है। हम इसे जल्द ही समीक्षा करेंगे।" + }, + "error": { + "title": "त्रुटि", + "message": "कृपया सभी आवश्यक फ़ील्ड भरें फिर सबमिट करें।" + } + }, + "form": { + "title": "अपनी प्रतिक्रिया साझा करें", + "categoryLabel": "प्रतिक्रिया श्रेणी *", + "ratingLabel": "कुल मिलाकर रेटिंग", + "emailLabel": "ईमेल (वैकल्पिक)", + "emailPlaceholder": "your.email@example.com", + "emailHelper": "हम इसे केवल आपकी प्रतिक्रिया पर फॉलो-अप करने के लिए उपयोग करेंगे", + "feedbackLabel": "आपकी प्रतिक्रिया *", + "feedbackPlaceholder": "हमारे साथ अपना अनुभव साझा करें, बग रिपोर्ट करें, या सुधार के सुझाव दें...", + "submit": "प्रतिक्रिया सबमिट करें", + "clear": "फॉर्म साफ़ करें" + }, + "category": { + "bug": "बग रिपोर्ट", + "feature": "फीचर अनुरोध", + "improvement": "सुधार सुझाव", + "general": "सामान्य प्रतिक्रिया" + }, + "rating": { + "5": "⭐⭐⭐⭐⭐ उत्कृष्ट", + "4": "⭐⭐⭐⭐ अच्छा", + "3": "⭐⭐⭐ औसत", + "2": "⭐⭐ गरीब", + "1": "⭐ बहुत गरीब" + }, + "sidebar": { + "stats": { + "title": "समुदाय आँकड़े", + "totalComponents": "कुल घटक", + "githubStars": "GitHub सितारे", + "contributors": "योगदानकर्ता", + "issuesResolved": "सुलझाए गए मुद्दे" + }, + "progress": { + "title": "विकास प्रगति", + "buttons": "बटन घटक", + "cards": "कार्ड घटक", + "forms": "फॉर्म घटक", + "navigation": "नेविगेशन" + }, + "contact": { + "title": "हमसे संपर्क करने के अन्य तरीके", + "email": "📧 ईमेल समर्थन", + "discord": "💬 डिस्कॉर्ड समुदाय", + "github": "🐙 GitHub मुद्दे" + } + }, + "recent": { + "title": "हाल की सामुदायिक प्रतिक्रिया", + "items": [ + { + "name": "एलेक्स", + "time": "2 दिन पहले", + "category": "फीचर", + "feedback": "नई बटन वेरिएंट्स बहुत पसंद आईं! क्या हम बटन के लिए लोडिंग स्टेट पा सकते हैं?" + }, + { + "name": "सारा", + "time": "1 सप्ताह पहले", + "category": "बग", + "feedback": "मोबाइल डिवाइस पर कार्ड घटक की स्पेसिंग समस्या। नवीनतम अपडेट में ठीक किया गया!" + }, + { + "name": "माइक", + "time": "2 सप्ताह पहले", + "category": "सामान्य", + "feedback": "उत्तम दस्तावेज़ीकरण और उदाहरण। इंटीग्रेशन बहुत आसान बनाता है!" + } + ] + } +} diff --git a/messages/[hi]/homepage.json b/messages/[hi]/homepage.json new file mode 100644 index 0000000..8e245f4 --- /dev/null +++ b/messages/[hi]/homepage.json @@ -0,0 +1,47 @@ +{ + "hero_title": "आसानी से सुंदर और प्रभावी React ऐप्स बनाएं", + "hero_description": "हमारी कंपोनेंट लाइब्रेरी डेवलपर्स को अनुकूलन योग्य और सुलभ UI तत्व प्रदान करती है, जो React इकोसिस्टम के लिए अनुकूलित हैं।", + "explore_components": "कंपोनेंट्स देखें", + "try_playground": "🎮 प्लेग्राउंड आज़माएँ", + "beautiful_components": "सुंदर कंपोनेंट्स", + "ready_to_use": "आपके प्रोजेक्ट्स में उपयोग के लिए तैयार", + "features_title": "React के लिए अनुकूलित", + "features_description": "हल्के और तेज़ कंपोनेंट्स, विशेष रूप से React एप्लिकेशन के लिए डिज़ाइन किए गए।", + "themes_title": "कस्टम थीम्स", + "themes_description": "हल्के, डार्क और कस्टम थीम्स के साथ आसान अनुकूलन का समर्थन करता है।", + "apis_title": "लचीले APIs", + "apis_description": "सरल और सहज प्रॉप्स जो आपके कंपोनेंट्स पर पूर्ण नियंत्रण प्रदान करते हैं।", + "documentation_title": "अच्छी तरह से प्रलेखित", + "documentation_description": "पूर्ण और स्पष्ट दस्तावेज़ जो आपके विकास अनुभव को आसान बनाता है।", + "featured_components": "विशेष कंपोनेंट्स", + "simple_card_title": "सरल कार्ड", + "simple_card_description": "एक स्वच्छ, न्यूनतम कार्ड जिसमें एक्शन सपोर्ट है।", + "feature_card_title": "फ़ीचर कार्ड", + "feature_card_description": "अपनी ऐप की विशेषताओं को स्टाइल के साथ उजागर करें।", + "pricing_card_plan": "प्रो", + "pricing_card_price": "$9/माह", + "pricing_card_features": [ + "10 प्रोजेक्ट्स", + "प्राथमिकता समर्थन", + "असीमित उपयोगकर्ता" + ], + "data_card_title": "सक्रिय प्रोजेक्ट्स", + "data_card_icon": "📂", + "data_card_trend": "8", + "getting_started": "शुरुआत करें", + "getting_started_step_one_title": "पैकेज जोड़ें", + "getting_started_step_one_description": "आसान एकीकरण के लिए npm या yarn से इंस्टॉल करें।", + "getting_started_step_one_code": "npm install my-components-library", + "getting_started_step_2_title": "कंपोनेंट्स इम्पोर्ट करें", + "getting_started_step_2_description": "लाइब्रेरी से केवल वही इम्पोर्ट करें जिसकी आपको ज़रूरत है ताकि बंडल हल्के रहें।", + "getting_started_step_two_code": "import '{ Button, Card }' from 'my-components-library';", + "getting_started_step_3_title": "कंपोनेंट्स का उपयोग करें", + "getting_started_step_3_description": "आसान प्रॉप्स के साथ सीधे कंपोनेंट्स लागू करें।", + "getting_started_step_3_code": "''", + "cta_title": "क्या आप शानदार ऐप्स बनाने के लिए तैयार हैं?", + "cta_button": "अभी शुरू करें", + "theme": { + "toggle_light": "लाइट मोड पर स्विच करें", + "toggle_dark": "डार्क मोड पर स्विच करें" + } +} diff --git a/messages/[hi]/playground.json b/messages/[hi]/playground.json new file mode 100644 index 0000000..35282ca --- /dev/null +++ b/messages/[hi]/playground.json @@ -0,0 +1,219 @@ +{ + "title": "एडवांस्ड कंपोनेंट प्लेग्राउंड", + "subtitle": "रियल-टाइम में कंपोनेंट्स को कस्टमाइज़ करें और प्रोडक्शन-रेडी कोड एक्सपोर्ट करें!", + + "controls": { + "componentType": "कंपोनेंट प्रकार", + "variant": "वेरिएंट", + "previewMode": "प्रीव्यू मोड", + "myFavorites": "मेरे पसंदीदा ({count})", + "customizationControls": "कस्टमाइज़ेशन नियंत्रण", + "reset": "रीसेट", + "random": "रैंडम", + "showFavorites": "पसंदीदा दिखाएँ", + "hideFavorites": "पसंदीदा छिपाएँ" + }, + + "componentTypes": { + "buttons": "बटन", + "cards": "कार्ड", + "inputs": "इनपुट्स" + }, + + "buttonVariants": { + "primary": "प्राइमरी बटन", + "secondary": "सेकेंडरी बटन", + "danger": "खतरा बटन", + "success": "सफलता बटन", + "ghost": "घोस्ट बटन", + "outline": "आउटलाइन बटन", + "rainbow": "रेनबो बटन" + }, + + "cardVariants": { + "simple": "साधारण कार्ड", + "feature": "फ़ीचर कार्ड", + "pricing": "प्राइसिंग कार्ड", + "user": "यूज़र कार्ड", + "data": "डेटा कार्ड" + }, + + "inputVariants": { + "text": "टेक्स्ट इनपुट", + "select": "सिलेक्ट ड्रॉपडाउन", + "checkbox": "चेकबॉक्स" + }, + + "buttonControls": { + "buttonText": "बटन टेक्स्ट", + "buttonSize": "बटन का आकार", + "sizes": { + "small": "छोटा", + "medium": "मध्यम", + "large": "बड़ा" + }, + "disabled": "निष्क्रिय", + "loading": "लोड हो रहा है", + "loadingText": "⏳ लोड हो रहा है..." + }, + + "cardControls": { + "cardTitle": "कार्ड शीर्षक", + "cardDescription": "कार्ड विवरण", + "cardTitlePlaceholder": "कार्ड शीर्षक दर्ज करें", + "cardDescriptionPlaceholder": "कार्ड विवरण दर्ज करें" + }, + + "pricingControls": { + "planName": "प्लान नाम", + "price": "कीमत", + "features": "फ़ीचर्स (कॉमा से अलग)", + "planPlaceholder": "उदाहरण: प्रो", + "pricePlaceholder": "उदाहरण: ₹799/माह", + "featuresPlaceholder": "फ़ीचर 1, फ़ीचर 2, फ़ीचर 3" + }, + + "userCardControls": { + "userName": "उपयोगकर्ता नाम", + "email": "ईमेल", + "role": "भूमिका", + "avatarUrl": "अवतार URL", + "userNamePlaceholder": "जॉन डो", + "emailPlaceholder": "john@example.com", + "rolePlaceholder": "सॉफ्टवेयर इंजीनियर", + "avatarPlaceholder": "https://i.pravatar.cc/150?img=1" + }, + + "dataCardControls": { + "dataTitle": "डेटा शीर्षक", + "value": "मान", + "icon": "आइकन (इमोजी)", + "trend": "रुझान (%)", + "dataTitlePlaceholder": "सक्रिय प्रोजेक्ट्स", + "valuePlaceholder": "27", + "iconPlaceholder": "📂", + "trendPlaceholder": "8" + }, + + "inputControls": { + "label": "लेबल", + "placeholder": "प्लेसहोल्डर", + "errorMessage": "त्रुटि संदेश (वैकल्पिक)", + "required": "आवश्यक", + "labelPlaceholder": "इनपुट लेबल दर्ज करें", + "placeholderPlaceholder": "प्लेसहोल्डर टेक्स्ट दर्ज करें", + "errorPlaceholder": "त्रुटि संदेश दर्ज करें" + }, + + "codeSection": { + "generatedCode": "जनरेट किया गया कोड", + "show": "दिखाएँ", + "hide": "छिपाएँ", + "copyCode": "कोड कॉपी करें", + "copied": "✅ कॉपी हो गया!", + "failedToCopy": "❌ कॉपी असफल", + "language": "React JSX" + }, + + "preview": { + "livePreview": "लाइव प्रीव्यू", + "componentInfo": "कंपोनेंट जानकारी", + "type": "प्रकार", + "variant": "वेरिएंट", + "interactive": "इंटरैक्टिव", + "clickToTest": "हाँ (क्लिक करें टेस्ट करने के लिए)", + "displayOnly": "केवल प्रदर्शन", + "light": "लाइट", + "dark": "डार्क" + }, + + "favorites": { + "title": "मेरे पसंदीदा कंपोनेंट्स ({count})", + "clearAll": "सभी साफ़ करें", + "noFavorites": "अभी तक कोई पसंदीदा कंपोनेंट नहीं है", + "noFavoritesDesc": "किसी भी कंपोनेंट पर हार्ट आइकन क्लिक करके उसे पसंदीदा में जोड़ें", + "addFavorite": "पसंदीदा जोड़ें", + "removeFavorite": "पसंदीदा हटाएँ", + "addedDate": "{date} को जोड़ा गया", + "componentSuffix": "कंपोनेंट", + "addToFavorites": "पसंदीदा में जोड़ें", + "removeFromFavorites": "पसंदीदा से हटाएँ" + }, + + "showcase": { + "allVariants": "सभी {type} वेरिएंट्स", + "clickToCustomize": "कस्टमाइज़ करने के लिए क्लिक करें", + "preview": "पूर्वावलोकन", + "sample": "नमूना" + }, + + "stats": { + "title": "प्लेग्राउंड आँकड़े", + "buttonTypes": "बटन प्रकार", + "cardTypes": "कार्ड प्रकार", + "inputTypes": "इनपुट प्रकार", + "favorites": "पसंदीदा" + }, + + "actions": { + "randomize": "रैंडम बनाएं", + "reset": "रीसेट करें", + "copyCode": "कोड कॉपी करें" + }, + + "defaultValues": { + "buttonText": "क्लिक करें", + "cardTitle": "नमूना कार्ड", + "cardDescription": "यह एक नमूना कार्ड विवरण है", + "inputLabel": "नमूना इनपुट", + "inputPlaceholder": "यहाँ टेक्स्ट दर्ज करें...", + "checkboxDescription": "इस विकल्प को चुनें", + "selectOptions": { + "option1": "विकल्प 1", + "option2": "विकल्प 2", + "option3": "विकल्प 3" + } + }, + + "randomValues": { + "buttonTexts": ["शुरू करें", "और जानें", "अभी साइन अप करें", "डाउनलोड करें", "सब्सक्राइब करें", "हमसे जुड़ें", "मुफ़्त आज़माएँ", "संपर्क करें"], + "cardTitles": ["शानदार फ़ीचर", "प्रीमियम सेवा", "नया उत्पाद", "विशेष ऑफ़र", "नवीनतम अपडेट"], + "cardDescriptions": [ + "अविश्वसनीय सुविधाएँ खोजें जो आपके कार्यप्रवाह को बदल देंगी", + "हमारी पेशेवर सेवाओं के साथ प्रीमियम गुणवत्ता का अनुभव करें", + "नवीनतम तकनीक के साथ हमारा नया उत्पाद पेश किया जा रहा है", + "सीमित समय की पेशकश आपके लिए विशेष लाभों के साथ", + "नवीनतम सुधारों और सुविधाओं से अपडेट रहें" + ], + "userNames": ["ऐलिस जॉनसन", "बॉब स्मिथ", "कैरोल डेविस", "डेविड विल्सन", "एम्मा ब्राउन"], + "userRoles": ["फ्रंटएंड डेवलपर", "बैकएंड इंजीनियर", "UI/UX डिज़ाइनर", "प्रोडक्ट मैनेजर", "DevOps इंजीनियर"], + "dataTitles": ["कुल उपयोगकर्ता", "राजस्व", "सक्रिय सत्र", "कन्वर्ज़न दर", "विकास दर"], + "dataValues": ["1,234", "$45.6K", "89%", "12.5%", "+23%"], + "dataIcons": ["👥", "💰", "📊", "📈", "🚀"] + }, + + "pricing": { + "defaultPlan": "प्रो", + "defaultPrice": "₹799/माह", + "defaultFeatures": ["10 प्रोजेक्ट्स", "प्राथमिकता समर्थन", "अनलिमिटेड यूज़र्स"] + }, + + "userData": { + "defaultName": "जॉन डो", + "defaultEmail": "john@example.com", + "defaultRole": "सॉफ्टवेयर इंजीनियर" + }, + + "dataCard": { + "defaultTitle": "सक्रिय प्रोजेक्ट्स", + "defaultValue": "27", + "defaultIcon": "📂", + "defaultTrend": 8 + }, + + "messages": { + "codeCopied": "कोड क्लिपबोर्ड पर कॉपी हो गया!", + "copyFailed": "कोड कॉपी करने में विफल।", + "clickAlert": "{component} क्लिक किया गया!" + } +} diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 5a9bedf..74be77d 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -6,7 +6,8 @@ "components": "Components", "playground": "🎮 Playground", "analytics": "Analytics", - "feedback": "Feedback" + "feedback": "Feedback", + "game":"🎮 Game" }, "theme": { "toggle_light": "Switch to Light", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 7785947..c418e11 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -6,7 +6,8 @@ "components": "Componentes", "playground": "🎮 Zona de juegos", "analytics": "Analíticas", - "feedback": "Retroalimentación" + "feedback": "Retroalimentación", + "game": "🎮 Juego" }, "theme": { "toggle_light": "Cambiar a modo claro", diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index f9f3b57..cacb423 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -6,7 +6,8 @@ "components": "Composants", "playground": "🎮 Bac à sable", "analytics": "Analytique", - "feedback": "Retour d'information" + "feedback": "Retour d'information", + "game": "🎮 Jeu" }, "theme": { "toggle_light": "Passer en mode clair", diff --git a/src/app/about/page.jsx b/src/app/about/page.jsx index 7f862cb..f0968db 100644 --- a/src/app/about/page.jsx +++ b/src/app/about/page.jsx @@ -1,9 +1,11 @@ 'use client'; import { useState, useEffect } from 'react'; +import { useTranslations } from 'next-intl'; import { Code, Users, Heart, Github, Star, Target, Zap, Shield, Palette, Rocket, ExternalLink } from 'lucide-react'; import FetchContributors from '../fetchData/fetchContributers'; export default function AboutPage() { + const t = useTranslations('about'); const [contributors, setContributors] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); @@ -16,7 +18,7 @@ export default function AboutPage() { setContributors(data); setError(null); } catch (err) { - setError('Failed to load contributors'); + setError(t('contributorsError')); console.error('Error fetching contributors:', err); } finally { setLoading(false); @@ -24,30 +26,28 @@ export default function AboutPage() { }; loadContributors(); - }, []); + }, [t]); return (
{/* Overview Section */}
-

About MyLibrary

+

{t('title')}

- MyLibrary is a comprehensive component library built with Next.js and Tailwind CSS, - designed to provide developers with reusable, accessible, and beautifully designed UI components. - Our goal is to accelerate development workflows and maintain design consistency across projects. + {t('description')}

- 20+ Components + {t('overview.components')}
- TypeScript Ready + {t('overview.typescript')}
- Performance Optimized + {t('overview.performance')}
@@ -57,78 +57,69 @@ export default function AboutPage() {
-

Our Mission

+

{t('mission.title')}

- To empower developers with a robust, flexible, and beautiful component library that - reduces development time while maintaining high-quality user experiences. We believe - in making web development more efficient and enjoyable. + {t('mission.description')}

-

Our Vision

+

{t('vision.title')}

- To become the go-to component library for React developers, fostering a community - where innovation meets practicality. We envision a world where building beautiful - UIs is accessible to developers of all skill levels. + {t('vision.description')}

{/* Key Features */}
-

Why Choose MyLibrary?

+

{t('features.title')}

-

Design System

-

Consistent design tokens and theming system for cohesive user experiences.

+

{t('features.designSystem.title')}

+

{t('features.designSystem.description')}

-
-

Accessibility First

-

Built with WCAG 2.1 guidelines and keyboard navigation support.

+

{t('features.accessibility.title')}

+

{t('features.accessibility.description')}

-
-

Performance

-

Optimized bundle size with tree-shaking and minimal dependencies.

+

{t('features.performance.title')}

+

{t('features.performance.description')}

-
-

Developer Experience

-

TypeScript support, comprehensive documentation, and excellent IDE integration.

+

{t('features.devExperience.title')}

+

{t('features.devExperience.description')}

-
-

Community Driven

-

Open source project with active community contributions and feedback.

+

{t('features.community.title')}

+

{t('features.community.description')}

-
-

Flexible

-

Customizable components that adapt to your design requirements.

+

{t('features.flexible.title')}

+

{t('features.flexible.description')}

@@ -137,40 +128,36 @@ export default function AboutPage() {
-

Tech Stack

+

{t('techStack.title')}

-
Next.js
-

Next.js 14

-

React framework with App Router

+

{t('techStack.nextjs.title')}

+

{t('techStack.nextjs.description')}

-
React
-

React 18

-

Component-based architecture

+

{t('techStack.react.title')}

+

{t('techStack.react.description')}

-
Tailwind CSS
-

Tailwind CSS

-

Utility-first styling

+

{t('techStack.tailwind.title')}

+

{t('techStack.tailwind.description')}

-
TypeScript
-

TypeScript

-

Type-safe development

+

{t('techStack.typescript.title')}

+

{t('techStack.typescript.description')}

@@ -228,78 +215,62 @@ export default function AboutPage() {
-{/* 🌟 Getting Started Section */} -
-
-

- 🚀 Getting Started -

- - {/* Steps Grid */} -
- {/* Step 1 */} -
-
- 1 -
-

Installation

-

- Install the library via{" "} - npm or copy - ready-to-use components directly. -

-
- - {/* Step 2 */} -
-
- 2 -
-

Import

-

- Import the components you need directly into your React project and - start building faster. -

-
- - {/* Step 3 */} -
-
- 3 + {/* 🌟 Getting Started Section */} +
+
+

+ {t('gettingStarted.title')} +

+ {/* Steps Grid */} +
+
+
+ 1 +
+

{t('gettingStarted.installation.title')}

+

+ {t('gettingStarted.installation.description')} +

+
+
+
+ 2 +
+

{t('gettingStarted.import.title')}

+

+ {t('gettingStarted.import.description')} +

+
+
+
+ 3 +
+

{t('gettingStarted.customize.title')}

+

+ {t('gettingStarted.customize.description')} +

+
+
+ {/* CTA Button */} +
-

Customize

-

- Tweak the design, colors, and behavior easily to match your own design - system. -

-
-
- - {/* CTA Button */} - -
-
- - - - + {/* Contribution Section */}
-

Contributing

+

{t('contributing.title')}

- We welcome contributions from the community! Whether you're fixing bugs, adding new components, - or improving documentation, your help makes MyLibrary better for everyone. + {t('contributing.description')}

@@ -307,8 +278,8 @@ export default function AboutPage() {
-

Submit Issues

-

Report bugs or request features on GitHub

+

{t('contributing.submitIssues.title')}

+

{t('contributing.submitIssues.description')}

@@ -316,8 +287,8 @@ export default function AboutPage() {
-

Create Pull Requests

-

Contribute code improvements and new features

+

{t('contributing.pullRequests.title')}

+

{t('contributing.pullRequests.description')}

@@ -325,61 +296,57 @@ export default function AboutPage() {
-

Improve Documentation

-

Help make our docs clearer and more comprehensive

+

{t('contributing.documentation.title')}

+

{t('contributing.documentation.description')}

-
-

Community

+

{t('community.title')}

- Join our growing community of developers who are building amazing user interfaces with MyLibrary. + {t('community.description')}

- GitHub Stars + {t('community.githubStars')} 1.2k+
- Contributors + {t('community.contributors')} 25+
- Downloads + {t('community.downloads')} 10k+
- Built with ❤️ by the open source community + {t('community.builtWithLove')}
- {/* Contributors Section */}
-

Our Contributors

+

{t('contributors.title')}

-

- Thank you to all the amazing developers who have contributed to making this component library better! + {t('contributors.thankYou')}

- {loading ? (
-

Loading contributors...

+

{t('contributors.loading')}

) : error ? (
@@ -398,21 +365,18 @@ export default function AboutPage() {
{`${contributor.login}'s
-

{contributor.login}

-

- {contributor.contributions} contribution{contributor.contributions !== 1 ? 's' : ''} + {t('contributors.contributions', { count: contributor.contributions })}

- - Profile + {t('contributors.profile')}
))} - {contributors.length > 0 && (

- Want to join our contributors? Check out our{' '} + {t('contributors.join')} - GitHub repository + {t('contributors.githubRepo')} - {' '}to get started! + {t('contributors.getStarted')}

)} )}
- {/* License & Links Section */}
-

Open Source & Free

+

{t('license.title')}

- MyLibrary is released under the MIT License, making it free to use for both personal and commercial projects. + {t('license.description')}

- View on GitHub + {t('license.github')} - Get in Touch + {t('license.contact')}
diff --git a/src/app/analytics/page.jsx b/src/app/analytics/page.jsx index 2e49746..257c3da 100644 --- a/src/app/analytics/page.jsx +++ b/src/app/analytics/page.jsx @@ -1,11 +1,13 @@ "use client"; import React, { useState, useEffect } from 'react'; +import { useTranslations } from 'next-intl'; import { useAnalytics } from '../context/AnalyticsContext'; import { BarChart3, TrendingUp, Eye, Copy, Download, Calendar, Award, Activity } from 'lucide-react'; import ConfirmationModal from '../components/ConfirmationModal'; import PopularityChart from '../components/PopularityChart'; export default function AnalyticsPage() { + const t = useTranslations('analytics'); const { analytics, getPopularComponents, getRecentStats, exportAnalytics } = useAnalytics(); const [showResetModal, setShowResetModal] = useState(false); const [isDarkTheme, setIsDarkTheme] = useState(false); @@ -14,7 +16,7 @@ export default function AnalyticsPage() { const recentStats = getRecentStats(); // Detect dark theme - useEffect(() => { +useEffect(() => { const checkDarkTheme = () => { const isDark = document.documentElement.classList.contains('dark') || window.matchMedia('(prefers-color-scheme: dark)').matches; @@ -66,10 +68,10 @@ export default function AnalyticsPage() {

- Component Analytics Dashboard + {t('header.title')}

- Track component usage, performance, and user engagement + {t('header.description')}

@@ -87,7 +89,7 @@ export default function AnalyticsPage() {
-

Total Views

+

{t('overview.totalViews')}

{analytics.totalViews.toLocaleString()}

@@ -101,7 +103,7 @@ export default function AnalyticsPage() {
-

Total Copies

+

{t('overview.totalCopies')}

{analytics.totalCopies.toLocaleString()}

@@ -115,7 +117,7 @@ export default function AnalyticsPage() {
-

Components Used

+

{t('overview.componentsUsed')}

{uniqueComponents}

@@ -129,7 +131,7 @@ export default function AnalyticsPage() {
-

Session Time

+

{t('overview.sessionTime')}

{sessionDuration}m

@@ -148,7 +150,7 @@ export default function AnalyticsPage() {

- Most Popular Components + {t('popular.title')}

@@ -160,7 +162,7 @@ export default function AnalyticsPage() {

- Last 7 Days Activity + {t('recent.title')}

@@ -173,7 +175,7 @@ export default function AnalyticsPage() {

- {isToday ? 'Today' : date.toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric' })} + {isToday ? t('recent.today') : date.toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric' })}

@@ -196,7 +198,7 @@ export default function AnalyticsPage() { {/* Performance Insights */}

- Performance Insights + {t('performance.title')}

@@ -205,7 +207,7 @@ export default function AnalyticsPage() { {avgViewsPerComponent}

- Avg Views per Component + {t('performance.avgViews')}

@@ -214,7 +216,7 @@ export default function AnalyticsPage() { {analytics.totalCopies > 0 ? Math.round((analytics.totalCopies / analytics.totalViews) * 100) : 0}%

- Copy Rate + {t('performance.copyRate')}

@@ -223,7 +225,7 @@ export default function AnalyticsPage() { {recentStats.reduce((sum, day) => sum + day.views, 0)}

- Views This Week + {t('performance.viewsWeek')}

@@ -232,26 +234,26 @@ export default function AnalyticsPage() { {/* Quick Actions */}

- Quick Actions + {t('actions.title')}

@@ -261,10 +263,10 @@ export default function AnalyticsPage() { isOpen={showResetModal} onClose={() => setShowResetModal(false)} onConfirm={handleResetData} - title="Reset Analytics Data" - message="This will permanently delete all analytics data including views, copies, and session information. This action cannot be undone." - confirmText="Reset Data" - cancelText="Cancel" + title={t('modal.title')} + message={t('modal.message')} + confirmText={t('modal.confirm')} + cancelText={t('modal.cancel')} variant="danger" />
diff --git a/src/app/components/LanguageSwitcher.jsx b/src/app/components/LanguageSwitcher.jsx index 09f5134..8ded19a 100644 --- a/src/app/components/LanguageSwitcher.jsx +++ b/src/app/components/LanguageSwitcher.jsx @@ -1,25 +1,61 @@ import React from 'react'; -import { useI18n } from '../context/I18nContext'; const LanguageSwitcher = () => { - const { locale, locales, changeLanguage } = useI18n(); + const [isOpen,setIsOpen]=React.useState(false); + // Function to get cookie value + const getCookie = (name) => { + if (typeof document === 'undefined') return null; + const value = `; ${document.cookie}`; + const parts = value.split(`; ${name}=`); + if (parts.length === 2) return parts.pop().split(';').shift(); + return null; + }; + + // Function to set cookie + const setCookie = (name, value, days = 365) => { + if (typeof document === 'undefined') return; + const expires = new Date(); + expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000)); + document.cookie = `${name}=${value};expires=${expires.toUTCString()};path=/`; + }; + + const locales = ['en', 'es', 'fr','hi']; + const [locale, setLocale] = React.useState(() => { + const savedLocale = getCookie('selected-language'); + return savedLocale && locales.includes(savedLocale) ? savedLocale : 'en'; + }); + + const changeLanguage = (lang) => { + + + setLocale(lang); + setCookie('selected-language', lang); + window.location.reload(); + // Additional logic to change the app's language can be added here + }; const languageNames = { en: 'English', es: 'Español', - fr: 'Français' + fr: 'Français', + hi: 'हिन्दी', }; return (
- - -
+ +
{locales.map((lang) => (

- Advanced Component Playground + {t('title')}

- Customize components in real-time and export production-ready code! + {t('subtitle')}

@@ -528,7 +536,7 @@ export default function ComponentPlayground() { {/* Component Type */}
@@ -537,9 +545,9 @@ export default function ComponentPlayground() { onChange={(e) => setSelectedComponent(e.target.value)} className="w-full pl-10 pr-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white" > - - - + + +
@@ -547,7 +555,7 @@ export default function ComponentPlayground() { {/* Component Variant */}