mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-10-20 18:56:16 +00:00
The founder-only wizard registered PezkuwiChain as a teyrchain on Westend, Rococo or Polkadot (Rococo is shut down) and does nothing in the current architecture. XCMBridgeSetupModal was not mounted anywhere. Remove both, their xcm-wizard and xcm-bridge libraries, the DEX admin card, their translations in all six locales, and the typecheck baseline entries for the deleted files.
4184 lines
202 KiB
TypeScript
4184 lines
202 KiB
TypeScript
export default {
|
||
// Navigation
|
||
'nav.home': 'Home',
|
||
'nav.governance': 'Governance',
|
||
'nav.identity': 'Identity',
|
||
'nav.wallet': 'Wallet',
|
||
'nav.docs': 'Documentation',
|
||
'nav.connectWallet': 'Connect Wallet',
|
||
'nav.disconnect': 'Disconnect',
|
||
'nav.profile': 'Profile',
|
||
'nav.proposals': 'Proposals',
|
||
'nav.delegation': 'Delegation',
|
||
'nav.forum': 'Forum',
|
||
'nav.moderation': 'Moderation',
|
||
'nav.dashboard': 'Dashboard',
|
||
'nav.settings': 'Settings',
|
||
'nav.admin': 'Admin',
|
||
'nav.treasury': 'Treasury',
|
||
'nav.logout': 'Logout',
|
||
|
||
// Hero Section
|
||
'hero.title': 'Decentralized Governance for Kurdistan',
|
||
'hero.subtitle': 'Building a transparent, democratic future through blockchain technology',
|
||
'hero.exploreGovernance': 'Explore Governance',
|
||
'hero.learnMore': 'Learn More',
|
||
'hero.cta.primary': 'Get Started',
|
||
'hero.cta.secondary': 'Learn More',
|
||
'hero.stats.activeProposals': 'Active Proposals',
|
||
'hero.stats.totalVoters': 'Total Voters',
|
||
'hero.stats.tokensStaked': 'Tokens Staked',
|
||
'hero.stats.trustScore': 'Trust Score',
|
||
|
||
// Governance
|
||
'governance.title': 'On-Chain Governance',
|
||
'governance.subtitle': 'Participate in democratic decision-making',
|
||
'governance.overview': 'Overview',
|
||
'governance.proposals': 'Proposals',
|
||
'governance.elections': 'Elections',
|
||
'governance.createProposal': 'Create Proposal',
|
||
'governance.vote': 'Vote',
|
||
'governance.delegate': 'Delegate',
|
||
'governance.activeProposals': 'Active Proposals',
|
||
'governance.votingPower': 'Voting Power',
|
||
'governance.status.active': 'Active',
|
||
'governance.status.passed': 'Passed',
|
||
'governance.status.rejected': 'Rejected',
|
||
'governance.status.pending': 'Pending',
|
||
|
||
// Identity
|
||
'identity.title': 'Digital Identity',
|
||
'identity.verification': 'Verification',
|
||
'identity.reputation': 'Reputation',
|
||
'identity.verifyIdentity': 'Verify Identity',
|
||
'identity.trustScore': 'Trust Score',
|
||
'identity.badges': 'Badges',
|
||
'identity.roles': 'Roles',
|
||
'identity.privacy': 'Privacy Settings',
|
||
|
||
// Tokenomics
|
||
'tokenomics.title': 'Tokenomics',
|
||
'tokenomics.totalSupply': 'Total Supply',
|
||
'tokenomics.circulating': 'Circulating Supply',
|
||
'tokenomics.staked': 'Staked',
|
||
'tokenomics.rewards': 'Rewards Pool',
|
||
'tokenomics.dualToken': 'Dual Token Ecosystem',
|
||
'tokenomics.dualTokenDesc': 'PEZ and HEZ tokens work together for governance and utility',
|
||
'tokenomics.pezToken': 'PEZ Token',
|
||
'tokenomics.hezToken': 'HEZ Token',
|
||
'tokenomics.pezDistribution': 'PEZ Distribution',
|
||
'tokenomics.treasury': 'Treasury',
|
||
'tokenomics.presale': 'Presale',
|
||
'tokenomics.founder': 'Founder',
|
||
'tokenomics.stakingRewards': 'Staking Rewards',
|
||
'tokenomics.governance': 'Governance',
|
||
'tokenomics.ecosystem': 'Ecosystem',
|
||
'tokenomics.team': 'Team',
|
||
'tokenomics.hezFeatures': 'Token Features',
|
||
'tokenomics.govToken': 'Governance Token',
|
||
'tokenomics.govTokenDesc': 'Vote on proposals and participate in DAO decisions',
|
||
'tokenomics.stakingRewardsTitle': 'Staking Rewards',
|
||
'tokenomics.stakingRewardsDesc': 'Earn HEZ tokens by staking PEZ',
|
||
'tokenomics.treasuryAccess': 'Treasury Access',
|
||
'tokenomics.treasuryAccessDesc': 'Propose and vote on treasury fund allocations',
|
||
'tokenomics.deflationary': 'Deflationary',
|
||
'tokenomics.deflationaryDesc': 'Synthetic halving every 48 months',
|
||
'tokenomics.utilityToken': 'Utility Token',
|
||
'tokenomics.utilityTokenDesc': 'Used for platform transactions and services',
|
||
'tokenomics.p2pTrading': 'P2P Trading',
|
||
'tokenomics.p2pTradingDesc': 'Primary currency for peer-to-peer marketplace',
|
||
'tokenomics.feeDiscounts': 'Fee Discounts',
|
||
'tokenomics.feeDiscountsDesc': 'Lower platform fees when using HEZ',
|
||
'tokenomics.rewardDistribution': 'Reward Distribution',
|
||
'tokenomics.rewardDistributionDesc': 'Earned through staking and participation',
|
||
'tokenomics.tokenSynergy': 'Token Synergy',
|
||
'tokenomics.synergy1': 'Stake PEZ → Earn HEZ Rewards',
|
||
'tokenomics.synergy2': 'Use HEZ → Boost Governance Power',
|
||
'tokenomics.synergy3': 'Hold Both → Maximum Platform Benefits',
|
||
|
||
// Team
|
||
'team.title': 'Our Heroes',
|
||
'team.subtitle': 'Honoring Kurdish leaders and freedom fighters',
|
||
|
||
// Team Section
|
||
'teamSection.title': 'Our Team',
|
||
'teamSection.subtitle': 'Meet the Visionaries',
|
||
'teamSection.description': 'A dedicated team of blockchain experts and governance specialists building the future of decentralized democracy',
|
||
'teamSection.chiefArchitect': 'Chief Architect',
|
||
'teamSection.chiefArchitectDesc': 'Blockchain visionary and protocol designer',
|
||
'teamSection.govLead': 'Governance Lead',
|
||
'teamSection.govLeadDesc': 'Democratic systems and consensus mechanisms',
|
||
'teamSection.protocolEngineer': 'Protocol Engineer',
|
||
'teamSection.protocolEngineerDesc': 'Core protocol development and optimization',
|
||
'teamSection.securityAdvisor': 'Security Advisor',
|
||
'teamSection.securityAdvisorDesc': 'Cryptography and network security expert',
|
||
'teamSection.communityDirector': 'Community Director',
|
||
'teamSection.communityDirectorDesc': 'Ecosystem growth and community relations',
|
||
'teamSection.treasuryManager': 'Treasury Manager',
|
||
'teamSection.treasuryManagerDesc': 'Economic models and treasury operations',
|
||
'teamSection.devRelations': 'Developer Relations',
|
||
'teamSection.devRelationsDesc': 'Technical documentation and developer support',
|
||
'teamSection.researchLead': 'Research Lead',
|
||
'teamSection.researchLeadDesc': 'Blockchain research and innovation',
|
||
|
||
// Footer
|
||
'footer.about': 'About',
|
||
'footer.governance': 'Governance',
|
||
'footer.developers': 'Developers',
|
||
'footer.community': 'Community',
|
||
'footer.rights': 'All rights reserved',
|
||
|
||
// Profile
|
||
'profile.edit': 'Edit Profile',
|
||
'profile.settings': 'Settings',
|
||
'profile.follow': 'Follow',
|
||
'profile.unfollow': 'Unfollow',
|
||
'profile.share': 'Share',
|
||
'profile.reputation': 'Reputation',
|
||
'profile.level': 'Level',
|
||
'profile.followers': 'Followers',
|
||
'profile.following': 'Following',
|
||
'profile.proposalsCreated': 'Proposals Created',
|
||
'profile.votesCast': 'Votes Cast',
|
||
'profile.delegationsReceived': 'Delegations Received',
|
||
'profile.successRate': 'Success Rate',
|
||
'profile.activity': 'Activity',
|
||
'profile.achievements': 'Achievements',
|
||
'profile.achievementsTitle': 'Your Achievements',
|
||
'profile.recentActivity': 'Recent Activity',
|
||
'profile.connections': 'Connections',
|
||
'profile.viewProfile': 'View Profile',
|
||
'profile.customizeProfile': 'Customize Profile',
|
||
'profile.basic': 'Basic Info',
|
||
'profile.theme': 'Theme',
|
||
'profile.privacy': 'Privacy',
|
||
'profile.notifications': 'Notifications',
|
||
'profile.changeAvatar': 'Change Avatar',
|
||
'profile.name': 'Name',
|
||
'profile.username': 'Username',
|
||
'profile.bio': 'Bio',
|
||
'profile.location': 'Location',
|
||
'profile.socialLinks': 'Social Links',
|
||
'profile.chooseTheme': 'Choose Theme',
|
||
'profile.privacySettings': 'Privacy Settings',
|
||
'profile.showEmail': 'Show email publicly',
|
||
'profile.showActivity': 'Show activity feed',
|
||
'profile.allowMessages': 'Allow direct messages',
|
||
'profile.notificationSettings': 'Notification Settings',
|
||
'profile.proposalUpdates': 'Proposal updates',
|
||
'profile.voteReminders': 'Vote reminders',
|
||
'profile.newFollowers': 'New followers',
|
||
|
||
// Proposals
|
||
'proposals.templates.treasury': 'Treasury',
|
||
'proposals.templates.treasuryDesc': 'Request funding for projects and initiatives',
|
||
'proposals.templates.technical': 'Technical',
|
||
'proposals.templates.technicalDesc': 'Propose protocol upgrades and technical changes',
|
||
'proposals.templates.community': 'Community',
|
||
'proposals.templates.communityDesc': 'Community initiatives and social proposals',
|
||
'proposals.steps.template': 'Template',
|
||
'proposals.steps.basics': 'Basic Info',
|
||
'proposals.steps.details': 'Details',
|
||
'proposals.steps.impact': 'Impact',
|
||
'proposals.steps.review': 'Review',
|
||
'proposals.wizard.selectTemplate': 'Select a template for your proposal',
|
||
'proposals.wizard.enterBasics': 'Enter basic information about your proposal',
|
||
'proposals.wizard.provideDetails': 'Provide detailed specifications',
|
||
'proposals.wizard.defineImpact': 'Define impact and success metrics',
|
||
'proposals.wizard.reviewSubmit': 'Review and submit your proposal',
|
||
'proposals.wizard.readyToSubmit': 'Your proposal is ready to submit!',
|
||
'proposals.fields.title': 'Title',
|
||
'proposals.fields.category': 'Category',
|
||
'proposals.fields.summary': 'Summary',
|
||
'proposals.fields.description': 'Description',
|
||
'proposals.fields.budget': 'Budget',
|
||
'proposals.fields.timeline': 'Timeline',
|
||
'proposals.fields.milestones': 'Milestones',
|
||
'proposals.fields.impact': 'Expected Impact',
|
||
'proposals.fields.metrics': 'Success Metrics',
|
||
'proposals.fields.risks': 'Risks & Mitigation',
|
||
'proposals.placeholders.title': 'Enter a clear, descriptive title',
|
||
'proposals.placeholders.category': 'Select a category',
|
||
'proposals.placeholders.summary': 'Brief summary of your proposal (max 200 characters)',
|
||
'proposals.placeholders.description': 'Detailed description of what you\'re proposing',
|
||
'proposals.placeholders.impact': 'How will this benefit the community?',
|
||
'proposals.placeholders.metrics': 'How will success be measured?',
|
||
'proposals.placeholders.risks': 'What are the potential risks?',
|
||
|
||
// Delegation
|
||
'delegation.title': 'Vote Delegation',
|
||
'delegation.description': 'Delegate your voting power to trusted representatives',
|
||
'delegation.activeDelegates': 'Active Delegates',
|
||
'delegation.totalDelegated': 'Total Delegated',
|
||
'delegation.avgSuccessRate': 'Avg Success Rate',
|
||
'delegation.yourDelegated': 'Your Delegated',
|
||
'delegation.explore': 'Explore Delegates',
|
||
'delegation.myDelegations': 'My Delegations',
|
||
'delegation.becomeDelegate': 'Become a Delegate',
|
||
'delegation.topDelegates': 'Top Delegates',
|
||
'delegation.delegateTo': 'Delegate to',
|
||
'delegation.amount': 'Amount',
|
||
'delegation.period': 'Period',
|
||
'delegation.categories': 'Categories',
|
||
'delegation.confirmDelegation': 'Confirm Delegation',
|
||
'delegation.yourDelegations': 'Your Delegations',
|
||
'delegation.modify': 'Modify',
|
||
'delegation.revoke': 'Revoke',
|
||
'delegation.becomeDelegateDesc': 'Accept delegations and represent your community',
|
||
'delegation.delegateRequirements': 'To become a delegate, you need to maintain a good reputation and actively participate in governance',
|
||
'delegation.buildReputation': 'Build Reputation',
|
||
'delegation.buildReputationDesc': 'Participate actively in governance',
|
||
'delegation.earnTrust': 'Earn Trust',
|
||
'delegation.earnTrustDesc': 'Gain community confidence',
|
||
'delegation.getRewards': 'Get Rewards',
|
||
'delegation.getRewardsDesc': 'Earn for your contributions',
|
||
'delegation.delegateStatement': 'Delegate Statement',
|
||
'delegation.statementPlaceholder': 'Explain why you should be trusted as a delegate...',
|
||
'delegation.expertise': 'Areas of Expertise',
|
||
'delegation.commitments': 'Commitments',
|
||
'delegation.commitmentsPlaceholder': 'What do you commit to as a delegate?',
|
||
'delegation.website': 'Website',
|
||
'delegation.twitter': 'Twitter',
|
||
'delegation.minDelegation': 'Min Delegation',
|
||
'delegation.maxDelegation': 'Max Delegation',
|
||
'delegation.acceptingDelegations': 'Accepting Delegations',
|
||
'delegation.acceptingDesc': 'Toggle to start/stop accepting new delegations',
|
||
'delegation.activateDelegate': 'Activate Delegate Profile',
|
||
'delegation.yourDelegateProfile': 'Your Delegate Profile',
|
||
'delegation.delegateActive': 'You are now an active delegate! Community members can delegate their voting power to you.',
|
||
'delegation.delegators': 'Delegators',
|
||
'delegation.totalReceived': 'Total Received',
|
||
'delegation.successRate': 'Success Rate',
|
||
'delegation.yourStatement': 'Your Statement',
|
||
'delegation.yourExpertise': 'Your Expertise',
|
||
'delegation.delegationLimits': 'Delegation Limits',
|
||
'delegation.editProfile': 'Edit Profile',
|
||
'delegation.pauseDelegations': 'Pause Delegations',
|
||
|
||
// Common
|
||
'common.cancel': 'Cancel',
|
||
'common.save': 'Save',
|
||
'common.next': 'Next',
|
||
'common.back': 'Back',
|
||
'common.submit': 'Submit',
|
||
'common.backToHome': 'Back to Home',
|
||
'common.loading': 'Loading...',
|
||
'common.error': 'Error',
|
||
'common.success': 'Success',
|
||
'common.confirm': 'Confirm',
|
||
'common.delete': 'Delete',
|
||
'common.edit': 'Edit',
|
||
'common.search': 'Search',
|
||
'common.filter': 'Filter',
|
||
'common.sort': 'Sort',
|
||
'common.previous': 'Previous',
|
||
'common.yes': 'Yes',
|
||
'common.no': 'No',
|
||
|
||
// Notifications
|
||
'notifications.title': 'Notifications',
|
||
'notifications.markAllRead': 'Mark all read',
|
||
'notifications.settings': 'Settings',
|
||
'notifications.pushNotifications': 'Push Notifications',
|
||
'notifications.mentions': 'Mentions',
|
||
'notifications.replies': 'Replies',
|
||
'notifications.votes': 'Vote Updates',
|
||
'notifications.badges': 'New Badges',
|
||
'notifications.proposals': 'Proposal Updates',
|
||
'notifications.noNotifications': 'No notifications',
|
||
'notifications.newMention': 'You were mentioned',
|
||
'notifications.newReply': 'New reply to your comment',
|
||
'notifications.voteUpdate': 'Vote count updated',
|
||
'notifications.newBadge': 'You earned a new badge',
|
||
'notifications.proposalUpdate': 'Proposal status changed',
|
||
|
||
// WebSocket
|
||
'websocket.connected': 'Connected',
|
||
'websocket.disconnected': 'Disconnected',
|
||
'websocket.reconnecting': 'Reconnecting...',
|
||
'websocket.liveUpdates': 'Live updates enabled',
|
||
'websocket.offlineMode': 'Offline mode',
|
||
|
||
// Chain Specs
|
||
'chainSpecs.title': 'Chain Specifications',
|
||
'chainSpecs.subtitle': 'Multiple network environments for development, testing, and production',
|
||
'chainSpecs.services': 'Services',
|
||
'chainSpecs.subdomainsTitle': 'Subdomains',
|
||
'chainSpecs.availableServices': '{{count}} available services',
|
||
'chainSpecs.viewExplorer': 'View Explorer',
|
||
'chainSpecs.connectionExample': 'Connection Example',
|
||
'chainSpecs.networkStats': 'Network Stats',
|
||
'chainSpecs.blockTime': 'Block Time',
|
||
'chainSpecs.finality': 'Finality',
|
||
'chainSpecs.consensus': 'Consensus',
|
||
'chainSpecs.runtime': 'Runtime',
|
||
'chainSpecs.websocketEndpoint': 'WebSocket Endpoint',
|
||
'chainSpecs.chainId': 'Chain ID',
|
||
'chainSpecs.features': 'Features',
|
||
'chainSpecs.availableSubdomains': 'Available Services',
|
||
|
||
// Auth
|
||
'auth.login': 'Login',
|
||
'auth.logout': 'Logout',
|
||
'auth.signup': 'Sign Up',
|
||
'auth.email': 'Email',
|
||
'auth.password': 'Password',
|
||
'auth.confirmPassword': 'Confirm Password',
|
||
'auth.rememberMe': 'Remember me',
|
||
'auth.forgotPassword': 'Forgot password?',
|
||
|
||
// Wallet
|
||
'wallet.connect': 'Connect Wallet',
|
||
'wallet.disconnect': 'Disconnect',
|
||
'wallet.balance': 'Balance',
|
||
'wallet.address': 'Address',
|
||
'wallet.network': 'Network',
|
||
|
||
// Login
|
||
'login.subtitle': 'Access your governance account',
|
||
'login.signin': 'Sign In',
|
||
'login.signup': 'Sign Up',
|
||
'login.email': 'Email',
|
||
'login.password': 'Password',
|
||
'login.rememberMe': 'Remember me',
|
||
'login.forgotPassword': 'Forgot password?',
|
||
'login.signingIn': 'Signing in...',
|
||
'login.fullName': 'Full Name',
|
||
'login.confirmPassword': 'Confirm Password',
|
||
'login.referralCode': 'Referral Code',
|
||
'login.optional': 'Optional',
|
||
'login.enterReferralCode': 'Enter referral code',
|
||
'login.referralDescription': 'If someone referred you, enter their code here',
|
||
'login.creatingAccount': 'Creating account...',
|
||
'login.createAccount': 'Create Account',
|
||
'login.or': 'Or continue with',
|
||
'login.connectWallet': 'Connect Wallet',
|
||
'login.terms': 'By continuing, you agree to our',
|
||
'login.termsOfService': 'Terms of Service',
|
||
'login.and': 'and',
|
||
'login.privacyPolicy': 'Privacy Policy',
|
||
|
||
// Navigation (additional)
|
||
'nav.login': 'Login',
|
||
'nav.staking': 'Staking',
|
||
|
||
// Auth (shared keys)
|
||
'auth.signIn': 'Sign In',
|
||
'auth.signUp': 'Sign Up',
|
||
'auth.firstName': 'First Name',
|
||
'auth.lastName': 'Last Name',
|
||
'auth.phone': 'Phone',
|
||
'auth.referralCode': 'Referral Code (Optional)',
|
||
'auth.alreadyHaveAccount': 'Already have an account?',
|
||
'auth.dontHaveAccount': 'Don\'t have an account?',
|
||
'auth.welcomeBack': 'Welcome Back',
|
||
'auth.createAccount': 'Create Account',
|
||
'auth.errorTitle': 'Error',
|
||
'auth.fillFieldsError': 'Please fill in all required fields',
|
||
'auth.authFailedError': 'Authentication failed',
|
||
'auth.placeholders.firstName': 'First name',
|
||
'auth.placeholders.lastName': 'Last name',
|
||
'auth.placeholders.phone': '+1234567890',
|
||
'auth.placeholders.email': 'your@email.com',
|
||
'auth.placeholders.password': '••••••••',
|
||
'auth.placeholders.referralCode': 'Enter referral code',
|
||
|
||
// Footer (additional)
|
||
'footer.description': 'Decentralized governance for Kurdistan',
|
||
|
||
// Role
|
||
'role': 'Role',
|
||
|
||
// Shared top-level keys
|
||
'appName': 'PezkuwiChain',
|
||
'welcome': 'Welcome',
|
||
'home': 'Home',
|
||
'wallet': 'Wallet',
|
||
'citizens': 'Citizens',
|
||
'referral': 'Referral',
|
||
'profile': 'Profile',
|
||
'settings': 'Settings',
|
||
'notifications': 'Notifications',
|
||
'editProfile': 'Edit Profile',
|
||
'changePassword': 'Change Password',
|
||
'signOut': 'Sign Out',
|
||
'language': 'Language',
|
||
'darkMode': 'Dark Mode',
|
||
'security': 'Security',
|
||
'preferences': 'Preferences',
|
||
'about': 'About',
|
||
'biometricAuth': 'Biometric Authentication',
|
||
'twoFactorAuth': 'Two-Factor Authentication',
|
||
'pushNotifications': 'Push Notifications',
|
||
'version': 'Version',
|
||
'terms': 'Terms of Service',
|
||
'privacy': 'Privacy Policy',
|
||
'help': 'Help & Support',
|
||
'walletAddress': 'Wallet Address',
|
||
'selectYourLanguage': 'Select Your Language',
|
||
'digitalCitizenshipPlatform': 'Digital Citizenship Platform',
|
||
'continue': 'Continue',
|
||
'loading': 'Loading...',
|
||
'submit': 'Submit',
|
||
'cancel': 'Cancel',
|
||
'save': 'Save',
|
||
'back': 'Back',
|
||
|
||
// Language Settings
|
||
'languageSettings.info': '6 languages are fully supported. Other languages use Google Translate.',
|
||
|
||
// Settings Screen
|
||
'settingsScreen.comingSoon': 'Coming Soon',
|
||
'settingsScreen.comingSoonMessage': 'This feature will be available in a future update',
|
||
'settingsScreen.subtitles.editProfile': 'Update your information',
|
||
'settingsScreen.subtitles.walletAddress': 'Your primary wallet address',
|
||
'settingsScreen.subtitles.biometric': 'Use fingerprint or Face ID',
|
||
'settingsScreen.subtitles.biometricNotAvailable': 'Not available on this device',
|
||
'settingsScreen.subtitles.changePassword': 'Update your password',
|
||
'settingsScreen.subtitles.twoFactorAuth': 'Add extra security',
|
||
'settingsScreen.subtitles.notifications': 'Receive alerts and updates',
|
||
'settingsScreen.subtitles.darkThemeEnabled': 'Dark theme enabled',
|
||
'settingsScreen.subtitles.lightThemeEnabled': 'Light theme enabled',
|
||
'settingsScreen.biometricAlerts.prompt': 'Authenticate to enable biometrics',
|
||
'settingsScreen.biometricAlerts.successTitle': 'Success',
|
||
'settingsScreen.biometricAlerts.enabled': 'Biometric authentication enabled',
|
||
'settingsScreen.biometricAlerts.disabled': 'Biometric authentication disabled',
|
||
'settingsScreen.biometricAlerts.failedTitle': 'Failed',
|
||
'settingsScreen.biometricAlerts.failedMessage': 'Biometric authentication failed',
|
||
|
||
// Edit Profile Screen
|
||
'editProfileScreen.labels.phone': 'Phone Number',
|
||
'editProfileScreen.placeholders.firstName': 'Enter your first name',
|
||
'editProfileScreen.placeholders.lastName': 'Enter your last name',
|
||
'editProfileScreen.placeholders.email': 'Enter your email',
|
||
'editProfileScreen.placeholders.phone': 'Enter your phone number',
|
||
'editProfileScreen.alerts.successTitle': 'Success',
|
||
'editProfileScreen.alerts.successMessage': 'Profile updated successfully!',
|
||
'editProfileScreen.alerts.updateFailed': 'Failed to update profile',
|
||
'editProfileScreen.alerts.networkError': 'Network error occurred',
|
||
'editProfileScreen.saveButton': 'Save Changes',
|
||
|
||
// Change Password Screen
|
||
'changePasswordScreen.info': 'Password must be at least 8 characters long',
|
||
'changePasswordScreen.labels.current': 'Current Password',
|
||
'changePasswordScreen.labels.new': 'New Password',
|
||
'changePasswordScreen.labels.confirm': 'Confirm New Password',
|
||
'changePasswordScreen.placeholders.current': 'Enter current password',
|
||
'changePasswordScreen.placeholders.new': 'Enter new password',
|
||
'changePasswordScreen.placeholders.confirm': 'Confirm new password',
|
||
'changePasswordScreen.alerts.fillFields': 'Please fill in all fields',
|
||
'changePasswordScreen.alerts.noMatch': 'New passwords do not match',
|
||
'changePasswordScreen.alerts.lengthError': 'Password must be at least 8 characters',
|
||
'changePasswordScreen.alerts.successTitle': 'Success',
|
||
'changePasswordScreen.alerts.successMessage': 'Password changed successfully!',
|
||
'changePasswordScreen.alerts.updateFailed': 'Failed to change password',
|
||
'changePasswordScreen.alerts.networkError': 'Network error occurred',
|
||
'changePasswordScreen.saveButton': 'Change Password',
|
||
|
||
// Wallet Address Screen
|
||
'walletAddressScreen.info': 'Your wallet address is used to receive HEZ and PEZ tokens. Make sure it is correct.',
|
||
'walletAddressScreen.label': 'Wallet Address',
|
||
'walletAddressScreen.placeholder': 'Enter wallet address',
|
||
'walletAddressScreen.noAddress': 'No wallet address set',
|
||
'walletAddressScreen.editButton': 'Edit Wallet Address',
|
||
'walletAddressScreen.alerts.emptyError': 'Wallet address cannot be empty',
|
||
'walletAddressScreen.alerts.successTitle': 'Success',
|
||
'walletAddressScreen.alerts.successMessage': 'Wallet address updated successfully!',
|
||
'walletAddressScreen.alerts.updateFailed': 'Failed to update wallet address',
|
||
'walletAddressScreen.alerts.networkError': 'Network error occurred',
|
||
'walletAddressScreen.alerts.copiedTitle': 'Copied',
|
||
'walletAddressScreen.alerts.copiedMessage': 'Wallet address copied to clipboard',
|
||
|
||
// Notifications Screen
|
||
'notificationsScreen.title': 'Notifications',
|
||
'notificationsScreen.markAllRead': 'Mark all as read',
|
||
|
||
// QR Scanner Screen
|
||
'qrScannerScreen.title': 'Scan QR Code',
|
||
'qrScannerScreen.titleNoPermission': 'QR Scanner',
|
||
'qrScannerScreen.requesting': 'Requesting camera permission...',
|
||
'qrScannerScreen.permissionDenied': 'Camera Permission Denied',
|
||
'qrScannerScreen.permissionMessage': 'Please enable camera access in your device settings to scan QR codes.',
|
||
'qrScannerScreen.requestAgain': 'Request Permission Again',
|
||
'qrScannerScreen.instruction': 'Place the QR code within the frame',
|
||
'qrScannerScreen.scanAgain': 'Scan Again',
|
||
'qrScannerScreen.alertTitle': 'QR Code Scanned',
|
||
'qrScannerScreen.alertType': 'Type',
|
||
'qrScannerScreen.alertData': 'Data',
|
||
'qrScannerScreen.alertOK': 'OK',
|
||
|
||
// Terms Screen
|
||
'termsScreen.title': 'Terms of Service',
|
||
'termsScreen.lastUpdated': 'Last Updated: November 8, 2025',
|
||
|
||
// Privacy Screen
|
||
'privacyScreen.title': 'Privacy Policy',
|
||
'privacyScreen.lastUpdated': 'Last Updated: November 8, 2025',
|
||
|
||
// Help Screen
|
||
'helpScreen.title': 'Help & Support',
|
||
'helpScreen.contactTitle': 'Contact Support',
|
||
'helpScreen.supportCenter': 'Visit Support Center',
|
||
'helpScreen.supportCenterLink': 'pezkuwichain.io/support',
|
||
'helpScreen.emailSupport': 'Email Support',
|
||
'helpScreen.emailSupportLink': 'support@pezkuwichain.io',
|
||
'helpScreen.faqTitle': 'Frequently Asked Questions',
|
||
'helpScreen.appInfo': 'App Version 1.0.0\n© 2025 PezkuwiChain. All rights reserved.',
|
||
|
||
// Home Tab
|
||
'homeTab.tikiScore': 'Tiki Score',
|
||
'homeTab.trustScore': 'Trust Score',
|
||
'homeTab.dynamicWidget': 'Dynamic Widget',
|
||
'homeTab.quickActions': 'Quick Actions',
|
||
'homeTab.send': 'Send',
|
||
'homeTab.receive': 'Receive',
|
||
'homeTab.exchange': 'Exchange',
|
||
'homeTab.stake': 'Stake',
|
||
'homeTab.vote': 'Vote',
|
||
'homeTab.nft': 'NFT',
|
||
'homeTab.certificates': 'Certificates',
|
||
'homeTab.refer': 'Refer',
|
||
'homeTab.pay': 'Pay',
|
||
'homeTab.rewards': 'Rewards',
|
||
'homeTab.history': 'History',
|
||
'homeTab.assets': 'Assets',
|
||
'homeTab.welcomeTitle': 'Welcome to PezkuwiChain!',
|
||
'homeTab.welcomeMessage': 'Start your citizenship journey today',
|
||
'homeTab.featureTitle': 'New Feature',
|
||
'homeTab.featureMessage': 'Vote on governance proposals',
|
||
|
||
// Quick Actions
|
||
'quickActions.home': 'Home',
|
||
'quickActions.governance': 'Governance',
|
||
'quickActions.exchange': 'Exchange',
|
||
'quickActions.b2b': 'B2B Platform',
|
||
'quickActions.bank': 'Bank',
|
||
'quickActions.games': 'Games',
|
||
'quickActions.university': 'University',
|
||
'quickActions.education': 'Education',
|
||
'quickActions.dashboard': 'Dashboard',
|
||
'quickActions.trading': 'Trading',
|
||
'quickActions.kurdmedia': 'Kurdmedia',
|
||
'quickActions.rewards': 'Rewards',
|
||
'quickActions.forum': 'Forum',
|
||
|
||
// Wallet Tab
|
||
'walletTab.title': 'My Wallet',
|
||
'walletTab.balanceLoading': 'Loading...',
|
||
'walletTab.hezName': 'HEZ Token (Citizenship)',
|
||
'walletTab.pezName': 'PEZ Token (Utility)',
|
||
'walletTab.swap': 'Swap',
|
||
'walletTab.p2p': 'P2P',
|
||
'walletTab.dapps': 'DApps',
|
||
'walletTab.staking': 'Staking',
|
||
'walletTab.connect': 'Connect',
|
||
'walletTab.tokens': 'Tokens',
|
||
'walletTab.pezNetwork': 'PEZ Network',
|
||
'walletTab.polkadotNetwork': 'Polkadot',
|
||
'walletTab.bitcoinNetwork': 'Bitcoin',
|
||
'walletTab.ethereumNetwork': 'Ethereum',
|
||
'walletTab.bscNetwork': 'Binance Smart Chain',
|
||
'walletTab.cardanoNetwork': 'Cardano',
|
||
'walletTab.solanaNetwork': 'Solana',
|
||
|
||
// Citizenship
|
||
'citizenship.title': 'Digital Citizenship',
|
||
'citizenship.errorNoUser': 'You must be logged in to view citizenship status.',
|
||
'citizenship.errorFetch': 'Failed to retrieve citizenship status. Please pull down to refresh.',
|
||
'citizenship.errorUnknown': 'Unknown status received from server.',
|
||
'citizenship.statusLoading': 'Loading your citizenship status...',
|
||
'citizenship.statusNotApplied': 'You have not yet applied for digital citizenship. Start your application to become part of the PezkuwiChain community.',
|
||
'citizenship.statusPending': 'Your citizenship application is currently under review. We will notify you once the process is complete.',
|
||
'citizenship.statusApproved': 'Congratulations! Your digital citizenship has been approved. You can now access citizen-exclusive features.',
|
||
'citizenship.statusRejected': 'Your citizenship application has been rejected. Please check notifications or contact support for more information.',
|
||
|
||
// Referral Tab
|
||
'referralTab.title': 'Referral Program',
|
||
'referralTab.subtitle': 'Invite friends and earn rewards',
|
||
'referralTab.code': 'Your Referral Code',
|
||
'referralTab.link': 'Your Referral Link',
|
||
'referralTab.count': 'Total Invited',
|
||
'referralTab.people': 'People',
|
||
'referralTab.errorNoUser': 'You must be logged in to view referral information.',
|
||
'referralTab.errorFetch': 'Failed to retrieve referral information. Please pull to refresh.',
|
||
'referralTab.copiedCodeTitle': 'Code Copied',
|
||
'referralTab.copiedCodeMessage': 'Your referral code has been copied to clipboard.',
|
||
'referralTab.copiedLinkTitle': 'Link Copied',
|
||
'referralTab.copiedLinkMessage': 'Your referral link has been copied to clipboard.',
|
||
|
||
// Profile Tab
|
||
'profileTab.notLoggedIn': 'Please log in to view your profile.',
|
||
'profileTab.editProfile': 'Edit Profile',
|
||
'profileTab.walletAddress': 'Wallet Address',
|
||
'profileTab.changePassword': 'Change Password',
|
||
'profileTab.security': 'Security & 2FA',
|
||
'profileTab.signOutAlertTitle': 'Sign Out',
|
||
'profileTab.signOutAlertMessage': 'Are you sure you want to sign out?',
|
||
|
||
// Send Modal
|
||
'sendModal.title': 'Send Tokens',
|
||
'sendModal.toAddress': 'To Address',
|
||
'sendModal.placeholderAddress': 'Enter wallet address or scan QR',
|
||
'sendModal.amount': 'Amount',
|
||
'sendModal.sendButton': 'Send',
|
||
'sendModal.errorNoUser': 'You must be logged in to send tokens.',
|
||
'sendModal.errorFillFields': 'Please fill in both address and amount.',
|
||
'sendModal.errorInvalidAmount': 'Please enter a valid amount greater than 0.',
|
||
'sendModal.errorGeneral': 'An error occurred during the transfer.',
|
||
'sendModal.successMessage': 'Successfully sent {{amount}} {{asset}}! TxHash: {{txHash}}...',
|
||
'sendModal.qrScanned': 'QR Code Scanned',
|
||
|
||
// Receive Modal
|
||
'receiveModal.title': 'Receive Tokens',
|
||
'receiveModal.subtitle': 'Share your address to receive HEZ & PEZ',
|
||
'receiveModal.addressLabel': 'Your Wallet Address',
|
||
'receiveModal.copy': 'Copy',
|
||
'receiveModal.share': 'Share',
|
||
'receiveModal.copiedTitle': 'Copied to Clipboard',
|
||
'receiveModal.copiedMessage': 'Your wallet address has been copied.',
|
||
'receiveModal.errorNoAddress': 'Address not available. Please log in.',
|
||
|
||
// Placeholders
|
||
'placeholders.citizens': 'Citizens Screen',
|
||
'placeholders.referral': 'Referral Screen',
|
||
'placeholders.profile': 'Profile Screen',
|
||
|
||
// Image Picker
|
||
'imagePicker.title': 'Change Profile Photo',
|
||
'imagePicker.subtitle': 'Choose an option',
|
||
'imagePicker.takePhoto': 'Take Photo',
|
||
'imagePicker.chooseFromGallery': 'Choose from Gallery',
|
||
|
||
// Alerts
|
||
'alerts.permissionRequired': 'Permission Required',
|
||
'alerts.cameraPermission': 'Camera permission required!',
|
||
'alerts.galleryPermission': 'Gallery access permission required!',
|
||
|
||
// Verification
|
||
'verification.title': 'Human Verification',
|
||
'verification.subtitle': 'Please complete the security check to continue',
|
||
'verification.verifying': 'Verifying...',
|
||
'verification.loading': 'Loading verification...',
|
||
'verification.failedTitle': 'Verification Failed',
|
||
'verification.failedMessage': 'Please try again',
|
||
'verification.errorTitle': 'Error',
|
||
'verification.errorMessage': 'Verification failed. Please try again.',
|
||
'verification.webViewError': 'WebView Error:',
|
||
|
||
// === BATCH 1: Navigation & Layout ===
|
||
'nav.beCitizen': 'Be Citizen',
|
||
'nav.citizensPortal': 'Citizens Portal',
|
||
'nav.education': 'Education',
|
||
'nav.explorer': 'Explorer',
|
||
'nav.api': 'API',
|
||
'nav.faucet': 'Faucet',
|
||
'nav.developers': 'Developers',
|
||
'nav.grants': 'Grants',
|
||
'nav.wiki': 'Wiki',
|
||
'nav.telemetry': 'Telemetry',
|
||
'nav.trading': 'Trading',
|
||
|
||
// Trading menu
|
||
'trading.dexPools': 'DEX Pools',
|
||
'trading.p2p': 'P2P',
|
||
'trading.presale': 'Presale',
|
||
'trading.staking': 'Staking',
|
||
'trading.multiSig': 'MultiSig',
|
||
|
||
// Staking
|
||
'staking.subtitle': 'Stake your tokens and earn rewards',
|
||
|
||
// MultiSig
|
||
'multiSig.title': 'Multi-Signature Wallet',
|
||
'multiSig.subtitle': 'Secure your funds with multi-signature protection',
|
||
|
||
// Footer extras
|
||
'footer.whitepaper': 'Whitepaper',
|
||
'footer.github': 'GitHub',
|
||
'footer.api': 'API',
|
||
'footer.sdk': 'SDK',
|
||
'footer.discord': 'Discord',
|
||
'footer.twitter': 'Twitter/X',
|
||
'footer.telegram': 'Telegram',
|
||
'footer.youtube': 'YouTube',
|
||
'footer.facebook': 'Facebook',
|
||
'footer.copyright': '© 2024 PezkuwiChain. All rights reserved.',
|
||
'footer.platform': 'Decentralized governance platform',
|
||
|
||
// Route Guards
|
||
'guards.checkingPermissions': 'Checking permissions...',
|
||
'guards.walletNotConnected': 'Wallet Not Connected',
|
||
'guards.connectWalletMessage': 'Please connect your Pezkuwi wallet to access this feature.',
|
||
'guards.validatorRequired': 'Validator Access Required',
|
||
'guards.validatorMessage': 'You must be registered in the Validator Pool to access this feature.',
|
||
'guards.educatorRequired': 'Educator Role Required',
|
||
'guards.educatorMessage': 'You need one of these Tiki roles to create courses:',
|
||
'guards.roles.perwerdekar': 'Perwerdekar (Educator)',
|
||
'guards.roles.mamoste': 'Mamoste (Teacher)',
|
||
'guards.roles.wezirecand': 'WezireCand (Education Minister)',
|
||
'guards.roles.rewsenbir': 'Rewsenbîr (Intellectual)',
|
||
'guards.moderatorRequired': 'Moderator Access Required',
|
||
'guards.moderatorMessage': 'You need moderator privileges to access this feature.',
|
||
'guards.adminRequired': 'Admin Access Required',
|
||
'guards.adminMessage': 'You do not have permission to access the admin panel.',
|
||
|
||
// Common extras
|
||
'common.goHome': 'Go to Home',
|
||
'common.goToStaking': 'Go to Staking',
|
||
'common.browseCourses': 'Browse Courses',
|
||
'common.tryAgain': 'Try Again',
|
||
'common.reloadPage': 'Reload Page',
|
||
|
||
// Errors
|
||
'errors.somethingWentWrong': 'Something Went Wrong',
|
||
'errors.unexpectedError': 'An unexpected error occurred. We apologize for the inconvenience.',
|
||
'errors.errorDetails': 'Error Details (for developers)',
|
||
'errors.error': 'Error:',
|
||
'errors.componentStack': 'Component Stack:',
|
||
'errors.contactSupport': 'If this problem persists, please contact support at',
|
||
'errors.errorLoading': 'Error loading {{routeName}}',
|
||
'errors.renderError': 'An error occurred while rendering this component.',
|
||
|
||
// === BATCH 2: Governance ===
|
||
// GovEntrance
|
||
'govEntrance.loading': 'Loading Government Portal...',
|
||
'govEntrance.backToCitizens': 'Back to Citizens Portal',
|
||
'govEntrance.title': 'Government Entrance',
|
||
'govEntrance.subtitle': 'Democratic Participation',
|
||
'govEntrance.description': 'Exercise your democratic rights and participate in governance',
|
||
'govEntrance.noAccess': 'No Access',
|
||
'govEntrance.noAccessMessage': 'You must have a Government Role to access this page',
|
||
'govEntrance.underDevelopment': 'Under Development',
|
||
'govEntrance.underDevelopmentMessage': '{{feature}} is currently under development',
|
||
'govEntrance.active': 'Active',
|
||
'govEntrance.elections.title': 'Elections',
|
||
'govEntrance.elections.subtitle': 'Elections & Voting',
|
||
'govEntrance.elections.presidential': 'Presidential Election',
|
||
'govEntrance.elections.parliamentary': 'Parliamentary Elections',
|
||
'govEntrance.elections.speaker': 'Speaker Election',
|
||
'govEntrance.elections.constitutional': 'Constitutional Court',
|
||
'govEntrance.candidacy.badge': 'Your Rights',
|
||
'govEntrance.candidacy.title': 'Run for Office',
|
||
'govEntrance.candidacy.presidential': 'Presidential Candidate',
|
||
'govEntrance.candidacy.parliamentary': 'Parliamentary Candidate',
|
||
'govEntrance.candidacy.trustScore': 'Required Trust Score: 300-750',
|
||
'govEntrance.candidacy.endorsements': 'Required support: 100-1000 endorsements',
|
||
'govEntrance.proposals.badge': 'Legislative',
|
||
'govEntrance.proposals.title': 'Submit Proposals',
|
||
'govEntrance.proposals.legislative': 'Legislative Proposals',
|
||
'govEntrance.proposals.constitutional': 'Constitutional Amendments',
|
||
'govEntrance.proposals.budget': 'Budget Proposals',
|
||
'govEntrance.voting.badge': 'MPs Only',
|
||
'govEntrance.voting.title': 'Parliamentary Voting',
|
||
'govEntrance.voting.aye': 'Aye',
|
||
'govEntrance.voting.nay': 'Nay',
|
||
'govEntrance.voting.abstain': 'Abstain',
|
||
'govEntrance.voting.majorityTypes': 'Majority types: Simple (50%+1), Super (2/3), Absolute (3/4)',
|
||
'govEntrance.veto.badge': 'President',
|
||
'govEntrance.veto.title': 'Veto & Override',
|
||
'govEntrance.veto.presidential': 'Presidential Veto',
|
||
'govEntrance.veto.override': 'Parliamentary Override (2/3)',
|
||
'govEntrance.veto.requires': 'Requires 134 of 201 votes',
|
||
'govEntrance.appointments.badge': 'Ministers',
|
||
'govEntrance.appointments.title': 'Government Officials',
|
||
'govEntrance.appointments.cabinet': 'Cabinet Ministers',
|
||
'govEntrance.appointments.officials': 'Judges, Treasury, Notary',
|
||
'govEntrance.appointments.approval': 'Presidential approval required',
|
||
'govEntrance.status.title': 'Your Citizenship Status',
|
||
'govEntrance.status.kyc': 'KYC Status',
|
||
'govEntrance.status.votingRights': 'Voting Rights',
|
||
'govEntrance.status.active': 'Active',
|
||
'govEntrance.status.participation': 'Participation',
|
||
'govEntrance.status.ready': 'Ready',
|
||
'govEntrance.status.notice': 'Important: All governance actions are recorded on the blockchain. Ensure you have sufficient HEZ balance for transaction fees.',
|
||
|
||
// GovernanceInterface
|
||
'governance.description': 'Participate in PezkuwiChain\'s decentralized governance. Vote on proposals, elect representatives, and shape the future of the network.',
|
||
'governance.delegation': 'Delegation',
|
||
'governance.myVotes': 'My Votes',
|
||
'governance.history': 'History',
|
||
|
||
// GovernanceOverview
|
||
'governance.overview.loading': 'Loading governance data...',
|
||
'governance.overview.activeProposals': 'Active Proposals',
|
||
'governance.overview.activeElections': 'Active Elections',
|
||
'governance.overview.totalVoters': 'Total Voters',
|
||
'governance.overview.treasury': 'Treasury',
|
||
'governance.overview.parliamentStatus': 'Parliament Status',
|
||
'governance.overview.activeMembers': 'Active Members',
|
||
'governance.overview.elections': 'Elections',
|
||
'governance.overview.pendingVotes': 'Pending Votes',
|
||
'governance.overview.diwan': 'Diwan (Constitutional Court)',
|
||
'governance.overview.activeJudges': 'Active Judges',
|
||
'governance.overview.pendingReviews': 'Pending Reviews',
|
||
|
||
// GovernanceHistory
|
||
'governance.historyTab.loading': 'Loading governance history...',
|
||
'governance.historyTab.electionsHeld': 'Elections Held',
|
||
'governance.historyTab.totalProposals': 'Total Proposals',
|
||
'governance.historyTab.parliamentSize': 'Parliament Size',
|
||
'governance.historyTab.avgTurnout': 'Avg Turnout',
|
||
'governance.historyTab.liveData': 'Live Blockchain Data',
|
||
'governance.historyTab.block': 'Block #{{number}}',
|
||
'governance.historyTab.electionHistory': 'Election History',
|
||
'governance.historyTab.proposalHistory': 'Proposal History',
|
||
'governance.historyTab.noElections': 'No completed elections in history',
|
||
'governance.historyTab.electionsWillAppear': 'Election results will appear here once voting concludes',
|
||
'governance.historyTab.election': 'Election #{{id}}',
|
||
'governance.historyTab.finalized': 'Finalized {{time}}',
|
||
'governance.historyTab.completed': 'Completed',
|
||
'governance.historyTab.winners': 'Winner(s):',
|
||
'governance.historyTab.noWinners': 'No winners',
|
||
'governance.historyTab.totalVotes': 'Total Votes',
|
||
'governance.historyTab.turnout': 'Turnout:',
|
||
'governance.historyTab.runoffRequired': 'Runoff Required',
|
||
'governance.historyTab.noProposals': 'No completed proposals in history',
|
||
'governance.historyTab.proposalsWillAppear': 'Proposal outcomes will appear here once voting concludes',
|
||
'governance.historyTab.proposedBy': 'Proposed by {{address}}',
|
||
'governance.historyTab.aye': 'Aye',
|
||
'governance.historyTab.nay': 'Nay',
|
||
|
||
// ProposalsList
|
||
'proposals.treasuryProposal': 'Treasury Proposal #{{id}}',
|
||
'proposals.treasuryDescription': 'Requesting {{amount}} HEZ for {{beneficiary}}',
|
||
'proposals.pendingReferendum': 'Pending referendum',
|
||
'proposals.referendum': 'Referendum #{{id}}',
|
||
'proposals.referendumDescription': 'Voting on proposal with {{threshold}} threshold',
|
||
'proposals.type.treasury': 'Treasury',
|
||
'proposals.type.executive': 'Executive',
|
||
'proposals.type.constitutional': 'Constitutional',
|
||
'proposals.type.simple': 'Simple',
|
||
'proposals.loading': 'Loading proposals from blockchain...',
|
||
'proposals.loadError': 'Failed to load proposals: {{error}}',
|
||
'proposals.liveData': 'Live Blockchain Data',
|
||
'proposals.count': '{{count}} active proposals & referenda',
|
||
'proposals.noProposals': 'No active proposals or referenda found on the blockchain.',
|
||
'proposals.votingProgress': 'Voting Progress',
|
||
'proposals.votes': '{{count}} votes',
|
||
'proposals.aye': 'Aye',
|
||
'proposals.nay': 'Nay',
|
||
'proposals.proposer': 'Proposer: {{address}}',
|
||
'proposals.quorumReached': 'Quorum reached',
|
||
'proposals.quorum': 'Quorum: {{percent}}%',
|
||
'proposals.viewDetails': 'View Details',
|
||
'proposals.castVote': 'Cast Vote',
|
||
|
||
// Elections
|
||
'elections.connectWallet': 'Please connect your wallet first',
|
||
'elections.voteSuccess': 'Vote submitted successfully!',
|
||
'elections.voteFailed': 'Vote failed: {{error}}',
|
||
'elections.voteError': 'Failed to submit vote',
|
||
'elections.selectCandidate': 'Please select at least one candidate',
|
||
'elections.votesSuccess': 'Votes submitted successfully!',
|
||
'elections.votesError': 'Failed to submit votes',
|
||
'elections.ended': 'Ended',
|
||
'elections.daysRemaining': '{{days}}d {{hours}}h remaining',
|
||
'elections.hoursRemaining': '{{hours}}h {{minutes}}m remaining',
|
||
'elections.minutesRemaining': '{{minutes}}m remaining',
|
||
'elections.loading': 'Loading elections from blockchain...',
|
||
'elections.loadError': 'Error loading elections: {{error}}',
|
||
'elections.liveData': 'Live Blockchain Data',
|
||
'elections.block': 'Block #{{number}}',
|
||
'elections.activeElections': 'Active Elections',
|
||
'elections.register': 'Register',
|
||
'elections.results': 'Results',
|
||
'elections.noActive': 'No active elections at this time',
|
||
'elections.checkBack': 'Check back later for upcoming elections',
|
||
'elections.votesAndCandidates': '{{votes}} votes cast \u2022 {{candidates}} candidates',
|
||
'elections.youVoted': 'You Voted',
|
||
'elections.noCandidates': 'No candidates registered',
|
||
'elections.endorsements': '{{count}} endorsements',
|
||
'elections.votesCount': '{{count}} votes',
|
||
'elections.submitting': 'Submitting...',
|
||
'elections.selected': 'Selected',
|
||
'elections.vote': 'Vote',
|
||
'elections.select': 'Select',
|
||
'elections.selectMultiple': 'Select multiple candidates for parliamentary election',
|
||
'elections.submittingVotes': 'Submitting Votes...',
|
||
'elections.submitVotes': 'Submit {{count}} Vote(s)',
|
||
'elections.candidatesRegistered': '{{count}} candidates registered so far',
|
||
'elections.registerAsCandidate': 'Register as Candidate',
|
||
'elections.candidatesCompeting': '{{count}} candidates competing',
|
||
'elections.votingBegins': 'Voting begins {{date}}',
|
||
'elections.candidateRegistration': 'Candidate Registration',
|
||
'elections.registerDescription': 'Register as a candidate for upcoming elections',
|
||
'elections.requirements': 'Requirements',
|
||
'elections.electionResults': 'Election Results',
|
||
'elections.resultsDescription': 'Historical election outcomes',
|
||
'elections.noCompletedElections': 'No completed elections yet',
|
||
'elections.finalizedAtBlock': 'Finalized at block #{{block}}',
|
||
'elections.totalVotes': 'Total Votes',
|
||
'elections.turnout': 'Turnout',
|
||
'elections.runoffRequired': 'Runoff Required',
|
||
'elections.winners': 'Winner(s)',
|
||
'elections.na': 'N/A',
|
||
'elections.completed': 'Completed',
|
||
|
||
// MyVotes
|
||
'myVotes.connectTitle': 'Connect Your Wallet',
|
||
'myVotes.connectDescription': 'Connect your wallet to view your voting history and delegations',
|
||
'myVotes.connectButton': 'Connect Wallet',
|
||
'myVotes.loading': 'Loading your voting history...',
|
||
'myVotes.error': 'Error: {{error}}',
|
||
'myVotes.totalVotes': 'Total Votes',
|
||
'myVotes.activeVotes': 'Active Votes',
|
||
'myVotes.proposalVotes': 'Proposal Votes',
|
||
'myVotes.electionVotes': 'Election Votes',
|
||
'myVotes.liveData': 'Live Blockchain Data',
|
||
'myVotes.connectedAs': 'Connected as {{address}}',
|
||
'myVotes.proposalVotesTab': 'Proposal Votes',
|
||
'myVotes.electionVotesTab': 'Election Votes',
|
||
'myVotes.delegationsTab': 'My Delegations',
|
||
'myVotes.noProposalVotes': 'You have not voted on any proposals yet',
|
||
'myVotes.checkProposals': 'Check the Proposals tab to participate in governance',
|
||
'myVotes.conviction': 'Conviction: {{conviction}} \u2022 Amount: {{amount}} HEZ',
|
||
'myVotes.electionName': '{{type}} Election',
|
||
'myVotes.electionDetails': 'Election #{{id}} \u2022 {{count}} candidate(s) selected',
|
||
'myVotes.noElectionVotes': 'You have not voted in any elections yet',
|
||
'myVotes.checkElections': 'Check the Elections tab to participate',
|
||
'myVotes.noDelegations': 'You have not delegated your voting power',
|
||
'myVotes.checkDelegation': 'Check the Delegation tab to delegate your votes',
|
||
'myVotes.delegatedTo': 'Delegated to {{address}}',
|
||
'myVotes.delegationDetails': 'Amount: {{amount}} HEZ \u2022 Conviction: {{conviction}}x',
|
||
'myVotes.revoke': 'Revoke',
|
||
|
||
// ==================== BATCH 3: DEX & Swap ====================
|
||
|
||
// Common transaction states (shared across DEX modals)
|
||
'common.signing': 'Signing...',
|
||
'common.retry': 'Retry',
|
||
'common.txFailed': 'Transaction failed',
|
||
'common.walletNotConnected': 'Wallet not connected',
|
||
'common.amountGtZero': 'Amount must be greater than zero',
|
||
'common.insufficientBalance': 'Insufficient {{symbol}} balance',
|
||
'common.connectWalletAlert': 'Please connect your wallet',
|
||
'common.max': 'MAX',
|
||
'common.balance': 'Balance:',
|
||
'common.slippageTolerance': 'Slippage Tolerance',
|
||
'common.exchangeRate': 'Exchange Rate',
|
||
|
||
// DEXDashboard
|
||
'dex.title': 'Pezkuwi DEX',
|
||
'dex.description': 'Decentralized exchange for trading tokens on PezkuwiChain',
|
||
'dex.connected': 'Connected:',
|
||
'dex.founderAccess': 'FOUNDER ACCESS',
|
||
'dex.connectWallet': 'Please connect your Pezkuwi wallet to use the DEX',
|
||
'dex.tabs.swap': 'Swap',
|
||
'dex.tabs.pools': 'Pools',
|
||
'dex.tabs.admin': 'Admin',
|
||
'dex.admin.tokenWrapping': 'Token Wrapping',
|
||
'dex.admin.tokenWrappingDesc': 'Convert native HEZ to wrapped wHEZ for use in DEX pools',
|
||
'dex.admin.wrapHez': 'Wrap HEZ to wHEZ',
|
||
'dex.admin.tokenMinting': 'Token Minting',
|
||
'dex.admin.tokenMintingDesc': 'Mint wrapped tokens for testing and liquidity provision',
|
||
'dex.admin.mintToken': 'Mint {{symbol}}',
|
||
'dex.admin.poolManagement': 'Pool Management',
|
||
'dex.admin.poolManagementDesc': 'Create new liquidity pools for token pairs on PezkuwiChain',
|
||
'dex.admin.createNewPool': 'Create New Pool',
|
||
'dex.admin.poolStatistics': 'Pool Statistics',
|
||
'dex.admin.poolStatsDesc': 'View detailed pool statistics in the Pools tab',
|
||
|
||
// SwapInterface
|
||
'swap.title': 'Swap Tokens',
|
||
'swap.connectWalletAlert': 'Please connect your wallet to swap tokens',
|
||
'swap.from': 'From',
|
||
'swap.to': 'To',
|
||
'swap.coinGecko': '(CoinGecko)',
|
||
'swap.route': 'Route',
|
||
'swap.swapFee': 'Swap Fee',
|
||
'swap.twoHops': '(2 hops)',
|
||
'swap.insufficientBalance': 'Insufficient {{token}} balance',
|
||
'swap.multiHopWarning': 'This swap uses multi-hop routing ({{route}}). Double fee applies.',
|
||
'swap.connectWallet': 'Connect Wallet',
|
||
'swap.insufficientBalanceBtn': 'Insufficient {{token}} Balance',
|
||
'swap.priceNotAvailable': 'Price Not Available',
|
||
'swap.loadingPrices': 'Loading Prices...',
|
||
'swap.swapTokens': 'Swap Tokens',
|
||
'swap.settings': 'Swap Settings',
|
||
'swap.confirmSwap': 'Confirm Swap',
|
||
'swap.youPay': 'You Pay',
|
||
'swap.youReceive': 'You Receive',
|
||
'swap.slippage': 'Slippage',
|
||
'swap.swapping': 'Swapping...',
|
||
'swap.waitingSignature': 'Waiting for signature...',
|
||
'swap.processingSwap': 'Processing swap...',
|
||
'swap.noPoolAvailable': 'No Pool Available',
|
||
'swap.noPool': 'No liquidity pool available for this pair',
|
||
'swap.swapped': 'Swapped {{fromAmount}} {{fromToken}} for ~{{toAmount}} {{toToken}}',
|
||
'swap.swapFailed': 'Swap transaction failed',
|
||
|
||
// PoolBrowser
|
||
'pools.loading': 'Loading liquidity pools...',
|
||
'pools.searchPlaceholder': 'Search pools by token...',
|
||
'pools.createPool': 'Create Pool',
|
||
'pools.noSearchResults': 'No pools found matching your search',
|
||
'pools.noPools': 'No liquidity pools available yet',
|
||
'pools.active': 'Active',
|
||
'pools.reserve': 'Reserve {{symbol}}',
|
||
'pools.fee': 'Fee',
|
||
'pools.volume24h': 'Volume 24h',
|
||
'pools.apr': 'APR',
|
||
'pools.na': 'N/A',
|
||
'pools.add': 'Add',
|
||
'pools.remove': 'Remove',
|
||
'pools.swap': 'Swap',
|
||
|
||
// AddLiquidityModal
|
||
'addLiquidity.title': 'Add Liquidity',
|
||
'addLiquidity.pool': '{{asset1}} / {{asset2}} Pool',
|
||
'addLiquidity.info': "Add liquidity in proportion to the pool's current ratio. You'll receive LP tokens representing your share.",
|
||
'addLiquidity.shareOfPool': 'Share of Pool',
|
||
'addLiquidity.success': 'Liquidity added successfully!',
|
||
'addLiquidity.adding': 'Adding...',
|
||
'addLiquidity.noPoolSelected': 'No pool selected',
|
||
'addLiquidity.enterAmounts': 'Please enter amounts',
|
||
|
||
// RemoveLiquidityModal
|
||
'removeLiquidity.title': 'Remove Liquidity',
|
||
'removeLiquidity.pool': '{{asset1}} / {{asset2}} Pool',
|
||
'removeLiquidity.info': "Remove liquidity to receive your tokens back. You'll burn LP tokens in proportion to your withdrawal.",
|
||
'removeLiquidity.yourLpTokens': 'Your LP Tokens',
|
||
'removeLiquidity.removeAmount': 'Remove Amount',
|
||
'removeLiquidity.youWillReceive': 'You will receive',
|
||
'removeLiquidity.success': 'Liquidity removed successfully!',
|
||
'removeLiquidity.removing': 'Removing...',
|
||
'removeLiquidity.removeLiquidity': 'Remove Liquidity',
|
||
'removeLiquidity.noLiquidity': 'No liquidity to remove',
|
||
|
||
// CreatePoolModal
|
||
'createPool.title': 'Create New Pool',
|
||
'createPool.founderOnly': 'Founder Only',
|
||
'createPool.token1': 'Token 1',
|
||
'createPool.token2': 'Token 2',
|
||
'createPool.selectToken': 'Select token...',
|
||
'createPool.amountOf': 'Amount of {{symbol}}',
|
||
'createPool.initialRate': 'Initial Exchange Rate',
|
||
'createPool.success': 'Pool created successfully!',
|
||
'createPool.creating': 'Creating...',
|
||
'createPool.createPool': 'Create Pool',
|
||
'createPool.selectBothTokens': 'Please select both tokens',
|
||
'createPool.sameToken': 'Cannot create pool with same token',
|
||
'createPool.enterBothAmounts': 'Please enter amounts for both tokens',
|
||
'createPool.invalidToken': 'Invalid token selected',
|
||
'createPool.walletNotReady': 'Wallet not connected or Asset Hub not ready',
|
||
'createPool.palletNotAvailable': 'AssetConversion pallet is not available on Asset Hub. Pool creation requires this pallet.',
|
||
|
||
// MintAssetModal
|
||
'mint.title': 'Mint {{symbol}}',
|
||
'mint.adminOnly': 'Admin Only - Token Minting',
|
||
'mint.info': 'Mint {{name}} tokens for testing and liquidity pool creation.',
|
||
'mint.amount': '{{symbol}} Amount',
|
||
'mint.current': 'Current:',
|
||
'mint.currentBalance': 'Current {{symbol}} Balance',
|
||
'mint.decimalsInfo': '{{symbol}} has {{decimals}} decimals',
|
||
'mint.success': 'Successfully minted {{amount}} {{symbol}}!',
|
||
'mint.minting': 'Minting...',
|
||
'mint.mintBtn': 'Mint {{symbol}}',
|
||
'mint.palletNotAvailable': 'Assets pallet is not available on Asset Hub.',
|
||
'mint.palletToast': 'Pallet Not Available',
|
||
'mint.palletToastDesc': 'The Assets pallet is not deployed on Asset Hub.',
|
||
'mint.connectWallet': 'Please connect your wallet and wait for Asset Hub connection',
|
||
'mint.minted': 'Successfully minted {{amount}} {{symbol}}',
|
||
|
||
// InitializeHezPoolModal (Token Wrapping)
|
||
'tokenWrapping.title': 'Token Wrapping',
|
||
'tokenWrapping.adminOnly': 'Admin Only - Token Wrapping',
|
||
'tokenWrapping.palletNotDeployed': 'TokenWrapper pallet not deployed.',
|
||
'tokenWrapping.contactDev': 'Please contact the development team.',
|
||
'tokenWrapping.wrapInfo': 'Convert native HEZ to wHEZ (wrapped). Ratio: 1:1',
|
||
'tokenWrapping.unwrapInfo': 'Convert wHEZ back to native HEZ. Ratio: 1:1',
|
||
'tokenWrapping.nativeHez': 'Native HEZ',
|
||
'tokenWrapping.wrappedWhez': 'Wrapped wHEZ',
|
||
'tokenWrapping.amount': '{{token}} Amount',
|
||
'tokenWrapping.available': 'Available:',
|
||
'tokenWrapping.receiveInfo': 'You will receive {{amount}} {{token}} (1:1 ratio)',
|
||
'tokenWrapping.wrapSuccess': 'Successfully wrapped {{amount}} HEZ to wHEZ',
|
||
'tokenWrapping.unwrapSuccess': 'Successfully unwrapped {{amount}} wHEZ to HEZ',
|
||
'tokenWrapping.wrapping': 'Wrapping...',
|
||
'tokenWrapping.unwrapping': 'Unwrapping...',
|
||
'tokenWrapping.wrapBtn': 'Wrap HEZ → wHEZ',
|
||
'tokenWrapping.unwrapBtn': 'Unwrap wHEZ → HEZ',
|
||
'tokenWrapping.palletNotAvailable': 'TokenWrapper pallet is not available on Asset Hub.',
|
||
'tokenWrapping.successMsg': 'Successfully {{action}} {{amount}} {{source}} to {{target}}!',
|
||
|
||
// InitializeUsdtModal
|
||
'mintUsdt.title': 'Mint wUSDT Tokens',
|
||
'mintUsdt.adminOnly': 'Admin Only - Token Minting',
|
||
'mintUsdt.info': 'Mint wUSDT (Wrapped USDT) tokens for testing and liquidity pool creation. Use responsibly!',
|
||
'mintUsdt.amount': 'wUSDT Amount',
|
||
'mintUsdt.currentBalance': 'Current wUSDT Balance',
|
||
'mintUsdt.decimalsInfo': 'wUSDT has 6 decimals (same as real USDT)',
|
||
'mintUsdt.success': 'Successfully minted {{amount}} wUSDT!',
|
||
'mintUsdt.minting': 'Minting...',
|
||
'mintUsdt.mintBtn': 'Mint wUSDT',
|
||
'mintUsdt.minted': 'Successfully minted {{amount}} wUSDT',
|
||
|
||
|
||
// TokenSwap
|
||
'tokenSwap.dexComingSoon': 'DEX Coming Soon',
|
||
'tokenSwap.dexComingDesc': 'The AssetConversion pallet is not yet enabled in the runtime. Token swapping functionality will be available after the next runtime upgrade.',
|
||
'tokenSwap.scheduledUpgrade': 'Scheduled for Next Runtime Upgrade',
|
||
'tokenSwap.backToDashboard': 'Back to Dashboard',
|
||
'tokenSwap.tokenSwap': 'Token Swap',
|
||
'tokenSwap.connectWalletAlert': 'Please connect your wallet to swap tokens',
|
||
'tokenSwap.from': 'From',
|
||
'tokenSwap.to': 'To',
|
||
'tokenSwap.noPoolAvailable': 'No pool available',
|
||
'tokenSwap.priceImpact': 'Price Impact',
|
||
'tokenSwap.lpFee': 'Liquidity Provider Fee',
|
||
'tokenSwap.minimumReceived': 'Minimum Received',
|
||
'tokenSwap.insufficientWarning': 'Insufficient {{token}} balance. You have {{balance}} {{token}} but trying to swap {{amount}} {{token}}.',
|
||
'tokenSwap.highPriceImpact': "High price impact! Your trade will significantly affect the pool price. Consider a smaller amount or check if there's better liquidity.",
|
||
'tokenSwap.connectWallet': 'Connect Wallet',
|
||
'tokenSwap.insufficientBalance': 'Insufficient {{token}} Balance',
|
||
'tokenSwap.noPool': 'No Pool Available',
|
||
'tokenSwap.swapTokens': 'Swap Tokens',
|
||
'tokenSwap.liquidityPools': 'Liquidity Pools',
|
||
'tokenSwap.loadingPools': 'Loading pools...',
|
||
'tokenSwap.noPoolsAvailable': 'No liquidity pools available yet',
|
||
'tokenSwap.recentSwaps': 'Recent Swaps',
|
||
'tokenSwap.connectForHistory': 'Connect wallet to view history',
|
||
'tokenSwap.loadingHistory': 'Loading history...',
|
||
'tokenSwap.noSwapHistory': 'No swap history yet',
|
||
'tokenSwap.sent': 'Sent:',
|
||
'tokenSwap.received': 'Received:',
|
||
'tokenSwap.swapSettings': 'Swap Settings',
|
||
'tokenSwap.confirmSwap': 'Confirm Swap',
|
||
'tokenSwap.youPay': 'You Pay',
|
||
'tokenSwap.youReceive': 'You Receive',
|
||
'tokenSwap.swapping': 'Swapping...',
|
||
'tokenSwap.processingSwap': 'Processing your swap...',
|
||
'tokenSwap.txSubmitted': 'Transaction Submitted',
|
||
'tokenSwap.processingInBlock': 'Processing in block {{hash}}...',
|
||
'tokenSwap.dexNotAvailable': 'DEX Not Available',
|
||
'tokenSwap.dexNotAvailableDesc': 'AssetConversion pallet is not enabled in runtime',
|
||
'tokenSwap.insufficientBalanceToast': 'You only have {{balance}} {{token}}. Cannot swap {{amount}} {{token}}.',
|
||
|
||
// PoolDashboard
|
||
'poolDash.poolDashboards': 'Pool Dashboards',
|
||
'poolDash.selectPool': 'Select pool',
|
||
'poolDash.live': 'Live',
|
||
'poolDash.poolDashboard': '{{asset0}}/{{asset1}} Pool Dashboard',
|
||
'poolDash.monitorDesc': 'Monitor liquidity pool metrics and your position',
|
||
'poolDash.totalLiquidity': 'Total Liquidity',
|
||
'poolDash.price': '{{symbol}} Price',
|
||
'poolDash.estimatedApr': 'Estimated APR',
|
||
'poolDash.fromSwapFees': 'From swap fees',
|
||
'poolDash.constant': 'Constant (k)',
|
||
'poolDash.reserves': 'Reserves',
|
||
'poolDash.yourPosition': 'Your Position',
|
||
'poolDash.ilCalculator': 'IL Calculator',
|
||
'poolDash.poolReserves': 'Pool Reserves',
|
||
'poolDash.reserve': '{{symbol}} Reserve',
|
||
'poolDash.ammFormula': 'AMM Formula',
|
||
'poolDash.poolMaintains': 'Pool maintains constant product: x × y = k',
|
||
'poolDash.yourLpPosition': 'Your Liquidity Position',
|
||
'poolDash.connectWallet': 'Connect wallet to view your position',
|
||
'poolDash.noPosition': 'No liquidity position found',
|
||
'poolDash.addLiquidity': 'Add Liquidity',
|
||
'poolDash.lpTokens': 'LP Tokens',
|
||
'poolDash.poolShare': 'Pool Share',
|
||
'poolDash.positionValue': 'Your Position Value',
|
||
'poolDash.estimatedEarnings': 'Estimated Earnings (APR {{apr}}%)',
|
||
'poolDash.daily': 'Daily:',
|
||
'poolDash.monthly': 'Monthly:',
|
||
'poolDash.yearly': 'Yearly:',
|
||
'poolDash.addMore': 'Add More',
|
||
'poolDash.stakeLP': 'Stake LP',
|
||
'poolDash.remove': 'Remove',
|
||
'poolDash.ilCalcTitle': 'Impermanent Loss Calculator',
|
||
'poolDash.ifPriceChanges': 'If {{symbol}} price changes by:',
|
||
'poolDash.loss': '{{percent}}% Loss',
|
||
'poolDash.whatIsIL': 'What is Impermanent Loss?',
|
||
'poolDash.ilExplanation': 'Impermanent loss occurs when the price ratio of tokens in the pool changes. The larger the price change, the greater the loss compared to simply holding the tokens. Fees earned from swaps can offset this loss over time.',
|
||
'poolDash.loadingPoolData': 'Loading pool data...',
|
||
'poolDash.noPoolData': 'No pool data available',
|
||
|
||
// ==================== BATCH 4: Staking ====================
|
||
|
||
// StakingDashboard
|
||
'staking.loadingData': 'Loading staking data...',
|
||
'staking.fetchError': 'Failed to fetch staking information',
|
||
'staking.totalBonded': 'Total Bonded',
|
||
'staking.activeAmount': 'Active: {{amount}} HEZ',
|
||
'staking.unlocking': 'Unlocking',
|
||
'staking.chunks': '{{count}} chunk(s)',
|
||
'staking.redeemable': 'Redeemable',
|
||
'staking.withdraw': 'Withdraw',
|
||
'staking.stakingScore': 'Staking Score',
|
||
'staking.scoreDuration': 'Duration: {{days}} days',
|
||
'staking.waitingData': 'Waiting for data...',
|
||
'staking.scoreTrackingStartedInfo': 'Score tracking started. A noter will submit your staking data soon.',
|
||
'staking.notStarted': 'Not Started',
|
||
'staking.startScoreTracking': 'Start Score Tracking',
|
||
'staking.pezRewards': 'PEZ Rewards',
|
||
'staking.epochOpen': 'Open',
|
||
'staking.epochClaimPeriod': 'Claim Period',
|
||
'staking.epochClosed': 'Closed',
|
||
'staking.epoch': 'Epoch {{epoch}}',
|
||
'staking.scoreLabel': 'Score: {{score}}',
|
||
'staking.recordedForEpoch': 'Recorded for this epoch',
|
||
'staking.recording': 'Recording...',
|
||
'staking.recordTrustScore': 'Record Trust Score',
|
||
'staking.epochReward': 'Epoch {{epoch}}: {{amount}} PEZ',
|
||
'staking.claim': 'Claim',
|
||
'staking.title': 'Staking',
|
||
'staking.description': 'Stake HEZ to secure the network and earn rewards.',
|
||
'staking.tabStake': 'Stake',
|
||
'staking.tabNominate': 'Nominate',
|
||
'staking.tabPool': 'Validator Pool',
|
||
'staking.tabUnstake': 'Unstake',
|
||
'staking.minBondInfo': 'Minimum bond: {{amount}} HEZ. Bonded tokens are locked and earn rewards when nominated validators produce blocks.',
|
||
'staking.amountToBond': 'Amount to Bond (HEZ)',
|
||
'staking.available': 'Available: {{amount}} HEZ',
|
||
'staking.max': 'Max',
|
||
'staking.bondAdditional': 'Bond Additional',
|
||
'staking.bondTokens': 'Bond Tokens',
|
||
'staking.nominateInfo': 'Select up to 16 validators to nominate. Your stake will be distributed to active validators.',
|
||
'staking.bondFirst': ' You must bond tokens first.',
|
||
'staking.activeValidators': 'Active Validators ({{count}})',
|
||
'staking.selected': 'Selected: {{count}}/16',
|
||
'staking.nominateValidators': 'Nominate Validators',
|
||
'staking.unbondInfo': 'Unbonded tokens will be locked for {{eras}} eras (~{{days}} days) before withdrawal.',
|
||
'staking.amountToUnbond': 'Amount to Unbond (HEZ)',
|
||
'staking.staked': 'Staked: {{amount}} HEZ',
|
||
'staking.unlockingChunks': 'Unlocking Chunks',
|
||
'staking.eraInfo': 'Era {{era}}',
|
||
'staking.ready': 'Ready',
|
||
'staking.blocksRemaining': '~{{blocks}} blocks',
|
||
'staking.unbondTokens': 'Unbond Tokens',
|
||
'staking.noWithdraw': 'No tokens available to withdraw',
|
||
'staking.withdrawSuccess': 'Withdrew {{amount}} HEZ',
|
||
'staking.withdrawFailed': 'Withdrawal failed',
|
||
'staking.scoreTrackingSuccess': 'Score tracking started successfully! Your staking score will now accumulate over time.',
|
||
'staking.scoreTrackingFailed': 'Failed to start score tracking',
|
||
'staking.maxValidators': 'Maximum 16 validators can be nominated',
|
||
'staking.bondBeforeNominate': 'You must bond tokens before nominating validators',
|
||
'staking.minBondError': 'Minimum bond is {{amount}} HEZ',
|
||
'staking.insufficientHez': 'Insufficient HEZ balance',
|
||
'staking.insufficientStaked': 'Insufficient staked amount',
|
||
'staking.recordFailed': 'Failed to record trust score',
|
||
'staking.claimFailed': 'Failed to claim reward',
|
||
|
||
// ValidatorPoolDashboard
|
||
'validatorPool.loading': 'Loading validator pool info...',
|
||
'validatorPool.fetchError': 'Failed to fetch pool data',
|
||
'validatorPool.title': 'Validator Pool',
|
||
'validatorPool.description': 'Join a pool to support the network and earn rewards.',
|
||
'validatorPool.poolSize': 'Pool Size',
|
||
'validatorPool.activeValidators': 'Active Validators',
|
||
'validatorPool.inPool': 'You are in the {{category}} pool',
|
||
'validatorPool.leavePool': 'Leave Pool',
|
||
'validatorPool.notInPool': 'You are not currently in a validator pool',
|
||
'validatorPool.connectWallet': 'Please connect your wallet to manage pool membership',
|
||
'validatorPool.joinedPool': 'Joined the {{category}} pool',
|
||
'validatorPool.leftPool': 'Left the validator pool',
|
||
'validatorPool.switchedCategory': 'Switched to {{category}}',
|
||
|
||
// PoolCategorySelector
|
||
'poolCategory.placeholder': 'Select a pool category...',
|
||
'poolCategory.switchCategory': 'Switch Category',
|
||
'poolCategory.joinPool': 'Join Pool',
|
||
|
||
// LPStakeModal
|
||
'lpStake.title': 'LP Token Stake',
|
||
'lpStake.duration': 'Stake Duration',
|
||
'lpStake.month1': '1 Month',
|
||
'lpStake.month3': '3 Months',
|
||
'lpStake.month6': '6 Months',
|
||
'lpStake.year1': '1 Year',
|
||
'lpStake.currentBalance': 'Current Balance:',
|
||
'lpStake.rewardMultiplier': 'Reward Multiplier:',
|
||
'lpStake.stakeAmount': 'Stake Amount',
|
||
'lpStake.poolId': 'Pool ID: {{id}}',
|
||
'lpStake.lockWarning': 'Your LP tokens will be locked for the selected duration. You cannot unstake during this period. Rewards accumulate automatically with each block.',
|
||
'lpStake.staking': 'Staking...',
|
||
'lpStake.stakeBtn': '{{duration}} Stake',
|
||
'lpStake.success': '{{amount}} {{symbol}} successfully staked for {{duration}}!',
|
||
'lpStake.apiNotReady': 'API connection is not ready',
|
||
'lpStake.invalidAmount': 'Enter a valid amount',
|
||
'lpStake.insufficientBalance': 'Insufficient LP token balance',
|
||
'lpStake.failed': 'Stake operation failed',
|
||
|
||
// LPStakingModal
|
||
'lpStaking.title': 'LP Staking',
|
||
'lpStaking.loading': 'Loading staking pools...',
|
||
'lpStaking.noPools': 'No staking pools available.',
|
||
'lpStaking.selectPool': 'Select Pool',
|
||
'lpStaking.totalStaked': 'Total Staked:',
|
||
'lpStaking.yourStaked': 'Your Staked:',
|
||
'lpStaking.yourLpBalance': 'Your LP Balance:',
|
||
'lpStaking.rewardRate': 'Reward Rate:',
|
||
'lpStaking.tabStake': 'Stake',
|
||
'lpStaking.tabUnstake': 'Unstake',
|
||
'lpStaking.tabHarvest': 'Harvest',
|
||
'lpStaking.amountToStake': 'Amount to Stake',
|
||
'lpStaking.staking': 'Staking...',
|
||
'lpStaking.stakeLp': 'Stake LP Tokens',
|
||
'lpStaking.amountToUnstake': 'Amount to Unstake',
|
||
'lpStaking.unstaking': 'Unstaking...',
|
||
'lpStaking.unstakeLp': 'Unstake LP Tokens',
|
||
'lpStaking.pendingRewards': 'Pending Rewards',
|
||
'lpStaking.harvesting': 'Harvesting...',
|
||
'lpStaking.harvestRewards': 'Harvest Rewards',
|
||
'lpStaking.stakeSuccess': 'Successfully staked {{amount}} {{asset}}!',
|
||
'lpStaking.unstakeSuccess': 'Successfully unstaked {{amount}} {{asset}}!',
|
||
'lpStaking.harvestSuccess': 'Successfully harvested rewards!',
|
||
'lpStaking.stakeFailed': 'Failed to stake',
|
||
'lpStaking.unstakeFailed': 'Failed to unstake',
|
||
'lpStaking.harvestFailed': 'Failed to harvest rewards',
|
||
'lpStaking.fetchError': 'Failed to fetch staking pools',
|
||
|
||
// ==================== BATCH 5: P2P Trading ====================
|
||
|
||
// Shared P2P keys (used across multiple P2P components)
|
||
'p2p.buy': 'Buy',
|
||
'p2p.sell': 'Sell',
|
||
'p2p.cancel': 'Cancel',
|
||
'p2p.back': 'Back',
|
||
'p2p.done': 'Done',
|
||
'p2p.continue': 'Continue',
|
||
'p2p.price': 'Price',
|
||
'p2p.available': 'Available',
|
||
'p2p.amount': 'Amount',
|
||
'p2p.token': 'Token',
|
||
'p2p.currency': 'Currency',
|
||
'p2p.crypto': 'Crypto',
|
||
'p2p.payment': 'Payment',
|
||
'p2p.status': 'Status',
|
||
'p2p.processing': 'Processing',
|
||
'p2p.submitting': 'Submitting...',
|
||
'p2p.buyer': 'Buyer',
|
||
'p2p.seller': 'Seller',
|
||
'p2p.you': '(You)',
|
||
'p2p.escrowProtected': 'Escrow Protected',
|
||
'p2p.verifiedMerchants': 'Verified Merchants',
|
||
'p2p.verifiedMerchant': 'Verified Merchant',
|
||
'p2p.fastTrader': 'Fast Trader',
|
||
'p2p.connectWallet': 'Please connect your wallet',
|
||
'p2p.connectWalletAndLogin': 'Please connect your wallet and log in',
|
||
'p2p.loginRequired': 'Login Required',
|
||
'p2p.loginToView': 'Please log in to view your P2P trades.',
|
||
'p2p.logIn': 'Log In',
|
||
'p2p.trades': '{{count}} trades',
|
||
'p2p.completion': '{{percent}}% completion',
|
||
'p2p.minLimit': 'Min: {{amount}} {{token}}',
|
||
'p2p.maxLimit': 'Max: {{amount}} {{token}}',
|
||
'p2p.minOrder': 'Minimum order: {{amount}} {{token}}',
|
||
'p2p.maxOrder': 'Maximum order: {{amount}} {{token}}',
|
||
'p2p.timeLimit': '{{minutes}} min limit',
|
||
'p2p.na': 'N/A',
|
||
'p2p.backToHome': 'Back to Home',
|
||
'p2p.backToP2P': 'Back to P2P',
|
||
'p2p.p2pTrading': 'P2P Trading',
|
||
'p2p.justNow': 'Just now',
|
||
'p2p.minutesAgo': '{{count}}m ago',
|
||
'p2p.hoursAgo': '{{count}}h ago',
|
||
'p2p.daysAgo': '{{count}}d ago',
|
||
|
||
// P2PDashboard
|
||
'p2p.title': 'P2P Trading',
|
||
'p2p.subtitle': 'Buy and sell crypto with your local currency.',
|
||
'p2p.merchant': 'Merchant',
|
||
'p2p.myTrades': 'My Trades',
|
||
'p2p.postNewAd': 'Post a New Ad',
|
||
'p2p.activeTrades': 'Active Trades',
|
||
'p2p.completed': 'Completed',
|
||
'p2p.volume': 'Volume',
|
||
'p2p.tabExpress': 'Express',
|
||
'p2p.tabBuy': 'Buy',
|
||
'p2p.tabSell': 'Sell',
|
||
'p2p.tabMyAds': 'My Ads',
|
||
'p2p.tabOtc': 'OTC',
|
||
'p2p.whyExpress': 'Why Express Mode?',
|
||
'p2p.instantMatching': 'Instant best-rate matching',
|
||
'p2p.verifiedMerchantsOnly': 'Verified merchants only',
|
||
'p2p.escrowProtection': 'Escrow protection',
|
||
'p2p.noManualSelection': 'No manual offer selection',
|
||
'p2p.blockTradeBenefits': 'Block Trade Benefits',
|
||
'p2p.customPricing': 'Custom pricing negotiation',
|
||
'p2p.dedicatedSupport': 'Dedicated OTC desk support',
|
||
'p2p.multiTranche': 'Multi-tranche settlements',
|
||
'p2p.enhancedPrivacy': 'Enhanced privacy',
|
||
'p2p.flexiblePayment': 'Flexible payment terms',
|
||
|
||
// AdList
|
||
'p2pAd.noActiveOffers': 'You have no active offers',
|
||
'p2pAd.noOffers': 'No offers available',
|
||
'p2pAd.yourAd': 'Your Ad',
|
||
'p2pAd.cantTradeOwnAd': "You can't trade with your own ad",
|
||
'p2pAd.buyToken': 'Buy {{token}}',
|
||
'p2pAd.sellToken': 'Sell {{token}}',
|
||
'p2pAd.created': 'Created: {{date}}',
|
||
|
||
// CreateAd
|
||
'p2pCreate.title': 'Create P2P Offer',
|
||
'p2pCreate.description': 'Lock your crypto in escrow and set your price',
|
||
'p2pCreate.iWantTo': 'I want to',
|
||
'p2pCreate.sellToken': 'Sell {{token}}',
|
||
'p2pCreate.buyToken': 'Buy {{token}}',
|
||
'p2pCreate.sellDescription': 'You will receive fiat payment and send crypto to buyer',
|
||
'p2pCreate.buyDescription': 'You will send fiat payment and receive crypto from seller',
|
||
'p2pCreate.tokenLabel': 'Token',
|
||
'p2pCreate.amountLabel': 'Amount ({{token}})',
|
||
'p2pCreate.amountPlaceholder': 'Amount',
|
||
'p2pCreate.fiatCurrency': 'Fiat Currency',
|
||
'p2pCreate.totalFiatAmount': 'Total Amount ({{currency}})',
|
||
'p2pCreate.pricePerToken': 'Price per {{token}}',
|
||
'p2pCreate.paymentMethod': 'Payment Method',
|
||
'p2pCreate.selectPaymentMethod': 'Select payment method...',
|
||
'p2pCreate.paymentDetails': 'Payment Details',
|
||
'p2pCreate.minOrder': 'Min Order (optional)',
|
||
'p2pCreate.maxOrder': 'Max Order (optional)',
|
||
'p2pCreate.minOrderPlaceholder': 'Minimum amount (optional)',
|
||
'p2pCreate.maxOrderPlaceholder': 'Maximum amount (optional)',
|
||
'p2pCreate.paymentTimeLimit': 'Payment Time Limit (minutes)',
|
||
'p2pCreate.15min': '15 minutes',
|
||
'p2pCreate.30min': '30 minutes',
|
||
'p2pCreate.1hour': '1 hour',
|
||
'p2pCreate.2hours': '2 hours',
|
||
'p2pCreate.creatingOffer': 'Creating offer & locking escrow...',
|
||
'p2pCreate.createOffer': 'Create Offer',
|
||
'p2pCreate.adCreated': 'Ad created successfully!',
|
||
'p2pCreate.failedToCreate': 'Failed to create offer',
|
||
'p2pCreate.invalidCryptoAmount': 'Invalid crypto amount',
|
||
'p2pCreate.invalidFiatAmount': 'Invalid fiat amount',
|
||
'p2pCreate.selectPaymentMethodError': 'Please select a payment method',
|
||
'p2pCreate.minTradeAmount': 'Minimum trade amount: {{amount}} {{currency}}',
|
||
'p2pCreate.maxTradeAmount': 'Maximum trade amount: {{amount}} {{currency}}',
|
||
|
||
// TradeModal
|
||
'p2pTrade.buyToken': 'Buy {{token}}',
|
||
'p2pTrade.tradingWith': 'Trading with {{address}}',
|
||
'p2pTrade.amountToBuy': 'Amount to Buy ({{token}})',
|
||
'p2pTrade.youWillPay': 'You will pay',
|
||
'p2pTrade.paymentDeadline': 'Payment deadline: {{minutes}} minutes after accepting',
|
||
'p2pTrade.acceptAndContinue': 'Accept & Continue',
|
||
'p2pTrade.initiating': 'Initiating...',
|
||
'p2pTrade.tradeInitiated': 'Trade initiated! Proceed to payment.',
|
||
'p2pTrade.cannotTradeOwn': 'You cannot trade with your own offer',
|
||
'p2pTrade.invalidAmount': 'Invalid amount',
|
||
|
||
// P2PTrade page
|
||
'p2pTrade.tradeNotFound': 'Trade Not Found',
|
||
'p2pTrade.tradeNotFoundDesc': 'This trade does not exist or you do not have access.',
|
||
'p2pTrade.backToP2P': 'Back to P2P',
|
||
'p2pTrade.unitPrice': 'Unit Price',
|
||
'p2pTrade.paymentMethod': 'Payment Method',
|
||
'p2pTrade.tradeProgress': 'Trade Progress',
|
||
'p2pTrade.orderCreated': 'Order Created',
|
||
'p2pTrade.tradeInitiatedStep': 'Trade initiated',
|
||
'p2pTrade.awaitingPayment': 'Awaiting Payment',
|
||
'p2pTrade.sendPaymentToSeller': 'Send payment to seller',
|
||
'p2pTrade.waitingForBuyerPayment': 'Waiting for buyer payment',
|
||
'p2pTrade.paymentSent': 'Payment Sent',
|
||
'p2pTrade.verifyAndRelease': 'Verify and release crypto',
|
||
'p2pTrade.waitingForConfirmation': 'Waiting for confirmation',
|
||
'p2pTrade.completedStep': 'Completed',
|
||
'p2pTrade.cryptoReleased': 'Crypto released to buyer',
|
||
'p2pTrade.counterpartyInfo': '{{role}} Information',
|
||
'p2pTrade.paymentDetailsTitle': 'Payment Details',
|
||
'p2pTrade.sendExactly': 'Send exactly {{amount}} {{currency}} to the account below. Do not include any cryptocurrency references in your payment.',
|
||
'p2pTrade.paymentProof': 'Payment Proof',
|
||
'p2pTrade.viewPaymentProof': 'View Payment Proof',
|
||
'p2pTrade.iHavePaid': 'I Have Paid',
|
||
'p2pTrade.cancelTrade': 'Cancel Trade',
|
||
'p2pTrade.releaseCrypto': 'Release Crypto',
|
||
'p2pTrade.openDispute': 'Open Dispute',
|
||
'p2pTrade.chat': 'Chat',
|
||
'p2pTrade.hideChat': 'Hide Chat',
|
||
'p2pTrade.tradeCompleted': 'Trade Completed!',
|
||
'p2pTrade.youReceived': 'You received {{amount}} {{token}}',
|
||
'p2pTrade.youReceivedFiat': 'You received {{amount}} {{currency}}',
|
||
'p2pTrade.rateTrade': 'Rate This Trade',
|
||
'p2pTrade.tradeCancelled': 'Trade Cancelled',
|
||
'p2pTrade.cancelReason': 'Reason: {{reason}}',
|
||
'p2pTrade.confirmPayment': 'Confirm Payment',
|
||
'p2pTrade.confirmPaymentDesc': 'Please confirm you have sent the payment to the seller.',
|
||
'p2pTrade.paymentReference': 'Payment Reference (Optional)',
|
||
'p2pTrade.paymentReferencePlaceholder': 'Transaction ID or reference number',
|
||
'p2pTrade.paymentProofOptional': 'Payment Proof (Optional)',
|
||
'p2pTrade.clickToUpload': 'Click to upload screenshot',
|
||
'p2pTrade.falsePaymentWarning': 'Only click confirm after you have actually sent the payment. Falsely marking payment as sent may result in account suspension.',
|
||
'p2pTrade.confirmPaymentSent': 'Confirm Payment Sent',
|
||
'p2pTrade.paymentMarkedSent': 'Payment marked as sent',
|
||
'p2pTrade.cancelTradeTitle': 'Cancel Trade',
|
||
'p2pTrade.cancelTradeDesc': 'Are you sure you want to cancel this trade? The crypto will be returned to the seller.',
|
||
'p2pTrade.cancelReasonLabel': 'Reason for cancellation',
|
||
'p2pTrade.cancelReasonPlaceholder': 'Optional reason',
|
||
'p2pTrade.keepTrade': 'Keep Trade',
|
||
'p2pTrade.tradeCancelledToast': 'Trade cancelled',
|
||
'p2pTrade.failedToCancel': 'Failed to cancel trade',
|
||
'p2pTrade.cryptoReleasedToast': 'Crypto released to buyer!',
|
||
'p2pTrade.paymentDeadlineExpired': 'Payment deadline expired',
|
||
'p2pTrade.expired': 'Expired',
|
||
'p2pTrade.failedToLoad': 'Failed to load trade details',
|
||
'p2pTrade.addressCopied': '{{label}} copied!',
|
||
|
||
// DepositModal
|
||
'p2pDeposit.title': 'Deposit to P2P Balance',
|
||
'p2pDeposit.selectStep': 'Deposit crypto from your wallet to P2P internal balance',
|
||
'p2pDeposit.sendStep': 'Send tokens to the platform escrow wallet',
|
||
'p2pDeposit.verifyStep': 'Verify your transaction to credit your balance',
|
||
'p2pDeposit.selectToken': 'Select Token',
|
||
'p2pDeposit.hezNative': 'HEZ (Native)',
|
||
'p2pDeposit.pez': 'PEZ',
|
||
'p2pDeposit.amountToDeposit': 'Amount to Deposit',
|
||
'p2pDeposit.walletBalance': 'Wallet Balance: {{amount}} {{token}}',
|
||
'p2pDeposit.depositInfo': 'You will send {{token}} from your connected wallet to the P2P platform escrow. After confirmation, the amount will be credited to your P2P internal balance.',
|
||
'p2pDeposit.sendAmountTo': 'Send {{amount}} {{token}} to:',
|
||
'p2pDeposit.copied': 'Copied!',
|
||
'p2pDeposit.copyAddress': 'Copy Address',
|
||
'p2pDeposit.addressCopied': 'Address copied to clipboard',
|
||
'p2pDeposit.failedToCopy': 'Failed to copy address',
|
||
'p2pDeposit.networkWarning': 'Only send {{token}} on the PezkuwiChain network. Sending other tokens or using other networks will result in permanent loss of funds.',
|
||
'p2pDeposit.sending': 'Sending...',
|
||
'p2pDeposit.sendToken': 'Send {{amount}} {{token}}',
|
||
'p2pDeposit.signTransaction': 'Please sign the transaction in your wallet...',
|
||
'p2pDeposit.txSent': 'Transaction sent! Please verify your deposit.',
|
||
'p2pDeposit.txSentVerify': 'Transaction sent! Please verify your deposit to credit your P2P balance.',
|
||
'p2pDeposit.txHash': 'Transaction Hash',
|
||
'p2pDeposit.verifying': 'Verifying...',
|
||
'p2pDeposit.verifyDeposit': 'Verify Deposit',
|
||
'p2pDeposit.enterTxHash': 'Please enter the transaction hash',
|
||
'p2pDeposit.enterValidAmount': 'Please enter a valid amount',
|
||
'p2pDeposit.depositVerified': 'Deposit verified! {{amount}} {{token}} added to your balance.',
|
||
'p2pDeposit.verificationFailed': 'Verification failed',
|
||
'p2pDeposit.depositSuccess': 'Deposit Successful!',
|
||
'p2pDeposit.addedToBalance': '{{amount}} {{token}} has been added to your P2P internal balance.',
|
||
'p2pDeposit.successInfo': 'You can now create sell offers or trade P2P using your internal balance. No blockchain fees during P2P trades!',
|
||
'p2pDeposit.connectWallet': 'Please connect your wallet',
|
||
'p2pDeposit.txFailed': 'Transaction failed',
|
||
'p2pDeposit.invalidAmount': 'Invalid amount',
|
||
'p2pDeposit.tokenLabel': 'Token',
|
||
'p2pDeposit.amountLabel': 'Amount',
|
||
'p2pDeposit.done': 'Done',
|
||
'p2pDeposit.autoVerifying': 'Verifying deposit...',
|
||
'p2pDeposit.autoVerifyingDesc': 'Searching for your transaction on blockchain...',
|
||
'p2pDeposit.verifyFailed': 'Verification failed',
|
||
'p2pDeposit.retry': 'Try Again',
|
||
|
||
// WithdrawModal
|
||
'p2pWithdraw.title': 'Withdraw from P2P Balance',
|
||
'p2pWithdraw.formStep': 'Withdraw crypto from your P2P balance to external wallet',
|
||
'p2pWithdraw.confirmStep': 'Review and confirm your withdrawal',
|
||
'p2pWithdraw.selectToken': 'Select Token',
|
||
'p2pWithdraw.hezNative': 'HEZ (Native)',
|
||
'p2pWithdraw.pez': 'PEZ',
|
||
'p2pWithdraw.available': 'Available',
|
||
'p2pWithdraw.lockedEscrow': 'Locked (Escrow)',
|
||
'p2pWithdraw.withdrawalAmount': 'Withdrawal Amount',
|
||
'p2pWithdraw.max': 'MAX',
|
||
'p2pWithdraw.minMax': 'Min: {{min}} {{token}} | Max: {{max}} {{token}}',
|
||
'p2pWithdraw.destinationAddress': 'Destination Wallet Address',
|
||
'p2pWithdraw.onlyPezkuwiAddresses': 'Only PezkuwiChain addresses are supported',
|
||
'p2pWithdraw.networkFee': 'Network fee: ~{{fee}} HEZ (deducted from withdrawal amount)',
|
||
'p2pWithdraw.pendingWarning': 'You have {{count}} pending withdrawal request(s). Please wait for them to complete.',
|
||
'p2pWithdraw.reviewWarning': 'Please review your withdrawal details carefully. This action cannot be undone.',
|
||
'p2pWithdraw.withdrawalAmountLabel': 'Withdrawal Amount',
|
||
'p2pWithdraw.networkFeeLabel': 'Network Fee',
|
||
'p2pWithdraw.youWillReceive': 'You Will Receive',
|
||
'p2pWithdraw.destinationAddressLabel': 'Destination Address',
|
||
'p2pWithdraw.processingTime': 'Processing time: Usually within 1-3 minutes',
|
||
'p2pWithdraw.confirmWithdrawal': 'Confirm Withdrawal',
|
||
'p2pWithdraw.processing': 'Processing...',
|
||
'p2pWithdraw.requestSubmitted': 'Withdrawal Request Submitted!',
|
||
'p2pWithdraw.requestSubmittedDesc': 'Your withdrawal request has been submitted for processing.',
|
||
'p2pWithdraw.requestId': 'Request ID',
|
||
'p2pWithdraw.statusProcessing': 'Processing',
|
||
'p2pWithdraw.trackInfo': 'You can track your withdrawal status in the transaction history. Funds will arrive in your wallet within 1-3 minutes.',
|
||
'p2pWithdraw.enterValidAmount': 'Please enter a valid amount',
|
||
'p2pWithdraw.minimumWithdrawal': 'Minimum withdrawal is {{amount}} {{token}}',
|
||
'p2pWithdraw.insufficientBalance': 'Insufficient available balance',
|
||
'p2pWithdraw.invalidAddress': 'Please enter a valid wallet address',
|
||
'p2pWithdraw.pendingForToken': 'You already have a pending {{token}} withdrawal request',
|
||
'p2pWithdraw.tokenLabel': 'Token',
|
||
'p2pWithdraw.amountLabel': 'Amount',
|
||
'p2pWithdraw.statusLabel': 'Status',
|
||
'p2pWithdraw.done': 'Done',
|
||
|
||
// DisputeModal
|
||
'p2pDispute.title': 'Open Dispute',
|
||
'p2pDispute.description': 'Please provide details about the issue. Our support team will review your case and contact both parties for resolution.',
|
||
'p2pDispute.reasonLabel': 'Reason for Dispute *',
|
||
'p2pDispute.selectReason': 'Select a reason...',
|
||
'p2pDispute.paymentNotReceived': 'Payment not received',
|
||
'p2pDispute.wrongAmount': 'Wrong amount received',
|
||
'p2pDispute.sellerNotResponding': 'Seller not responding',
|
||
'p2pDispute.buyerNotResponding': 'Buyer not responding',
|
||
'p2pDispute.fraudulentBehavior': 'Fraudulent behavior',
|
||
'p2pDispute.fakePaymentProof': 'Fake payment proof',
|
||
'p2pDispute.accountMismatch': 'Payment account name mismatch',
|
||
'p2pDispute.other': 'Other',
|
||
'p2pDispute.detailedDescription': 'Detailed Description *',
|
||
'p2pDispute.minChars': '(min 20 chars)',
|
||
'p2pDispute.descriptionPlaceholder': 'Please describe the issue in detail. Include relevant transaction IDs, timestamps, and any communication with the counterparty...',
|
||
'p2pDispute.evidenceLabel': 'Evidence (Optional - max 5 files, 10MB each)',
|
||
'p2pDispute.uploadEvidence': 'Upload Evidence',
|
||
'p2pDispute.evidenceTypes': 'Screenshots, bank statements, chat logs, receipts',
|
||
'p2pDispute.maxFilesError': 'Maximum 5 evidence files allowed',
|
||
'p2pDispute.fileTooLarge': 'File {{name}} is too large (max 10MB)',
|
||
'p2pDispute.importantNotice': 'Important Notice',
|
||
'p2pDispute.falseDisputes': 'False disputes may result in account restrictions',
|
||
'p2pDispute.resolutionTime': 'Resolution typically takes 1-3 business days',
|
||
'p2pDispute.bothParties': 'Both parties can submit evidence',
|
||
'p2pDispute.adminFinal': 'Admin decision is final',
|
||
'p2pDispute.termsCheckbox': 'I confirm that the information provided is accurate and understand that false claims may result in penalties.',
|
||
'p2pDispute.openDispute': 'Open Dispute',
|
||
'p2pDispute.disputeOpened': 'Dispute opened successfully',
|
||
'p2pDispute.failedToOpen': 'Failed to open dispute. Please try again.',
|
||
'p2pDispute.selectReasonError': 'Please select a reason',
|
||
'p2pDispute.descriptionError': 'Please provide a detailed description (at least 20 characters)',
|
||
'p2pDispute.acceptTermsError': 'Please accept the terms and conditions',
|
||
'p2pDispute.submitting': 'Submitting...',
|
||
'p2pDispute.evidenceAlt': 'Evidence',
|
||
|
||
// P2PDispute page
|
||
'p2pDispute.notFound': 'Dispute Not Found',
|
||
'p2pDispute.notFoundDesc': 'The dispute you are looking for does not exist or you do not have access.',
|
||
'p2pDispute.goToTrades': 'Go to My Trades',
|
||
'p2pDispute.disputeId': 'Dispute #{{id}}',
|
||
'p2pDispute.opened': 'Opened {{date}}',
|
||
'p2pDispute.statusOpen': 'Open',
|
||
'p2pDispute.statusUnderReview': 'Under Review',
|
||
'p2pDispute.statusResolved': 'Resolved',
|
||
'p2pDispute.statusClosed': 'Closed',
|
||
'p2pDispute.relatedTrade': 'Related Trade',
|
||
'p2pDispute.tradeAmountFor': '{{cryptoAmount}} {{token}} for {{fiatAmount}} {{currency}}',
|
||
'p2pDispute.viewTrade': 'View Trade',
|
||
'p2pDispute.disputeReason': 'Dispute Reason',
|
||
'p2pDispute.openedBy': 'Opened by: {{party}}',
|
||
'p2pDispute.resolutionTitle': 'Resolution',
|
||
'p2pDispute.releasedToBuyer': 'Released to Buyer',
|
||
'p2pDispute.refundedToSeller': 'Refunded to Seller',
|
||
'p2pDispute.splitDecision': 'Split Decision',
|
||
'p2pDispute.resolvedOn': 'Resolved on {{date}}',
|
||
'p2pDispute.evidenceTitle': 'Evidence',
|
||
'p2pDispute.addEvidence': 'Add Evidence',
|
||
'p2pDispute.uploading': 'Uploading...',
|
||
'p2pDispute.noEvidence': 'No evidence submitted yet',
|
||
'p2pDispute.uploadEvidenceHelp': 'Upload screenshots, receipts, or documents to support your case',
|
||
'p2pDispute.evidenceUploaded': 'Evidence uploaded successfully',
|
||
'p2pDispute.failedToUpload': 'Failed to upload evidence',
|
||
'p2pDispute.failedToLoad': 'Failed to load dispute details',
|
||
'p2pDispute.statusTimeline': 'Status Timeline',
|
||
'p2pDispute.disputeOpenedStep': 'Dispute Opened',
|
||
'p2pDispute.underReviewStep': 'Under Review',
|
||
'p2pDispute.adminReviewing': 'Admin is reviewing the case',
|
||
'p2pDispute.resolvedStep': 'Resolved',
|
||
'p2pDispute.resolutionStep': 'Resolution',
|
||
'p2pDispute.pending': 'Pending',
|
||
'p2pDispute.needHelp': 'Need Help?',
|
||
'p2pDispute.supportResponse': 'Our support team typically responds within 24-48 hours.',
|
||
'p2pDispute.contactSupport': 'Contact Support',
|
||
|
||
// BlockTrade
|
||
'p2pBlock.title': 'Block Trade (OTC)',
|
||
'p2pBlock.description': 'Large volume trades with custom pricing',
|
||
'p2pBlock.vip': 'VIP',
|
||
'p2pBlock.privateNegotiation': 'Private Negotiation',
|
||
'p2pBlock.escrowProtected': 'Escrow Protected',
|
||
'p2pBlock.dedicatedSupport': 'Dedicated Support',
|
||
'p2pBlock.flexibleSettlement': 'Flexible Settlement',
|
||
'p2pBlock.minimumAmounts': 'Minimum Block Trade Amounts:',
|
||
'p2pBlock.requestBlockTrade': 'Request Block Trade',
|
||
'p2pBlock.yourRequests': 'Your Requests:',
|
||
'p2pBlock.requestTitle': 'Block Trade Request',
|
||
'p2pBlock.requestDescription': 'Submit a request for our OTC desk to handle your large volume trade.',
|
||
'p2pBlock.amountLabel': 'Amount ({{token}})',
|
||
'p2pBlock.minimumLabel': 'Minimum: {{amount}} {{token}}',
|
||
'p2pBlock.targetPrice': 'Target Price (Optional)',
|
||
'p2pBlock.targetPricePlaceholder': 'Your desired price per unit',
|
||
'p2pBlock.additionalDetails': 'Additional Details (Optional)',
|
||
'p2pBlock.detailsPlaceholder': 'Settlement preferences, timeline, payment methods...',
|
||
'p2pBlock.kycWarning': 'Block trades require KYC verification and may take 24-48 hours to process. Our OTC desk will contact you via email.',
|
||
'p2pBlock.submitRequest': 'Submit Request',
|
||
'p2pBlock.requestSubmitted': 'Block trade request submitted! Our OTC desk will contact you within 24 hours.',
|
||
'p2pBlock.failedToSubmit': 'Failed to submit request',
|
||
'p2pBlock.loginRequired': 'Please login to submit a block trade request',
|
||
'p2pBlock.minimumError': 'Minimum amount for {{token}} block trade is {{amount}} {{token}}',
|
||
|
||
// ExpressMode
|
||
'p2pExpress.title': 'Express Mode',
|
||
'p2pExpress.subtitle': 'Instant best-rate matching',
|
||
'p2pExpress.fast': 'Fast',
|
||
'p2pExpress.buyToken': 'Buy {{token}}',
|
||
'p2pExpress.sellToken': 'Sell {{token}}',
|
||
'p2pExpress.amountLabel': 'Amount ({{unit}})',
|
||
'p2pExpress.switchTo': 'Switch to {{unit}}',
|
||
'p2pExpress.youPay': 'You pay',
|
||
'p2pExpress.youReceive': 'You receive',
|
||
'p2pExpress.youSend': 'You send',
|
||
'p2pExpress.rate': 'Rate',
|
||
'p2pExpress.merchantRating': 'Merchant Rating',
|
||
'p2pExpress.payment': 'Payment',
|
||
'p2pExpress.timeLimit': 'Time Limit',
|
||
'p2pExpress.noOffers': 'No offers available for this pair',
|
||
'p2pExpress.buyInstantly': 'Buy {{token}} Instantly',
|
||
'p2pExpress.sellInstantly': 'Sell {{token}} Instantly',
|
||
'p2pExpress.processing': 'Processing...',
|
||
'p2pExpress.tradeStarted': 'Express trade started!',
|
||
'p2pExpress.loginRequired': 'Please login to trade',
|
||
'p2pExpress.noOffersAvailable': 'No offers available',
|
||
'p2pExpress.maxAvailable': 'Maximum available: {{amount}} {{token}}',
|
||
|
||
// MerchantApplication
|
||
'p2pMerchant.yourStatus': 'Your Merchant Status',
|
||
'p2pMerchant.currentTierStatus': 'Current tier and application status',
|
||
'p2pMerchant.completedTrades': 'Completed Trades',
|
||
'p2pMerchant.completionRate': 'Completion Rate',
|
||
'p2pMerchant.thirtyDayVolume': '30-Day Volume',
|
||
'p2pMerchant.pendingReview': 'Your application for {{tier}} tier is pending review.',
|
||
'p2pMerchant.current': 'Current',
|
||
'p2pMerchant.completedTradesReq': 'Completed Trades',
|
||
'p2pMerchant.completionRateReq': 'Completion Rate',
|
||
'p2pMerchant.volumeReq': '30-Day Volume',
|
||
'p2pMerchant.benefits': 'Benefits:',
|
||
'p2pMerchant.pendingOrders': 'Up to {{count}} pending orders',
|
||
'p2pMerchant.maxPerTrade': 'Max ${{amount}} per trade',
|
||
'p2pMerchant.featuredAds': '{{count}} featured ads',
|
||
'p2pMerchant.depositRequired': 'Requires {{amount}} {{token}} deposit',
|
||
'p2pMerchant.applyForUpgrade': 'Apply for Upgrade',
|
||
'p2pMerchant.applyForTier': 'Apply for {{tier}} Tier',
|
||
'p2pMerchant.applyDescription': 'Submit your application for tier upgrade. Our team will review it shortly.',
|
||
'p2pMerchant.requirementsMet': 'Requirements Met:',
|
||
'p2pMerchant.completedTradesRequirement': 'Completed trades requirement',
|
||
'p2pMerchant.completionRateRequirement': 'Completion rate requirement',
|
||
'p2pMerchant.volumeRequirement': '30-day volume requirement',
|
||
'p2pMerchant.depositInfo': 'This tier requires a deposit of {{amount}} {{token}}. You will be prompted to complete the deposit after approval.',
|
||
'p2pMerchant.submitApplication': 'Submit Application',
|
||
'p2pMerchant.applicationSubmitted': 'Application submitted successfully!',
|
||
'p2pMerchant.applicationFailed': 'Failed to submit application',
|
||
|
||
// P2PMerchantDashboard page
|
||
'p2pMerchant.dashboardTitle': 'Merchant Dashboard',
|
||
'p2pMerchant.dashboardSubtitle': 'Manage your P2P trading business',
|
||
'p2pMerchant.tabOverview': 'Overview',
|
||
'p2pMerchant.tabAds': 'My Ads',
|
||
'p2pMerchant.tabUpgrade': 'Upgrade Tier',
|
||
'p2pMerchant.tabSettings': 'Settings',
|
||
'p2pMerchant.thirtyDayVolumeLabel': '30-Day Volume',
|
||
'p2pMerchant.thirtyDayTrades': '30-Day Trades',
|
||
'p2pMerchant.completionRateLabel': 'Completion Rate',
|
||
'p2pMerchant.avgReleaseTime': 'Avg Release Time',
|
||
'p2pMerchant.volumeTrend': 'Volume Trend',
|
||
'p2pMerchant.last30dVolume': 'Last 30 days trading volume',
|
||
'p2pMerchant.tradeCount': 'Trade Count',
|
||
'p2pMerchant.dailyTrades30d': 'Daily trades over last 30 days',
|
||
'p2pMerchant.lifetimeStats': 'Lifetime Statistics',
|
||
'p2pMerchant.totalVolume': 'Total Volume',
|
||
'p2pMerchant.totalTrades': 'Total Trades',
|
||
'p2pMerchant.buyVolume30d': 'Buy Volume (30d)',
|
||
'p2pMerchant.sellVolume30d': 'Sell Volume (30d)',
|
||
'p2pMerchant.activeAds': 'Active Advertisements ({{count}})',
|
||
'p2pMerchant.createNewAd': 'Create New Ad',
|
||
'p2pMerchant.noAdsYet': "You don't have any active ads yet.",
|
||
'p2pMerchant.createFirstAd': 'Create Your First Ad',
|
||
'p2pMerchant.sellTokenFor': 'Sell {{token}} for {{currency}}',
|
||
'p2pMerchant.featured': 'Featured',
|
||
'p2pMerchant.remaining': '{{remaining}} / {{total}} {{token}} remaining',
|
||
'p2pMerchant.pricePerUnit': '{{price}} {{currency}}/{{token}}',
|
||
'p2pMerchant.total': 'Total: {{amount}} {{currency}}',
|
||
'p2pMerchant.pause': 'Pause',
|
||
'p2pMerchant.activate': 'Activate',
|
||
'p2pMerchant.edit': 'Edit',
|
||
'p2pMerchant.delete': 'Delete',
|
||
'p2pMerchant.adActivated': 'Ad activated',
|
||
'p2pMerchant.adPaused': 'Ad paused',
|
||
'p2pMerchant.failedToUpdateStatus': 'Failed to update ad status',
|
||
'p2pMerchant.confirmDelete': 'Are you sure you want to delete this ad?',
|
||
'p2pMerchant.adDeleted': 'Ad deleted successfully',
|
||
'p2pMerchant.failedToDelete': 'Failed to delete ad',
|
||
'p2pMerchant.activeAdsCount': 'Active ads: {{current}} / {{max}}',
|
||
'p2pMerchant.maxOrderLimit': 'Max order: ${{amount}}',
|
||
'p2pMerchant.featuredAdsCount': 'Featured ads: {{current}} / {{max}}',
|
||
'p2pMerchant.autoReplyTitle': 'Auto-Reply Message',
|
||
'p2pMerchant.autoReplyDesc': 'Automatically send this message when someone starts a trade with you',
|
||
'p2pMerchant.configureAutoReply': 'Configure Auto-Reply',
|
||
'p2pMerchant.autoReplyDialogTitle': 'Auto-Reply Message',
|
||
'p2pMerchant.autoReplyDialogDesc': 'This message will be automatically sent when someone starts a trade with you.',
|
||
'p2pMerchant.messageLabel': 'Message',
|
||
'p2pMerchant.autoReplyPlaceholder': 'Hello! Thank you for choosing to trade with me. Please follow the payment instructions and mark as paid once done.',
|
||
'p2pMerchant.saveMessage': 'Save Message',
|
||
'p2pMerchant.autoReplySaved': 'Auto-reply message saved',
|
||
'p2pMerchant.failedToSaveAutoReply': 'Failed to save auto-reply',
|
||
'p2pMerchant.notificationSettings': 'Notification Settings',
|
||
'p2pMerchant.newOrderNotifications': 'New Order Notifications',
|
||
'p2pMerchant.newOrderNotificationsDesc': 'Get notified when someone accepts your offer',
|
||
'p2pMerchant.paymentNotifications': 'Payment Notifications',
|
||
'p2pMerchant.paymentNotificationsDesc': 'Get notified when buyer marks payment as sent',
|
||
'p2pMerchant.chatNotifications': 'Chat Notifications',
|
||
'p2pMerchant.chatNotificationsDesc': 'Get notified for new chat messages',
|
||
'p2pMerchant.dangerZone': 'Danger Zone',
|
||
'p2pMerchant.pauseAllAds': 'Pause All Ads',
|
||
'p2pMerchant.pauseAllAdsDesc': 'Temporarily pause all your active advertisements',
|
||
'p2pMerchant.pauseAll': 'Pause All',
|
||
'p2pMerchant.editAdTitle': 'Edit Ad',
|
||
'p2pMerchant.editAdDesc': 'Update your ad price and order limits',
|
||
'p2pMerchant.adType': 'Ad Type',
|
||
'p2pMerchant.selling': 'Selling',
|
||
'p2pMerchant.buying': 'Buying',
|
||
'p2pMerchant.totalFiatAmount': 'Total Fiat Amount ({{currency}})',
|
||
'p2pMerchant.enterFiatAmount': 'Enter fiat amount',
|
||
'p2pMerchant.pricePerTokenCalc': 'Price per {{token}}: {{price}} {{currency}}',
|
||
'p2pMerchant.minOrderLabel': 'Min Order ({{token}})',
|
||
'p2pMerchant.maxOrderLabel': 'Max Order ({{token}})',
|
||
'p2pMerchant.optional': 'Optional',
|
||
'p2pMerchant.saveChanges': 'Save Changes',
|
||
'p2pMerchant.adUpdated': 'Ad updated successfully',
|
||
'p2pMerchant.failedToUpdate': 'Failed to update ad',
|
||
'p2pMerchant.invalidFiatAmount': 'Invalid fiat amount',
|
||
'p2pMerchant.createNewOffer': 'Create New P2P Offer',
|
||
|
||
// RatingModal
|
||
'p2pRating.title': 'Rate Your Experience',
|
||
'p2pRating.description': 'How was your trade with {{address}}?',
|
||
'p2pRating.poor': 'Poor',
|
||
'p2pRating.fair': 'Fair',
|
||
'p2pRating.good': 'Good',
|
||
'p2pRating.veryGood': 'Very Good',
|
||
'p2pRating.excellent': 'Excellent',
|
||
'p2pRating.selectRating': 'Select a rating',
|
||
'p2pRating.quickFeedback': 'Quick feedback (optional)',
|
||
'p2pRating.fastPayment': 'Fast payment',
|
||
'p2pRating.goodCommunication': 'Good communication',
|
||
'p2pRating.smoothTransaction': 'Smooth transaction',
|
||
'p2pRating.slowResponse': 'Slow response',
|
||
'p2pRating.delayedPayment': 'Delayed payment',
|
||
'p2pRating.additionalComments': 'Additional comments (optional)',
|
||
'p2pRating.sharePlaceholder': 'Share your experience...',
|
||
'p2pRating.ratingAsBuyer': 'Rating as Buyer',
|
||
'p2pRating.ratingAsSeller': 'Rating as Seller',
|
||
'p2pRating.skip': 'Skip',
|
||
'p2pRating.submitRating': 'Submit Rating',
|
||
'p2pRating.submitting': 'Submitting...',
|
||
'p2pRating.submitted': 'Rating submitted successfully',
|
||
'p2pRating.alreadyRated': 'You have already rated this trade',
|
||
'p2pRating.selectRatingError': 'Please select a rating',
|
||
'p2pRating.failedToSubmit': 'Failed to submit rating',
|
||
|
||
// TradeChat
|
||
'p2pChat.title': 'Chat',
|
||
'p2pChat.noMessages': 'No messages yet',
|
||
'p2pChat.startConversation': 'Start the conversation',
|
||
'p2pChat.placeholder': 'Type a message...',
|
||
'p2pChat.chatDisabled': 'Chat is disabled for completed/cancelled trades',
|
||
'p2pChat.sentImage': 'Sent an image',
|
||
'p2pChat.sharedImage': 'Shared image',
|
||
'p2pChat.imageSent': 'Image sent',
|
||
'p2pChat.failedToSend': 'Failed to send message',
|
||
'p2pChat.failedToUpload': 'Failed to upload image',
|
||
'p2pChat.selectImage': 'Please select an image file',
|
||
'p2pChat.imageTooLarge': 'Image must be less than 5MB',
|
||
'p2pChat.newMessage': 'New Message',
|
||
'p2pChat.newImage': 'New Image',
|
||
|
||
// P2P Navigation
|
||
'p2pNav.orders': 'Orders',
|
||
'p2pNav.ads': 'Ads',
|
||
'p2pNav.messages': 'Messages',
|
||
'p2pNav.buyVisa': 'Buy with Visa',
|
||
|
||
// P2P Messages Inbox
|
||
'p2pMessages.title': 'Messages',
|
||
'p2pMessages.subtitle': 'Your trade conversations',
|
||
'p2pMessages.noConversations': 'No conversations yet',
|
||
'p2pMessages.noConversationsHint': 'Start a trade to begin chatting',
|
||
'p2pMessages.you': 'You',
|
||
'p2pMessages.sentImage': 'Sent an image',
|
||
|
||
// OrderFilters
|
||
'p2pFilters.filters': 'Filters',
|
||
'p2pFilters.filterOrders': 'Filter Orders',
|
||
'p2pFilters.reset': 'Reset',
|
||
'p2pFilters.applyFilters': 'Apply Filters',
|
||
'p2pFilters.cryptocurrency': 'Cryptocurrency',
|
||
'p2pFilters.all': 'All',
|
||
'p2pFilters.fiatCurrency': 'Fiat Currency',
|
||
'p2pFilters.selectCurrency': 'Select currency',
|
||
'p2pFilters.allCurrencies': 'All Currencies',
|
||
'p2pFilters.paymentMethods': 'Payment Methods',
|
||
'p2pFilters.amountRange': 'Amount Range',
|
||
'p2pFilters.minAmount': 'Min Amount',
|
||
'p2pFilters.maxAmount': 'Max Amount',
|
||
'p2pFilters.noLimit': 'No limit',
|
||
'p2pFilters.merchantTier': 'Merchant Tier',
|
||
'p2pFilters.superPlus': 'Super+ only',
|
||
'p2pFilters.diamondPlus': 'Diamond+ only',
|
||
'p2pFilters.minCompletionRate': 'Min Completion Rate: {{percent}}%',
|
||
'p2pFilters.onlineOnly': 'Online traders only',
|
||
'p2pFilters.verifiedOnly': 'Verified merchants only',
|
||
'p2pFilters.sortBy': 'Sort By',
|
||
'p2pFilters.sortPrice': 'Price',
|
||
'p2pFilters.sortCompletionRate': 'Completion Rate',
|
||
'p2pFilters.sortTradeCount': 'Trade Count',
|
||
'p2pFilters.sortNewest': 'Newest',
|
||
'p2pFilters.lowToHigh': 'Low to High',
|
||
'p2pFilters.highToLow': 'High to Low',
|
||
'p2pFilters.iWantToTrade': 'I want to trade...',
|
||
'p2pFilters.rate': '{{percent}}%+ rate',
|
||
|
||
// InternalBalanceCard
|
||
'p2pBalance.title': 'P2P Internal Balance',
|
||
'p2pBalance.subtitle': 'Internal balance for P2P trading. Deposit to start selling.',
|
||
'p2pBalance.noBalance': 'No balance yet',
|
||
'p2pBalance.depositToStart': 'Deposit crypto to start P2P trading',
|
||
'p2pBalance.total': 'Total: {{amount}}',
|
||
'p2pBalance.available': 'Available',
|
||
'p2pBalance.lockedEscrow': 'Locked (Escrow)',
|
||
'p2pBalance.totalDeposited': 'Total Deposited: ',
|
||
'p2pBalance.totalWithdrawn': 'Total Withdrawn: ',
|
||
'p2pBalance.deposit': 'Deposit',
|
||
'p2pBalance.withdraw': 'Withdraw',
|
||
|
||
// MerchantTierBadge
|
||
'p2pTier.lite': 'Lite',
|
||
'p2pTier.super': 'Super',
|
||
'p2pTier.diamond': 'Diamond',
|
||
'p2pTier.liteMerchant': 'Lite Merchant',
|
||
'p2pTier.superMerchant': 'Super Merchant',
|
||
'p2pTier.diamondMerchant': 'Diamond Merchant',
|
||
'p2pTier.liteDesc': 'Basic verified trader',
|
||
'p2pTier.superDesc': 'Professional trader with 20+ trades and 90%+ completion rate',
|
||
'p2pTier.diamondDesc': 'Elite merchant with 100+ trades and 95%+ completion rate',
|
||
'p2pTier.merchant': '{{tier}} Merchant',
|
||
|
||
// NotificationBell
|
||
'p2pNotif.title': 'Notifications',
|
||
'p2pNotif.markAllRead': 'Mark all read',
|
||
'p2pNotif.noNotifications': 'No notifications',
|
||
'p2pNotif.viewAllTrades': 'View all trades',
|
||
|
||
// P2POrders page
|
||
'p2pOrders.title': 'My Trades',
|
||
'p2pOrders.subtitle': 'View and manage your P2P trades',
|
||
'p2pOrders.active': 'Active',
|
||
'p2pOrders.completed': 'Completed',
|
||
'p2pOrders.cancelled': 'Cancelled',
|
||
'p2pOrders.awaitingPayment': 'Awaiting Payment',
|
||
'p2pOrders.paymentSent': 'Payment Sent',
|
||
'p2pOrders.disputed': 'Disputed',
|
||
'p2pOrders.refunded': 'Refunded',
|
||
'p2pOrders.noActiveTrades': 'No active trades',
|
||
'p2pOrders.noCompletedTrades': 'No completed trades',
|
||
'p2pOrders.noCancelledTrades': 'No cancelled trades',
|
||
'p2pOrders.failedToLoad': 'Failed to load trades',
|
||
'p2pOrders.paymentDeadline': 'Payment deadline: {{time}}',
|
||
|
||
// ==================== BATCH 6: Wallet & Transfers ====================
|
||
|
||
// WalletDashboard
|
||
'wallet.notConnected': 'Wallet Not Connected',
|
||
'wallet.connectToView': 'Please connect your wallet to view your dashboard',
|
||
'wallet.dashboard': 'Wallet Dashboard',
|
||
'wallet.manageTokens': 'Manage your HEZ and PEZ tokens',
|
||
'wallet.recentActivity': 'Recent Activity',
|
||
'wallet.loading': 'Loading...',
|
||
'wallet.noRecentTx': 'No recent transactions',
|
||
'wallet.received': 'Received',
|
||
'wallet.sent': 'Sent',
|
||
'wallet.viewAll': 'View All',
|
||
'wallet.send': 'Send',
|
||
'wallet.receive': 'Receive',
|
||
'wallet.history': 'History',
|
||
'wallet.multisigOperations': 'Multisig Operations',
|
||
'wallet.pezRewards': 'PEZ Rewards',
|
||
'wallet.epochOpen': 'Open',
|
||
'wallet.epochClaimPeriod': 'Claim Period',
|
||
'wallet.epochClosed': 'Closed',
|
||
'wallet.epoch': 'Epoch {{epoch}} - {{status}}',
|
||
'wallet.score': 'Score: {{score}}',
|
||
'wallet.recordedForEpoch': 'Recorded for this epoch',
|
||
'wallet.recording': 'Recording...',
|
||
'wallet.recordTrustScore': 'Record Trust Score',
|
||
'wallet.epochsToClaim': '{{count}} epoch(s) to claim',
|
||
'wallet.epochReward': 'Epoch {{epoch}}: {{amount}} PEZ',
|
||
'wallet.claim': 'Claim',
|
||
'wallet.noClaimableRewards': 'No claimable rewards',
|
||
'wallet.trustScoreRecorded': 'Trust score recorded for this epoch',
|
||
'wallet.failedToRecordScore': 'Failed to record trust score',
|
||
'wallet.rewardClaimed': '{{amount}} PEZ reward claimed!',
|
||
'wallet.failedToClaimReward': 'Failed to claim reward',
|
||
|
||
// AccountBalance
|
||
'balance.connectWallet': 'Connect your wallet to view balance',
|
||
'balance.hezBalance': 'HEZ Balance',
|
||
'balance.multiChain': 'Multi-Chain Overview',
|
||
'balance.addFee': 'Add Fee',
|
||
'balance.addFees': 'Add Fees',
|
||
'balance.sendHezToTeyrchains': 'Send HEZ to Asset Hub / People Chain',
|
||
'balance.sendHezForPezFees': 'Send HEZ for PEZ transfer fees',
|
||
'balance.usdTotal': '≈ ${{amount}} USD (Total)',
|
||
'balance.priceLoading': 'Price loading...',
|
||
'balance.relayChain': 'Pezkuwi (Relay Chain)',
|
||
'balance.reserved': 'Reserved: {{amount}}',
|
||
'balance.assetHub': 'Pezkuwi Asset Hub',
|
||
'balance.pezFees': '(PEZ fees)',
|
||
'balance.lowForFees': 'Low for fees',
|
||
'balance.peopleChain': 'Pezkuwi People',
|
||
'balance.identityFees': '(Identity fees)',
|
||
'balance.pezBalance': 'PEZ Balance',
|
||
'balance.govRewardsToken': 'Governance & Rewards Token (on Asset Hub)',
|
||
'balance.usdtBalance': 'USDT Balance',
|
||
'balance.stablecoinOnAssetHub': '≈ ${{amount}} USD • Stablecoin (on Asset Hub)',
|
||
'balance.whezBalance': 'wHEZ Balance',
|
||
'balance.wrappedHezOnAssetHub': 'Wrapped HEZ (on Asset Hub)',
|
||
'balance.lpTokenPositions': 'LP Token Positions',
|
||
'balance.poolShare': 'Pool Share',
|
||
'balance.stake': 'Stake',
|
||
'balance.accountInfo': 'Account Information',
|
||
'balance.account': 'Account',
|
||
'balance.address': 'Address',
|
||
'balance.scoresFromBlockchain': 'Scores from Blockchain',
|
||
'balance.loadingScores': 'Loading scores...',
|
||
'balance.trust': 'Trust',
|
||
'balance.referral': 'Referral',
|
||
'balance.staking': 'Staking',
|
||
'balance.tiki': 'Tiki',
|
||
'balance.totalScore': 'Total Score',
|
||
'balance.otherAssets': 'Other Assets',
|
||
'balance.addToken': 'Add Token',
|
||
'balance.noCustomTokens': 'No custom tokens yet',
|
||
'balance.addCustomTokensDesc': 'Add custom tokens to track additional assets',
|
||
'balance.tokenAlreadyAdded': 'Token already added!',
|
||
|
||
// TransferModal
|
||
'transfer.sendToken': 'Send {{token}}',
|
||
'transfer.sendTokens': 'Send Tokens',
|
||
'transfer.transferTo': 'Transfer {{name}} to another account',
|
||
'transfer.transferTokens': 'Transfer tokens to another account',
|
||
'transfer.success': 'Transfer Successful!',
|
||
'transfer.finalized': 'Your transaction has been finalized',
|
||
'transfer.txHash': 'Transaction Hash',
|
||
'transfer.failed': 'Transfer Failed',
|
||
'transfer.tryAgain': 'Try Again',
|
||
'transfer.selectToken': 'Select Token',
|
||
'transfer.selectTokenPlaceholder': 'Select token',
|
||
'transfer.recipientAddress': 'Recipient Address',
|
||
'transfer.recipientPlaceholder': 'Recipient address',
|
||
'transfer.amountLabel': 'Amount ({{token}})',
|
||
'transfer.amountPlaceholder': 'Amount',
|
||
'transfer.decimals': 'Decimals: {{decimals}}',
|
||
'transfer.signTransaction': 'Please sign the transaction in your Pezkuwi.js extension',
|
||
'transfer.txPending': 'Transaction pending... Waiting for finalization',
|
||
'transfer.waitingSignature': 'Waiting for signature...',
|
||
'transfer.processing': 'Processing...',
|
||
'transfer.walletNotConnected': 'Wallet not connected',
|
||
'transfer.assetHubNotReady': 'Asset Hub connection not ready. This token is on Asset Hub.',
|
||
'transfer.fillAllFields': 'Please fill in all fields',
|
||
'transfer.txFailed': 'Transaction failed',
|
||
'transfer.sentAmount': 'Sent {{amount}} {{token}} to {{recipient}}',
|
||
'transfer.errorOccurred': 'An error occurred during transfer',
|
||
'transfer.pleaseTryAgain': 'Please try again',
|
||
'transfer.error': 'Error',
|
||
|
||
// ReceiveModal
|
||
'receive.title': 'Receive Tokens',
|
||
'receive.description': 'Share this address to receive HEZ, PEZ, and other tokens',
|
||
'receive.accountName': 'Account Name',
|
||
'receive.unnamed': 'Unnamed Account',
|
||
'receive.walletAddress': 'Wallet Address',
|
||
'receive.copied': 'Copied!',
|
||
'receive.copyAddress': 'Copy Address',
|
||
'receive.addressCopied': 'Address Copied!',
|
||
'receive.addressCopiedDesc': 'Your wallet address has been copied to clipboard',
|
||
'receive.copyFailed': 'Copy Failed',
|
||
'receive.copyFailedDesc': 'Failed to copy address to clipboard',
|
||
'receive.warning': 'Only send PezkuwiChain compatible tokens to this address. Sending other tokens may result in permanent loss.',
|
||
|
||
// TransactionHistory
|
||
'txHistory.title': 'Transaction History',
|
||
'txHistory.description': 'Recent transactions involving your account',
|
||
'txHistory.loading': 'Loading transactions...',
|
||
'txHistory.noTx': 'No transactions found',
|
||
'txHistory.noTxDesc': 'Your recent transactions will appear here',
|
||
'txHistory.received': 'Received',
|
||
'txHistory.sent': 'Sent',
|
||
'txHistory.from': 'From:',
|
||
'txHistory.to': 'To:',
|
||
'txHistory.txDetails': 'Transaction Details',
|
||
'txHistory.blockExtrinsic': 'Block #{{block}}, Extrinsic #{{extrinsic}}',
|
||
'txHistory.viewDetails': 'View Details',
|
||
'txHistory.fetchError': 'Failed to fetch transaction history',
|
||
|
||
// XCMTeleportModal
|
||
'xcm.title': 'Teleport HEZ to Teyrchain',
|
||
'xcm.description': 'Transfer HEZ from Pezkuwi (Relay Chain) to a teyrchain for transaction fees',
|
||
'xcm.success': 'Teleport Successful!',
|
||
'xcm.sentTo': '{{amount}} HEZ sent to {{chain}}',
|
||
'xcm.failed': 'Teleport Failed',
|
||
'xcm.tryAgain': 'Try Again',
|
||
'xcm.targetTeyrchain': 'Target Teyrchain',
|
||
'xcm.relayChain': 'Pezkuwi (Relay Chain)',
|
||
'xcm.teleportMinHez': 'Teleport at least 0.1 HEZ for fees.',
|
||
'xcm.amountHez': 'Amount (HEZ)',
|
||
'xcm.signTransaction': 'Please sign the transaction in your wallet extension',
|
||
'xcm.inProgress': 'XCM Teleport in progress... This may take a moment.',
|
||
'xcm.waitingSignature': 'Waiting for signature...',
|
||
'xcm.processingXcm': 'Processing XCM...',
|
||
'xcm.teleportTo': 'Teleport HEZ to {{chain}}',
|
||
'xcm.walletNotConnected': 'Wallet not connected',
|
||
'xcm.invalidAmount': 'Please enter a valid amount',
|
||
'xcm.insufficientBalance': 'Insufficient balance on Relay Chain',
|
||
'xcm.teleportFailed': 'Teleport Failed',
|
||
'xcm.teleportSuccess': 'Teleport Successful!',
|
||
'xcm.teleportedTo': '{{amount}} HEZ teleported to {{chain}}!',
|
||
'xcm.assetHubName': 'Pezkuwi Asset Hub',
|
||
'xcm.assetHubDesc': 'For PEZ token transfers',
|
||
'xcm.peopleName': 'Pezkuwi People',
|
||
'xcm.peopleDesc': 'For identity & citizenship',
|
||
'xcm.pleaseTryAgain': 'Please try again',
|
||
'xcm.txHash': 'Transaction Hash',
|
||
|
||
// WalletModal
|
||
'walletModal.connected': 'Wallet Connected',
|
||
'walletModal.connect': 'Connect Wallet',
|
||
'walletModal.manageAccount': 'Manage your Pezkuwi account',
|
||
'walletModal.connectDesc': 'Connect your Pezkuwi.js extension to interact with PezkuwiChain',
|
||
'walletModal.tryAgain': 'Try Again',
|
||
'walletModal.installChrome': 'Install from Chrome Web Store',
|
||
'walletModal.afterInstall': 'After installing, refresh the page and try again',
|
||
'walletModal.accountName': 'Account Name',
|
||
'walletModal.unnamed': 'Unnamed Account',
|
||
'walletModal.address': 'Address',
|
||
'walletModal.scoresFromBlockchain': 'Scores from Blockchain',
|
||
'walletModal.loadingScores': 'Loading scores...',
|
||
'walletModal.trust': 'Trust',
|
||
'walletModal.referral': 'Referral',
|
||
'walletModal.staking': 'Staking',
|
||
'walletModal.tiki': 'Tiki',
|
||
'walletModal.totalScore': 'Total Score',
|
||
'walletModal.source': 'Source',
|
||
'walletModal.viewOnExplorer': 'View on Explorer',
|
||
'walletModal.disconnect': 'Disconnect',
|
||
'walletModal.switchAccount': 'Switch Account',
|
||
'walletModal.selectAccount': 'Select an account to connect:',
|
||
'walletModal.connectPezkuwi': 'Connect Pezkuwi.js',
|
||
'walletModal.noWallet': "Don't have Pezkuwi Wallet?",
|
||
'walletModal.getFromStore': 'Get it from Chrome Web Store',
|
||
'walletModal.extensionTitle': 'Browser Extension',
|
||
'walletModal.extensionDesc': 'For desktop & laptop — install from Chrome Web Store',
|
||
'walletModal.extensionConnect': 'Connect Extension',
|
||
'walletModal.extensionGet': 'Get from Chrome Web Store',
|
||
'walletModal.mobileTitle': 'Mobile Wallet',
|
||
'walletModal.mobileDesc': 'For mobile — scan QR code with pezWallet app',
|
||
'walletModal.mobileConnect': 'Connect with pezWallet',
|
||
'walletModal.mobileComingSoon': 'Download on Play Store',
|
||
'walletModal.mobilePlayStore': 'Download on Play Store',
|
||
'walletModal.connectingExtension': 'Approve in extension...',
|
||
'walletModal.or': 'or',
|
||
'walletModal.connectWC': 'Connect with pezWallet (Mobile)',
|
||
'walletModal.wcScanQR': 'Scan with pezWallet to connect',
|
||
'walletModal.wcOpenWallet': 'Connect with pezWallet app',
|
||
'walletModal.wcGenerating': 'Generating connection...',
|
||
'walletModal.wcWaiting': 'Waiting for wallet to connect...',
|
||
'walletModal.wcWaitingMobile': 'Approve the connection in pezWallet',
|
||
'walletModal.wcOpenApp': 'Open pezWallet',
|
||
'walletModal.wcInstallHint': "Don't have pezWallet? Download it on Play Store.",
|
||
'walletModal.wcConnected': 'Connected!',
|
||
'walletModal.wcInstructions': 'Open pezWallet app → Settings → WalletConnect → Scan QR code',
|
||
'walletModal.wcRetry': 'Try Again',
|
||
'walletModal.wcTimeout': 'Connection timed out. Please try again.',
|
||
|
||
// WalletButton
|
||
'walletBtn.connectWallet': 'Connect Wallet',
|
||
'walletBtn.wrongNetwork': 'Wrong Network',
|
||
'walletBtn.walletDetails': 'Wallet Details',
|
||
'walletBtn.address': 'Address',
|
||
'walletBtn.balance': 'Balance',
|
||
'walletBtn.network': 'Network',
|
||
'walletBtn.pezkuwiChain': 'PezkuwiChain',
|
||
'walletBtn.unknownNetwork': 'Unknown Network',
|
||
'walletBtn.switchNetwork': 'Switch to PezkuwiChain',
|
||
'walletBtn.disconnect': 'Disconnect',
|
||
|
||
// TransactionModal
|
||
'txModal.sendHez': 'Send HEZ',
|
||
'txModal.castVote': 'Cast Vote',
|
||
'txModal.delegateVoting': 'Delegate Voting Power',
|
||
'txModal.sendHezDesc': 'Send HEZ tokens to another address',
|
||
'txModal.voteDesc': 'Submit your vote for the proposal',
|
||
'txModal.delegateDesc': 'Delegate your voting power to another address',
|
||
'txModal.recipientAddress': 'Recipient Address',
|
||
'txModal.amountHez': 'Amount (HEZ)',
|
||
'txModal.voteMessage': 'Vote Message',
|
||
'txModal.votePlaceholder': 'Enter your vote reason (optional)',
|
||
'txModal.processing': 'Processing...',
|
||
'txModal.sendTransaction': 'Send Transaction',
|
||
'txModal.signSubmit': 'Sign & Submit',
|
||
'txModal.cancel': 'Cancel',
|
||
'txModal.txSubmitted': 'Transaction submitted successfully!',
|
||
'txModal.txHash': 'Transaction Hash',
|
||
'txModal.close': 'Close',
|
||
'txModal.fillAllFields': 'Please fill in all fields',
|
||
'txModal.enterMessage': 'Please enter a message to sign',
|
||
|
||
// MultiSigWallet
|
||
'multisig.walletBalance': 'Wallet Balance',
|
||
'multisig.requiredSignatures': 'Required Signatures',
|
||
'multisig.signersRequired': 'Signers required',
|
||
'multisig.pendingTransactions': 'Pending Transactions',
|
||
'multisig.awaitingSignatures': 'Awaiting signatures',
|
||
'multisig.createTransaction': 'Create Transaction',
|
||
'multisig.recipientAddress': 'Recipient Address',
|
||
'multisig.amount': 'Amount',
|
||
'multisig.description': 'Description',
|
||
'multisig.txPurpose': 'Transaction purpose',
|
||
'multisig.signatures': '{{current}}/{{required}} signatures',
|
||
'multisig.sign': 'Sign',
|
||
'multisig.pending': 'pending',
|
||
'multisig.executed': 'executed',
|
||
'multisig.rejected': 'rejected',
|
||
|
||
// ==================== BATCH 7: Treasury ====================
|
||
|
||
// TreasuryOverview
|
||
'treasury.title': 'Treasury',
|
||
'treasury.subtitle': 'Manage community funds',
|
||
'treasury.overview': 'Overview',
|
||
'treasury.proposals': 'Proposals',
|
||
'treasury.approvals': 'Approvals',
|
||
'treasury.history': 'History',
|
||
'treasury.loading': 'Loading treasury data from blockchain...',
|
||
'treasury.errorLoad': 'Failed to load treasury data: {{error}}',
|
||
'treasury.liveData': 'Live Blockchain Data',
|
||
'treasury.activeProposals': '{{count}} active proposals',
|
||
'treasury.hezInTreasury': '{{amount}} HEZ in treasury',
|
||
'treasury.health': 'Treasury Health',
|
||
'treasury.healthExcellent': 'Excellent',
|
||
'treasury.healthGood': 'Good',
|
||
'treasury.healthFair': 'Fair',
|
||
'treasury.healthCritical': 'Critical',
|
||
'treasury.runway': 'Runway',
|
||
'treasury.runwayMonths': '{{months}} months',
|
||
'treasury.burnRate': 'Burn Rate',
|
||
'treasury.totalBalance': 'Total Balance',
|
||
'treasury.monthlyIncome': 'Monthly Income',
|
||
'treasury.monthlyExpenses': 'Monthly Expenses',
|
||
'treasury.pendingProposals': 'Pending Proposals',
|
||
'treasury.requested': '${{amount}}k requested',
|
||
'treasury.thisMonth': '+{{percent}}% this month',
|
||
'treasury.vsLastMonth': '{{percent}}% vs last month',
|
||
'treasury.budgetAllocation': 'Budget Allocation by Category',
|
||
'treasury.quarterUtilization': 'Current quarter budget utilization',
|
||
|
||
// FundingProposal
|
||
'funding.createTitle': 'Create Funding Proposal',
|
||
'funding.createDesc': 'Submit a detailed budget request for treasury funding',
|
||
'funding.proposalTitle': 'Proposal Title',
|
||
'funding.titlePlaceholder': 'Enter a clear, descriptive title',
|
||
'funding.category': 'Category',
|
||
'funding.selectCategory': 'Select category',
|
||
'funding.catDevelopment': 'Development',
|
||
'funding.catMarketing': 'Marketing',
|
||
'funding.catOperations': 'Operations',
|
||
'funding.catCommunity': 'Community',
|
||
'funding.catResearch': 'Research',
|
||
'funding.catInfrastructure': 'Infrastructure',
|
||
'funding.description': 'Description',
|
||
'funding.descPlaceholder': 'Provide a detailed description of the proposal',
|
||
'funding.budgetBreakdown': 'Budget Breakdown',
|
||
'funding.total': 'Total: ${{amount}}',
|
||
'funding.item': 'Item {{index}}',
|
||
'funding.itemDesc': 'Description',
|
||
'funding.itemDescPlaceholder': 'Budget item description',
|
||
'funding.amountUsd': 'Amount ($)',
|
||
'funding.justification': 'Justification',
|
||
'funding.justificationPlaceholder': 'Explain why this expense is necessary',
|
||
'funding.addBudgetItem': 'Add Budget Item',
|
||
'funding.milestones': 'Milestones & Deliverables',
|
||
'funding.milestonesDesc': 'Define clear milestones with payment schedule',
|
||
'funding.milestone': 'Milestone {{index}}',
|
||
'funding.milestoneTitle': 'Title',
|
||
'funding.milestoneTitlePlaceholder': 'Milestone title',
|
||
'funding.paymentAmount': 'Payment Amount ($)',
|
||
'funding.deliverables': 'Deliverables',
|
||
'funding.deliverablesPlaceholder': 'What will be delivered',
|
||
'funding.deadline': 'Deadline',
|
||
'funding.mismatchWarning': "Milestone total (${{milestoneTotal}}) doesn't match budget total (${{budgetTotal}})",
|
||
'funding.saveDraft': 'Save Draft',
|
||
'funding.submitProposal': 'Submit Proposal',
|
||
'funding.addMilestone': 'Add Milestone',
|
||
|
||
// SpendingHistory
|
||
'spending.title': 'Treasury Spending History',
|
||
'spending.description': 'Track all treasury expenditures and approved proposals',
|
||
'spending.searchPlaceholder': 'Search transactions...',
|
||
'spending.allCategories': 'All Categories',
|
||
'spending.allStatus': 'All Status',
|
||
'spending.completed': 'Completed',
|
||
'spending.pending': 'Pending',
|
||
'spending.rejected': 'Rejected',
|
||
'spending.export': 'Export',
|
||
'spending.date': 'Date',
|
||
'spending.desc': 'Description',
|
||
'spending.category': 'Category',
|
||
'spending.amount': 'Amount',
|
||
'spending.status': 'Status',
|
||
'spending.proposalId': 'Proposal ID',
|
||
'spending.actions': 'Actions',
|
||
'spending.view': 'View',
|
||
|
||
// MultiSigApproval
|
||
'msApproval.pendingApprovals': 'Pending Approvals',
|
||
'msApproval.totalValue': 'Total Value',
|
||
'msApproval.activeSigners': 'Active Signers',
|
||
'msApproval.expiringSoon': 'Expiring Soon',
|
||
'msApproval.pending': 'Pending ({{count}})',
|
||
'msApproval.approved': 'Approved ({{count}})',
|
||
'msApproval.rejected': 'Rejected ({{count}})',
|
||
'msApproval.deadline': 'Deadline: {{date}}',
|
||
'msApproval.approvalProgress': 'Approval Progress',
|
||
'msApproval.signatures': '{{current}}/{{required}} signatures',
|
||
'msApproval.signers': 'Signers',
|
||
'msApproval.approve': 'Approve',
|
||
'msApproval.reject': 'Reject',
|
||
'msApproval.viewDetails': 'View Details',
|
||
'msApproval.noApproved': 'No approved proposals yet',
|
||
'msApproval.noRejected': 'No rejected proposals',
|
||
|
||
// ============ BATCH 8: Forum ============
|
||
// ForumOverview + Forum.tsx shared
|
||
'forum.backToForum': '← Back to Forum',
|
||
'forum.loading': 'Loading forum...',
|
||
'forum.totalDiscussions': 'Total Discussions',
|
||
'forum.categories': 'Categories',
|
||
'forum.activeUsers': 'Active Users',
|
||
'forum.totalReplies': 'Total Replies',
|
||
'forum.searchPlaceholder': 'Search discussions...',
|
||
'forum.allCategories': 'All Categories',
|
||
'forum.sortRecent': 'Most Recent',
|
||
'forum.sortPopular': 'Most Popular',
|
||
'forum.sortReplies': 'Most Replies',
|
||
'forum.sortViewed': 'Most Viewed',
|
||
'forum.newDiscussion': 'New Discussion',
|
||
'forum.noDiscussions': 'No discussions found',
|
||
'forum.adjustFilters': 'Try adjusting your search or filters',
|
||
'forum.discussionCount': '{{count}} discussions',
|
||
'forum.pinned': 'Pinned',
|
||
'forum.locked': 'Locked',
|
||
'forum.trending': 'Trending',
|
||
'forum.by': 'by',
|
||
'forum.replies': 'replies',
|
||
'forum.views': 'views',
|
||
'forum.posted': 'Posted',
|
||
|
||
// Forum.tsx page
|
||
'forum.communityForum': 'Community Forum',
|
||
'forum.communityForumDesc': 'Discuss proposals, share ideas, and connect with the community',
|
||
'forum.newTopic': 'New Topic',
|
||
'forum.guestBrowsing': 'You are browsing as a guest',
|
||
'forum.guestBrowsingDesc': 'Login to create topics, reply, and interact with the community',
|
||
'forum.login': 'Login',
|
||
'forum.forumStats': 'Forum Stats',
|
||
'forum.topics': 'Topics',
|
||
'forum.members': 'Members',
|
||
'forum.onlineNow': 'Online Now',
|
||
'forum.allTopics': 'All Topics',
|
||
'forum.quickLinks': 'Quick Links',
|
||
'forum.govDashboard': 'Governance Dashboard',
|
||
'forum.documentation': 'Documentation',
|
||
'forum.joinDiscord': 'Join Discord',
|
||
'forum.sortBy': 'Sort by',
|
||
'forum.recentActivity': 'Recent Activity',
|
||
'forum.noDiscussionsYet': 'No discussions yet',
|
||
'forum.beFirstToStart': 'Be the first to start a conversation!',
|
||
'forum.createFirstTopic': 'Create First Topic',
|
||
'forum.moreTags': '+{{count}} more',
|
||
'forum.loginRequired': 'Login Required',
|
||
'forum.loginRequiredDesc': 'You need to be logged in to perform this action.',
|
||
'forum.joinCommunity': 'Join our community to:',
|
||
'forum.joinCreateTopics': 'Create new discussion topics',
|
||
'forum.joinReply': 'Reply to existing discussions',
|
||
'forum.joinUpvote': 'Upvote helpful content',
|
||
'forum.joinGov': 'Participate in governance',
|
||
'forum.continueBrowsing': 'Continue Browsing',
|
||
'forum.createNewTopic': 'Create New Topic',
|
||
'forum.startNewDiscussion': 'Start a new discussion with the community',
|
||
'forum.category': 'Category',
|
||
'forum.selectCategory': 'Select a category',
|
||
'forum.title': 'Title',
|
||
'forum.enterTitle': 'Enter a descriptive title',
|
||
'forum.content': 'Content',
|
||
'forum.writeContent': 'Write your discussion content here...',
|
||
'forum.tagsOptional': 'Tags (optional)',
|
||
'forum.tagsPlaceholder': 'governance, proposal, treasury (comma separated)',
|
||
'forum.creating': 'Creating...',
|
||
'forum.createTopic': 'Create Topic',
|
||
|
||
// DiscussionThread
|
||
'discussion.title': 'Discussion Forum',
|
||
'discussion.subtitle': 'Share your thoughts and feedback on this proposal',
|
||
'discussion.commentPlaceholder': 'Write your comment... (Markdown supported)',
|
||
'discussion.markdownHelp': 'Markdown Help',
|
||
'discussion.postComment': 'Post Comment',
|
||
'discussion.markdownFormatting': 'Markdown Formatting:',
|
||
'discussion.youWereMentioned': 'You were mentioned',
|
||
'discussion.mentionedYou': '{{author}} mentioned you in a comment',
|
||
'discussion.justNow': 'Just now',
|
||
'discussion.reply': 'Reply',
|
||
'discussion.report': 'Report',
|
||
'discussion.edit': 'Edit',
|
||
'discussion.delete': 'Delete',
|
||
'discussion.replyPlaceholder': 'Write your reply... @mention users to notify them',
|
||
'discussion.cancel': 'Cancel',
|
||
'discussion.postReply': 'Post Reply',
|
||
|
||
// ForumTopic page
|
||
'forumTopic.notFound': 'Discussion Not Found',
|
||
'forumTopic.notFoundDesc': 'This discussion may have been removed or does not exist.',
|
||
'forumTopic.saved': 'Saved',
|
||
'forumTopic.save': 'Save',
|
||
'forumTopic.share': 'Share',
|
||
'forumTopic.report': 'Report',
|
||
'forumTopic.leaveReply': 'Leave a Reply',
|
||
'forumTopic.writeReply': 'Write your reply...',
|
||
'forumTopic.posting': 'Posting...',
|
||
'forumTopic.postReply': 'Post Reply',
|
||
'forumTopic.loginToJoin': 'Login to join the discussion',
|
||
'forumTopic.loginToReply': 'Login to Reply',
|
||
'forumTopic.lockedMsg': 'This discussion has been locked and no longer accepts new replies.',
|
||
'forumTopic.replyCount_one': '{{count}} Reply',
|
||
'forumTopic.replyCount_other': '{{count}} Replies',
|
||
'forumTopic.noReplies': 'No replies yet. Be the first to respond!',
|
||
'forumTopic.continueReading': 'Continue Reading',
|
||
'forumTopic.joinReply': 'Reply to discussions',
|
||
'forumTopic.joinUpvote': 'Upvote helpful content',
|
||
'forumTopic.joinSave': 'Save topics for later',
|
||
'forumTopic.reportContent': 'Report Content',
|
||
'forumTopic.reportReason': 'Why are you reporting this content?',
|
||
'forumTopic.reportSpam': 'Spam or misleading',
|
||
'forumTopic.reportHarassment': 'Harassment or hate speech',
|
||
'forumTopic.reportInappropriate': 'Inappropriate content',
|
||
'forumTopic.reportOffTopic': 'Off-topic',
|
||
'forumTopic.reportOther': 'Other',
|
||
'forumTopic.replyTo': 'Reply to {{name}}...',
|
||
|
||
// ModerationPanel
|
||
'moderation.totalReports': 'Total Reports',
|
||
'moderation.resolved': 'Resolved',
|
||
'moderation.pending': 'Pending',
|
||
'moderation.bannedUsers': 'Banned Users',
|
||
'moderation.flaggedContent': 'Flagged Content',
|
||
'moderation.reportsQueue': 'Reports Queue',
|
||
'moderation.autoModeration': 'Auto-Moderation',
|
||
'moderation.userManagement': 'User Management',
|
||
'moderation.reportedUser': 'Reported User: {{user}}',
|
||
'moderation.reportedBy': 'Reported by: {{user}}',
|
||
'moderation.review': 'Review',
|
||
'moderation.takeAction': 'Take Action',
|
||
'moderation.autoModSettings': 'Auto-Moderation Settings',
|
||
'moderation.enableAutoMod': 'Enable Auto-Moderation',
|
||
'moderation.autoModDesc': 'Automatically flag suspicious content',
|
||
'moderation.sentimentThreshold': 'Sentiment Threshold',
|
||
'moderation.sentimentThresholdDesc': 'Flag comments with sentiment below {{threshold}}%',
|
||
'moderation.autoModInfo': 'Auto-moderation uses AI to detect potentially harmful content and automatically flags it for review.',
|
||
'moderation.userModActions': 'User Moderation Actions',
|
||
'moderation.reportsWarnings': '{{reports}} reports, {{warnings}} warnings',
|
||
'moderation.warn': 'Warn',
|
||
'moderation.suspend': 'Suspend',
|
||
'moderation.ban': 'Ban',
|
||
|
||
// NotificationCenter
|
||
'notifCenter.youWereMentioned': 'You were mentioned',
|
||
'notifCenter.mentionedYou': '{{sender}} mentioned you in a discussion',
|
||
'notifCenter.newReply': 'New reply',
|
||
'notifCenter.repliedToComment': '{{sender}} replied to your comment',
|
||
'notifCenter.all': 'All',
|
||
'notifCenter.unread': 'Unread',
|
||
'notifCenter.settings': 'Settings',
|
||
'notifCenter.notifications': '{{count}} notifications',
|
||
'notifCenter.markAllRead': 'Mark all read',
|
||
'notifCenter.pushNotifications': 'Push Notifications',
|
||
'notifCenter.mentions': 'Mentions',
|
||
'notifCenter.replies': 'Replies',
|
||
|
||
// Batch 9: Citizenship Modal
|
||
'citizenModal.title': 'Digital Kurdistan Citizenship',
|
||
'citizenModal.invitedDesc': 'You have been invited to join Digital Kurdistan! Complete the application below.',
|
||
'citizenModal.defaultDesc': 'Join the Digital Kurdistan State as a citizen or authenticate your existing citizenship',
|
||
'citizenModal.existingTab': 'I am Already a Citizen',
|
||
'citizenModal.newTab': 'I Want to Become a Citizen',
|
||
|
||
// ExistingCitizenAuth
|
||
'existingAuth.title': 'Authenticate as Citizen',
|
||
'existingAuth.description': 'Enter your Citizen Number from your Dashboard to authenticate',
|
||
'existingAuth.citizenNumber': 'Citizen Number',
|
||
'existingAuth.citizenNumberHint': 'Enter your full Citizen Number from your Dashboard (format: #CollectionID-ItemID-6digits)',
|
||
'existingAuth.connectWalletFirst': 'Connect Wallet First',
|
||
'existingAuth.verifyCitizenNumber': 'Verify Citizen Number',
|
||
'existingAuth.verifying': 'Verifying Citizen Number on blockchain...',
|
||
'existingAuth.nftVerified': 'NFT ownership verified! Now sign to prove you control this wallet.',
|
||
'existingAuth.authChallenge': 'Authentication Challenge:',
|
||
'existingAuth.signMessage': 'Sign Message to Authenticate',
|
||
'existingAuth.authSuccess': 'Authentication Successful!',
|
||
'existingAuth.welcomeBack': 'Welcome back, Citizen #{{number}}',
|
||
'existingAuth.redirecting': 'Redirecting to citizen dashboard...',
|
||
'existingAuth.tryAgain': 'Try Again',
|
||
'existingAuth.securityInfo': 'Security Information',
|
||
'existingAuth.securityNft': 'Your NFT number is cryptographically verified on-chain',
|
||
'existingAuth.securitySig': 'Signature proves you control the wallet without revealing private keys',
|
||
'existingAuth.securityExpire': 'Session expires after 24 hours for your security',
|
||
'existingAuth.securityNoData': 'No personal data is transmitted or stored on-chain',
|
||
'existingAuth.connectWallet': 'Please connect your wallet first',
|
||
'existingAuth.enterCitizenNumber': 'Please enter your Citizen Number',
|
||
'existingAuth.invalidNumber': "Invalid Citizen Number or it doesn't match your wallet",
|
||
'existingAuth.verificationFailed': 'Failed to verify Citizen Number',
|
||
'existingAuth.missingAuthData': 'Missing authentication data',
|
||
'existingAuth.signatureFailed': 'Signature verification failed',
|
||
'existingAuth.signError': 'Failed to sign authentication challenge',
|
||
'existingAuth.walletConnectFailed': 'Failed to connect wallet',
|
||
|
||
// TwoFactor Setup & Verify
|
||
'twoFactor.title': 'Two-Factor Authentication',
|
||
'twoFactor.description': 'Add an extra layer of security to your account',
|
||
'twoFactor.infoAlert': 'Two-factor authentication adds an extra layer of security by requiring a code from your authenticator app',
|
||
'twoFactor.setupBtn': 'Set Up Two-Factor Authentication',
|
||
'twoFactor.setupStarted': '2FA Setup Started',
|
||
'twoFactor.scanQrDesc': 'Scan the QR code with your authenticator app',
|
||
'twoFactor.setupFailed': 'Setup Failed',
|
||
'twoFactor.enterVerification': 'Please enter verification code',
|
||
'twoFactor.enabled': '2FA Enabled',
|
||
'twoFactor.enabledDesc': 'Your account is now protected with two-factor authentication',
|
||
'twoFactor.verificationFailed': 'Verification Failed',
|
||
'twoFactor.disabled': '2FA Disabled',
|
||
'twoFactor.disabledDesc': 'Two-factor authentication has been disabled',
|
||
'twoFactor.scanQrTitle': '1. Scan QR Code',
|
||
'twoFactor.scanQrHint': 'Use your authenticator app to scan this QR code or enter the secret manually',
|
||
'twoFactor.saveBackup': '2. Save Backup Codes',
|
||
'twoFactor.saveBackupHint': 'Store these codes in a safe place. You can use them to access your account if you lose your device.',
|
||
'twoFactor.copied': 'Copied!',
|
||
'twoFactor.copyCodes': 'Copy Codes',
|
||
'twoFactor.verifySetup': '3. Verify Setup',
|
||
'twoFactor.enterCode': 'Enter the 6-digit code from your authenticator app',
|
||
'twoFactor.enableBtn': 'Enable 2FA',
|
||
'twoFactor.enabledAlert': 'Two-factor authentication is enabled for your account',
|
||
'twoFactor.disableBtn': 'Disable Two-Factor Authentication',
|
||
'twoFactor.enterAuthCode': 'Enter your authentication code to continue',
|
||
'twoFactor.authenticatorTab': 'Authenticator App',
|
||
'twoFactor.backupTab': 'Backup Code',
|
||
'twoFactor.enterBackupCode': 'Enter one of your backup codes',
|
||
'twoFactor.verify': 'Verify',
|
||
'twoFactor.verifySuccess': 'Verification Successful',
|
||
'twoFactor.authenticated': 'You have been authenticated',
|
||
'twoFactor.pleaseEnterCode': 'Please enter a code',
|
||
|
||
// Email Verification
|
||
'emailVerify.checkEmail': 'Check Your Email',
|
||
'emailVerify.sentVerificationTo': 'We sent a verification link to',
|
||
'emailVerify.checkInbox': 'Please check your email and click the verification link to activate your account.',
|
||
'emailVerify.checkSpam': "If you don't see the email, check your spam folder.",
|
||
'emailVerify.emailSent': 'Verification email sent!',
|
||
'emailVerify.sending': 'Sending...',
|
||
'emailVerify.resend': 'Resend Verification Email',
|
||
'emailVerify.backToLogin': 'Back to Login',
|
||
'emailVerify.title': 'Email Verification',
|
||
'emailVerify.verifyingEmail': 'Verifying your email...',
|
||
'emailVerify.verificationStatus': 'Email verification status',
|
||
'emailVerify.pleaseWait': 'Please wait while we verify your email...',
|
||
'emailVerify.success': 'Email Verified Successfully!',
|
||
'emailVerify.successDesc': 'Your email has been verified. You can now access all features.',
|
||
'emailVerify.goToLogin': 'Go to Login',
|
||
'emailVerify.failed': 'Verification Failed',
|
||
'emailVerify.goToHome': 'Go to Home',
|
||
'emailVerify.login': 'Login',
|
||
'emailVerify.noToken': 'No Verification Token',
|
||
'emailVerify.noTokenDesc': 'Please click the verification link in your email.',
|
||
'emailVerify.failedToVerify': 'Failed to verify email',
|
||
|
||
// Password Reset
|
||
'passwordReset.resetPassword': 'Reset Password',
|
||
'passwordReset.forgotPassword': 'Forgot Password',
|
||
'passwordReset.enterNewPassword': 'Enter your new password below',
|
||
'passwordReset.enterEmail': 'Enter your email to receive a password reset link',
|
||
'passwordReset.email': 'Email',
|
||
'passwordReset.emailPlaceholder': 'Enter your email',
|
||
'passwordReset.sendResetLink': 'Send Reset Link',
|
||
'passwordReset.backToLogin': 'Back to Login',
|
||
'passwordReset.newPassword': 'New Password',
|
||
'passwordReset.newPasswordPlaceholder': 'Enter new password',
|
||
'passwordReset.confirmPassword': 'Confirm Password',
|
||
'passwordReset.confirmPlaceholder': 'Confirm new password',
|
||
'passwordReset.resetBtn': 'Reset Password',
|
||
'passwordReset.resetEmailSent': 'Reset Email Sent',
|
||
'passwordReset.resetEmailSentDesc': "If the email exists, you'll receive a password reset link",
|
||
'passwordReset.passwordMismatch': 'Passwords do not match',
|
||
'passwordReset.passwordTooShort': 'Password must be at least 8 characters',
|
||
'passwordReset.success': 'Password Reset Successful',
|
||
'passwordReset.successDesc': 'Your password has been updated',
|
||
'passwordReset.failedToSend': 'Failed to send reset email',
|
||
'passwordReset.failedToReset': 'Failed to reset password',
|
||
|
||
// Telegram Connect
|
||
'telegramConnect.connecting': 'Connecting...',
|
||
'telegramConnect.invalidParams': 'Invalid parameters. Please start from the mini app.',
|
||
'telegramConnect.linkExpired': 'Link expired. Please try again.',
|
||
'telegramConnect.authenticating': 'Authenticating user...',
|
||
'telegramConnect.userNotFound': 'User not found. Please set up your wallet in the mini app before using P2P.',
|
||
'telegramConnect.success': 'Success! Redirecting...',
|
||
'telegramConnect.errorTitle': 'Error',
|
||
'telegramConnect.title': 'Telegram Connect',
|
||
'telegramConnect.closeWindow': 'Close Window',
|
||
'telegramConnect.returnToMiniApp': 'Please return to the mini app and try again',
|
||
'telegramConnect.openingP2P': 'Opening P2P Platform...',
|
||
'telegramConnect.connectionError': 'Connection error. Please try again.',
|
||
|
||
// BeCitizen
|
||
'beCitizen.backToHome': 'Back to Home',
|
||
'beCitizen.inviteFriend': 'Invite Friend',
|
||
'beCitizen.heroTitle': 'Digital Kurdistan',
|
||
'beCitizen.heroSubtitle': 'Be a Citizen',
|
||
'beCitizen.heroDesc': 'Join the Digital Kurdistan State as a sovereign citizen. Receive your Welati Tiki NFT and unlock governance, trust scoring, and community benefits.',
|
||
'beCitizen.privacyTitle': 'Privacy Protected',
|
||
'beCitizen.privacyDesc': 'Your data is encrypted with ZK-proofs. Only hashes are stored on-chain.',
|
||
'beCitizen.nftTitle': 'Welati Tiki NFT',
|
||
'beCitizen.nftDesc': 'Receive your unique soulbound citizenship NFT after KYC approval.',
|
||
'beCitizen.trustTitle': 'Trust Scoring',
|
||
'beCitizen.trustDesc': 'Build trust through referrals, staking, and community contributions.',
|
||
'beCitizen.govTitle': 'Governance Access',
|
||
'beCitizen.govDesc': 'Participate in on-chain governance and shape the future of Digital Kurdistan.',
|
||
'beCitizen.readyToJoin': 'Ready to Join?',
|
||
'beCitizen.readyToJoinDesc': "Whether you're already a citizen or want to become one, start your journey here.",
|
||
'beCitizen.startProcess': 'Start Citizenship Process',
|
||
'beCitizen.zkAuth': 'Secure ZK-Proof Authentication',
|
||
'beCitizen.soulboundNft': 'Soulbound NFT Citizenship',
|
||
'beCitizen.decentralizedId': 'Decentralized Identity',
|
||
'beCitizen.howItWorks': 'How It Works',
|
||
'beCitizen.existingTitle': 'Already a Citizen?',
|
||
'beCitizen.existing1': 'Enter your Welati Tiki NFT number',
|
||
'beCitizen.existing2': 'Verify NFT ownership on-chain',
|
||
'beCitizen.existing3': 'Sign authentication challenge',
|
||
'beCitizen.existing4': 'Access your citizen dashboard',
|
||
'beCitizen.newTitle': 'New to Citizenship?',
|
||
'beCitizen.new1': 'Fill detailed KYC application',
|
||
'beCitizen.new2': 'Data encrypted with ZK-proofs',
|
||
'beCitizen.new3': 'Your referrer approves your identity',
|
||
'beCitizen.new4': 'Confirm and receive your Welati Tiki NFT',
|
||
'beCitizen.benefitsTitle': 'Citizen Benefits',
|
||
'beCitizen.benefit1': 'Trust score calculation enabled',
|
||
'beCitizen.benefit2': 'Governance voting rights',
|
||
'beCitizen.benefit3': 'Referral tree participation',
|
||
'beCitizen.benefit4': 'Staking multiplier bonuses',
|
||
'beCitizen.securityTitle': 'Privacy & Security',
|
||
'beCitizen.securityDesc': 'Your personal data is encrypted using AES-GCM with your wallet-derived keys. Only commitment hashes are stored on the blockchain. Encrypted data is stored on IPFS and locally on your device. No personal information is ever publicly visible.',
|
||
|
||
// Dashboard
|
||
'dashboard.title': 'User Dashboard',
|
||
'dashboard.accountStatus': 'Account Status',
|
||
'dashboard.verified': 'Verified',
|
||
'dashboard.unverified': 'Unverified',
|
||
'dashboard.verifiedOn': 'Verified on {{date}}',
|
||
'dashboard.emailVerificationStatus': 'Email verification status',
|
||
'dashboard.memberSince': 'Member Since',
|
||
'dashboard.registrationDate': 'Registration date',
|
||
'dashboard.role': 'Role',
|
||
'dashboard.fromTikiNfts': 'From Tiki NFTs',
|
||
'dashboard.connectWalletForRoles': 'Connect wallet for roles',
|
||
'dashboard.totalScore': 'Total Score',
|
||
'dashboard.combinedScores': 'Combined from all score types',
|
||
'dashboard.trustScore': 'Trust Score',
|
||
'dashboard.frontendCalc': 'Frontend calculation',
|
||
'dashboard.referralScore': 'Referral Score',
|
||
'dashboard.fromReferral': 'From referral system',
|
||
'dashboard.stakingScore': 'Staking Score',
|
||
'dashboard.tracking': 'Tracking: {{duration}}',
|
||
'dashboard.starting': 'Starting...',
|
||
'dashboard.startTracking': 'Start Tracking',
|
||
'dashboard.connectToTrack': 'Connect wallet to track',
|
||
'dashboard.tikiScore': 'Tiki Score',
|
||
'dashboard.rolesAssigned': '{{count}} roles assigned',
|
||
'dashboard.pezRewards': 'PEZ Rewards',
|
||
'dashboard.epochOpen': 'Open',
|
||
'dashboard.epochClaim': 'Claim Period',
|
||
'dashboard.epochClosed': 'Closed',
|
||
'dashboard.epoch': 'Epoch {{number}}',
|
||
'dashboard.scoreLabel': 'Score: {{score}}',
|
||
'dashboard.recorded': 'Recorded',
|
||
'dashboard.recording': 'Recording...',
|
||
'dashboard.recordTrustScore': 'Record Trust Score',
|
||
'dashboard.claim': 'Claim',
|
||
'dashboard.profileTab': 'Profile',
|
||
'dashboard.rolesTab': 'Roles & Tikis',
|
||
'dashboard.referralsTab': 'Referrals',
|
||
'dashboard.securityTab': 'Security',
|
||
'dashboard.activityTab': 'Activity',
|
||
'dashboard.profileInfo': 'Profile Information',
|
||
'dashboard.personalDetails': 'Your personal details and contact information',
|
||
'dashboard.fullName': 'Full Name:',
|
||
'dashboard.emailLabel': 'Email:',
|
||
'dashboard.recoveryEmail': 'Recovery Email:',
|
||
'dashboard.phone': 'Phone:',
|
||
'dashboard.website': 'Website:',
|
||
'dashboard.location': 'Location:',
|
||
'dashboard.notSet': 'Not set',
|
||
'dashboard.verifyEmail': 'Verify Email',
|
||
'dashboard.editProfile': 'Edit Profile',
|
||
'dashboard.rolesTitle': 'Roles & Tikis',
|
||
'dashboard.rolesFromBlockchain': 'Your roles from the blockchain (Pallet-Tiki)',
|
||
'dashboard.connectWalletToView': 'Connect your wallet to view your roles',
|
||
'dashboard.connectWalletMsg': 'Connect your Pezkuwi wallet to view your on-chain roles',
|
||
'dashboard.goHomeToConnect': 'Go to Home to Connect Wallet',
|
||
'dashboard.loadingRoles': 'Loading roles from blockchain...',
|
||
'dashboard.noRolesYet': 'No roles assigned yet',
|
||
'dashboard.completeKyc': 'Complete KYC to become a Citizen (Welati)',
|
||
'dashboard.primaryRole': 'Primary Role:',
|
||
'dashboard.categories': 'Categories:',
|
||
'dashboard.allRoles': 'All Roles ({{count}})',
|
||
'dashboard.nftDetails': 'NFT Details ({{count}})',
|
||
'dashboard.citizenNft': 'Citizen NFT',
|
||
'dashboard.primary': 'Primary',
|
||
'dashboard.nftNumber': 'NFT Number:',
|
||
'dashboard.citizenNumberLabel': 'Citizen Number:',
|
||
'dashboard.collectionId': 'Collection ID:',
|
||
'dashboard.itemId': 'Item ID:',
|
||
'dashboard.roleLabel': 'Role:',
|
||
'dashboard.tikiType': 'Tiki Type:',
|
||
'dashboard.additionalRoleNfts': 'Additional Role NFTs:',
|
||
'dashboard.collection': 'Collection:',
|
||
'dashboard.item': 'Item:',
|
||
'dashboard.blockchainAddress': 'Blockchain Address',
|
||
'dashboard.renounceCitizenship': 'Renounce Citizenship',
|
||
'dashboard.renounceDesc': 'You can voluntarily renounce your citizenship at any time. This will:',
|
||
'dashboard.renounceBurn': 'Burn your Citizen (Welati) NFT',
|
||
'dashboard.renounceReset': 'Reset your KYC status',
|
||
'dashboard.renounceRemove': 'Remove citizen privileges',
|
||
'dashboard.renounceNote': 'Note: You can always reapply for citizenship later if you change your mind.',
|
||
'dashboard.renouncing': 'Renouncing...',
|
||
'dashboard.renounceBtn': 'Renounce Citizenship',
|
||
'dashboard.securitySettings': 'Security Settings',
|
||
'dashboard.manageAccountSecurity': 'Manage your account security',
|
||
'dashboard.password': 'Password',
|
||
'dashboard.lastChanged': 'Last changed: Never',
|
||
'dashboard.changePassword': 'Change Password',
|
||
'dashboard.verifyYourEmail': 'Verify your email',
|
||
'dashboard.verifyEmailMsg': 'Please verify your email to access all features',
|
||
'dashboard.recentActivity': 'Recent Activity',
|
||
'dashboard.recentActivityDesc': 'Your recent actions and transactions',
|
||
'dashboard.noRecentActivity': 'No recent activity',
|
||
'dashboard.loading': 'Loading...',
|
||
'dashboard.connectWalletError': 'Please connect your wallet first',
|
||
'dashboard.scoreTrackingStarted': 'Score tracking started! Your staking score will now be calculated.',
|
||
'dashboard.scoreTrackingFailed': 'Failed to start score tracking',
|
||
'dashboard.trustScoreRecorded': 'Trust score recorded for this epoch.',
|
||
'dashboard.trustScoreRecordFailed': 'Failed to record trust score',
|
||
'dashboard.rewardClaimed': '{{amount}} PEZ reward claimed!',
|
||
'dashboard.rewardClaimFailed': 'Failed to claim reward',
|
||
'dashboard.noEmailFound': 'No email address found',
|
||
'dashboard.verificationEmailSent': 'Verification Email Sent',
|
||
'dashboard.checkInboxAndSpam': 'Please check your email inbox and spam folder',
|
||
'dashboard.rateLimitExceeded': 'Too many requests. Please wait a few minutes and try again.',
|
||
'dashboard.accountNotFound': 'Account not found. Please sign up first.',
|
||
'dashboard.failedToSendEmail': 'Failed to send verification email',
|
||
'dashboard.renounceConfirmMsg': "Are you sure you want to renounce your citizenship? This will:\n• Burn your Citizen (Welati) NFT\n• Reset your KYC status to NotStarted\n• Remove all associated citizen privileges\n\nYou can always reapply later if you change your mind.",
|
||
'dashboard.citizenshipRenounced': 'Citizenship Renounced',
|
||
'dashboard.renounceSuccess': 'Your citizenship has been successfully renounced. You can reapply anytime.',
|
||
'dashboard.renounceFailed': 'Renunciation Failed',
|
||
'dashboard.renounceOnlyCitizens': 'Only citizens can renounce citizenship',
|
||
|
||
// Citizens Portal
|
||
'citizens.connectWalletMsg': 'Please connect your wallet',
|
||
'citizens.backToHome': 'Back to Home',
|
||
'citizens.portalTitle': 'Citizen Portal',
|
||
'citizens.digitalKurdistan': 'Digital Kurdistan',
|
||
'citizens.announcements': 'Announcements',
|
||
'citizens.citizenIssues': 'Citizens Issues',
|
||
'citizens.govEntrance': 'Gov. Entrance',
|
||
'citizens.noAccess': 'No Access',
|
||
'citizens.noAccessDesc': 'You must own a Tiki NFT to access this page',
|
||
'citizens.authSuccess': 'Authentication Successful',
|
||
'citizens.govAuthDesc': 'You can now access government portal',
|
||
'citizens.citizenAuthDesc': 'You can now access citizens issues',
|
||
'citizens.wrongNumber': 'Wrong Citizen Number',
|
||
'citizens.wrongNumberDesc': 'The citizen number you entered is incorrect',
|
||
'citizens.loading': 'Loading Citizens Portal...',
|
||
'citizens.profileSaved': 'Profile saved',
|
||
'citizens.profileSavedDesc': 'Your information has been saved successfully',
|
||
'citizens.walletNotConnected': 'Wallet not connected',
|
||
'citizens.connectWallet': 'Please connect your wallet',
|
||
'citizens.fileError': 'File error',
|
||
'citizens.uploadImageOnly': 'Please upload an image file',
|
||
'citizens.fileTooLarge': 'File too large',
|
||
'citizens.maxFileSize': 'Maximum file size is 2MB',
|
||
'citizens.photoUploaded': 'Photo uploaded',
|
||
'citizens.photoUploadedDesc': 'Your photo has been saved successfully',
|
||
'citizens.uploadError': 'Upload error',
|
||
'citizens.couldNotUpload': 'Could not upload photo',
|
||
'citizens.govDialogTitle': 'Government Entrance',
|
||
'citizens.citizenDialogTitle': 'Citizens Issues',
|
||
'citizens.enterCitizenNumber': 'Please enter your citizen number',
|
||
'citizens.citizenNumberLabel': 'Citizen Number',
|
||
'citizens.verifying': 'Verifying...',
|
||
'citizens.enter': 'Enter',
|
||
'citizens.editProfile': 'Edit Your Personal Information',
|
||
'citizens.nameLabel': 'Name',
|
||
'citizens.fatherNameLabel': "Father's Name",
|
||
'citizens.locationLabel': 'Location',
|
||
'citizens.namePlaceholder': 'Enter your name...',
|
||
'citizens.fatherNamePlaceholder': "Enter your father's name...",
|
||
'citizens.locationPlaceholder': 'Enter your location...',
|
||
'citizens.save': 'Save',
|
||
'citizens.upload': 'Upload',
|
||
|
||
// NewCitizenApplication
|
||
'newCitizen.connectRequired': 'Connect Wallet Required',
|
||
'newCitizen.connectDesc': 'You need to connect your wallet to apply for citizenship',
|
||
'newCitizen.connectWallet': 'Connect Wallet',
|
||
'newCitizen.kycApproved': 'KYC Approved!',
|
||
'newCitizen.kycApprovedDesc': 'Congratulations! Your citizenship application has been approved. Redirecting to citizen dashboard...',
|
||
'newCitizen.waitingReferrer': 'Waiting for Referrer Approval',
|
||
'newCitizen.waitingReferrerDesc': 'Your application has been submitted. Your referrer needs to vouch for your identity before you can proceed.',
|
||
'newCitizen.appSubmitted': 'Application Submitted',
|
||
'newCitizen.txHash': 'Transaction hash: {{hash}}',
|
||
'newCitizen.depositReserved': '1 HEZ Deposit Reserved',
|
||
'newCitizen.depositReturn': 'Deposit will be returned if you cancel',
|
||
'newCitizen.waitingForReferrer': 'Waiting for Referrer',
|
||
'newCitizen.referrerMustApprove': 'Your referrer must approve your identity',
|
||
'newCitizen.canceling': 'Canceling...',
|
||
'newCitizen.cancelApplication': 'Cancel Application',
|
||
'newCitizen.close': 'Close',
|
||
'newCitizen.referrerApproved': 'Referrer Approved!',
|
||
'newCitizen.referrerApprovedDesc': 'Your referrer has vouched for you. Confirm your citizenship to mint your Welati Tiki NFT.',
|
||
'newCitizen.confirmCitizenship': 'Confirm Citizenship',
|
||
'newCitizen.confirmMintDesc': 'Click below to mint your Welati Tiki NFT',
|
||
'newCitizen.confirming': 'Confirming...',
|
||
'newCitizen.processing': 'Processing Application...',
|
||
'newCitizen.processingDesc': 'Encrypting your data and submitting to the blockchain. Please wait...',
|
||
'newCitizen.personalIdentity': 'Personal Identity',
|
||
'newCitizen.fullName': 'Your Full Name',
|
||
'newCitizen.fatherName': "Father's Name",
|
||
'newCitizen.grandfatherName': "Grandfather's Name",
|
||
'newCitizen.motherName': "Mother's Name",
|
||
'newCitizen.required': 'Required',
|
||
'newCitizen.tribalAffiliation': 'Tribal Affiliation',
|
||
'newCitizen.yourTribe': 'Your Tribe',
|
||
'newCitizen.familyStatus': 'Family Status',
|
||
'newCitizen.maritalStatus': 'Married / Unmarried',
|
||
'newCitizen.married': 'Married',
|
||
'newCitizen.unmarried': 'Unmarried',
|
||
'newCitizen.childrenCount': 'Number of Children',
|
||
'newCitizen.childrenNames': "Children's Names",
|
||
'newCitizen.childName': 'Child {{number}} - Name',
|
||
'newCitizen.birthYear': 'Birth Year',
|
||
'newCitizen.yourRegion': 'Your Region',
|
||
'newCitizen.whereAreYouFrom': 'Where are you from?',
|
||
'newCitizen.selectRegion': 'Select a region',
|
||
'newCitizen.bakur': 'Bakur (North - Turkey)',
|
||
'newCitizen.basur': 'Bashur (South - Iraq)',
|
||
'newCitizen.rojava': 'Rojava (West - Syria)',
|
||
'newCitizen.rojhelat': 'Rojhilat (East - Iran)',
|
||
'newCitizen.sorKurdistan': 'Kurdistan a Sor (Red Kurdistan - Armenia/Azerbaijan)',
|
||
'newCitizen.diaspora': 'Diaspora (Living Abroad)',
|
||
'newCitizen.contactProfession': 'Contact & Profession',
|
||
'newCitizen.validEmailRequired': 'Valid email required',
|
||
'newCitizen.yourProfession': 'Your Profession',
|
||
'newCitizen.referralCode': 'Referral Code (Optional)',
|
||
'newCitizen.referralDesc': 'If you were invited by another citizen, enter their referral code',
|
||
'newCitizen.referralPlaceholder': 'Referral code (optional)',
|
||
'newCitizen.referralNote': 'If empty, you will be automatically linked to the Founder (Satoshi Qazi Muhammed)',
|
||
'newCitizen.depositRequired': '1 HEZ Deposit Required',
|
||
'newCitizen.depositDesc': 'A deposit of 1 HEZ will be reserved when you submit your application. It will be returned if you cancel your application.',
|
||
'newCitizen.termsAgree': 'I agree that my data is securely stored with ZK-proof and only its hash is recorded on the blockchain',
|
||
'newCitizen.submitting': 'Submitting...',
|
||
'newCitizen.submitApplication': 'Submit Application',
|
||
'newCitizen.connectWalletError': 'Please connect your wallet and wait for People Chain connection',
|
||
'newCitizen.agreeToTerms': 'Please agree to the terms',
|
||
'newCitizen.alreadyApproved': 'Your citizenship is already approved! Redirecting to dashboard...',
|
||
'newCitizen.alreadyPending': 'You already have a pending citizenship application.',
|
||
'newCitizen.failedToSubmit': 'Failed to submit citizenship application',
|
||
'newCitizen.failedToConfirm': 'Failed to confirm citizenship',
|
||
'newCitizen.failedToCancel': 'Failed to cancel application',
|
||
|
||
// Batch 10: Admin Panel
|
||
'admin.title': 'Admin Panel',
|
||
'admin.loading': 'Loading...',
|
||
'admin.commissionSetup': 'Commission Setup',
|
||
'admin.kycApprovals': 'KYC Approvals',
|
||
'admin.userManagement': 'User Management',
|
||
'admin.username': 'Username',
|
||
'admin.email': 'Email',
|
||
'admin.verified': 'Verified',
|
||
'admin.unverified': 'Unverified',
|
||
'admin.roleUser': 'User',
|
||
'admin.roleModerator': 'Moderator',
|
||
'admin.roleAdmin': 'Admin',
|
||
'admin.roleSuperAdmin': 'Super Admin',
|
||
'admin.notify': 'Notify',
|
||
'admin.adminRoles': 'Admin Roles',
|
||
'admin.recentActivity': 'Recent Activity',
|
||
'admin.systemSettings': 'System Settings',
|
||
'admin.maintenanceMode': 'Maintenance Mode',
|
||
'admin.registration': 'Registration',
|
||
'admin.off': 'Off',
|
||
'admin.on': 'On',
|
||
'admin.closed': 'Closed',
|
||
'admin.inviteOnly': 'Invite Only',
|
||
|
||
// Elections
|
||
'elections.title': 'Welati - Elections & Governance',
|
||
'elections.subtitle': 'Democratic governance for Digital Kurdistan. Participate in elections and proposals.',
|
||
'elections.electionsTab': 'Elections',
|
||
'elections.proposalsTab': 'Proposals',
|
||
'elections.governmentTab': 'Government',
|
||
'elections.noActiveElections': 'No active elections at this time',
|
||
'elections.noActiveProposals': 'No active proposals at this time',
|
||
'elections.registerCandidate': 'Register as Candidate',
|
||
'elections.castVote': 'Cast Your Vote',
|
||
'elections.viewDetails': 'View Details',
|
||
'elections.candidates': 'Candidates',
|
||
'elections.votesCast': 'Votes Cast',
|
||
'elections.timeLeft': 'Time Left',
|
||
'elections.leadingCandidates': 'Leading Candidates',
|
||
'elections.executiveBranch': 'Executive Branch',
|
||
'elections.cabinetMinisters': 'Cabinet Ministers',
|
||
'elections.noMinistersYet': 'No ministers appointed yet',
|
||
|
||
// Explorer
|
||
'explorer.title': 'Block Explorer',
|
||
'explorer.live': 'Live',
|
||
'explorer.refresh': 'Refresh',
|
||
'explorer.overviewTab': 'Overview',
|
||
'explorer.accountsTab': 'Accounts',
|
||
'explorer.assetsTab': 'Assets',
|
||
'explorer.searchPlaceholder': 'Search by Block Number / Hash / Address',
|
||
'explorer.search': 'Search',
|
||
'explorer.bestBlock': 'Best Block',
|
||
'explorer.finalized': 'Finalized',
|
||
'explorer.validators': 'Validators',
|
||
'explorer.era': 'Era',
|
||
'explorer.blockTime': 'Block Time',
|
||
'explorer.tps': 'TPS',
|
||
'explorer.recentExtrinsics': 'Recent Extrinsics',
|
||
'explorer.recentBlocks': 'Recent Blocks',
|
||
'explorer.noBlocksFound': 'No blocks found',
|
||
'explorer.noExtrinsicsFound': 'No extrinsics found',
|
||
'explorer.quickLinks': 'Quick Links',
|
||
'explorer.telemetry': 'Telemetry',
|
||
'explorer.governance': 'Governance',
|
||
'explorer.wallet': 'Wallet',
|
||
'explorer.documentation': 'Documentation',
|
||
'explorer.native': 'Native',
|
||
'explorer.block': 'Block',
|
||
'explorer.extrinsic': 'Extrinsic',
|
||
'explorer.totalIssuance': 'Total Issuance',
|
||
'explorer.holders': 'Holders',
|
||
'explorer.seconds': '{{count}}s',
|
||
'explorer.address': 'Address',
|
||
'explorer.balance': 'Balance',
|
||
'explorer.noAccountsFound': 'No accounts found',
|
||
|
||
// Faucet
|
||
'faucet.title': 'Testnet Faucet',
|
||
'faucet.subtitle': 'Get testnet tokens to build and test your dApps on PezkuwiChain.',
|
||
'faucet.enterAddress': 'Enter your wallet address',
|
||
'faucet.waitFor': 'Wait for',
|
||
'faucet.requestTokens': 'Request Tokens',
|
||
'faucet.recentDistributions': 'Recent Distributions',
|
||
'faucet.sentTo': 'sent to',
|
||
|
||
// Grants
|
||
'grants.title': 'PezkuwiChain Grants Program',
|
||
'grants.subtitle': 'Funding the future of the PezkuwiChain ecosystem.',
|
||
'grants.bringIdea': 'Bring Your Idea',
|
||
'grants.bringIdeaDesc': 'We support innovative projects that enhance PezkuwiChain.',
|
||
'grants.getFunded': 'Get Funded',
|
||
'grants.getFundedDesc': 'Receive funding and support for your project.',
|
||
'grants.growEcosystem': 'Grow the Ecosystem',
|
||
'grants.growEcosystemDesc': 'Contribute to the growth of PezkuwiChain.',
|
||
'grants.applyForGrant': 'Apply for a Grant',
|
||
'grants.projectName': 'Project Name',
|
||
'grants.teamInfo': 'Team Information',
|
||
'grants.requestedAmount': 'Requested Amount (USD)',
|
||
'grants.submitApplication': 'Submit Application',
|
||
'grants.focusAreas': 'Our Focus Areas',
|
||
'grants.defi': 'Decentralized Finance (DeFi)',
|
||
'grants.nfts': 'NFTs and Gaming',
|
||
'grants.infrastructure': 'Infrastructure and Tooling',
|
||
'grants.governanceDao': 'Governance and DAOs',
|
||
'grants.privacy': 'Privacy and Identity',
|
||
'grants.mobile': 'Mobile and Web3 Applications',
|
||
'grants.fundedProjects': 'Funded Projects',
|
||
|
||
// Docs
|
||
'docs.loadingNav': 'Loading navigation...',
|
||
'docs.loading': 'Loading...',
|
||
'docs.error': 'Error:',
|
||
'docs.title': 'PezkuwiChain Documentation',
|
||
'docs.subtitle': 'Everything you need to build on the Kurdish national blockchain',
|
||
'docs.selectDoc': 'Select a document from the sidebar to get started.',
|
||
'docs.introduction': 'Introduction',
|
||
'docs.sdkDocs': 'SDK Docs',
|
||
'docs.whitepaper': 'Whitepaper',
|
||
'docs.fullDocsNote': 'For complete and up-to-date documentation, visit the official documentation portal.',
|
||
'docs.visitFullDocs': 'Visit docs.pezkuwichain.io',
|
||
'docs.section.whitepaper': 'Whitepaper',
|
||
'docs.section.whitepaper.desc': 'The foundational document describing the PezkuwiChain vision, architecture, and tokenomics.',
|
||
'docs.section.architecture': 'Architecture',
|
||
'docs.section.architecture.desc': 'Technical deep-dive into the blockchain architecture, consensus, pallets, and relay chain.',
|
||
'docs.section.gettingStarted': 'Getting Started',
|
||
'docs.section.gettingStarted.desc': 'Set up your wallet, get test tokens from the faucet, and make your first transaction.',
|
||
'docs.section.nodeSetup': 'Node Setup',
|
||
'docs.section.nodeSetup.desc': 'Run a validator or full node on PezkuwiChain mainnet, testnet or local environment.',
|
||
'docs.section.sdk': 'SDK Reference',
|
||
'docs.section.sdk.desc': 'JavaScript/TypeScript SDK for building dApps on PezkuwiChain — API reference and examples.',
|
||
'docs.section.contributing': 'Contributor Guide',
|
||
'docs.section.contributing.desc': 'How to contribute to PezkuwiChain — code, documentation, translations, and governance.',
|
||
|
||
// Wiki
|
||
'wiki.title': 'Community Wiki',
|
||
'wiki.subtitle': 'Your community-driven knowledge base for all things PezkuwiChain.',
|
||
'wiki.searchPlaceholder': 'Search the wiki...',
|
||
'wiki.categories': 'Categories',
|
||
'wiki.popularArticles': 'Popular Articles',
|
||
|
||
// Developers
|
||
'developers.title': 'Developer Portal',
|
||
'developers.subtitle': 'Everything you need to build on PezkuwiChain.',
|
||
'developers.quickStart': 'Quick Start Guide',
|
||
'developers.quickStartDesc': 'Your first steps to building a dApp on PezkuwiChain.',
|
||
'developers.step1': 'Install the Pezkuwi.js extension.',
|
||
'developers.step2': 'Get some testnet HEZ from the Faucet.',
|
||
'developers.step3': 'Clone a starter project from our GitHub.',
|
||
'developers.step4': 'Start building!',
|
||
'developers.sdkDownloads': 'SDK Downloads',
|
||
'developers.sdkDesc': 'Libraries to interact with the chain.',
|
||
'developers.jsSdk': 'Javascript/Typescript SDK',
|
||
'developers.rustSdk': 'Rust SDK',
|
||
'developers.pythonSdk': 'Python SDK',
|
||
'developers.community': 'Community',
|
||
'developers.communityDesc': 'Get help and connect with other developers.',
|
||
'developers.codeExamples': 'Code Examples',
|
||
'developers.connectNetwork': 'Connect to the Network',
|
||
'developers.makeTransfer': 'Make a Transfer',
|
||
|
||
// Education Platform
|
||
'education.title': 'Perwerde - Education Platform',
|
||
'education.subtitle': 'Decentralized learning for Digital Kurdistan. Build skills, earn credentials, empower our nation.',
|
||
'education.backToHome': 'Back to Home',
|
||
'education.availableCourses': 'Available Courses',
|
||
'education.myDashboard': 'My Dashboard',
|
||
'education.createCourse': 'Create Course',
|
||
|
||
// Profile Settings
|
||
'profileSettings.title': 'Profile Settings',
|
||
'profileSettings.profileTab': 'Profile',
|
||
'profileSettings.notificationsTab': 'Notifications',
|
||
'profileSettings.securityTab': 'Security',
|
||
'profileSettings.preferencesTab': 'Preferences',
|
||
'profileSettings.profileInfo': 'Profile Information',
|
||
'profileSettings.username': 'Username',
|
||
'profileSettings.fullName': 'Full Name',
|
||
'profileSettings.bio': 'Bio',
|
||
'profileSettings.phoneNumber': 'Phone Number',
|
||
'profileSettings.location': 'Location',
|
||
'profileSettings.website': 'Website',
|
||
'profileSettings.saveChanges': 'Save Changes',
|
||
'profileSettings.notifPreferences': 'Notification Preferences',
|
||
'profileSettings.emailNotif': 'Email Notifications',
|
||
'profileSettings.emailNotifDesc': 'Receive notifications via email',
|
||
'profileSettings.pushNotif': 'Push Notifications',
|
||
'profileSettings.pushNotifDesc': 'Receive push notifications in browser',
|
||
'profileSettings.smsNotif': 'SMS Notifications',
|
||
'profileSettings.smsNotifDesc': 'Receive notifications via SMS',
|
||
'profileSettings.savePreferences': 'Save Preferences',
|
||
'profileSettings.passwordSecurity': 'Password Security',
|
||
'profileSettings.passwordSecurityDesc': 'Manage your password settings',
|
||
'profileSettings.changePassword': 'Change Password',
|
||
'profileSettings.appPreferences': 'App Preferences',
|
||
'profileSettings.language': 'Language',
|
||
'profileSettings.theme': 'Theme',
|
||
'profileSettings.themeLight': 'Light',
|
||
'profileSettings.themeDark': 'Dark',
|
||
'profileSettings.themeSystem': 'System',
|
||
|
||
// Not Found
|
||
'notFound.code': '404',
|
||
'notFound.message': 'Page not found',
|
||
'notFound.backToHome': 'Return to Home',
|
||
|
||
// Course Creator
|
||
'courseCreator.title': 'Create New Course',
|
||
'courseCreator.subtitle': 'Fill in the details to create a new course on the Perwerde platform.',
|
||
'courseCreator.courseName': 'Course Name',
|
||
'courseCreator.courseNamePlaceholder': 'e.g., Introduction to Blockchain',
|
||
'courseCreator.courseDesc': 'Course Description',
|
||
'courseCreator.courseDescPlaceholder': 'A brief summary of the course content and objectives.',
|
||
'courseCreator.courseContent': 'Course Content (Markdown)',
|
||
'courseCreator.courseContentPlaceholder': 'Write your course material here using Markdown...',
|
||
'courseCreator.creating': 'Creating...',
|
||
'courseCreator.createBtn': 'Create Course',
|
||
'courseCreator.connectWallet': 'Please connect your wallet first',
|
||
'courseCreator.fillAllFields': 'Please fill in all fields',
|
||
|
||
// Course List
|
||
'courseList.title': 'Available Courses',
|
||
'courseList.noCourses': 'No Courses Available',
|
||
'courseList.noActive': 'No Active Courses',
|
||
'courseList.checkBackLater': 'Check back later for new educational content.',
|
||
'courseList.enrolled': 'Enrolled',
|
||
'courseList.courseMaterials': 'Course Materials',
|
||
'courseList.alreadyEnrolled': 'Already Enrolled',
|
||
'courseList.enrollNow': 'Enroll Now',
|
||
'courseList.connectWallet': 'Please connect your wallet first',
|
||
'courseList.fetchFailed': 'Failed to fetch courses',
|
||
|
||
// Student Dashboard
|
||
'studentDashboard.enrolledCourses': 'Enrolled Courses',
|
||
'studentDashboard.completed': 'Completed',
|
||
'studentDashboard.totalPoints': 'Total Points',
|
||
'studentDashboard.myCourses': 'My Courses',
|
||
'studentDashboard.notEnrolled': 'You are not enrolled in any courses yet.',
|
||
'studentDashboard.courseNum': 'Course #{{number}}',
|
||
'studentDashboard.enrolledOn': 'Enrolled on:',
|
||
'studentDashboard.markComplete': 'Mark as Complete',
|
||
'studentDashboard.loading': 'Loading your dashboard...',
|
||
'studentDashboard.connectWallet': 'Please connect your wallet first',
|
||
|
||
// Referral Dashboard
|
||
'referral.title': 'Referral System',
|
||
'referral.subtitle': 'Invite friends to PezkuwiChain and earn trust score',
|
||
'referral.inviteFriend': 'Invite Friend',
|
||
'referral.totalReferrals': 'Total Referrals',
|
||
'referral.totalReferralsDesc': 'Confirmed referrals (KYC completed)',
|
||
'referral.referralScore': 'Referral Score',
|
||
'referral.referralScoreDesc': 'Score earned from referrals',
|
||
'referral.maxPoints': 'Max: {{max}} points',
|
||
'referral.pendingApprovals': 'Pending Approvals',
|
||
'referral.pendingApprovalsDesc': 'Waiting for your approval',
|
||
'referral.invitedBy': 'You were invited by',
|
||
'referral.scoreCalc': 'Score Calculation',
|
||
'referral.scoreCalcDesc': 'How referrals contribute to your trust score',
|
||
'referral.referrals1_10': '1-10 referrals',
|
||
'referral.points10each': '10 points each',
|
||
'referral.referrals11_50': '11-50 referrals',
|
||
'referral.points5each': '100 + 5 points each',
|
||
'referral.referrals51_100': '51-100 referrals',
|
||
'referral.points4each': '300 + 4 points each',
|
||
'referral.referrals101plus': '101+ referrals',
|
||
'referral.maxPointsValue': '500 points (max)',
|
||
'referral.myInvitations': 'My Invitations',
|
||
'referral.myInvitationsDesc': 'People you invited — approve pending ones to complete step 2',
|
||
'referral.noInvitations': 'No invitations yet',
|
||
'referral.noInvitationsDesc': 'Invite friends to start building your network',
|
||
'referral.sendFirst': 'Send First Invitation',
|
||
'referral.pendingApproval': 'Pending — Waiting Your Approval',
|
||
'referral.approve': 'Approve',
|
||
'referral.confirmed': 'Confirmed',
|
||
'referral.pendingInvitation': 'Pending Invitation',
|
||
'referral.completeKyc': 'Complete KYC to confirm your referral from',
|
||
|
||
// Invite User Modal
|
||
'invite.title': 'Invite Friends to PezkuwiChain',
|
||
'invite.subtitle': "Share your referral link. When your friends complete KYC, you'll earn trust score points!",
|
||
'invite.yourLink': 'Your Referral Link',
|
||
'invite.linkDesc': 'Anyone who signs up with this link will be counted as your referral',
|
||
'invite.shareMessage': 'Dear friend, Digital Kurdistan has been established, take your place!',
|
||
'invite.referralInstruction': 'Paste this address in the referral field:',
|
||
'invite.preRegister': 'Or Pre-Register a Friend (Advanced)',
|
||
'invite.preRegisterDesc': "If you know your friend's wallet address, you can pre-register them on-chain...",
|
||
'invite.friendAddress': "Friend's wallet address",
|
||
'invite.initiating': 'Initiating...',
|
||
'invite.initiate': 'Initiate',
|
||
'invite.initiated': 'Referral initiated successfully!',
|
||
'invite.shareVia': 'Share via',
|
||
'invite.rewards': 'Referral Rewards',
|
||
'invite.reward1': '1-10 referrals: 10 points each (up to 100 points)',
|
||
'invite.reward2': '11-50 referrals: 5 points each (up to 300 points)',
|
||
'invite.reward3': '51-100 referrals: 4 points each (up to 500 points)',
|
||
'invite.maxReward': 'Maximum: 500 trust score points',
|
||
'invite.done': 'Done',
|
||
|
||
// Network Stats
|
||
'networkStats.disconnected': 'Network Disconnected',
|
||
'networkStats.disconnectedDesc': 'Unable to connect to the network. Please try again later.',
|
||
'networkStats.connecting': 'Connecting to Network...',
|
||
'networkStats.title': 'Network Status',
|
||
'networkStats.connected': 'Connected',
|
||
'networkStats.peers': 'peers',
|
||
'networkStats.latestBlock': 'Latest Block',
|
||
'networkStats.finalizedBlock': 'Finalized Block',
|
||
'networkStats.blocksBehind': 'blocks behind',
|
||
'networkStats.activeValidators': 'Active Validators',
|
||
'networkStats.validating': 'Validating blocks',
|
||
'networkStats.activeCollators': 'Active Collators',
|
||
'networkStats.producing': 'Producing blocks',
|
||
'networkStats.activeNominators': 'Active Nominators',
|
||
'networkStats.staking': 'Staking to validators',
|
||
|
||
// Reward Distribution
|
||
'rewardDist.title': 'Reward Distribution System',
|
||
'rewardDist.subtitle': 'Monthly epoch-based rewards distributed by trust score and NFT holdings',
|
||
'rewardDist.epochTimeline': 'Epoch Timeline',
|
||
'rewardDist.currentEpoch': 'Current Epoch',
|
||
'rewardDist.trustScorePool': 'Trust Score Pool',
|
||
'rewardDist.parliamentaryNfts': 'Parliamentary NFTs',
|
||
'rewardDist.nftRewards': 'NFT Rewards',
|
||
'rewardDist.totalNfts': 'Total NFTs',
|
||
'rewardDist.perNftReward': 'Per NFT Reward',
|
||
'rewardDist.autoDistributed': 'Auto-distributed',
|
||
'rewardDist.noClaimRequired': 'No claim required',
|
||
'rewardDist.rewardCalculator': 'Reward Calculator',
|
||
'rewardDist.yourTrustScore': 'Your Trust Score',
|
||
'rewardDist.totalParticipants': 'Total Participants',
|
||
'rewardDist.totalTrustScore': 'Total Trust Score',
|
||
'rewardDist.rewardPerPoint': 'Reward per Trust Point',
|
||
'rewardDist.yourShare': 'Your Share',
|
||
'rewardDist.estimatedReward': 'Estimated Reward',
|
||
'rewardDist.epochStartBlock': 'Epoch Start Block',
|
||
'rewardDist.claimDeadline': 'Claim Deadline Block',
|
||
'rewardDist.epochPool': 'Epoch Pool',
|
||
'rewardDist.active': 'Active',
|
||
'rewardDist.claimPeriod': 'Claim Period',
|
||
'rewardDist.closed': 'Closed',
|
||
'rewardDist.permanent': 'Permanent',
|
||
|
||
// Batch 11: Commission Setup Tab
|
||
'commission.setup.connecting': 'Connecting to blockchain...',
|
||
'commission.setup.connectWalletAlert': 'Please connect your admin wallet to manage commission setup.',
|
||
'commission.setup.statusLabel': 'Commission Status',
|
||
'commission.setup.initialized': 'Commission is initialized and ready',
|
||
'commission.setup.notInitialized': 'Commission needs to be initialized',
|
||
'commission.setup.ready': 'Ready',
|
||
'commission.setup.notInitializedBadge': 'Not Initialized',
|
||
'commission.setup.proxyAccount': 'Proxy Account',
|
||
'commission.setup.membersLabel': 'Commission Members',
|
||
'commission.setup.noMembers': 'No members yet',
|
||
'commission.setup.kycProxy': 'KYC Proxy',
|
||
'commission.setup.initRequired': 'Required: Initialize the commission before members can join. This requires sudo privileges.',
|
||
'commission.setup.addMembersTitle': 'Add Members',
|
||
'commission.setup.getAddresses': 'Get Addresses',
|
||
'commission.setup.getAddressesToast': 'Get addresses from Pezkuwi.js and paste below',
|
||
'commission.setup.addressPlaceholder': 'Member addresses, one per line',
|
||
'commission.setup.howToGetAddresses': 'How to get addresses',
|
||
'commission.setup.addMembersBtn': 'Add Members',
|
||
'commission.setup.addingMembers': 'Adding Members...',
|
||
'commission.setup.initializeBtn': 'Initialize Commission',
|
||
'commission.setup.initializing': 'Initializing...',
|
||
'commission.setup.alreadyInitialized': 'Already Initialized',
|
||
'commission.setup.refresh': 'Refresh',
|
||
'commission.setup.instructionsTitle': 'Setup Instructions',
|
||
'commission.setup.step1': 'Initialize Commission - Add proxy to DynamicCommissionCollective (requires sudo)',
|
||
'commission.setup.step2': 'Join Commission - Members add proxy rights via Commission Voting tab',
|
||
'commission.setup.step3': 'Start Voting - Create proposals and vote on KYC applications',
|
||
'commission.setup.walletNotConnected': 'Wallet Not Connected',
|
||
'commission.setup.connectWallet': 'Please connect your admin wallet',
|
||
'commission.setup.noAddresses': 'No Addresses',
|
||
'commission.setup.enterAtLeastOne': 'Please enter at least one address',
|
||
'commission.setup.noValidAddresses': 'No Valid Addresses',
|
||
'commission.setup.enterValidAddress': 'Please enter at least one valid address',
|
||
'commission.setup.addMemberFailed': 'Failed to add member',
|
||
'commission.setup.addMemberSuccess': '{{count}} member(s) added successfully!',
|
||
'commission.setup.setupFailed': 'Setup Failed',
|
||
'commission.setup.kycInitialized': 'KYC Commission initialized successfully!',
|
||
'commission.setup.transactionError': 'Transaction Error',
|
||
'commission.setup.failedToSubmit': 'Failed to submit transaction',
|
||
'commission.setup.failedToInitialize': 'Failed to initialize commission',
|
||
|
||
// Batch 11: Commission Voting Tab
|
||
'commission.voting.connecting': 'Connecting to blockchain...',
|
||
'commission.voting.noWallet': 'Please connect your wallet to view commission proposals',
|
||
'commission.voting.notMember': 'You are not a member of the KYC Approval Commission',
|
||
'commission.voting.onlyMembers': 'Only commission members can view and vote on proposals',
|
||
'commission.voting.joinBtn': 'Join Commission',
|
||
'commission.voting.title': 'Commission Proposals',
|
||
'commission.voting.subtitle': 'Active voting proposals for {{name}}',
|
||
'commission.voting.refresh': 'Refresh',
|
||
'commission.voting.loading': 'Loading proposals...',
|
||
'commission.voting.noProposals': 'No active proposals',
|
||
'commission.voting.noProposalsHelp': 'Proposals will appear here when commission members create them',
|
||
'commission.voting.activeProposals': 'Active Proposals ({{count}})',
|
||
'commission.voting.tableProposal': 'Proposal',
|
||
'commission.voting.tableType': 'Type',
|
||
'commission.voting.tableStatus': 'Status',
|
||
'commission.voting.tableVotes': 'Votes',
|
||
'commission.voting.tableActions': 'Actions',
|
||
'commission.voting.statusPassed': 'PASSED',
|
||
'commission.voting.statusVoting': 'VOTING ({{progress}}%)',
|
||
'commission.voting.unknownProposal': 'Unknown proposal',
|
||
'commission.voting.kycApproval': 'KYC Approval',
|
||
'commission.voting.kycRejection': 'KYC Rejection',
|
||
'commission.voting.commissionAction': 'Commission Action',
|
||
'commission.voting.execute': 'Execute Proposal',
|
||
'commission.voting.aye': 'Aye',
|
||
'commission.voting.nay': 'Nay',
|
||
'commission.voting.walletNotConnected': 'Wallet Not Connected',
|
||
'commission.voting.connectFirst': 'Please connect your wallet first',
|
||
'commission.voting.notMemberTitle': 'Not a Commission Member',
|
||
'commission.voting.voteFailed': 'Vote Failed',
|
||
'commission.voting.voteRecorded': 'Vote Recorded',
|
||
'commission.voting.ayeRecorded': 'Your AYE vote has been recorded',
|
||
'commission.voting.nayRecorded': 'Your NAY vote has been recorded',
|
||
'commission.voting.proposalPassed': 'Proposal passed and executed! KYC approved.',
|
||
'commission.voting.proposalClosed': 'Proposal Closed',
|
||
'commission.voting.proposalClosedDesc': 'Proposal has been closed',
|
||
'commission.voting.loadFailed': 'Failed to load proposals',
|
||
'commission.voting.submitFailed': 'Failed to vote',
|
||
'commission.voting.executeSuccess': 'Proposal Executed!',
|
||
'commission.voting.kycApproved': 'KYC approved and NFT minted successfully!',
|
||
'commission.voting.executeFailed': 'Failed to execute proposal',
|
||
'commission.voting.joinFailed': 'Failed to join commission',
|
||
'commission.voting.joinSuccess': 'You have joined the KYC Commission!',
|
||
|
||
// Batch 11: Dispute Resolution Panel
|
||
'dispute.title': 'Dispute Resolution',
|
||
'dispute.subtitle': 'Review and resolve P2P trading disputes',
|
||
'dispute.refresh': 'Refresh',
|
||
'dispute.statsOpen': 'Open',
|
||
'dispute.statsUnderReview': 'Under Review',
|
||
'dispute.statsResolved': 'Resolved',
|
||
'dispute.statsEscalated': 'Escalated',
|
||
'dispute.tabInReview': 'In Review',
|
||
'dispute.empty': 'No disputes in this category',
|
||
'dispute.view': 'View',
|
||
'dispute.claim': 'Claim',
|
||
'dispute.resolve': 'Resolve',
|
||
'dispute.detailsTitle': 'Dispute Details',
|
||
'dispute.detailsDesc': 'Review all information related to this dispute',
|
||
'dispute.reason': 'Reason',
|
||
'dispute.tradeInfo': 'Trade Information',
|
||
'dispute.tradeId': 'Trade ID:',
|
||
'dispute.amount': 'Amount:',
|
||
'dispute.fiat': 'Fiat:',
|
||
'dispute.tradeStatus': 'Trade Status:',
|
||
'dispute.parties': 'Parties',
|
||
'dispute.seller': 'Seller',
|
||
'dispute.buyer': 'Buyer',
|
||
'dispute.evidence': 'Evidence ({{count}})',
|
||
'dispute.noEvidence': 'No evidence uploaded',
|
||
'dispute.timeline': 'Timeline',
|
||
'dispute.opened': 'Opened:',
|
||
'dispute.claimed': 'Claimed:',
|
||
'dispute.resolved': 'Resolved:',
|
||
'dispute.resolution': 'Resolution',
|
||
'dispute.close': 'Close',
|
||
'dispute.resolveTitle': 'Resolve Dispute',
|
||
'dispute.resolveDesc': 'Make a final decision on this dispute. This action cannot be undone.',
|
||
'dispute.decision': 'Decision',
|
||
'dispute.decisionPlaceholder': 'Select a decision...',
|
||
'dispute.reasoning': 'Reasoning',
|
||
'dispute.required': 'required',
|
||
'dispute.reasoningPlaceholder': 'Explain your decision based on the evidence...',
|
||
'dispute.reasoningHint': 'This will be visible to both parties',
|
||
'dispute.warningTitle': 'Important',
|
||
'dispute.warningText': 'Your decision will trigger automatic actions on the escrowed funds. Make sure you have reviewed all evidence carefully.',
|
||
'dispute.cancel': 'Cancel',
|
||
'dispute.confirmResolution': 'Confirm Resolution',
|
||
'dispute.claimedToast': 'Dispute claimed for review',
|
||
'dispute.claimFailed': 'Failed to claim dispute',
|
||
'dispute.resolvedToast': 'Dispute resolved successfully',
|
||
'dispute.loadFailed': 'Failed to load disputes',
|
||
'dispute.resolveFailed': 'Failed to resolve dispute',
|
||
'dispute.noDecision': 'Please select decision and provide reasoning',
|
||
'dispute.releaseToBuyer': 'Release to Buyer',
|
||
'dispute.refundToSeller': 'Refund to Seller',
|
||
'dispute.split': 'Split 50/50',
|
||
'dispute.escalate': 'Escalate',
|
||
'dispute.categoryPaymentNotReceived': 'Payment Not Received',
|
||
'dispute.categoryWrongAmount': 'Wrong Amount',
|
||
'dispute.categoryFakeProof': 'Fake Payment Proof',
|
||
'dispute.categorySellerNotResponding': 'Seller Not Responding',
|
||
'dispute.categoryBuyerNotResponding': 'Buyer Not Responding',
|
||
'dispute.categoryFraud': 'Fraudulent Behavior',
|
||
'dispute.categoryOther': 'Other',
|
||
|
||
// Batch 11: KYC Approval Tab
|
||
'kyc.approval.connecting': 'Connecting to People Chain...',
|
||
'kyc.approval.noWallet': 'Please connect your wallet to view referral approvals.',
|
||
'kyc.approval.connectWallet': 'Connect Wallet',
|
||
'kyc.approval.title': 'Pending Referral Approvals',
|
||
'kyc.approval.refresh': 'Refresh',
|
||
'kyc.approval.noApprovals': 'No pending approvals',
|
||
'kyc.approval.noApprovalsHelp': 'No one is waiting for your referral approval',
|
||
'kyc.approval.helpText': 'These users listed you as their referrer. Approve to vouch for their identity.',
|
||
'kyc.approval.tableApplicant': 'Applicant',
|
||
'kyc.approval.tableIdentityHash': 'Identity Hash',
|
||
'kyc.approval.tableStatus': 'Status',
|
||
'kyc.approval.tableActions': 'Actions',
|
||
'kyc.approval.statusPending': 'Pending Referral',
|
||
'kyc.approval.approve': 'Approve',
|
||
'kyc.approval.walletNotConnected': 'Wallet Not Connected',
|
||
'kyc.approval.connectFirst': 'Please connect your wallet first',
|
||
'kyc.approval.success': 'Referral Approved',
|
||
'kyc.approval.successDesc': 'Successfully vouched for {{address}}',
|
||
'kyc.approval.failed': 'Approval Failed',
|
||
'kyc.approval.failedDesc': 'Failed to approve referral',
|
||
|
||
// Batch 11: XCM Configuration Wizard
|
||
|
||
// Batch 11: Permission Editor
|
||
'permission.title': 'Permission Editor',
|
||
'permission.catGovernance': 'Governance',
|
||
'permission.createProposals': 'Create Proposals',
|
||
'permission.voteOnProposals': 'Vote on Proposals',
|
||
'permission.delegateVoting': 'Delegate Voting Power',
|
||
'permission.manageTreasury': 'Manage Treasury',
|
||
'permission.catModeration': 'Moderation',
|
||
'permission.moderateContent': 'Moderate Content',
|
||
'permission.banUsers': 'Ban Users',
|
||
'permission.deletePosts': 'Delete Posts',
|
||
'permission.pinPosts': 'Pin Posts',
|
||
'permission.catAdministration': 'Administration',
|
||
'permission.manageUsers': 'Manage Users',
|
||
'permission.manageRoles': 'Manage Roles',
|
||
'permission.viewAnalytics': 'View Analytics',
|
||
'permission.systemSettings': 'System Settings',
|
||
'permission.catSecurity': 'Security',
|
||
'permission.viewAuditLogs': 'View Audit Logs',
|
||
'permission.manageSessions': 'Manage Sessions',
|
||
'permission.configure2fa': 'Configure 2FA',
|
||
'permission.accessApi': 'Access API',
|
||
'permission.systemRole': 'System Role (Read Only)',
|
||
'permission.reset': 'Reset',
|
||
'permission.saveChanges': 'Save Changes',
|
||
'permission.loadFailed': 'Failed to load roles',
|
||
'permission.saved': 'Permissions updated successfully',
|
||
'permission.saveFailed': 'Failed to save permissions',
|
||
|
||
// Batch 11: Security Audit
|
||
'securityAudit.scoreTitle': 'Security Score',
|
||
'securityAudit.outOf': 'Out of 100',
|
||
'securityAudit.totalUsers': 'Total Users',
|
||
'securityAudit.twoFaEnabled': '2FA Enabled',
|
||
'securityAudit.activeSessions': 'Active Sessions',
|
||
'securityAudit.suspicious': 'Suspicious',
|
||
'securityAudit.loginActivity': 'Login Activity',
|
||
'securityAudit.twoFaAdoption': '2FA Adoption',
|
||
'securityAudit.dayMon': 'Mon',
|
||
'securityAudit.dayTue': 'Tue',
|
||
'securityAudit.dayWed': 'Wed',
|
||
'securityAudit.dayThu': 'Thu',
|
||
'securityAudit.dayFri': 'Fri',
|
||
'securityAudit.daySat': 'Sat',
|
||
'securityAudit.daySun': 'Sun',
|
||
'securityAudit.pieEnabled': '2FA Enabled',
|
||
'securityAudit.pieNotEnabled': 'No 2FA',
|
||
'securityAudit.excellent': 'Excellent',
|
||
'securityAudit.good': 'Good',
|
||
'securityAudit.fair': 'Fair',
|
||
'securityAudit.poor': 'Poor',
|
||
'securityAudit.recentEvents': 'Recent Security Events',
|
||
'securityAudit.ip': 'IP:',
|
||
|
||
// Batch 11: Session Monitor
|
||
'sessionMonitor.title': 'Active Sessions',
|
||
'sessionMonitor.device': 'Device:',
|
||
'sessionMonitor.started': 'Started:',
|
||
'sessionMonitor.lastActivity': 'Last Activity:',
|
||
'sessionMonitor.terminate': 'Terminate',
|
||
'sessionMonitor.terminated': 'Session Terminated',
|
||
'sessionMonitor.terminatedDesc': 'The session has been successfully terminated.',
|
||
'sessionMonitor.empty': 'No active sessions',
|
||
'sessionMonitor.mobile': 'Mobile',
|
||
'sessionMonitor.tablet': 'Tablet',
|
||
'sessionMonitor.desktop': 'Desktop',
|
||
'sessionMonitor.active': 'Active',
|
||
'sessionMonitor.idle': 'Idle',
|
||
'sessionMonitor.inactive': 'Inactive',
|
||
'sessionMonitor.ip': 'IP:',
|
||
'sessionMonitor.terminateFailed': 'Failed to terminate session',
|
||
|
||
// Batch 12: Pezkuwi Wallet Button
|
||
'pezWallet.connected': 'Account Connected',
|
||
'pezWallet.disconnected': 'Wallet Disconnected',
|
||
'pezWallet.disconnectedDesc': 'Your wallet has been disconnected',
|
||
'pezWallet.addressCopied': 'Address Copied',
|
||
'pezWallet.addressCopiedDesc': 'Address copied to clipboard',
|
||
'pezWallet.accountDetails': 'Account Details',
|
||
'pezWallet.accountDetailsDesc': 'Your connected Pezkuwi account',
|
||
'pezWallet.accountName': 'Account Name',
|
||
'pezWallet.unnamed': 'Unnamed Account',
|
||
'pezWallet.address': 'Address',
|
||
'pezWallet.source': 'Source',
|
||
'pezWallet.switchAccount': 'Switch Account',
|
||
'pezWallet.connect': 'Connect Wallet',
|
||
'pezWallet.installTitle': 'Install Pezkuwi Wallet Extension',
|
||
'pezWallet.installDesc': 'You need the Pezkuwi Wallet browser extension to connect',
|
||
'pezWallet.installText': 'The Pezkuwi Wallet extension allows you to manage your accounts and sign transactions securely.',
|
||
'pezWallet.installChrome': 'Install from Chrome Web Store',
|
||
'pezWallet.installRefresh': 'After installing, refresh this page and click "Connect Wallet" again.',
|
||
'pezWallet.selectTitle': 'Select Account',
|
||
'pezWallet.selectDesc': 'Choose an account to connect',
|
||
|
||
// Batch 12: NFT List
|
||
'nftList.title': 'Your NFTs (Tikis)',
|
||
'nftList.description': 'Your Tiki collection',
|
||
'nftList.empty': 'No NFTs yet',
|
||
'nftList.emptyHelp': 'Complete your citizenship application to receive your Welati Tiki NFT',
|
||
'nftList.descriptionCount': 'Your Tiki collection ({{count}} total)',
|
||
'nftList.cardTitle': 'Tiki #{{id}}',
|
||
'nftList.error': 'Failed to load NFTs',
|
||
|
||
// Batch 12: Multisig Members
|
||
'multisigMembers.title': 'USDT Treasury Multisig',
|
||
'multisigMembers.threshold': '{{threshold}}/{{total}} Signatures Required',
|
||
'multisigMembers.members': 'Members',
|
||
'multisigMembers.account': 'Multisig Account',
|
||
'multisigMembers.copyFull': 'Copy Full',
|
||
'multisigMembers.onChain': 'On-Chain',
|
||
'multisigMembers.verified': 'Verified on-chain',
|
||
'multisigMembers.specified': 'Specified address',
|
||
'multisigMembers.securityTitle': 'Security Features',
|
||
'multisigMembers.sigRequired': '{{threshold}} out of {{total}} signatures required',
|
||
'multisigMembers.verifiedOnChain': '{{count}} members verified on-chain via Tiki',
|
||
'multisigMembers.noSingleControl': 'No single person can control funds',
|
||
'multisigMembers.allVisible': 'All transactions visible on blockchain',
|
||
'multisigMembers.viewExplorer': 'View on Explorer',
|
||
|
||
// Multisig Operations (pending approve/reject UI)
|
||
'multisigOps.title': 'Pending Multisig Operations',
|
||
'multisigOps.subtitle': '{{count}} pending operations awaiting signatures',
|
||
'multisigOps.refresh': 'Refresh',
|
||
'multisigOps.empty': 'No pending operations right now.',
|
||
'multisigOps.approvals': 'approvals',
|
||
'multisigOps.proposedBy': 'Proposed by',
|
||
'multisigOps.youApproved': 'You already approved this operation',
|
||
'multisigOps.unknownCallHint': "This call couldn't be automatically identified from its hash alone - paste the known call data below to decode and verify it.",
|
||
'multisigOps.pasteCallData': 'Paste call data (0x...)',
|
||
'multisigOps.decode': 'Decode',
|
||
'multisigOps.approve': 'Approve',
|
||
'multisigOps.reject': 'Reject',
|
||
'multisigOps.thresholdNote': '{{threshold}} of {{total}} signatures are required to execute any operation - no single signer, including this app, can move funds alone.',
|
||
'multisigOps.backToWallet': 'Back to Wallet',
|
||
|
||
// Batch 12: Pallets Grid
|
||
'palletsGrid.title': 'Core Runtime Pallets',
|
||
'palletsGrid.description': "Modular blockchain components powering PezkuwiChain's advanced features",
|
||
'palletsGrid.extrinsics': '{{count}} Extrinsics',
|
||
'palletsGrid.storageItems': '{{count}} Storage Items',
|
||
'palletsGrid.extrinsicsTitle': 'Extrinsics',
|
||
'palletsGrid.storageTitle': 'Storage Items',
|
||
|
||
// Batch 12: Reserves Dashboard
|
||
'reserves.title': 'USDT Reserves Dashboard',
|
||
'reserves.subtitle': 'Real-time reserve status and multisig info',
|
||
'reserves.refresh': 'Refresh',
|
||
'reserves.totalSupply': 'Total wUSDT Supply',
|
||
'reserves.onChainHint': 'On-chain (Assets pallet)',
|
||
'reserves.offChainReserve': 'Off-chain USDT Reserve',
|
||
'reserves.update': 'Update',
|
||
'reserves.collateralRatio': 'Collateral Ratio',
|
||
'reserves.healthy': 'Healthy',
|
||
'reserves.warning': 'Warning',
|
||
'reserves.critical': 'Critical',
|
||
'reserves.underCollateralized': 'Under-collateralized!',
|
||
'reserves.underCollateralizedDesc': 'Reserve ratio is below 100%. Off-chain USDT reserves are less than on-chain wUSDT supply.',
|
||
'reserves.tabOverview': 'Overview',
|
||
'reserves.tabMultisig': 'Multisig',
|
||
'reserves.tabProof': 'Proof of Reserves',
|
||
'reserves.detailsTitle': 'Reserve Details',
|
||
'reserves.onChainWusdt': 'On-chain wUSDT',
|
||
'reserves.offChainUsdt': 'Off-chain USDT',
|
||
'reserves.backingRatio': 'Backing Ratio',
|
||
'reserves.status': 'Status',
|
||
'reserves.lastUpdated': 'Last Updated',
|
||
'reserves.backingTitle': '1:1 Backing',
|
||
'reserves.backingDesc': 'Every wUSDT is backed by real USDT held in the multisig treasury. Target ratio: ≥100% (ideally 105% for safety buffer).',
|
||
'reserves.proofTitle': 'Proof of Reserves',
|
||
'reserves.howToVerify': 'How to Verify Reserves:',
|
||
'reserves.verifyStep1': 'Check on-chain wUSDT supply via Pezkuwi Explorer',
|
||
'reserves.verifyStep2': 'Verify multisig account balance (if reserves on-chain)',
|
||
'reserves.verifyStep3': 'Compare with off-chain treasury (bank/exchange account)',
|
||
'reserves.verifyStep4': 'Ensure ratio ≥ 100%',
|
||
'reserves.quickLinks': 'Quick Links:',
|
||
'reserves.viewAsset': 'View wUSDT Asset on Explorer',
|
||
'reserves.viewMultisig': 'View Multisig Account',
|
||
'reserves.noteTitle': 'Note: Off-chain Reserves',
|
||
'reserves.noteDesc': 'In this MVP implementation, off-chain USDT reserves are manually reported. For full decentralization, consider integrating with oracle services or using XCM bridge for on-chain verification.',
|
||
|
||
// Batch 12: USDT Bridge
|
||
'bridge.title': 'USDT Bridge',
|
||
'bridge.subtitle': 'Deposit or withdraw USDT',
|
||
'bridge.balance': 'Your wUSDT Balance',
|
||
'bridge.multisigMember': 'Multisig Member',
|
||
'bridge.tabDeposit': 'Deposit',
|
||
'bridge.tabWithdraw': 'Withdraw',
|
||
'bridge.depositHow': 'How to Deposit:',
|
||
'bridge.depositStep1': 'Transfer USDT to the treasury account (off-chain)',
|
||
'bridge.depositStep2': 'Notary verifies and records your transaction',
|
||
'bridge.depositStep3': 'Multisig (3/5) approves and mints wUSDT to your account',
|
||
'bridge.depositStep4': 'Receive wUSDT in 2-5 minutes',
|
||
'bridge.usdtAmount': 'USDT Amount',
|
||
'bridge.amountPlaceholder': 'Amount',
|
||
'bridge.willReceive': 'You will receive:',
|
||
'bridge.wusdt': 'wUSDT',
|
||
'bridge.exchangeRate': 'Exchange rate:',
|
||
'bridge.rate': '1:1',
|
||
'bridge.estimatedTime': 'Estimated time:',
|
||
'bridge.time': '2-5 minutes',
|
||
'bridge.requestDeposit': 'Request Deposit',
|
||
'bridge.processing': 'Processing...',
|
||
'bridge.withdrawHow': 'How to Withdraw:',
|
||
'bridge.withdrawStep1': 'Burn your wUSDT on-chain',
|
||
'bridge.withdrawStep2': 'Wait for security delay',
|
||
'bridge.withdrawStep3': 'Multisig (3/5) approves and sends USDT',
|
||
'bridge.withdrawStep4': 'Receive USDT to your specified address',
|
||
'bridge.wusdtAmount': 'wUSDT Amount',
|
||
'bridge.max': 'Max:',
|
||
'bridge.withdrawAddress': 'USDT Destination (Polkadot Asset Hub)',
|
||
'bridge.withdrawAddressAutoNote': 'Automatically derived from your connected account - USDT is always released to the same underlying key, re-encoded for Polkadot.',
|
||
'bridge.addressPlaceholder': 'Bank account or crypto address',
|
||
'bridge.withdrawTier': 'Withdrawal tier:',
|
||
'bridge.securityDelay': 'Security delay:',
|
||
'bridge.withdrawBtn': 'Withdraw USDT',
|
||
'bridge.invalidAmount': 'Please enter a valid amount',
|
||
'bridge.insufficientBalance': 'Insufficient wUSDT balance',
|
||
'bridge.noAddress': 'Please enter withdrawal address',
|
||
'bridge.depositSuccess': 'Deposit request for {{amount}} USDT created. Please follow the instructions to complete the deposit.',
|
||
'bridge.withdrawSuccess': 'Withdrawal request submitted! Your wUSDT has been sent to the bridge for review. Once the multisig signers approve, USDT will be released to {{address}} (expected within {{delay}}).',
|
||
|
||
// Batch 12: Add Token Modal
|
||
'addToken.title': 'Add Custom Token',
|
||
'addToken.description': 'Enter the asset ID to fetch token details from blockchain.',
|
||
'addToken.assetIdLabel': 'Asset ID',
|
||
'addToken.assetIdPlaceholder': 'e.g., 1001',
|
||
'addToken.assetIdHelp': 'Known assets: 1001 (DOT), 1002 (ETH), 1003 (BTC)',
|
||
'addToken.found': 'Token Found!',
|
||
'addToken.symbol': 'Symbol:',
|
||
'addToken.name': 'Name:',
|
||
'addToken.decimals': 'Decimals:',
|
||
'addToken.assetId': 'Asset ID:',
|
||
'addToken.invalidId': 'Please enter a valid asset ID (positive number)',
|
||
'addToken.notReady': 'Asset Hub connection not ready. Please wait...',
|
||
'addToken.notFound': 'Asset #{{id}} not found on blockchain',
|
||
'addToken.fetchFailed': 'Failed to fetch asset from blockchain',
|
||
'addToken.cancel': 'Cancel',
|
||
'addToken.add': 'Add Token',
|
||
'addToken.adding': 'Adding...',
|
||
'addToken.addFailed': 'Failed to add token',
|
||
|
||
// Batch 12: Trust Score Calculator
|
||
'trustCalc.title': 'Trust Score Calculator',
|
||
'trustCalc.description': 'Simulate your trust score based on staking, referrals, education, and roles',
|
||
'trustCalc.stakingTitle': 'Staking Amount',
|
||
'trustCalc.stakedAmount': 'Staked Amount (HEZ)',
|
||
'trustCalc.stakingDuration': 'Staking Duration (Months)',
|
||
'trustCalc.months': '{{count}} months',
|
||
'trustCalc.multiplier': '×{{value}} multiplier',
|
||
'trustCalc.score': 'Score: {{score}}',
|
||
'trustCalc.referralTitle': 'Referral Score',
|
||
'trustCalc.referralCount': 'Number of Referrals',
|
||
'trustCalc.scorePoints': 'Score: {{score}} points',
|
||
'trustCalc.perwerdeTitle': 'Perwerde Score',
|
||
'trustCalc.tikiTitle': 'Tiki Score',
|
||
'trustCalc.resultTitle': 'Final Trust Score',
|
||
'trustCalc.resultHint': 'Out of theoretical maximum',
|
||
'trustCalc.formulaTitle': 'Formula Breakdown',
|
||
'trustCalc.formulaStaking': 'Staking Component:',
|
||
'trustCalc.formulaReferral': 'Referral Component:',
|
||
'trustCalc.formulaPerwerde': 'Perwerde Component:',
|
||
'trustCalc.formulaTiki': 'Tiki Component:',
|
||
'trustCalc.impactTitle': 'Score Impact',
|
||
'trustCalc.rewards': 'Monthly Rewards Eligibility',
|
||
'trustCalc.eligible': 'Eligible',
|
||
'trustCalc.notEligible': 'Not Eligible',
|
||
'trustCalc.votingWeight': 'Governance Voting Weight',
|
||
|
||
// Batch 12: Price Chart
|
||
'priceChart.label': '{{from}}/{{to}} Price',
|
||
'priceChart.footnote': 'Historical price data • Updated in real-time',
|
||
'priceChart.1h': '1H',
|
||
'priceChart.24h': '24H',
|
||
'priceChart.7d': '7D',
|
||
'priceChart.30d': '30D',
|
||
|
||
// Batch 12: Commission Proposals Card
|
||
'proposalCard.title': 'Commission Proposals',
|
||
'proposalCard.titleCount': 'Commission Proposals ({{count}})',
|
||
'proposalCard.loading': 'Loading proposals...',
|
||
'proposalCard.empty': 'No active proposals',
|
||
'proposalCard.proposal': 'Proposal #{{index}}',
|
||
'proposalCard.kycApproval': 'KYC Approval',
|
||
'proposalCard.passed': 'PASSED',
|
||
'proposalCard.aye': 'Aye',
|
||
'proposalCard.nay': 'Nay',
|
||
'proposalCard.execute': 'Execute Proposal',
|
||
'proposalCard.voted': 'You already voted',
|
||
'proposalCard.walletNotConnected': 'Wallet Not Connected',
|
||
'proposalCard.connectFirst': 'Please connect your wallet first',
|
||
'proposalCard.voteFailed': 'Vote Failed',
|
||
'proposalCard.proposalPassed': 'Proposal Passed!',
|
||
'proposalCard.thresholdReached': 'Threshold reached and executed. KYC approved!',
|
||
'proposalCard.voteRecorded': 'Vote Recorded',
|
||
'proposalCard.ayeRecorded': 'Your AYE vote has been recorded',
|
||
'proposalCard.nayRecorded': 'Your NAY vote has been recorded',
|
||
'proposalCard.proposalClosed': 'Proposal Closed',
|
||
'proposalCard.proposalClosedDesc': 'Proposal has been closed',
|
||
'proposalCard.executeFailed': 'Execution Failed',
|
||
'proposalCard.executeSuccess': 'Proposal Executed!',
|
||
'proposalCard.executeKycApproved': 'KYC approved and NFT minted successfully!',
|
||
|
||
// Navigation - Messaging
|
||
'nav.message': 'Message',
|
||
|
||
// Messaging
|
||
'messaging.title': 'PEZMessage',
|
||
'messaging.connectWallet': 'Connect Wallet',
|
||
'messaging.connectWalletDesc': 'Connect your wallet to use encrypted messaging.',
|
||
'messaging.setupTitle': 'Set Up Encryption Key',
|
||
'messaging.setupDesc': 'Register your encryption key on-chain to start sending and receiving encrypted messages.',
|
||
'messaging.unlockTitle': 'Unlock Your Messages',
|
||
'messaging.unlockDesc': 'Sign with your wallet to unlock message decryption for this session.',
|
||
'messaging.setupKey': 'Setup Key',
|
||
'messaging.unlock': 'Unlock',
|
||
'messaging.signing': 'Signing...',
|
||
'messaging.newMessage': 'New',
|
||
'messaging.messages': 'messages',
|
||
'messaging.sent': 'sent',
|
||
'messaging.emptyInbox': 'No messages yet.',
|
||
'messaging.sendFirst': 'Send your first message',
|
||
'messaging.encrypted': '[Encrypted]',
|
||
'messaging.compose': 'New Message',
|
||
'messaging.composeDesc': 'Send an end-to-end encrypted message on-chain.',
|
||
'messaging.recipient': 'Recipient Address',
|
||
'messaging.message': 'Message',
|
||
'messaging.typePlaceholder': 'Type your message...',
|
||
'messaging.tooLong': 'Message exceeds maximum size (512 bytes)',
|
||
'messaging.noRecipientKey': 'Recipient has no encryption key registered',
|
||
'messaging.checkingKey': 'Checking encryption key...',
|
||
'messaging.send': 'Send',
|
||
'messaging.sending': 'Sending...',
|
||
'messaging.palletNotReady': 'Messaging pallet is not yet available on People Chain. A runtime upgrade is required.',
|
||
|
||
// Mobile Home Layout
|
||
'mobile.greeting': 'Rojbaş',
|
||
'mobile.home': 'Home',
|
||
'mobile.citizen': 'Citizen',
|
||
'mobile.referral': 'Referral',
|
||
'mobile.memberSince': 'Member Since',
|
||
'mobile.role': 'Role',
|
||
'mobile.totalScore': 'Total Score',
|
||
'mobile.trustScore': 'Trust Score',
|
||
'mobile.referralScore': 'Referral Score',
|
||
'mobile.stakingScore': 'Staking Score',
|
||
'mobile.tikiScore': 'Tiki Score',
|
||
'mobile.kycStatus': 'KYC Status',
|
||
'mobile.connectWallet': 'Connect wallet',
|
||
'mobile.apply': 'Apply',
|
||
'mobile.joinUs': 'Join Us',
|
||
'mobile.signInUp': 'Sign In / Up',
|
||
'mobile.loginToSeeRoles': 'Login to see roles',
|
||
'mobile.section.finance': 'FINANCE',
|
||
'mobile.section.governance': 'GOVERNANCE',
|
||
'mobile.section.social': 'SOCIAL',
|
||
'mobile.section.education': 'EDUCATION',
|
||
'mobile.app.wallet': 'Wallet',
|
||
'mobile.app.bank': 'Bank',
|
||
'mobile.app.exchange': 'Exchange',
|
||
'mobile.app.dex': 'Pez-DEX',
|
||
'mobile.app.p2p': 'P2P/Buy-Sell',
|
||
'mobile.app.b2b': 'B2B',
|
||
'mobile.app.bacZekat': 'Bac/Zekat',
|
||
'mobile.app.launchpad': 'Launchpad',
|
||
'mobile.app.president': 'President',
|
||
'mobile.app.assembly': 'Assembly',
|
||
'mobile.app.vote': 'Vote',
|
||
'mobile.app.validators': 'Validators',
|
||
'mobile.app.justice': 'Justice',
|
||
'mobile.app.proposals': 'Proposals',
|
||
'mobile.app.polls': 'Polls',
|
||
'mobile.app.identity': 'Identity',
|
||
'mobile.app.whatsKurd': 'whatsKURD',
|
||
'mobile.app.forum': 'Forum',
|
||
'mobile.app.kurdMedia': 'KurdMedia',
|
||
'mobile.app.kurdAi': 'KurdAI',
|
||
'mobile.app.help': 'Help',
|
||
'mobile.app.loto': 'Loto',
|
||
'mobile.app.music': 'Music',
|
||
'mobile.app.vpn': 'VPN',
|
||
'mobile.app.rewshenbir': 'Rewshenbir',
|
||
'mobile.app.referral': 'Referral',
|
||
'mobile.app.university': 'University',
|
||
'mobile.app.perwerde': 'Perwerde',
|
||
'mobile.app.certificates': 'Certificates',
|
||
'mobile.app.research': 'Research',
|
||
|
||
// Assembly page
|
||
'assembly.title': 'Kurdistan Digital Assembly',
|
||
'assembly.subtitle': 'Kurdistan Digital Assembly',
|
||
'assembly.breadcrumb': 'Governance',
|
||
'assembly.stats.members': 'Members',
|
||
'assembly.stats.committees': 'Committees',
|
||
'assembly.stats.sessions': 'Sessions',
|
||
'assembly.tab.members': 'Members',
|
||
'assembly.tab.sessions': 'Sessions',
|
||
'assembly.member.since': 'Since',
|
||
'assembly.session.upcoming': 'Upcoming',
|
||
'assembly.session.inSession': 'In Session',
|
||
'assembly.session.completed': 'Completed',
|
||
|
||
// Justice page
|
||
'justice.title': 'Justice & Dispute Resolution',
|
||
'justice.subtitle': 'Justice & Dispute Resolution',
|
||
'justice.breadcrumb': 'Governance',
|
||
'justice.stats.open': 'Open',
|
||
'justice.stats.inReview': 'In Review',
|
||
'justice.stats.resolved': 'Resolved',
|
||
'justice.info.title': 'Dispute Resolution',
|
||
'justice.info.body': "Kurdistan's digital justice system resolves disputes between digital citizens fairly and transparently. All decisions are recorded on the blockchain.",
|
||
'justice.cases.title': 'Recent Cases',
|
||
'justice.status.open': 'Open',
|
||
'justice.status.inReview': 'In Review',
|
||
'justice.status.resolved': 'Resolved',
|
||
'justice.case.resolution': 'Resolution',
|
||
'justice.case.resolvedDate': 'Resolution date',
|
||
'justice.case.more': '▼ More',
|
||
'justice.case.less': '▲ Less',
|
||
|
||
// Polls page
|
||
'polls.title': 'Community Polls',
|
||
'polls.subtitle': 'Community Polls',
|
||
'polls.breadcrumb': 'Governance',
|
||
'polls.active.count': '{{count}} active',
|
||
'polls.section.active': 'Active Polls',
|
||
'polls.section.ended': 'Ended Polls',
|
||
'polls.status.active': 'Active',
|
||
'polls.status.ended': 'Ended',
|
||
'polls.votes': 'votes',
|
||
'polls.ends': 'Ends',
|
||
'polls.ended': 'Ended',
|
||
|
||
// Bank page
|
||
'bank.title': 'Digital Bank',
|
||
'bank.subtitle': 'Digital Bank of Kurdistan',
|
||
'bank.breadcrumb': 'Finance',
|
||
'bank.totalValue': 'Total Value',
|
||
'bank.tab.savings': 'Savings',
|
||
'bank.tab.lending': 'Lending',
|
||
'bank.tab.treasury': 'Treasury',
|
||
'bank.savings.title': 'Savings Accounts',
|
||
'bank.savings.desc': 'Stake your tokens and earn annual rewards.',
|
||
'bank.savings.min': 'Min',
|
||
'bank.savings.lock': 'Lock',
|
||
'bank.savings.total': 'Total',
|
||
'bank.savings.deposit': 'Deposit',
|
||
'bank.lending.title': 'Lending Pools',
|
||
'bank.lending.desc': 'Borrow through smart contracts with collateral.',
|
||
'bank.lending.rate': 'Rate',
|
||
'bank.lending.collateral': 'Collateral',
|
||
'bank.lending.available': 'Available',
|
||
'bank.lending.borrow': 'Borrow',
|
||
'bank.treasury.title': 'Community Treasury',
|
||
'bank.treasury.desc': 'The public treasury of the Digital Kurdistan Republic.',
|
||
'bank.treasury.balance': 'Treasury Balance',
|
||
'bank.treasury.allocation': 'Allocation',
|
||
|
||
// TaxZekat page
|
||
'taxZekat.title': 'Tax & Zekat',
|
||
'taxZekat.subtitle': 'Digital Kurdistan Republic',
|
||
'taxZekat.breadcrumb': 'Finance',
|
||
'taxZekat.desc': 'Send your voluntary contribution to the Digital Kurdistan Republic.',
|
||
'taxZekat.type.label': 'Contribution Type',
|
||
'taxZekat.type.zekatSub': 'Islamic Zekat',
|
||
'taxZekat.type.taxSub': 'Tax',
|
||
'taxZekat.amount.label': 'Amount',
|
||
'taxZekat.walletNotConnected': '⚠️ Wallet not connected',
|
||
'taxZekat.allocation.title': 'Fund Allocation',
|
||
'taxZekat.allocation.desc': 'Must equal exactly 100%',
|
||
'taxZekat.commitment.title': 'COMMITMENT',
|
||
'taxZekat.commitment.zekat': 'The Digital Republic of Kurdistan COMMITS to spending your zekat EXACTLY according to the ratios you specify, in accordance with Islamic principles.',
|
||
'taxZekat.commitment.tax': 'The Digital Republic of Kurdistan COMMITS to using your tax contributions AS CLOSELY AS POSSIBLE according to the ratios you specify. All expenses will be transparently recorded on the blockchain.',
|
||
'taxZekat.accept': 'I have read and accept',
|
||
'taxZekat.submit.zekat': '🤲 SEND ZEKAT',
|
||
'taxZekat.submit.tax': '📤 SEND TAX',
|
||
'taxZekat.submitting': '⏳ Sending...',
|
||
'taxZekat.confirm.title': 'Confirm',
|
||
'taxZekat.confirm.type': 'Type',
|
||
'taxZekat.confirm.amount': 'Amount',
|
||
'taxZekat.confirm.allocation': 'Allocation',
|
||
'taxZekat.confirm.cancel': 'Cancel',
|
||
'taxZekat.confirm.confirm': 'Confirm',
|
||
'taxZekat.success': '{{amount}} HEZ sent successfully. Thank you!',
|
||
|
||
// Messaging
|
||
|
||
// KurdMedia page
|
||
'kurdMedia.title': 'KurdMedia',
|
||
'kurdMedia.subtitle': 'Kurdish Digital Media',
|
||
'kurdMedia.channels.title': 'Medyaya Kurdî',
|
||
'kurdMedia.channels.subtitle': 'Kurdish Media',
|
||
'kurdMedia.channels.desc': 'Weşanên fermî yên Dewleta Dijîtal a Kurdistanê.',
|
||
'kurdMedia.channels.descEn': 'Official broadcasts of Digital Kurdistan State. TV, radio, news and more.',
|
||
'kurdMedia.soon': 'Soon',
|
||
'kurdMedia.social.title': 'Piştgirî PezkuwiChain',
|
||
'kurdMedia.social.subtitle': 'Support PezkuwiChain',
|
||
'kurdMedia.social.desc': 'Bi me re têkildar bin li ser platformên civakî.',
|
||
'kurdMedia.social.descEn': 'Connect with us on social platforms. Ask questions, follow news and join our community.',
|
||
'kurdMedia.stats.kurds': 'Kurds worldwide',
|
||
'kurdMedia.stats.hope': 'Hope',
|
||
'kurdMedia.banner': "PezkuwiChain - Blockchain'a yekem a netewî ya Kurdan",
|
||
'kurdMedia.bannerEn': 'PezkuwiChain - The first national blockchain of the Kurds',
|
||
|
||
// Help page
|
||
'help.title': 'Help & Support',
|
||
'help.breadcrumb': 'Help & Support',
|
||
'help.desc': 'Sîstema arîkariyê dê di demeke nêzîk de were destpêkirin.',
|
||
'help.descEn': 'The help and support system will be launched soon.',
|
||
'help.planned.title': 'Planned Features',
|
||
'help.feature.faq': 'Frequently Asked Questions (FAQ)',
|
||
'help.feature.live': 'Live Support',
|
||
'help.feature.guides': 'User Guides',
|
||
'help.feature.community': 'Community Contact',
|
||
'help.whatskurd.title': 'WhatsKURD Messaging',
|
||
'help.whatskurd.desc': 'Contact us via the blockchain messaging system',
|
||
|
||
// University page
|
||
'university.title': 'Zanîngeha Dijîtal',
|
||
'university.subtitle': 'Kurdistan Digital University',
|
||
'university.breadcrumb': 'Education',
|
||
'university.stats.courses': 'Kurs / Courses',
|
||
'university.stats.students': 'Xwendekar / Students',
|
||
'university.reward': '🎁 Xelat / Reward:',
|
||
'university.enroll': 'Tomar bibe / Enroll',
|
||
|
||
// Certificates / Perwerde page
|
||
'certificates.title': 'Perwerde',
|
||
'certificates.subtitle': 'Digital Education Platform',
|
||
'certificates.breadcrumb': 'Education',
|
||
'certificates.tab.courses': 'Kurs',
|
||
'certificates.tab.enrolled': 'Tev li',
|
||
'certificates.tab.completed': 'Qediya',
|
||
'certificates.stats.points': 'Puan / Points',
|
||
'certificates.stats.done': 'Qediyayî / Done',
|
||
'certificates.stats.active': 'Aktîv / Active',
|
||
'certificates.noWallet.title': 'Perwerde',
|
||
'certificates.noWallet.desc': 'Ji kerema xwe wallet ve girêbidin da ku bikaribin kursan bibînin û tev li wan bibin.',
|
||
'certificates.noWallet.en': 'Please connect your wallet to view and enroll in courses.',
|
||
'certificates.loading': 'Tê barkirin... / Loading...',
|
||
'certificates.empty.courses': 'Kursek tune / No courses available',
|
||
'certificates.empty.enrolled': 'Tu tev li kursekê nebûyî / Not enrolled in any course',
|
||
'certificates.empty.completed': 'Kursek neqediyaye / No completed courses',
|
||
'certificates.course.status': 'Rewş / Status',
|
||
'certificates.course.enrollment': 'Têketin / Enrolled',
|
||
'certificates.course.points': 'Puan / Points',
|
||
'certificates.course.openContent': 'Naveroka Kursê Veke / Open Course Content',
|
||
'certificates.enroll': 'Tev li Kursê / Enroll',
|
||
'certificates.completedBanner': 'Te ev kurs qedand! / You completed this course!',
|
||
'certificates.enrolledBanner': 'Tu tev li vê kursê yî / You are enrolled',
|
||
|
||
// Research page
|
||
'research.title': 'Navenda Lêkolînê',
|
||
'research.subtitle': 'Research Center',
|
||
'research.breadcrumb': 'Education',
|
||
'research.paperCount': '{{count}} lêkolîn / papers',
|
||
'research.about.title': 'Der barê Navenda Lêkolînê / About',
|
||
'research.about.ku': 'Navenda Lêkolînê gotarên zanistî yên li ser aboriya dijîtal a Kurdistanê, teknolojiya blockchain, û mijarên pêwendîdar berhev dike.',
|
||
'research.about.en': "The Research Center curates academic papers on Kurdistan's digital economy, blockchain technology, and related topics.",
|
||
'research.papers.title': 'Lêkolîn / Papers',
|
||
'research.more': 'Bêtir / More',
|
||
'research.less': 'Kêmtir / Less',
|
||
'research.submit.title': 'Lêkolîna xwe bişînin / Submit your research',
|
||
'research.submit.desc': 'Hûn dikarin gotarên xwe yên zanistî ji bo vekolînê bişînin. Submit your academic papers for peer review.',
|
||
'research.submit.btn': 'Bişîne / Submit',
|
||
|
||
// ─── Landing Page ────────────────────────────────────────────────────────────
|
||
// Nav
|
||
'landing.nav.network': 'Network',
|
||
'landing.nav.governance': 'Governance',
|
||
'landing.nav.trading': 'Trading',
|
||
'landing.nav.citizens': 'Citizens',
|
||
'landing.nav.docs': 'Docs',
|
||
'landing.nav.mainnet': 'Mainnet',
|
||
'landing.nav.connectWallet': 'Connect Wallet',
|
||
'landing.nav.login': 'Login',
|
||
'landing.nav.peers': 'peers',
|
||
|
||
// Hero
|
||
'landing.hero.badge': 'Digital Kurdistan State · Now in Mainnet',
|
||
'landing.hero.badgeVersion': 'v1.0',
|
||
'landing.hero.h1part1': 'A sovereign chain',
|
||
'landing.hero.h1part2': 'for a',
|
||
'landing.hero.h1accent': 'borderless',
|
||
'landing.hero.h1part3': 'nation.',
|
||
'landing.hero.sub': 'PezkuwiChain is a public, permissionless blockchain — built first for the Kurdish nation, and for every stateless people and cultural nation across the world. Democratic proposals, transparent treasury, and on-chain identity for citizens, wherever they live.',
|
||
'landing.hero.cta.explore': 'Explore the network →',
|
||
'landing.hero.cta.whitepaper': 'Read whitepaper',
|
||
'landing.hero.sun.name': 'Roj · the sun of Kurdistan',
|
||
'landing.hero.sun.rays': '21 rays · ↻ since 1932',
|
||
|
||
// Hero stat bar
|
||
'landing.statbar.network': 'Network',
|
||
'landing.statbar.connected': 'Connected',
|
||
'landing.statbar.latestBlock': 'Latest Block',
|
||
'landing.statbar.finalized': 'Finalized',
|
||
'landing.statbar.finalizedMeta': '~2 blocks behind',
|
||
'landing.statbar.validators': 'Validators',
|
||
'landing.statbar.validatorsMeta': 'Validating blocks',
|
||
'landing.statbar.collators': 'Collators',
|
||
'landing.statbar.collatorsMeta': 'Producing blocks',
|
||
'landing.statbar.nominators': 'Nominators',
|
||
'landing.statbar.nominatorsMeta': 'Staking to validators',
|
||
|
||
// Ticker
|
||
'landing.ticker.block': 'block',
|
||
'landing.ticker.validators': 'validators',
|
||
'landing.ticker.nominators': 'nominators',
|
||
'landing.ticker.citizens': 'citizens',
|
||
'landing.ticker.staked': 'staked',
|
||
'landing.ticker.proposals': 'proposals',
|
||
'landing.ticker.peers': 'peers',
|
||
|
||
// Section 01 – Live network
|
||
'landing.network.eyebrow': '// 01 · Live network',
|
||
'landing.network.h2': 'Numbers that',
|
||
'landing.network.h2em': 'govern themselves.',
|
||
'landing.network.p': 'Every metric below is fetched directly from the relay chain — what the validators see, you see.',
|
||
'landing.network.activeProposals': 'Active proposals',
|
||
'landing.network.proposalsMeta': '↗ governance live',
|
||
'landing.network.totalVoters': 'Total voters',
|
||
'landing.network.votersMeta': 'conviction voting',
|
||
'landing.network.tokensStaked': 'Tokens staked',
|
||
'landing.network.stakedMeta': 'of total supply',
|
||
'landing.network.citizens': 'Citizens worldwide',
|
||
'landing.network.citizensMeta': 'across 187 countries',
|
||
|
||
// Section 02 – Features
|
||
'landing.features.eyebrow': '// 02 · What you can do',
|
||
'landing.features.h2': 'One chain, every',
|
||
'landing.features.h2em': 'civic primitive.',
|
||
'landing.features.p': 'An independent Layer 1 — originally forked from Polkadot, now a fully sovereign codebase with its own crates, npm packages, and pallets for governance, identity, treasury, and trade.',
|
||
'landing.features.01.eyebrow': '01 · Governance',
|
||
'landing.features.01.h3': 'Vote on the rules that govern the network — and the nation.',
|
||
'landing.features.01.p': 'OpenGov-style referenda with conviction voting, delegation, and a 7-day decision period. Every citizen can propose; every proposal is on-chain forever.',
|
||
'landing.features.01.link': 'Open governance dashboard →',
|
||
'landing.features.02.eyebrow': '02 · Citizenship',
|
||
'landing.features.02.h3': 'Your identity, signed by the state.',
|
||
'landing.features.02.p': 'Soulbound NFT on the People Chain. Trust score, verified attributes, voting weight — issued once, owned forever.',
|
||
'landing.features.02.link': 'Become a citizen →',
|
||
'landing.features.03.eyebrow': '03 · Economy',
|
||
'landing.features.03.h3': 'Trade, lend, and fund the nation in HEZ.',
|
||
'landing.features.03.p': 'DEX pools on Asset Hub, escrow-backed P2P, and a treasury funding grants and infrastructure — all governed on-chain.',
|
||
'landing.features.03.link': 'Open economy →',
|
||
'landing.features.04.eyebrow': '04 · Validators',
|
||
'landing.features.04.p': 'Nominated Proof-of-Stake secures every block. Stake HEZ to back a validator, or run your own node and earn rewards while defending the chain.',
|
||
'landing.features.04.h3suffix': 'nodes. 12 nations. Zero downtime since genesis.',
|
||
'landing.features.04.link': 'Run a node →',
|
||
|
||
// Section 03 – Architecture
|
||
'landing.arch.eyebrow': '// 03 · Architecture',
|
||
'landing.arch.h2': 'Three chains,',
|
||
'landing.arch.h2em': 'one nation.',
|
||
'landing.arch.p': 'Three independent chains, fully owned by the network. Every pallet, crate, and package is PezkuwiChain\'s own — governance, identity, treasury, and trade, all designed for a digital nation.',
|
||
'landing.arch.rc.tag': 'Pezkuwi RC · Relay Chain',
|
||
'landing.arch.rc.h4': 'Pezkuwi Relay',
|
||
'landing.arch.rc.p': 'Governance, validator selection, and cross-chain coordination. Staking is moved off the Relay Chain so the democratic core stays lean and fast.',
|
||
'landing.arch.ah.tag': 'Pezkuwi AH · Asset Hub',
|
||
'landing.arch.ah.h4': 'HezDex on Asset Hub',
|
||
'landing.arch.ah.p': 'HEZ & PEZ issuance, liquidity pools, on-chain swaps, wrapped assets, staking. All asset operations and the validator economy live here.',
|
||
'landing.arch.people.tag': 'Pezkuwi People · People Chain',
|
||
'landing.arch.people.h4': 'Tîkî Identity',
|
||
'landing.arch.people.p': 'Citizenship NFTs, KYC, trust scores, social graph. Your on-chain identity — the prerequisite for voting and treasury access — lives here.',
|
||
'landing.arch.stats.block': 'Block',
|
||
'landing.arch.stats.time': 'Time',
|
||
'landing.arch.stats.validators': 'Validators',
|
||
'landing.arch.stats.staked': 'Staked',
|
||
'landing.arch.stats.collators': 'Collators',
|
||
'landing.arch.stats.nominators': 'Nominators',
|
||
'landing.arch.stats.citizens': 'Citizens',
|
||
'landing.arch.stats.countries': 'Countries',
|
||
|
||
// Section 04 – Tokenomics
|
||
'landing.tok.eyebrow': '// 04 · Tokenomics',
|
||
'landing.tok.h2': 'Two tokens.',
|
||
'landing.tok.h2em': 'Two roles.',
|
||
'landing.tok.p': 'HEZ is the network stable utility unit — fixed supply, used for fees, staking collateral, and governance weight. PEZ is the citizen reward token — distributed through a synthetic-halving emission program.',
|
||
'landing.tok.tabHez': 'HEZ · Utility',
|
||
'landing.tok.tabPez': 'PEZ · Citizen',
|
||
'landing.tok.total': 'total',
|
||
|
||
// Referral
|
||
'landing.ref.eyebrow': '// Be a Reference',
|
||
'landing.ref.h2': "You don't just invite —",
|
||
'landing.ref.h2em': 'you refer.',
|
||
'landing.ref.p': 'Every friend you approve becomes a citizen of PezkuwiChain and earns you +10 Trust Score.',
|
||
'landing.ref.step1.label': 'Step 1',
|
||
'landing.ref.step1.title': 'Share Your Link',
|
||
'landing.ref.step1.desc': 'Send your personal referral link from the Pezkuwi wallet to someone you trust.',
|
||
'landing.ref.step2.label': 'Step 2',
|
||
'landing.ref.step2.title': 'They Apply',
|
||
'landing.ref.step2.desc': 'Your friend submits a Citizenship Application on PezkuwiChain and waits for your approval.',
|
||
'landing.ref.step3.label': 'Step 3',
|
||
'landing.ref.step3.title': 'You Approve — Then They Sign',
|
||
'landing.ref.step3.desc': 'Be their reference, then they sign the citizenship transaction. Your Trust Score grows by +10 on-chain.',
|
||
|
||
// CTA band
|
||
'landing.cta.eyebrow': '// Join the network',
|
||
'landing.cta.h2': 'Citizenship is',
|
||
'landing.cta.h2em': 'one signature away.',
|
||
'landing.cta.p': 'Connect your wallet, mint your soulbound citizenship NFT, and start voting on proposals that shape the digital state.',
|
||
'landing.cta.become': 'Become a citizen →',
|
||
'landing.cta.validator': 'Run a validator',
|
||
'landing.cta.services': 'Available Services',
|
||
|
||
// Pallets
|
||
'landing.pallets.eyebrow': '// 02b · Wallet ecosystem',
|
||
'landing.pallets.h2': 'Every primitive,',
|
||
'landing.pallets.h2em': 'one wallet.',
|
||
'landing.pallets.p': 'Sixteen pallets organized into four pillars — Finance, Governance, Social, and Education.',
|
||
'landing.pallets.finance': 'Finance',
|
||
'landing.pallets.financeCount': '8 modules',
|
||
'landing.pallets.governance': 'Governance',
|
||
'landing.pallets.governanceCount': '8 modules',
|
||
'landing.pallets.social': 'Social',
|
||
'landing.pallets.socialCount': '5 live · 3 soon',
|
||
'landing.pallets.education': 'Education',
|
||
'landing.pallets.educationCount': '4 live · 4 soon',
|
||
'landing.pallets.comingSoon': 'Coming soon',
|
||
'landing.pallets.wallet': 'Wallet',
|
||
'landing.pallets.bank': 'Bank',
|
||
'landing.pallets.exchange': 'Exchange',
|
||
'landing.pallets.dex': 'Pez-DEX',
|
||
'landing.pallets.p2p': 'P2P',
|
||
'landing.pallets.b2b': 'B2B',
|
||
'landing.pallets.zekat': 'Bac/Zekat',
|
||
'landing.pallets.launchpad': 'Launchpad',
|
||
'landing.pallets.president': 'President',
|
||
'landing.pallets.assembly': 'Assembly',
|
||
'landing.pallets.vote': 'Vote',
|
||
'landing.pallets.validators': 'Validators',
|
||
'landing.pallets.justice': 'Justice',
|
||
'landing.pallets.proposals': 'Proposals',
|
||
'landing.pallets.polls': 'Polls',
|
||
'landing.pallets.identity': 'Identity',
|
||
'landing.pallets.whatskurd': 'whatsKURD',
|
||
'landing.pallets.forum': 'Forum',
|
||
'landing.pallets.kurdmedia': 'KurdMedia',
|
||
'landing.pallets.kurdAi': 'KurdAI',
|
||
'landing.pallets.help': 'Help',
|
||
'landing.pallets.music': 'Music',
|
||
'landing.pallets.rewshenbir': 'Rewshenbir',
|
||
'landing.pallets.referral': 'Referral',
|
||
'landing.pallets.university': 'University',
|
||
'landing.pallets.perwerde': 'Perwerde',
|
||
'landing.pallets.certificates': 'Certificates',
|
||
'landing.pallets.research': 'Research',
|
||
'landing.pallets.library': 'Library',
|
||
'landing.pallets.tutor': 'Tutor',
|
||
'landing.pallets.labs': 'Labs',
|
||
'landing.pallets.languages': 'Languages',
|
||
|
||
// Footer
|
||
'landing.footer.desc': 'A public, permissionless Layer 1 for the digital sovereignty of stateless and cultural nations — Kurds first, every people next. Open-source. Citizen-owned.',
|
||
'landing.footer.mainnet': 'Mainnet · 6s block time',
|
||
'landing.footer.network': 'Network',
|
||
'landing.footer.use': 'Use',
|
||
'landing.footer.build': 'Build',
|
||
'landing.footer.community': 'Community',
|
||
'landing.footer.explorer': 'Explorer',
|
||
'landing.footer.telemetry': 'Telemetry',
|
||
'landing.footer.validators': 'Validators',
|
||
'landing.footer.faucet': 'Faucet',
|
||
'landing.footer.wallet': 'Wallet',
|
||
'landing.footer.trade': 'Trade',
|
||
'landing.footer.vote': 'Vote',
|
||
'landing.footer.grants': 'Grants',
|
||
'landing.footer.docs': 'Documentation',
|
||
'landing.footer.api': 'API reference',
|
||
'landing.footer.sdk': 'SDK',
|
||
'landing.footer.github': 'GitHub',
|
||
'landing.footer.forum': 'Forum',
|
||
'landing.footer.discord': 'Discord',
|
||
'landing.footer.telegram': 'Telegram',
|
||
'landing.footer.twitter': 'X / Twitter',
|
||
'landing.footer.copyright': '© 2026 PezkuwiChain · Open-source under MIT',
|
||
'landing.footer.builtBy': 'Built by Dijital Pezkuwi Peoples & for every stateless and cultural nation',
|
||
}
|