mirror of
https://github.com/pezkuwichain/pezkuwi-telegram-miniapp.git
synced 2026-04-22 03:07:55 +00:00
685 lines
23 KiB
TypeScript
685 lines
23 KiB
TypeScript
import type { Translations } from '../types';
|
|
|
|
const en: Translations = {
|
|
nav: {
|
|
announcements: 'News',
|
|
forum: 'Forum',
|
|
rewards: 'Rewards',
|
|
p2p: 'P2P',
|
|
wallet: 'Wallet',
|
|
},
|
|
|
|
common: {
|
|
back: 'Back',
|
|
cancel: 'Cancel',
|
|
continue: 'Continue',
|
|
close: 'Close',
|
|
copy: 'Copy',
|
|
copied: 'Copied!',
|
|
share: 'Share',
|
|
refresh: 'Refresh',
|
|
retry: 'Try again',
|
|
loading: 'Loading...',
|
|
error: 'Error',
|
|
anonymous: 'Anonymous',
|
|
pinned: 'Pinned',
|
|
locked: 'Locked',
|
|
trending: 'Trending',
|
|
},
|
|
|
|
announcements: {
|
|
title: 'Announcements',
|
|
readMore: 'Read more',
|
|
reactionAuthRequired: 'You must be in Telegram to vote',
|
|
},
|
|
|
|
forum: {
|
|
title: 'Forum',
|
|
newTopic: 'New Topic',
|
|
submitting: 'Submitting...',
|
|
publish: 'Publish',
|
|
category: 'Category',
|
|
topicTitle: 'Title',
|
|
topicTitlePlaceholder: 'Topic title...',
|
|
content: 'Content',
|
|
contentPlaceholder: 'Write the topic content...',
|
|
tagsLabel: 'Tags (separate with comma)',
|
|
tagsPlaceholder: 'blockchain, kurd, pez...',
|
|
searchPlaceholder: 'Search topics...',
|
|
sortRecent: 'New',
|
|
sortPopular: 'Popular',
|
|
sortReplies: 'Replies',
|
|
sortViews: 'Views',
|
|
all: 'All',
|
|
replies: 'Replies',
|
|
noRepliesYet: 'No replies yet',
|
|
beFirstToReply: 'Be the first to reply!',
|
|
replyPlaceholder: 'Write your reply...',
|
|
noTopicsFound: 'No topics found',
|
|
changeFilters: 'Change your filters',
|
|
createNewTopic: 'Create New Topic',
|
|
loginToVote: 'Log in to vote',
|
|
voteError: 'Error voting',
|
|
writeReply: 'Please write your reply',
|
|
topicLocked: 'This topic is locked',
|
|
replyError: 'Error sending reply',
|
|
fillAllFields: 'Please fill in all fields',
|
|
topicCreated: 'Topic created!',
|
|
topicCreateError: 'Error creating topic',
|
|
},
|
|
|
|
rewards: {
|
|
title: 'Rewards',
|
|
subtitle: 'Rewards - Referral System',
|
|
connectWalletFirst: 'To see your referrals and rewards, connect your wallet first.',
|
|
overview: 'Overview',
|
|
referral: 'Referral',
|
|
scores: 'Scores',
|
|
referralScore: 'Referral Score',
|
|
maxScore: 'Max score: 500',
|
|
referMoreTitle: 'Refer more, earn more!',
|
|
referMoreDescription:
|
|
'For every person you bring, you receive HEZ and PEZ as rewards. More referrals = more rewards!',
|
|
kycApproved: 'KYC Approved',
|
|
referrer: 'Referrer',
|
|
none: 'None',
|
|
invitedMe: 'Invited me',
|
|
pendingReferral: 'Pending referral',
|
|
completeKyc: 'Complete KYC to approve referral from',
|
|
inviteFriends: 'Invite your friends',
|
|
yourLink: 'Your link',
|
|
copySuccess: 'Copied!',
|
|
copyLink: 'Copy',
|
|
shareLink: 'Share',
|
|
scoreSystem: 'Score system',
|
|
activeStatus: 'Activity Status',
|
|
timeRemaining: 'Time: {time} remaining',
|
|
active: 'Active',
|
|
inactive: 'Inactive',
|
|
activeDescription: 'Click once every 24 hours to stay active and earn more rewards!',
|
|
youAreActive: 'You are Active!',
|
|
iAmActive: 'I am Active!',
|
|
activatedAlert: 'You are now active! Click again after 24 hours.',
|
|
shareText: 'Pezkuwichain - Digital State of Kurdistan! Join us through my link:',
|
|
copyAlert: 'Copied',
|
|
referralCount: '{count} referrals (KYC approved)',
|
|
noReferrals: 'You have no referrals yet',
|
|
shareYourLink: 'Share your link!',
|
|
trustScore: 'Trust Score',
|
|
rank: 'Rank: {rating}',
|
|
citizen: 'Citizen',
|
|
staking: 'Staking',
|
|
stakingNotStarted: 'Not started',
|
|
stakingWaitingData: 'Waiting for data...',
|
|
stakingCountedInTrust: 'Counted in Trust score',
|
|
people: '{count} people',
|
|
tiki: 'Tiki',
|
|
nftRole: 'NFT Role',
|
|
education: 'Education',
|
|
reading: 'Reading',
|
|
stakingRewards: 'Staking Rewards',
|
|
totalRewards: 'Total rewards received',
|
|
recentRewards: 'Recent rewards',
|
|
noRewardsYet: 'No rewards recorded yet',
|
|
scoreFormula: 'Score Formula',
|
|
stakingZeroWarning: 'If Staking is 0, Trust score is also 0. Stake first!',
|
|
refreshScores: 'Refresh Scores',
|
|
points: 'points',
|
|
citizenshipStatus: 'Citizenship Status',
|
|
pendingApproval: 'Pending',
|
|
approved: 'Approved',
|
|
waitingReferrer: 'Waiting for referrer approval...',
|
|
confirmCitizenship: 'Confirm Citizenship',
|
|
confirmingCitizenship: 'Confirming citizenship...',
|
|
signingBlockchain: 'Signing on blockchain',
|
|
citizenshipConfirmed: 'Congratulations! You are now a citizen!',
|
|
citizenshipFailed: 'Confirmation failed',
|
|
},
|
|
|
|
wallet: {
|
|
title: 'Wallet',
|
|
authFailed: 'Authentication Failed',
|
|
authDescription: 'Please make sure you open this app within Telegram',
|
|
retry: 'Try Again',
|
|
},
|
|
|
|
walletSetup: {
|
|
officialWallet: 'Official Pezkuwichain wallet',
|
|
createNew: 'Create New Wallet',
|
|
createNewDesc: 'Create a new wallet with seed phrase',
|
|
importWallet: 'Import Wallet',
|
|
importWalletDesc: 'Use your existing seed phrase',
|
|
securityNote:
|
|
'Your wallet is securely stored on your device. We never have access to your keys.',
|
|
},
|
|
|
|
walletCreate: {
|
|
setPassword: 'Set Password',
|
|
passwordDescription: 'This password will be used to unlock your wallet',
|
|
passwordLabel: 'Password',
|
|
passwordPlaceholder: 'At least 12 characters',
|
|
confirmPasswordLabel: 'Confirm Password',
|
|
confirmPasswordPlaceholder: 'Confirm your password',
|
|
passwordRequirements: 'Password Requirements:',
|
|
ruleMinLength: 'At least 12 characters',
|
|
ruleLowercase: 'At least 1 lowercase letter (a-z)',
|
|
ruleUppercase: 'At least 1 uppercase letter (A-Z)',
|
|
ruleNumber: 'At least 1 number (0-9)',
|
|
ruleSpecialChar: 'At least 1 special character (!@#$%...)',
|
|
rulePasswordsMatch: 'Passwords match',
|
|
walletServiceNotReady: 'Wallet service is not ready. Please wait.',
|
|
passwordRequirementsNotMet: 'Please meet all password requirements',
|
|
walletCreationFailed: 'Wallet creation failed. Please try again',
|
|
preparing: 'Preparing...',
|
|
creating: 'Creating...',
|
|
meetPasswordRequirements: 'Meet password requirements',
|
|
backupTitle: 'Backup Seed Phrase',
|
|
backupDescription: 'These 12 words are your wallet. Write them in a safe place!',
|
|
backupWarning:
|
|
'Important: These words are shown only once. If you lose them, you cannot access your wallet.',
|
|
copiedMnemonic: 'Copied!',
|
|
copyMnemonic: 'Copy',
|
|
conditionWrittenDown: 'I have written down these 12 words in a safe place',
|
|
conditionNeverShare: 'I understand I must never share these words with anyone',
|
|
conditionLossRisk: 'I understand if I lose these words I cannot access my wallet',
|
|
acceptAllConditions: 'Accept all conditions',
|
|
verifyWords: 'Verify Words',
|
|
reset: 'Reset',
|
|
verifyDescription: 'Please arrange the words in the correct order',
|
|
dropWordsHere: 'Place words here...',
|
|
wrongOrder: 'Wrong word order. Please try again',
|
|
saving: 'Saving...',
|
|
verify: 'Verify',
|
|
wordsCount: '{count}/12 words',
|
|
walletCreated: 'Wallet Created!',
|
|
walletReady: 'Your wallet is ready',
|
|
yourAddress: 'Your address',
|
|
getStarted: 'Get Started',
|
|
},
|
|
|
|
walletImport: {
|
|
title: 'Import Wallet',
|
|
description: 'Enter your existing wallet seed phrase',
|
|
seedPhraseLabel: 'Seed Phrase (12 or 24 words)',
|
|
seedPhrasePlaceholder: 'Enter your words separated by spaces...',
|
|
wordsCount: '{count} / 12 words',
|
|
newPassword: 'New Password',
|
|
seedPhraseInvalid: 'Seed phrase must be 12 or 24 words',
|
|
passwordInvalid: 'Password is invalid',
|
|
passwordsMismatch: 'Passwords do not match',
|
|
importFailed: 'Import failed',
|
|
importing: 'Importing...',
|
|
importButton: 'Import',
|
|
},
|
|
|
|
walletConnect: {
|
|
deleteTitle: 'Delete Wallet?',
|
|
deleteDescription:
|
|
"This action cannot be undone. If you don't have your seed phrase, you will not be able to access your wallet.",
|
|
deleteButton: 'Delete',
|
|
openWallet: 'Open Wallet',
|
|
passwordLabel: 'Password',
|
|
passwordPlaceholder: 'Enter your password',
|
|
enterPassword: 'Enter your password',
|
|
wrongPassword: 'Wrong password',
|
|
connecting: 'Opening...',
|
|
connect: 'Connect',
|
|
deleteWalletLink: 'Delete wallet',
|
|
},
|
|
|
|
deposit: {
|
|
title: 'Deposit USDT',
|
|
subtitle: 'For wUSDT on Asset Hub',
|
|
depositHistory: 'Deposit History',
|
|
noDeposits: 'No deposits yet',
|
|
goBack: 'Go back',
|
|
selectNetwork: 'Select Network',
|
|
recommended: 'Recommended',
|
|
warning: 'Warning!',
|
|
example: 'Example: Send 10 USDT \u2192 Receive 7 wUSDT ($3 fee)',
|
|
acceptTrc20: 'I accept, send via TRC20',
|
|
important: 'Important!',
|
|
minimum: 'Minimum: {amount} USDT',
|
|
memoRequired: 'Write your code in the Memo/Comment field',
|
|
onlyUsdt: 'Only send USDT, other tokens will be lost',
|
|
trc20Fee: '$3 fee will be deducted from your amount',
|
|
depositAddress: 'Deposit Address',
|
|
notAvailable: 'Not available',
|
|
memoLabel: 'Memo / Comment (REQUIRED)',
|
|
memoWarning: 'Write this code in the memo, otherwise your deposit will not be recognized!',
|
|
uniqueAddress: 'This address is uniquely yours. No memo needed.',
|
|
howToDeposit: 'How to Deposit?',
|
|
stepCopyAddress: 'Copy the address',
|
|
stepCopyMemo: 'Copy the memo code',
|
|
stepOpenTon: 'Open Telegram Wallet or your wallet',
|
|
stepOpenPolkadot: 'Open your Polkadot wallet',
|
|
stepOpenTrc20: 'Open TronLink or your wallet',
|
|
stepSendUsdt: 'Send USDT to the address above',
|
|
stepReceive: 'wUSDT will be in your account within a few minutes',
|
|
processingTime: 'Processing time: ~1-5 minutes',
|
|
copyFailed: 'Copy failed',
|
|
statusPending: 'Pending',
|
|
statusConfirming: 'Confirming',
|
|
statusCompleted: 'Completed',
|
|
statusFailed: 'Failed',
|
|
statusExpired: 'Expired',
|
|
viewTx: 'View TX',
|
|
trc20FeeWarning: 'TRC20 network fee is about $3. We recommend TON or Polkadot network.',
|
|
},
|
|
|
|
p2p: {
|
|
title: 'P2P Exchange',
|
|
subtitle: 'Trade crypto peer-to-peer',
|
|
firstTime: 'First time using P2P?',
|
|
steps: [
|
|
'Click the button below to open the web app',
|
|
'Create an account or log in',
|
|
'Complete the P2P setup process',
|
|
'After setup, you can access P2P directly',
|
|
],
|
|
note: 'The web app will open in a new window. Complete the registration process there.',
|
|
button: 'Open P2P Platform',
|
|
},
|
|
|
|
update: {
|
|
newVersion: 'New version available!',
|
|
description: 'Update for new features and security fixes.',
|
|
later: 'Later',
|
|
updateNow: 'Update',
|
|
},
|
|
|
|
social: {
|
|
followUs: 'Follow us',
|
|
stayConnected: 'Stay connected and get the latest news!',
|
|
instagram: 'Photos & Stories',
|
|
tiktok: 'Short videos',
|
|
snapchat: 'Snap us!',
|
|
telegram: 'Official channel',
|
|
twitter: 'Daily news',
|
|
youtube: 'Our videos',
|
|
facebook: 'Official page',
|
|
discord: 'Our community',
|
|
},
|
|
|
|
errorBoundary: {
|
|
title: 'Something went wrong',
|
|
description: 'Sorry, a technical error occurred. Please try again.',
|
|
retry: 'Try again',
|
|
},
|
|
|
|
loadingScreen: {
|
|
loading: 'Loading...',
|
|
},
|
|
|
|
// Dashboard
|
|
dashboard: {
|
|
connected: 'Connected',
|
|
send: 'Send',
|
|
receive: 'Receive',
|
|
presaleMessage: 'Presale is coming! It will open very soon.',
|
|
depositUsdt: 'Add USDT',
|
|
depositUsdtDesc: 'From TON, Polkadot or TRC20 networks',
|
|
recentActivity: 'Recent Activity',
|
|
history: 'History',
|
|
refreshTx: 'Refresh',
|
|
loadingTx: 'Loading...',
|
|
noRecentTx: 'No recent transactions',
|
|
historyAppears: 'Your history will appear here',
|
|
sent: 'Sent',
|
|
received: 'Received',
|
|
selectStaking: 'Select Staking',
|
|
validatorNominate: 'Nominate validators',
|
|
trustScorePlus: 'Trust Score +',
|
|
lpStakeDesc: 'Stake LP tokens',
|
|
pezRewardPlus: 'PEZ Reward +',
|
|
goBack: 'Back',
|
|
},
|
|
|
|
// Send
|
|
send: {
|
|
back: '← Back',
|
|
selectToken: 'Select Token',
|
|
whichToken: 'Which token to send?',
|
|
someChainNotConnected: '⚠️ Some chains are not connected',
|
|
transferSuccess: 'Transfer Successful!',
|
|
wasSent: '{amount} {token} was sent',
|
|
done: 'Done',
|
|
sendToken: 'Send {token}',
|
|
changeToken: 'Change',
|
|
recipientAddress: 'Recipient Address',
|
|
scanQr: 'Scan QR',
|
|
scanQrText: 'Scan wallet address',
|
|
qrNotAvailable: 'QR scanner is not available on this platform',
|
|
invalidAddress: 'Invalid address',
|
|
amount: 'Amount',
|
|
balanceLabel: 'Balance:',
|
|
sending: 'Sending...',
|
|
sendButton: 'Send',
|
|
walletNotReady: 'Wallet is not ready',
|
|
selectTokenFirst: 'Select a token',
|
|
fillAddressAndAmount: 'Enter address and amount',
|
|
insufficientBalance: 'Insufficient balance',
|
|
mainnetApiNotReady: 'Mainnet API is not ready',
|
|
assetHubApiNotReady: 'Asset Hub API is not ready',
|
|
transferFailed: 'Transfer failed',
|
|
},
|
|
|
|
// Receive
|
|
receive: {
|
|
title: 'Receive',
|
|
back: '← Back',
|
|
qrFailed: 'QR generation failed',
|
|
shareAddress: 'This is your address. Share it to receive tokens.',
|
|
addressCopied: 'Copied!',
|
|
copyAddress: 'Copy Address',
|
|
},
|
|
|
|
// History
|
|
history: {
|
|
title: 'Transaction History',
|
|
back: '← Back',
|
|
loadingTx: 'Loading...',
|
|
noTransactions: 'No transactions',
|
|
historyAppears: 'Your history will appear here',
|
|
sent: 'Sent',
|
|
received: 'Received',
|
|
to: 'To:',
|
|
from: 'From:',
|
|
},
|
|
|
|
// Swap
|
|
swap: {
|
|
title: 'Token Swap',
|
|
fromLabel: 'From',
|
|
toLabel: 'To',
|
|
exchangeRate: 'Exchange Rate',
|
|
noPool: 'No pool',
|
|
swapping: 'Swapping...',
|
|
noPoolButton: 'No Pool',
|
|
swapButton: 'Swap',
|
|
swapFailed: 'Swap failed',
|
|
swapSuccess: 'Swap Successful!',
|
|
balanceLabel: 'Balance:',
|
|
insufficientBalance: 'Insufficient balance',
|
|
},
|
|
|
|
// Pools
|
|
pools: {
|
|
title: 'Liquidity Pools',
|
|
connectionError: 'Connection error - please retry',
|
|
loadingPools: 'Loading...',
|
|
noPools: 'No pools',
|
|
back: '← Back',
|
|
addLiquidity: 'Add Liquidity',
|
|
removeLiquidity: 'Remove Liquidity',
|
|
yourPosition: 'Your Position',
|
|
addButton: 'Add',
|
|
removeButton: 'Remove',
|
|
reserve: 'Reserve',
|
|
lpBalance: 'LP Balance:',
|
|
lpTokenAmount: 'LP Token Amount',
|
|
amountAuto: '{token} Amount (auto)',
|
|
adding: 'Adding...',
|
|
removing: 'Removing...',
|
|
addFailed: 'Add liquidity failed',
|
|
removeFailed: 'Remove liquidity failed',
|
|
invalidLpAmount: 'Invalid LP amount',
|
|
estimatedReturn: 'Estimated return:',
|
|
success: 'Success!',
|
|
addedLiquidity: '{amount0} {token0} + {amount1} {token1} added',
|
|
removedLiquidity: '{amount} LP tokens returned',
|
|
},
|
|
|
|
// Staking
|
|
staking: {
|
|
palletNotFound: 'Staking pallet not found',
|
|
fetchError: 'Failed to fetch staking info',
|
|
statusTab: 'Status',
|
|
bondTab: 'Bond',
|
|
nominateTab: 'Nominate',
|
|
unbondTab: 'Unbond',
|
|
activeStake: 'Active Stake',
|
|
totalBonded: 'Total Bonded',
|
|
nominations: 'Nominations',
|
|
rewardDestination: 'Reward Destination',
|
|
unbondingChunks: 'Unbonding',
|
|
nominatedValidators: 'Nominated Validators',
|
|
stakingTip: 'Staking HEZ increases Trust Score. Stake for at least 1 month for bonus.',
|
|
notStakedYet: 'Not Staked Yet',
|
|
stakeForTrustScore: 'Stake HEZ to earn Trust Score',
|
|
startStaking: 'Start Staking',
|
|
yourBalance: 'Your Balance',
|
|
currentlyStaked: 'Currently Staked',
|
|
amountHez: 'Amount (HEZ)',
|
|
bondWarning: 'Staking requires 28 days for withdrawal.',
|
|
bonding: 'Bonding...',
|
|
bondExtra: 'Add More',
|
|
bondButton: 'Bond',
|
|
bondFirst: 'First bond HEZ, then nominate',
|
|
selectValidators: 'Select validators (max 16): {count}/16',
|
|
commission: 'Commission:',
|
|
nominating: 'Nominating...',
|
|
nominateButton: 'Nominate',
|
|
notStakedUnbond: 'You have not staked yet',
|
|
unbondWarning: 'Unbonding takes 28 days. Then you can withdraw.',
|
|
unbondProcessing: 'Unbonding...',
|
|
unbondButton: 'Unbond',
|
|
bondSuccess: '{amount} HEZ staked successfully!',
|
|
nominateSuccess: '{count} validators nominated successfully!',
|
|
unbondSuccess: '{amount} HEZ unbonded! (28 days waiting)',
|
|
bondFailed: 'Bond failed',
|
|
nominateFailed: 'Nominate failed',
|
|
unbondFailed: 'Unbond failed',
|
|
},
|
|
|
|
// LP Staking
|
|
lpStaking: {
|
|
palletNotReady: 'Staking pallet is not ready',
|
|
poolsNotLoaded: 'Failed to load staking pools',
|
|
noPoolsYet: 'No staking pools yet',
|
|
selectPool: 'Select Pool',
|
|
totalStaked: 'Total Staked',
|
|
youStaked: 'You Staked',
|
|
lpBalance: 'LP Balance',
|
|
reward: 'Reward',
|
|
stakeTab: 'Stake',
|
|
unstakeTab: 'Unstake',
|
|
rewardTab: 'Rewards',
|
|
amount: 'Amount ({asset})',
|
|
balanceLabel: 'Balance:',
|
|
stakedLabel: 'Staked:',
|
|
staking: 'Staking...',
|
|
stakeButton: 'Stake',
|
|
unstaking: 'Unstaking...',
|
|
unstakeButton: 'Unstake',
|
|
pendingRewards: 'Pending Rewards',
|
|
claiming: 'Claiming...',
|
|
claimButton: 'Claim Rewards',
|
|
stakeFailed: 'Stake failed',
|
|
stakeSuccess: 'Staked successfully!',
|
|
unstakeFailed: 'Unstake failed',
|
|
unstakeSuccess: 'Unstaked successfully!',
|
|
claimFailed: 'Claim failed',
|
|
claimSuccess: 'Rewards claimed!',
|
|
},
|
|
|
|
// Fees
|
|
fees: {
|
|
title: 'Add Fee',
|
|
subtitle: 'HEZ teleport',
|
|
success: 'Success!',
|
|
sentTo: '{amount} HEZ sent to {chain}',
|
|
failed: 'Failed',
|
|
tryAgain: 'Try Again',
|
|
targetChain: 'Target Chain',
|
|
forTransfers: 'For PEZ transfers',
|
|
forIdentity: 'For identity',
|
|
minRecommended: '{description} minimum 0.1 HEZ recommended.',
|
|
amountHez: 'Amount (HEZ)',
|
|
signing: 'Sign the transaction...',
|
|
xcmTeleportPending: 'XCM Teleport in progress...',
|
|
signingButton: 'Signing...',
|
|
processing: 'Processing...',
|
|
sendTo: 'Send to {chain}',
|
|
walletNotConnected: 'Wallet not connected',
|
|
apiNotConnected: 'API not connected',
|
|
enterValidAmount: 'Enter a valid amount',
|
|
chainNotConnected: 'Chain not connected',
|
|
insufficientBalance: 'Insufficient balance',
|
|
xcmPalletNotFound: 'XCM pallet not found',
|
|
teleportFailed: 'Teleport failed',
|
|
errorOccurred: 'An error occurred',
|
|
},
|
|
|
|
// Tokens
|
|
tokens: {
|
|
searchPlaceholder: 'Search token...',
|
|
addToken: 'Add Token',
|
|
assetIdPlaceholder: 'Enter Asset ID (e.g. 3)',
|
|
cancel: 'Cancel',
|
|
add: 'Add',
|
|
blockchainConnected: 'Pezkuwichain Connected',
|
|
connectingBlockchain: 'Connecting to Blockchain...',
|
|
connectingRpc: 'Connecting to RPC server...',
|
|
tokenNotFound: 'Token not found',
|
|
total: 'Total',
|
|
loadingBalance: 'Loading...',
|
|
},
|
|
|
|
// Errors
|
|
errors: {
|
|
networkError: 'No internet connection. Please check your connection.',
|
|
timeout: 'Operation took too long. Please try again.',
|
|
walletNotFound: 'Wallet not found. Please create or restore a wallet.',
|
|
wrongPassword: 'Wrong password. Please try again.',
|
|
default: 'Something went wrong. Please try again.',
|
|
},
|
|
|
|
// Validation
|
|
validation: {
|
|
minLength: 'Password must be at least 12 characters',
|
|
needLowercase: 'Password must contain at least 1 lowercase letter (a-z)',
|
|
needUppercase: 'Password must contain at least 1 uppercase letter (A-Z)',
|
|
needNumber: 'Password must contain at least 1 number (0-9)',
|
|
needSpecialChar: 'Password must contain at least 1 special character (!@#$%...)',
|
|
weakPassword: 'Password is not strong enough. Try a longer password with diverse characters.',
|
|
},
|
|
|
|
// Time
|
|
time: {
|
|
now: 'Now',
|
|
minutesAgo: '{count} min ago',
|
|
hoursAgo: '{count} hours ago',
|
|
daysAgo: '{count} days ago',
|
|
},
|
|
|
|
// Context
|
|
context: {
|
|
walletInitFailed: 'Wallet initialization failed',
|
|
rpcDisconnected: 'RPC connection lost. Reconnecting...',
|
|
pleaseLoginFirst: 'Please log in first',
|
|
invalidSeedPhrase: 'Invalid seed phrase',
|
|
connectionFailed: 'Connection failed',
|
|
referralStatsError: 'Failed to load referral stats',
|
|
referralApproved: 'Referral approved! Your count: {count}',
|
|
wrongPasswordError: 'Wrong password',
|
|
walletSyncFailed: 'Wallet address sync to DB failed',
|
|
},
|
|
|
|
explorer: {
|
|
title: 'Pezkuwi Explorer',
|
|
subtitle: 'Blockchain Explorer',
|
|
search: 'Search block number or address...',
|
|
chainStats: 'Chain Stats',
|
|
latestBlocks: 'Latest Blocks',
|
|
recentTransfers: 'Recent Extrinsics',
|
|
block: 'Block',
|
|
validators: 'Validators',
|
|
era: 'Era',
|
|
blockTime: 'Block Time',
|
|
extrinsics: 'exts',
|
|
noResults: 'No results found',
|
|
connecting: 'Connecting to chain...',
|
|
hash: 'Hash',
|
|
from: 'From',
|
|
to: 'To',
|
|
amount: 'Amount',
|
|
time: 'Time',
|
|
balance: 'Balance',
|
|
seconds: 's ago',
|
|
finalized: 'Finalized Block',
|
|
searchResult: 'Search Result',
|
|
},
|
|
|
|
citizen: {
|
|
pageTitle: 'Be Citizen',
|
|
fullName: 'Full Name',
|
|
fullNamePlaceholder: 'Enter your full name',
|
|
fatherName: "Father's Name",
|
|
fatherNamePlaceholder: "Enter your father's name",
|
|
grandfatherName: "Grandfather's Name",
|
|
grandfatherNamePlaceholder: "Enter your grandfather's name",
|
|
motherName: "Mother's Name",
|
|
motherNamePlaceholder: "Enter your mother's name",
|
|
tribe: 'Tribe',
|
|
tribePlaceholder: 'Enter your tribe name',
|
|
maritalStatus: 'Marital Status',
|
|
married: 'Married',
|
|
single: 'Single',
|
|
childrenCount: 'Number of Children',
|
|
childName: 'Child {index} Name',
|
|
childNamePlaceholder: 'Name',
|
|
childBirthYear: 'Birth Year',
|
|
addChild: 'Add child',
|
|
removeChild: 'Remove',
|
|
region: 'Region',
|
|
regionPlaceholder: 'Select your region',
|
|
regionBakur: 'Bakur (Turkey)',
|
|
regionBasur: 'Bashur (Iraq)',
|
|
regionRojava: 'Rojava (Syria)',
|
|
regionRojhelat: 'Rojhelat (Iran)',
|
|
regionKurdistanASor: 'Red Kurdistan',
|
|
regionDiaspora: 'Diaspora',
|
|
email: 'E-mail',
|
|
emailPlaceholder: 'name@mail.com',
|
|
profession: 'Profession',
|
|
professionPlaceholder: 'Enter your profession',
|
|
referrerAddress: 'Referrer Address (Optional)',
|
|
referrerPlaceholder: 'Enter SS58 address - leave empty for auto-assign',
|
|
consentCheckbox: 'My data is protected with ZK-proof, only a hash is stored on the blockchain',
|
|
submit: 'Submit',
|
|
sign: 'Sign',
|
|
openApp: 'Open App',
|
|
preparingData: 'Preparing data...',
|
|
readyToSign: 'Ready to sign',
|
|
signingTx: 'Signing...',
|
|
applicationSubmitted: 'Your application has been submitted!',
|
|
pendingReferral: 'Waiting for referrer approval',
|
|
identityHash: 'Identity Hash',
|
|
applicationInfo: 'Once your referrer approves, you can confirm',
|
|
depositRequired: '1 HEZ deposit required',
|
|
walletAddress: 'Wallet Address',
|
|
privacyNotice:
|
|
'Your personal information is never sent anywhere. Only a hash code is generated and recorded on the blockchain.',
|
|
seedPhrase: 'Seed Phrase',
|
|
seedPhrasePlaceholder: 'Paste your 12 or 24 word seed phrase here...',
|
|
invalidSeedPhrase: 'Invalid seed phrase. Please enter 12 or 24 valid words.',
|
|
connectingChain: 'Connecting to People Chain...',
|
|
stepApplicationSent: 'Application submitted (completed)',
|
|
stepReferrerApproval: 'Waiting for referrer approval',
|
|
stepConfirm: 'After approval, confirm from your wallet',
|
|
nextStepsInfo: 'Follow the next steps from your wallet',
|
|
fillAllFields: 'Please fill in all fields',
|
|
acceptConsent: 'Please accept the consent checkbox',
|
|
walletNotConnected: 'Wallet not connected',
|
|
peopleChainNotConnected: 'People Chain not connected',
|
|
submissionFailed: 'Submission failed',
|
|
alreadyPending: 'You already have a pending application',
|
|
alreadyApproved: 'Your citizenship is already approved!',
|
|
insufficientBalance: 'Insufficient balance (1 HEZ deposit required)',
|
|
selectLanguage: 'Select language',
|
|
},
|
|
};
|
|
|
|
export default en;
|