- Bibore, pirsgirêkek teknîkî derket. Ji kerema xwe dîsa biceribîne. + {translations[detectLang()].errorBoundary.description}
{import.meta.env.DEV && this.state.error && ({message}
+{displayMessage}
{content.subtitle}
+{t('p2p.subtitle')}
{/* First Time Info */}{content.firstTime}
+{t('p2p.firstTime')}
{content.note}
+{t('p2p.note')}
- Bi me re têkiliyê ragire û nûçeyên herî dawî bistîne! -
+{t('social.stayConnected')}
- Ji bo taybetmendiyên nû û rastkirinên ewlehiyê nûve bike. -
+{t('update.description')}
v{currentVersion}
Bo wUSDT li Asset Hub
+{t('deposit.subtitle')}
Hîn depo tune
+{t('deposit.noDeposits')}
) : ( deposits.map((deposit) => (Berîka fermî ya Pezkuwichain
+{t('walletSetup.officialWallet')}
Wallet Nû Çêbike
-Wallet'ekî nû bi seed phrase çêbike
+{t('walletSetup.createNew')}
+{t('walletSetup.createNewDesc')}
Wallet Import Bike
-- Seed phrase'ê xwe yê heyî bi kar bîne -
+{t('walletSetup.importWallet')}
+{t('walletSetup.importWalletDesc')}
- Wallet'ê te bi ewlehî li cîhaza te tê hilanîn. Em tu carî gihîştina mifteyên te tune. + {t('walletSetup.securityNote')}
); diff --git a/src/i18n/index.tsx b/src/i18n/index.tsx new file mode 100644 index 0000000..c933712 --- /dev/null +++ b/src/i18n/index.tsx @@ -0,0 +1,131 @@ +import { createContext, useContext, useState, useEffect, useCallback, type ReactNode } from 'react'; +import type { Translations, LanguageCode } from './types'; +import { RTL_LANGUAGES } from './types'; +import krd from './translations/krd'; +import en from './translations/en'; +import tr from './translations/tr'; +import ckb from './translations/ckb'; +import fa from './translations/fa'; +import ar from './translations/ar'; + +const translations: Record- {selectedDiscussion.author_name || 'Anonymous'} + {selectedDiscussion.author_name || t('common.anonymous')}
{formatDistanceToNow(new Date(selectedDiscussion.created_at), { @@ -499,7 +505,7 @@ export function ForumSection() {
Hêj bersiv tune ye
-Yekemîn bersivê tu bide!
+{t('forum.noRepliesYet')}
+{t('forum.beFirstToReply')}
Mijar nehat dîtin
-Filterên xwe biguhêre
+{t('forum.noTopicsFound')}
+{t('forum.changeFilters')}
- Ji bo dîtina referral û xelatên xwe, berî her tiştî cîzdanê xwe girêde. -
+{t('rewards.connectWalletFirst')}
Pûana Referral
+{t('rewards.referralScore')}
{stats?.referralScore ?? 0}
- هەر کەسێک بهێنیت، HEZ و PEZ وەک خەڵات وەردەگریت. زیاتر ڕیفەر = زیاتر خەڵات! + {t('rewards.referMoreDescription')}
{stats?.referralCount ?? 0}
-KYC pejirandî
+{t('rewards.kycApproved')}
{formatAddress(stats.whoInvitedMe, 6)}
) : ( -Tune
+{t('rewards.none')}
)} -Min vexwand
+{t('rewards.invitedMe')}
Lînka te
+{t('rewards.yourLink')}
{referralLink}
Dem: {timeRemaining} maye
++ {t('rewards.timeRemaining', { time: timeRemaining })} +
)}- Her 24 saet carekê bikirtîne da ku aktîv bimînî û xelatên zêdetir qezenc bikî! + {t('rewards.activeDescription')}
- هەر کەسێک بهێنیت، HEZ و PEZ وەک خەڵات وەردەگریت. زیاتر ڕیفەر = زیاتر خەڵات! -
+{t('rewards.referMoreDescription')}
Dem: {timeRemaining} maye
++ {t('rewards.timeRemaining', { time: timeRemaining })} +
)}KYC Pejirandî
+{t('rewards.kycApproved')}
Hêj referralên te tune ne
-Lînka xwe parve bike!
+{t('rewards.noReferrals')}
+{t('rewards.shareYourLink')}
{stakingStatus?.isTracking ? ( @@ -613,23 +614,27 @@ export function RewardsSection() { {formatDuration(stakingStatus.durationBlocks)} ) : ( - Nehatiye destpêkirin + + {t('rewards.stakingNotStarted')} + )}
-Di Trust de tê hesibandin
++ {t('rewards.stakingCountedInTrust')} +
{userScores?.referralScore ?? 0}
- {stats?.referralCount ?? 0} kes + {t('rewards.people', { count: stats?.referralCount ?? 0 })}
{userScores?.tikiScore ?? 0}
-Rola NFT
+{t('rewards.nftRole')}
{userScores?.perwerdeScore ?? 0}
-Xwendin
+{t('rewards.reading')}
Tevahiya xelatên wergirtî
+{t('rewards.totalRewards')}
{stakingRewards && stakingRewards.totalAccumulatedHez > 0 ? `${stakingRewards.totalAccumulatedHez.toFixed(4)} HEZ` @@ -678,7 +685,9 @@ export function RewardsSection() { {/* Recent Rewards List */} {stakingRewards && stakingRewards.rewards.length > 0 ? (
Xelatên dawî
++ {t('rewards.recentRewards')} +
{stakingRewards.rewards.map((reward) => (- Hêj xelatek nehatiye tomarkirin + {t('rewards.noRewardsYet')}
)}Trust = (Staking × Weighted Sum) / 100
@@ -726,9 +735,7 @@ export function RewardsSection() { Weighted Sum = Staking×100 + Referral×300 + Perwerde×300 + Tiki×300- Staking 0 be, Trust pûan jî 0 dibe. Berî her tiştî stake bike! -
+{t('rewards.stakingZeroWarning')}
- Ji kerema xwe pistrast bikin ku hun ve app-e di nav Telegram de vedikin -
+{t('wallet.authDescription')}
{authError && ({authError}
)} @@ -93,7 +93,7 @@ export function WalletSection() { className="px-6 py-3 bg-primary text-primary-foreground rounded-xl font-semibold flex items-center gap-2 mx-auto" >