feat: complete i18n support for all components (6 languages)

Add full internationalization across 127+ components and pages.
790+ translation keys in en, tr, kmr, ckb, ar, fa locales.
Remove duplicate keys and delete unused .json locale files.
This commit is contained in:
2026-02-22 04:48:20 +03:00
parent 5b26cc8907
commit 4f683538d3
129 changed files with 22442 additions and 4186 deletions
+38 -36
View File
@@ -1,7 +1,9 @@
import React, { useState, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import { PieChart, ArrowRightLeft } from 'lucide-react';
const TokenomicsSection: React.FC = () => {
const { t } = useTranslation();
const [selectedToken, setSelectedToken] = useState<'PEZ' | 'HEZ'>('PEZ');
const [monthsPassed] = useState(0);
@@ -16,16 +18,16 @@ const TokenomicsSection: React.FC = () => {
}, [monthsPassed, halvingPeriod, selectedToken]);
const pezDistribution = [
{ name: 'Treasury', percentage: 96.25, amount: 4812500000, color: 'from-purple-500 to-purple-600' },
{ name: 'Presale', percentage: 1.875, amount: 93750000, color: 'from-cyan-500 to-cyan-600' },
{ name: 'Founder', percentage: 1.875, amount: 93750000, color: 'from-teal-500 to-teal-600' }
{ name: t('tokenomics.treasury'), percentage: 96.25, amount: 4812500000, color: 'from-purple-500 to-purple-600' },
{ name: t('tokenomics.presale'), percentage: 1.875, amount: 93750000, color: 'from-cyan-500 to-cyan-600' },
{ name: t('tokenomics.founder'), percentage: 1.875, amount: 93750000, color: 'from-teal-500 to-teal-600' }
];
const hezDistribution = [
{ name: 'Staking Rewards', percentage: 40, amount: 1000000000, color: 'from-yellow-500 to-orange-600' },
{ name: 'Governance', percentage: 30, amount: 750000000, color: 'from-green-500 to-emerald-600' },
{ name: 'Ecosystem', percentage: 20, amount: 500000000, color: 'from-blue-500 to-indigo-600' },
{ name: 'Team', percentage: 10, amount: 250000000, color: 'from-red-500 to-pink-600' }
{ name: t('tokenomics.stakingRewards'), percentage: 40, amount: 1000000000, color: 'from-yellow-500 to-orange-600' },
{ name: t('tokenomics.governance'), percentage: 30, amount: 750000000, color: 'from-green-500 to-emerald-600' },
{ name: t('tokenomics.ecosystem'), percentage: 20, amount: 500000000, color: 'from-blue-500 to-indigo-600' },
{ name: t('tokenomics.team'), percentage: 10, amount: 250000000, color: 'from-red-500 to-pink-600' }
];
const distribution = selectedToken === 'PEZ' ? pezDistribution : hezDistribution;
@@ -37,10 +39,10 @@ const TokenomicsSection: React.FC = () => {
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-12">
<h2 className="text-4xl font-bold mb-4 bg-gradient-to-r from-purple-400 to-yellow-400 bg-clip-text text-transparent">
Dual Token Ecosystem
{t('tokenomics.dualToken')}
</h2>
<p className="text-gray-400 text-lg max-w-2xl mx-auto mb-6">
PEZ & HEZ tokens working together for governance and utility
{t('tokenomics.dualTokenDesc')}
</p>
{/* Token Selector */}
@@ -53,17 +55,17 @@ const TokenomicsSection: React.FC = () => {
: 'text-gray-400 hover:text-white'
}`}
>
PEZ Token
{t('tokenomics.pezToken')}
</button>
<button
onClick={() => setSelectedToken('HEZ')}
className={`px-6 py-2 rounded-md font-semibold transition-all ${
selectedToken === 'HEZ'
? 'bg-yellow-600 text-white'
selectedToken === 'HEZ'
? 'bg-yellow-600 text-white'
: 'text-gray-400 hover:text-white'
}`}
>
HEZ Token
{t('tokenomics.hezToken')}
</button>
</div>
</div>
@@ -73,7 +75,7 @@ const TokenomicsSection: React.FC = () => {
<div className="bg-gray-950/50 backdrop-blur-sm rounded-xl border border-gray-800 p-6">
<div className="flex items-center mb-6">
<PieChart className={`w-6 h-6 text-${tokenColor}-400 mr-3`} />
<h3 className="text-xl font-semibold text-white">{selectedToken} Distribution</h3>
<h3 className="text-xl font-semibold text-white">{t('tokenomics.pezDistribution')}</h3>
</div>
<div className="flex justify-center mb-6">
@@ -99,7 +101,7 @@ const TokenomicsSection: React.FC = () => {
<div className={`mt-6 p-4 bg-${tokenColor}-500/20 rounded-lg border border-${tokenColor}-500/30`}>
<div className="flex items-center justify-between">
<span className={`text-${tokenColor}-400`}>Total Supply</span>
<span className={`text-${tokenColor}-400`}>{t('tokenomics.totalSupply')}</span>
<span className="text-white font-bold">{totalSupply.toLocaleString()} {selectedToken}</span>
</div>
</div>
@@ -109,63 +111,63 @@ const TokenomicsSection: React.FC = () => {
<div className="bg-gray-950/50 backdrop-blur-sm rounded-xl border border-gray-800 p-6">
<div className="flex items-center mb-6">
<ArrowRightLeft className={`w-6 h-6 text-${tokenColor}-400 mr-3`} />
<h3 className="text-xl font-semibold text-white">{selectedToken} Features</h3>
<h3 className="text-xl font-semibold text-white">{t('tokenomics.hezFeatures')}</h3>
</div>
{selectedToken === 'PEZ' ? (
<div className="space-y-4">
<div className="p-4 bg-purple-900/20 rounded-lg border border-purple-500/30">
<h4 className="text-purple-400 font-semibold mb-2">Governance Token</h4>
<p className="text-gray-300 text-sm">Vote on proposals and participate in DAO decisions</p>
<h4 className="text-purple-400 font-semibold mb-2">{t('tokenomics.govToken')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.govTokenDesc')}</p>
</div>
<div className="p-4 bg-purple-900/20 rounded-lg border border-purple-500/30">
<h4 className="text-purple-400 font-semibold mb-2">Staking Rewards</h4>
<p className="text-gray-300 text-sm">Earn HEZ tokens by staking PEZ</p>
<h4 className="text-purple-400 font-semibold mb-2">{t('tokenomics.stakingRewardsTitle')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.stakingRewardsDesc')}</p>
</div>
<div className="p-4 bg-purple-900/20 rounded-lg border border-purple-500/30">
<h4 className="text-purple-400 font-semibold mb-2">Treasury Access</h4>
<p className="text-gray-300 text-sm">Propose and vote on treasury fund allocation</p>
<h4 className="text-purple-400 font-semibold mb-2">{t('tokenomics.treasuryAccess')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.treasuryAccessDesc')}</p>
</div>
<div className="p-4 bg-purple-900/20 rounded-lg border border-purple-500/30">
<h4 className="text-purple-400 font-semibold mb-2">Deflationary</h4>
<p className="text-gray-300 text-sm">Synthetic halving every 48 months</p>
<h4 className="text-purple-400 font-semibold mb-2">{t('tokenomics.deflationary')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.deflationaryDesc')}</p>
</div>
</div>
) : (
<div className="space-y-4">
<div className="p-4 bg-yellow-900/20 rounded-lg border border-yellow-500/30">
<h4 className="text-yellow-400 font-semibold mb-2">Utility Token</h4>
<p className="text-gray-300 text-sm">Used for platform transactions and services</p>
<h4 className="text-yellow-400 font-semibold mb-2">{t('tokenomics.utilityToken')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.utilityTokenDesc')}</p>
</div>
<div className="p-4 bg-yellow-900/20 rounded-lg border border-yellow-500/30">
<h4 className="text-yellow-400 font-semibold mb-2">P2P Trading</h4>
<p className="text-gray-300 text-sm">Primary currency for peer-to-peer marketplace</p>
<h4 className="text-yellow-400 font-semibold mb-2">{t('tokenomics.p2pTrading')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.p2pTradingDesc')}</p>
</div>
<div className="p-4 bg-yellow-900/20 rounded-lg border border-yellow-500/30">
<h4 className="text-yellow-400 font-semibold mb-2">Fee Discounts</h4>
<p className="text-gray-300 text-sm">Reduced platform fees when using HEZ</p>
<h4 className="text-yellow-400 font-semibold mb-2">{t('tokenomics.feeDiscounts')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.feeDiscountsDesc')}</p>
</div>
<div className="p-4 bg-yellow-900/20 rounded-lg border border-yellow-500/30">
<h4 className="text-yellow-400 font-semibold mb-2">Reward Distribution</h4>
<p className="text-gray-300 text-sm">Earned through staking and participation</p>
<h4 className="text-yellow-400 font-semibold mb-2">{t('tokenomics.rewardDistribution')}</h4>
<p className="text-gray-300 text-sm">{t('tokenomics.rewardDistributionDesc')}</p>
</div>
</div>
)}
<div className="mt-6 p-4 bg-gradient-to-r from-purple-900/20 to-yellow-900/20 rounded-lg border border-gray-700">
<h4 className="text-white font-semibold mb-3">Token Synergy</h4>
<h4 className="text-white font-semibold mb-3">{t('tokenomics.tokenSynergy')}</h4>
<div className="space-y-2 text-sm">
<div className="flex items-center text-gray-300">
<span className="w-2 h-2 bg-purple-400 rounded-full mr-2"></span>
Stake PEZ Earn HEZ rewards
{t('tokenomics.synergy1')}
</div>
<div className="flex items-center text-gray-300">
<span className="w-2 h-2 bg-yellow-400 rounded-full mr-2"></span>
Use HEZ Boost governance power
{t('tokenomics.synergy2')}
</div>
<div className="flex items-center text-gray-300">
<span className="w-2 h-2 bg-green-400 rounded-full mr-2"></span>
Hold both Maximum platform benefits
{t('tokenomics.synergy3')}
</div>
</div>
</div>