mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-12 08:41:02 +00:00
feat: Multi-language support (6 languages), Smart WebSocket fallback, Complete translations for nav/footer
This commit is contained in:
+18
-3
@@ -1,16 +1,31 @@
|
||||
import i18n from 'i18next';
|
||||
import { initReactI18next } from 'react-i18next';
|
||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||
import { enTranslations, trTranslations } from './translations';
|
||||
|
||||
// Import all language translations
|
||||
import enTranslations from './locales/en';
|
||||
import trTranslations from './locales/tr';
|
||||
import kmrTranslations from './locales/kmr';
|
||||
import ckbTranslations from './locales/ckb';
|
||||
import arTranslations from './locales/ar';
|
||||
import faTranslations from './locales/fa';
|
||||
|
||||
export const languages = {
|
||||
en: { name: 'English', flag: '🇬🇧', dir: 'ltr' },
|
||||
tr: { name: 'Türkçe', flag: '🇹🇷', dir: 'ltr' }
|
||||
tr: { name: 'Türkçe', flag: '🇹🇷', dir: 'ltr' },
|
||||
kmr: { name: 'Kurdî (Kurmancî)', flag: '☀️', dir: 'ltr' },
|
||||
ckb: { name: 'کوردی (سۆرانی)', flag: '☀️', dir: 'rtl' },
|
||||
ar: { name: 'العربية', flag: '🇸🇦', dir: 'rtl' },
|
||||
fa: { name: 'فارسی', flag: '🇮🇷', dir: 'rtl' }
|
||||
};
|
||||
|
||||
const resources = {
|
||||
en: { translation: enTranslations },
|
||||
tr: { translation: trTranslations }
|
||||
tr: { translation: trTranslations },
|
||||
kmr: { translation: kmrTranslations },
|
||||
ckb: { translation: ckbTranslations },
|
||||
ar: { translation: arTranslations },
|
||||
fa: { translation: faTranslations }
|
||||
};
|
||||
|
||||
i18n
|
||||
|
||||
+33
-6
@@ -2,18 +2,26 @@ export default {
|
||||
// Navigation
|
||||
'nav.home': 'الرئيسية',
|
||||
'nav.dashboard': 'لوحة التحكم',
|
||||
'nav.wallet': 'المحفظة',
|
||||
'nav.settings': 'الإعدادات',
|
||||
'nav.governance': 'الحوكمة',
|
||||
'nav.proposals': 'المقترحات',
|
||||
'nav.delegation': 'التفويض',
|
||||
'nav.treasury': 'الخزينة',
|
||||
'nav.staking': 'التخزين',
|
||||
'nav.forum': 'المنتدى',
|
||||
'nav.moderation': 'الإشراف',
|
||||
'nav.profile': 'الملف الشخصي',
|
||||
'nav.admin': 'المدير',
|
||||
'nav.admin': 'المسؤول',
|
||||
'nav.docs': 'التوثيق',
|
||||
'nav.login': 'تسجيل الدخول',
|
||||
'nav.logout': 'تسجيل الخروج',
|
||||
|
||||
// Hero Section
|
||||
'hero.title': 'منصة حوكمة البلوكشين',
|
||||
'hero.title': 'منصة الحوكمة بتقنية البلوكشين',
|
||||
'hero.subtitle': 'حوكمة ديمقراطية وشفافة بتقنية البلوكشين',
|
||||
'hero.cta.primary': 'ابدأ الآن',
|
||||
'hero.cta.secondary': 'اعرف المزيد',
|
||||
'hero.cta.secondary': 'معرفة المزيد',
|
||||
|
||||
// Auth
|
||||
'auth.login': 'تسجيل الدخول',
|
||||
@@ -23,7 +31,7 @@ export default {
|
||||
'auth.password': 'كلمة المرور',
|
||||
'auth.confirmPassword': 'تأكيد كلمة المرور',
|
||||
'auth.rememberMe': 'تذكرني',
|
||||
'auth.forgotPassword': 'نسيت كلمة المرور؟',
|
||||
'auth.forgotPassword': 'هل نسيت كلمة المرور؟',
|
||||
|
||||
// Wallet
|
||||
'wallet.connect': 'ربط المحفظة',
|
||||
@@ -36,10 +44,25 @@ export default {
|
||||
'governance.proposals': 'المقترحات',
|
||||
'governance.activeProposals': 'المقترحات النشطة',
|
||||
'governance.vote': 'التصويت',
|
||||
'governance.delegate': 'التفويض',
|
||||
'governance.delegate': 'المندوب',
|
||||
'governance.createProposal': 'إنشاء مقترح',
|
||||
'governance.votingPower': 'قوة التصويت',
|
||||
|
||||
// Treasury
|
||||
'treasury.title': 'الخزينة',
|
||||
'treasury.subtitle': 'إدارة أموال المجتمع',
|
||||
'treasury.overview': 'نظرة عامة',
|
||||
'treasury.proposals': 'المقترحات',
|
||||
'treasury.history': 'السجل',
|
||||
'treasury.approvals': 'الموافقات',
|
||||
|
||||
// Footer
|
||||
'footer.description': 'حوكمة لامركزية لكردستان',
|
||||
'footer.about': 'حول',
|
||||
'footer.developers': 'المطورون',
|
||||
'footer.community': 'المجتمع',
|
||||
'footer.rights': 'جميع الحقوق محفوظة',
|
||||
|
||||
// Common
|
||||
'common.loading': 'جاري التحميل...',
|
||||
'common.save': 'حفظ',
|
||||
@@ -55,5 +78,9 @@ export default {
|
||||
'common.next': 'التالي',
|
||||
'common.previous': 'السابق',
|
||||
'common.yes': 'نعم',
|
||||
'common.no': 'لا'
|
||||
'common.no': 'لا',
|
||||
'common.backToHome': 'العودة للرئيسية',
|
||||
|
||||
// Role
|
||||
'role': 'الدور'
|
||||
}
|
||||
+43
-16
@@ -2,32 +2,40 @@ export default {
|
||||
// Navigation
|
||||
'nav.home': 'سەرەتا',
|
||||
'nav.dashboard': 'داشبۆرد',
|
||||
'nav.wallet': 'جزدان',
|
||||
'nav.settings': 'ڕێکخستنەکان',
|
||||
'nav.governance': 'حوکمڕانی',
|
||||
'nav.treasury': 'خەزێنە',
|
||||
'nav.proposals': 'پێشنیارەکان',
|
||||
'nav.delegation': 'دیلیگەیشن',
|
||||
'nav.treasury': 'گەنجینە',
|
||||
'nav.staking': 'ستەیکینگ',
|
||||
'nav.forum': 'فۆرەم',
|
||||
'nav.forum': 'فۆرۆم',
|
||||
'nav.moderation': 'بەڕێوەبردنی ناوەڕۆک',
|
||||
'nav.profile': 'پرۆفایل',
|
||||
'nav.admin': 'بەڕێوەبەر',
|
||||
'nav.docs': 'بەڵگەنامە',
|
||||
'nav.login': 'چوونە ژوورەوە',
|
||||
'nav.logout': 'چوونە دەرەوە',
|
||||
|
||||
// Hero Section
|
||||
'hero.title': 'پلاتفۆرمی حوکمڕانی بلۆکچەین',
|
||||
'hero.subtitle': 'حوکمڕانی دیموکراتی و شەفاف بە تەکنەلۆژیای بلۆکچەین',
|
||||
'hero.cta.primary': 'دەست پێ بکە',
|
||||
'hero.cta.secondary': 'زیاتر بزانە',
|
||||
'hero.subtitle': 'حوکمڕانی دیموکراتیک و شەفاف بە تەکنەلۆژیای بلۆکچەین',
|
||||
'hero.cta.primary': 'دەستپێکردن',
|
||||
'hero.cta.secondary': 'زانیاری زیاتر',
|
||||
|
||||
// Auth
|
||||
'auth.login': 'چوونەژوورەوە',
|
||||
'auth.logout': 'دەرچوون',
|
||||
'auth.login': 'چوونە ژوورەوە',
|
||||
'auth.logout': 'چوونە دەرەوە',
|
||||
'auth.signup': 'تۆمارکردن',
|
||||
'auth.email': 'ئیمەیڵ',
|
||||
'auth.password': 'وشەی نهێنی',
|
||||
'auth.confirmPassword': 'دووبارەکردنەوەی وشەی نهێنی',
|
||||
'auth.rememberMe': 'بمهێنەوە یاد',
|
||||
'auth.forgotPassword': 'وشەی نهێنیت لەبیر چووە؟',
|
||||
'auth.rememberMe': 'بمهێڵەوە لە بیرت',
|
||||
'auth.forgotPassword': 'وشەی نهێنیم لەبیر چووە؟',
|
||||
|
||||
// Wallet
|
||||
'wallet.connect': 'جزدان بەستنەوە',
|
||||
'wallet.disconnect': 'پچڕاندن',
|
||||
'wallet.connect': 'بەستنەوەی جزدان',
|
||||
'wallet.disconnect': 'لابردنی بەستنەوە',
|
||||
'wallet.balance': 'باڵانس',
|
||||
'wallet.address': 'ناونیشان',
|
||||
'wallet.network': 'تۆڕ',
|
||||
@@ -37,23 +45,42 @@ export default {
|
||||
'governance.activeProposals': 'پێشنیارە چالاکەکان',
|
||||
'governance.vote': 'دەنگدان',
|
||||
'governance.delegate': 'نوێنەر',
|
||||
'governance.createProposal': 'پێشنیار دروست بکە',
|
||||
'governance.createProposal': 'دروستکردنی پێشنیار',
|
||||
'governance.votingPower': 'هێزی دەنگدان',
|
||||
|
||||
// Treasury
|
||||
'treasury.title': 'گەنجینە',
|
||||
'treasury.subtitle': 'بەڕێوەبردنی سامانی کۆمەڵگا',
|
||||
'treasury.overview': 'تێڕوانینی گشتی',
|
||||
'treasury.proposals': 'پێشنیارەکان',
|
||||
'treasury.history': 'مێژوو',
|
||||
'treasury.approvals': 'پەسەندکراوەکان',
|
||||
|
||||
// Footer
|
||||
'footer.description': 'حوکمڕانی لامەرکەزی بۆ کوردستان',
|
||||
'footer.about': 'دەربارە',
|
||||
'footer.developers': 'گەشەپێدەران',
|
||||
'footer.community': 'کۆمەڵگا',
|
||||
'footer.rights': 'هەموو مافێک پارێزراوە',
|
||||
|
||||
// Common
|
||||
'common.loading': 'چاوەڕوان بە...',
|
||||
'common.loading': 'بارکردن...',
|
||||
'common.save': 'پاشەکەوتکردن',
|
||||
'common.cancel': 'هەڵوەشاندنەوە',
|
||||
'common.confirm': 'دڵنیاکردنەوە',
|
||||
'common.confirm': 'پشتڕاستکردنەوە',
|
||||
'common.delete': 'سڕینەوە',
|
||||
'common.edit': 'دەستکاریکردن',
|
||||
'common.search': 'گەڕان',
|
||||
'common.filter': 'فلتەر',
|
||||
'common.filter': 'پاڵاوتن',
|
||||
'common.sort': 'ڕیزکردن',
|
||||
'common.submit': 'ناردن',
|
||||
'common.back': 'گەڕانەوە',
|
||||
'common.next': 'دواتر',
|
||||
'common.previous': 'پێشوو',
|
||||
'common.yes': 'بەڵێ',
|
||||
'common.no': 'نەخێر'
|
||||
'common.no': 'نەخێر',
|
||||
'common.backToHome': 'گەڕانەوە بۆ سەرەتا',
|
||||
|
||||
// Role
|
||||
'role': 'ڕۆڵ'
|
||||
}
|
||||
+36
-9
@@ -1,19 +1,27 @@
|
||||
export default {
|
||||
// Navigation
|
||||
'nav.home': 'خانه',
|
||||
'nav.home': 'صفحه اصلی',
|
||||
'nav.dashboard': 'داشبورد',
|
||||
'nav.wallet': 'کیف پول',
|
||||
'nav.settings': 'تنظیمات',
|
||||
'nav.governance': 'حکمرانی',
|
||||
'nav.proposals': 'پیشنهادات',
|
||||
'nav.delegation': 'نمایندگی',
|
||||
'nav.treasury': 'خزانه',
|
||||
'nav.staking': 'استیکینگ',
|
||||
'nav.forum': 'انجمن',
|
||||
'nav.moderation': 'مدیریت محتوا',
|
||||
'nav.profile': 'پروفایل',
|
||||
'nav.admin': 'مدیر',
|
||||
'nav.admin': 'مدیریت',
|
||||
'nav.docs': 'مستندات',
|
||||
'nav.login': 'ورود',
|
||||
'nav.logout': 'خروج',
|
||||
|
||||
// Hero Section
|
||||
'hero.title': 'پلتفرم حکمرانی بلاکچین',
|
||||
'hero.subtitle': 'حکمرانی دموکراتیک و شفاف با فناوری بلاکچین',
|
||||
'hero.subtitle': 'حکمرانی دموکراتیک و شفاف با تکنولوژی بلاکچین',
|
||||
'hero.cta.primary': 'شروع کنید',
|
||||
'hero.cta.secondary': 'بیشتر بدانید',
|
||||
'hero.cta.secondary': 'اطلاعات بیشتر',
|
||||
|
||||
// Auth
|
||||
'auth.login': 'ورود',
|
||||
@@ -21,7 +29,7 @@ export default {
|
||||
'auth.signup': 'ثبت نام',
|
||||
'auth.email': 'ایمیل',
|
||||
'auth.password': 'رمز عبور',
|
||||
'auth.confirmPassword': 'تایید رمز عبور',
|
||||
'auth.confirmPassword': 'تکرار رمز عبور',
|
||||
'auth.rememberMe': 'مرا به خاطر بسپار',
|
||||
'auth.forgotPassword': 'رمز عبور را فراموش کردهاید؟',
|
||||
|
||||
@@ -35,16 +43,31 @@ export default {
|
||||
// Governance
|
||||
'governance.proposals': 'پیشنهادات',
|
||||
'governance.activeProposals': 'پیشنهادات فعال',
|
||||
'governance.vote': 'رای دادن',
|
||||
'governance.vote': 'رأی دادن',
|
||||
'governance.delegate': 'نماینده',
|
||||
'governance.createProposal': 'ایجاد پیشنهاد',
|
||||
'governance.votingPower': 'قدرت رای',
|
||||
'governance.votingPower': 'قدرت رأی',
|
||||
|
||||
// Treasury
|
||||
'treasury.title': 'خزانه',
|
||||
'treasury.subtitle': 'مدیریت منابع جامعه',
|
||||
'treasury.overview': 'نمای کلی',
|
||||
'treasury.proposals': 'پیشنهادات',
|
||||
'treasury.history': 'تاریخچه',
|
||||
'treasury.approvals': 'تأییدیهها',
|
||||
|
||||
// Footer
|
||||
'footer.description': 'حکمرانی غیرمتمرکز برای کردستان',
|
||||
'footer.about': 'درباره',
|
||||
'footer.developers': 'توسعهدهندگان',
|
||||
'footer.community': 'جامعه',
|
||||
'footer.rights': 'تمامی حقوق محفوظ است',
|
||||
|
||||
// Common
|
||||
'common.loading': 'در حال بارگذاری...',
|
||||
'common.save': 'ذخیره',
|
||||
'common.cancel': 'لغو',
|
||||
'common.confirm': 'تایید',
|
||||
'common.confirm': 'تأیید',
|
||||
'common.delete': 'حذف',
|
||||
'common.edit': 'ویرایش',
|
||||
'common.search': 'جستجو',
|
||||
@@ -55,5 +78,9 @@ export default {
|
||||
'common.next': 'بعدی',
|
||||
'common.previous': 'قبلی',
|
||||
'common.yes': 'بله',
|
||||
'common.no': 'خیر'
|
||||
'common.no': 'خیر',
|
||||
'common.backToHome': 'بازگشت به صفحه اصلی',
|
||||
|
||||
// Role
|
||||
'role': 'نقش'
|
||||
}
|
||||
+50
-23
@@ -1,33 +1,41 @@
|
||||
export default {
|
||||
// Navigation
|
||||
'nav.home': 'Destpêk',
|
||||
'nav.home': 'Malper',
|
||||
'nav.dashboard': 'Panela Kontrolê',
|
||||
'nav.wallet': 'Berîk',
|
||||
'nav.settings': 'Mîhengên',
|
||||
'nav.governance': 'Rêveberî',
|
||||
'nav.proposals': 'Pêşniyar',
|
||||
'nav.delegation': 'Delegasyon',
|
||||
'nav.treasury': 'Xezîne',
|
||||
'nav.staking': 'Staking',
|
||||
'nav.forum': 'Forum',
|
||||
'nav.moderation': 'Rêveberiya Naverokê',
|
||||
'nav.profile': 'Profîl',
|
||||
'nav.admin': 'Rêvebir',
|
||||
'nav.docs': 'Belgekirin',
|
||||
'nav.login': 'Têketin',
|
||||
'nav.logout': 'Derkevtin',
|
||||
|
||||
// Hero Section
|
||||
'hero.title': 'Platforma Rêveberiya Blockchain',
|
||||
'hero.subtitle': 'Rêveberiya demokratîk û şeffaf a bi teknolojiya blockchain',
|
||||
'hero.cta.primary': 'Dest Pê Bike',
|
||||
'hero.cta.secondary': 'Zêdetir Bizane',
|
||||
'hero.subtitle': 'Rêveberiya demokratîk û zelal bi teknolojiya blockchain',
|
||||
'hero.cta.primary': 'Destpêkirin',
|
||||
'hero.cta.secondary': 'Zêdetir Zanîn',
|
||||
|
||||
// Auth
|
||||
'auth.login': 'Têkeve',
|
||||
'auth.logout': 'Derkeve',
|
||||
'auth.signup': 'Tomar Bibe',
|
||||
'auth.email': 'E-peyam',
|
||||
'auth.login': 'Têketin',
|
||||
'auth.logout': 'Derkevtin',
|
||||
'auth.signup': 'Tomar bibe',
|
||||
'auth.email': 'E-posta',
|
||||
'auth.password': 'Şîfre',
|
||||
'auth.confirmPassword': 'Şîfreyê Piştrast Bike',
|
||||
'auth.confirmPassword': 'Şîfreya Dubare',
|
||||
'auth.rememberMe': 'Min bi bîr bîne',
|
||||
'auth.forgotPassword': 'Şîfreya min ji bîr kir?',
|
||||
'auth.forgotPassword': 'Şîfreya xwe ji bîr kir?',
|
||||
|
||||
// Wallet
|
||||
'wallet.connect': 'Wallet Girê Bide',
|
||||
'wallet.disconnect': 'Veqetîne',
|
||||
'wallet.connect': 'Berîkê Girêbide',
|
||||
'wallet.disconnect': 'Girêdanê Rake',
|
||||
'wallet.balance': 'Balans',
|
||||
'wallet.address': 'Navnîşan',
|
||||
'wallet.network': 'Tor',
|
||||
@@ -35,25 +43,44 @@ export default {
|
||||
// Governance
|
||||
'governance.proposals': 'Pêşniyar',
|
||||
'governance.activeProposals': 'Pêşniyarên Çalak',
|
||||
'governance.vote': 'Deng Bide',
|
||||
'governance.delegate': 'Temsîlkar',
|
||||
'governance.createProposal': 'Pêşniyar Biafirîne',
|
||||
'governance.vote': 'Deng Bidin',
|
||||
'governance.delegate': 'Nûner',
|
||||
'governance.createProposal': 'Pêşniyarek Çêbikin',
|
||||
'governance.votingPower': 'Hêza Dengdanê',
|
||||
|
||||
// Treasury
|
||||
'treasury.title': 'Xezîne',
|
||||
'treasury.subtitle': 'Fonên civakê rêve bibin',
|
||||
'treasury.overview': 'Gihştin Giştî',
|
||||
'treasury.proposals': 'Pêşniyar',
|
||||
'treasury.history': 'Dîrok',
|
||||
'treasury.approvals': 'Pejirandin',
|
||||
|
||||
// Footer
|
||||
'footer.description': 'Rêveberiya merkezî tune ji bo Kurdistan',
|
||||
'footer.about': 'Derbarê',
|
||||
'footer.developers': 'Pêşvebikar',
|
||||
'footer.community': 'Civak',
|
||||
'footer.rights': 'Hemû mafên parastin',
|
||||
|
||||
// Common
|
||||
'common.loading': 'Tê barkirin...',
|
||||
'common.save': 'Tomar Bike',
|
||||
'common.cancel': 'Betal',
|
||||
'common.confirm': 'Piştrast Bike',
|
||||
'common.delete': 'Jê Bibe',
|
||||
'common.edit': 'Biguherîne',
|
||||
'common.save': 'Tomar bike',
|
||||
'common.cancel': 'Betal bike',
|
||||
'common.confirm': 'Piştrast bike',
|
||||
'common.delete': 'Jê bibe',
|
||||
'common.edit': 'Sererast bike',
|
||||
'common.search': 'Lêgerîn',
|
||||
'common.filter': 'Parzûn',
|
||||
'common.sort': 'Rêz Bike',
|
||||
'common.filter': 'Parzûn bike',
|
||||
'common.sort': 'Rêz bike',
|
||||
'common.submit': 'Bişîne',
|
||||
'common.back': 'Paşve',
|
||||
'common.next': 'Pêşve',
|
||||
'common.previous': 'Berê',
|
||||
'common.yes': 'Erê',
|
||||
'common.no': 'Na'
|
||||
'common.no': 'Na',
|
||||
'common.backToHome': 'Vegere Malperê',
|
||||
|
||||
// Role
|
||||
'role': 'Rol'
|
||||
}
|
||||
+29
-2
@@ -2,12 +2,20 @@ export default {
|
||||
// Navigation
|
||||
'nav.home': 'Ana Sayfa',
|
||||
'nav.dashboard': 'Kontrol Paneli',
|
||||
'nav.wallet': 'Cüzdan',
|
||||
'nav.settings': 'Ayarlar',
|
||||
'nav.governance': 'Yönetişim',
|
||||
'nav.proposals': 'Teklifler',
|
||||
'nav.delegation': 'Delegasyon',
|
||||
'nav.treasury': 'Hazine',
|
||||
'nav.staking': 'Staking',
|
||||
'nav.staking': 'Stake Etme',
|
||||
'nav.forum': 'Forum',
|
||||
'nav.moderation': 'Moderasyon',
|
||||
'nav.profile': 'Profil',
|
||||
'nav.admin': 'Yönetici',
|
||||
'nav.docs': 'Dokümantasyon',
|
||||
'nav.login': 'Giriş Yap',
|
||||
'nav.logout': 'Çıkış Yap',
|
||||
|
||||
// Hero Section
|
||||
'hero.title': 'Blockchain Yönetişim Platformu',
|
||||
@@ -40,6 +48,21 @@ export default {
|
||||
'governance.createProposal': 'Öneri Oluştur',
|
||||
'governance.votingPower': 'Oy Gücü',
|
||||
|
||||
// Treasury
|
||||
'treasury.title': 'Hazine',
|
||||
'treasury.subtitle': 'Topluluk fonlarını yönetin',
|
||||
'treasury.overview': 'Genel Bakış',
|
||||
'treasury.proposals': 'Teklifler',
|
||||
'treasury.history': 'Geçmiş',
|
||||
'treasury.approvals': 'Onaylar',
|
||||
|
||||
// Footer
|
||||
'footer.description': 'Kürdistan için merkezi olmayan yönetişim',
|
||||
'footer.about': 'Hakkında',
|
||||
'footer.developers': 'Geliştiriciler',
|
||||
'footer.community': 'Topluluk',
|
||||
'footer.rights': 'Tüm hakları saklıdır',
|
||||
|
||||
// Common
|
||||
'common.loading': 'Yükleniyor...',
|
||||
'common.save': 'Kaydet',
|
||||
@@ -55,5 +78,9 @@ export default {
|
||||
'common.next': 'İleri',
|
||||
'common.previous': 'Önceki',
|
||||
'common.yes': 'Evet',
|
||||
'common.no': 'Hayır'
|
||||
'common.no': 'Hayır',
|
||||
'common.backToHome': 'Ana Sayfaya Dön',
|
||||
|
||||
// Role
|
||||
'role': 'Rol'
|
||||
}
|
||||
Reference in New Issue
Block a user