32b4460b66
Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz словари (170 ключей, идентичная
вложенная структура) к существующим en/ru. lib/locales.ts — единый источник
списка локалей/дефолтной локали/RTL-набора вместо захардкоженного ["en","ru"]
в proxy.ts. language-switcher.tsx: переключение языка резало только
двухбуквенные коды регэкспом (/^\/[a-z]{2}/), из-за чего zh-CN никогда не
матчился и путь задваивался — заменено на honest-поиск по списку locales.
app/[lang]/layout.tsx — dir="rtl"/"ltr" на <html> по локали (SSR, в отличие
от реактивного клиентского переключения в netrunner-app). Header.tsx/
Footer.tsx — разбитое на три <span> имя бренда визуально переворачивалось
Flexbox'ом под dir=rtl ("VPNrunnerNet"), исправлено через dir="ltr" на
самом враппере.
BlogPreview/Faq/Pricing и обе blog-страницы: fallback на *_en-коллекцию
PocketBase, если для языка ещё нет переведённого контента (FAQ-ответы,
детали тарифов, посты блога не тянутся автоматически — это отдельный от
статических словарей CMS-контент), плюс i18n-ключи period1m/period6m/
period1y вместо захардкоженных ru/en-подписей периодов в Pricing.tsx.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
243 lines
9.4 KiB
JSON
243 lines
9.4 KiB
JSON
{
|
||
"nav": {
|
||
"features": "Özellikler",
|
||
"pricing": "Fiyatlandırma",
|
||
"faq": "SSS",
|
||
"blog": "Kayıtlar",
|
||
"terminal": "Terminal",
|
||
"docs": "Dokümantasyon",
|
||
"cta": "Netrunner'ı Al",
|
||
"profile": "Profil",
|
||
"menu": "Menu.exe",
|
||
"speedtest": "Tanılama",
|
||
"doom": "DOOM OS"
|
||
},
|
||
"hero": {
|
||
"badge": "Sistem izliyor",
|
||
"badgeSecure": "Güvenli tünel kuruldu",
|
||
"titleStart": "Sistem herkesi izliyor,",
|
||
"titleHighlight": "senin dışında.",
|
||
"subtitle": "Dijital iz gizlendi. Kayıtlar yok edildi. Hız sınırsız.",
|
||
"switchLabel": "Netrunner VPN",
|
||
"ctaPrimary": "İstemciyi İndir",
|
||
"ctaSecondary": "Node Listesi"
|
||
},
|
||
"features": {
|
||
"title": "Erişim Teknolojileri",
|
||
"items": [
|
||
{
|
||
"title": "DPI Atlatma ve uTLS",
|
||
"description": "Netrunner trafiği standart HTTPS olarak gizler. Derin Paket İncelemesi sistemleri yalnızca beyaz gürültü görür."
|
||
},
|
||
{
|
||
"title": "ChaCha20-Poly1305",
|
||
"description": "Perfect Forward Secrecy özellikli son teknoloji akış şifrelemesi. Oturum anahtarları dinamik olarak üretilir."
|
||
},
|
||
{
|
||
"title": "Uyarlanabilir Geri Basınç",
|
||
"description": "Tampon boyutları sistem RTT'sine göre dinamik olarak ölçeklenir. Gecikme sıçramalarını otomatik olarak önler."
|
||
},
|
||
{
|
||
"title": "Çok Platformlu Çekirdek",
|
||
"description": "Düşük seviyeli Rust çekirdeği, Android, Windows ve Linux'ta kusursuz uyumluluk ve sıfır ek yük sağlar. macOS ve iOS desteği geliştirme aşamasındadır."
|
||
},
|
||
{
|
||
"title": "Kendi Altyapımız",
|
||
"description": "Büyük bulut sağlayıcılarından kiralamak yerine kendi sunucularımızı işletiyoruz; düğümler arası akış çoklanmasıyla kararlı ve kara listeye almanın zor olduğu bir bağlantı sunuyoruz."
|
||
}
|
||
]
|
||
},
|
||
"pricing": {
|
||
"badge": "Fiyatlandırma Protokolleri",
|
||
"title": "Uplink'inizi Seçin",
|
||
"perMonth": "/ay",
|
||
"recommend": "Önerilen",
|
||
"syncing": "Node'lar Senkronize Ediliyor...",
|
||
"empty": "Kullanılabilir bağlantı bulunamadı.",
|
||
"discount": "İNDİRİM",
|
||
"mo": "/ay",
|
||
"billedOnce": "Tek seferlik ödeme:",
|
||
"period1m": "1 ay",
|
||
"period6m": "6 ay",
|
||
"period1y": "1 yıl"
|
||
},
|
||
"faq": {
|
||
"title": "Sistem Sorguları (SSS)",
|
||
"empty": "Kayıt bulunamadı."
|
||
},
|
||
"blog": {
|
||
"badge": "Veri Kayıtları",
|
||
"title": "Ağ Günlükleri",
|
||
"more": "Tüm girişler",
|
||
"readMore": "Devamını oku",
|
||
"empty": "Sinyal bulunamadı.",
|
||
"archive": "Terminal Arşivi",
|
||
"systemLogs": "Sistem Kayıtları",
|
||
"emptySector": "[Bu sektörde kayıt bulunamadı]",
|
||
"decrypt": "Girişin şifresini çöz →",
|
||
"backBtn": "cd ../logs",
|
||
"readTime": "Okuma: 4 dk",
|
||
"verified": "Doğrulandı: Netrunner",
|
||
"endTransmission": "İletim sonu // node_th_01"
|
||
},
|
||
"footer": {
|
||
"brand": "Netrunner VPN",
|
||
"tagline": "Sistem herkesi izliyor, senin dışında.",
|
||
"sections": {
|
||
"product": "Ürün",
|
||
"resources": "Kaynaklar",
|
||
"legal": "Yasal"
|
||
},
|
||
"links": {
|
||
"features": "Özellikler",
|
||
"pricing": "Fiyatlandırma",
|
||
"faq": "SSS",
|
||
"protocol": "Protokol",
|
||
"comms": "Blog",
|
||
"privacy": "Gizlilik",
|
||
"terms": "Koşullar",
|
||
"profile": "Profil"
|
||
},
|
||
"rights": "© 2026 Netrunner VPN. Tüm paketler şifrelenmiştir.",
|
||
"protocolStatus": "PROTOKOL // ŞİFRELİ ERİŞİM",
|
||
"uplinkStatus": "Uplink Durumu",
|
||
"activeNode": "Aktif Node",
|
||
"latency": "Gecikme (RTT)"
|
||
},
|
||
"download": {
|
||
"title": "Node Dağıtımı",
|
||
"subtitle": "Netrunner istemcisini dağıtmak için platformunuzu seçin.",
|
||
"badges": {
|
||
"active": "Kararlı Sürüm",
|
||
"dev": "Geliştiriliyor"
|
||
},
|
||
"buttons": {
|
||
"direct": "Doğrudan İndir",
|
||
"store": "Mağaza Bağlantısı",
|
||
"github": "Kaynak Kod",
|
||
"notify": "Bana Haber Ver",
|
||
"soon": "Yakında Mağazada",
|
||
"pending": "Derleme Bekleniyor"
|
||
},
|
||
"platforms": {
|
||
"windows": "Windows 10 / 11",
|
||
"android": "Android 8.0+",
|
||
"linux": "Ubuntu / Debian / Arch",
|
||
"macos": "macOS 12.0+",
|
||
"ios": "iOS 15.0+"
|
||
},
|
||
"accessingBuild": "Derleme_Sunucusuna_Erişiliyor..."
|
||
},
|
||
"terminal": {
|
||
"title": "KÜRESEL İLETİŞİM HATTI",
|
||
"description": "Genel iletişim kanalı. Sınırsız geçmiş.",
|
||
"alias": "TAKMA AD",
|
||
"message": "VERİ GİRİN...",
|
||
"send": "YAYINLA",
|
||
"systemReady": "SYSTEM_READY // UPLINK_SECURED",
|
||
"loadingHistory": "Arşiv yükleniyor...",
|
||
"noMoreLogs": "ARŞİVİN SONUNA ULAŞILDI",
|
||
"encrypting": "ŞİFRELENİYOR...",
|
||
"cooldown": "BEKLEME: {{time}}sn",
|
||
"manifestoTitle": "ÖZGÜR İLETİŞİM HATTI MANİFESTOSU // v1.0",
|
||
"manifestoText": "Bu terminal, Netrunner çekirdeğine doğrudan bir hattır. Kayıtları sansürsüz ve gerçek zamanlı olarak yayınlıyoruz, çünkü DPI'ı atlatabilen bir protokol gerçeklerden korkmamalı.",
|
||
"rulesTitle": "DAVRANIŞ PROTOKOLÜ:",
|
||
"rule1": "— Ön moderasyon yok. Mesajınız ağa anında ulaşır.",
|
||
"rule2": "— VPN eleştirisi, hata bildirimleri veya zor sorular — her şeye izin verilir.",
|
||
"rule3": "— Tek sınır: diğer ağ üyelerine doğrudan hakaret ve spam. Trol değil, siberpunk ol.",
|
||
"statusReady": "UPLINK_ESTABLISHED // NO_FILTERS_DETECTED"
|
||
},
|
||
"loading": {
|
||
"establishing": "Bağlantı kuruluyor"
|
||
},
|
||
"notFound": {
|
||
"errorBadge": "[ Hata: Node Bulunamadı ]",
|
||
"message": "Yönlendirme tablosunda istenen node bulunmuyor. İletim düşürüldü. Güvenli ağa geri dönün.",
|
||
"returnHome": "Ana Sayfaya Dön"
|
||
},
|
||
"nodes": {
|
||
"title": "Küresel Node Ağı",
|
||
"subtitle": "Netrunner sunucularının gerçek zamanlı topolojisi.",
|
||
"status": {
|
||
"online": "Çevrimiçi",
|
||
"full": "Dolu",
|
||
"maintenance": "Bakımda"
|
||
},
|
||
"labels": {
|
||
"load": "Sunucu Yükü",
|
||
"latency": "Gecikme"
|
||
}
|
||
},
|
||
"guestbook": {
|
||
"title": "COMM-LINK_",
|
||
"subtitle": "İletişim Terminali",
|
||
"description": "Netrunner node'larına doğrudan hat.",
|
||
"philosophyTitle": "Sıfır Sansür",
|
||
"philosophyText": "Netrunner'ı tüm engelleri aşmak için inşa ettik, bu yüzden sözlerinizden korkmuyoruz. Bu akış, ifade özgürlüğünün canlı bir kanıtıdır. Diğerleri geri bildirimleri gizlerken, biz onu gerçek zamanlı yayınlıyoruz. Protokolümüz DPI'a karşı duruyorsa, dürüstlüğünüze karşı da duracaktır.",
|
||
"liveFeed": "Canlı Akış (Son 50)",
|
||
"noTransmissions": "Aktif iletim bulunamadı.",
|
||
"labelAlias": "Takma Ad",
|
||
"labelPayload": "İçerik",
|
||
"placeholderAlias": "Guest_77",
|
||
"placeholderPayload": "İletim verisini girin...",
|
||
"statusSuccess": "Veri başarıyla iletildi.",
|
||
"statusErrorBreach": "Güvenlik ihlali. Bağlantı kesildi.",
|
||
"statusErrorEmpty": "Takma ad ve içerik gerekli.",
|
||
"statusErrorSize": "İçerik maksimum boyutu aşıyor.",
|
||
"statusErrorFirewall": "Güvenlik duvarı aktif. {{time}}sn bekleyin.",
|
||
"statusErrorOffline": "İletim başarısız. Node çevrimdışı.",
|
||
"statusErrorFilter": "⛔ Reddedildi: Mesajınız güvenlik politikamızı ihlal ediyor (küfür, spam veya zararlı içerik). Lütfen yeniden ifade edin.",
|
||
"btnEncrypting": "Şifreleniyor...",
|
||
"btnBroadcast": "Yayınla",
|
||
"cooldown": "Bekleme: {{time}}sn"
|
||
},
|
||
"auth": {
|
||
"title": "UPLINK YETKİLENDİRME",
|
||
"processing": "Kimlik bilgileri işleniyor...",
|
||
"verifying": "Kriptografik imza doğrulanıyor...",
|
||
"granted": "ERİŞİM İZNİ VERİLDİ",
|
||
"denied": "ERİŞİM REDDEDİLDİ",
|
||
"noToken": "Yetkilendirme jetonu bulunamadı. Lütfen Telegram'daki Netrunner Terminali üzerinden kimlik doğrulaması yapın.",
|
||
"redirecting": "Güvenli sektöre yönlendiriliyor...",
|
||
"toBot": "Telegram Terminalini Aç",
|
||
"awaiting": "KİMLİK BİLGİLERİ BEKLENİYOR",
|
||
"authPrompt": "Kontrol paneline erişmek için Telegram üzerinden güvenli bir bağlantı başlatın.",
|
||
"logs": {
|
||
"waitInit": "> [BEKLENİYOR] TELEGRAM GÜVENLİ GİRİŞİ BAŞLATILIYOR...",
|
||
"sigValid": "> [OK] İMZA GEÇERLİ",
|
||
"apiRejected": "> [BAŞARISIZ] API JETONU REDDETTİ",
|
||
"coreOffline": "> [BAŞARISIZ] ÇEKİRDEK ÇEVRİMDIŞI",
|
||
"authPayload": "> [AUTH] TELEGRAM VERİSİ ALINDI",
|
||
"verifyHmac": "> HMAC-SHA256 İMZASI DOĞRULANIYOR...",
|
||
"invalidSig": "> [BAŞARISIZ] GEÇERSİZ VEYA SÜRESİ DOLMUŞ İMZA",
|
||
"networkError": "> [BAŞARISIZ] AĞ HATASI"
|
||
}
|
||
},
|
||
"docs": {
|
||
"establishing": "Güvenli_bağlantı_kuruluyor...",
|
||
"vaultTitle": "DATA_VAULT",
|
||
"vaultSubtitle": "Sistem kayıtları ve dokümantasyon // V4.2",
|
||
"searchPlaceholder": "root@nrxp:~# grep -i ...",
|
||
"empty": "Bu sorgu için 0 kayıt bulundu",
|
||
"closeSession": "Oturumu Kapat",
|
||
"noContent": "İÇERİK_BULUNAMADI",
|
||
"eof": "EOF"
|
||
},
|
||
"speedtest": {
|
||
"title": "Uplink Tanılaması",
|
||
"mockMode": "Yerel Simülasyon Modu",
|
||
"prodMode": "Netrunner ağ geçidine karşı doğrudan ölçüm.",
|
||
"btnError": "SIRAYI YENİDEN DENE",
|
||
"btnDone": "UPLINK'İ YENİDEN BAŞLAT",
|
||
"btnIdle": "TESTİ BAŞLAT",
|
||
"statusPinging": "PING ATILIYOR",
|
||
"statusDownloading": "İNDİRİLİYOR",
|
||
"statusUploading": "YÜKLENİYOR",
|
||
"latency": "Gecikme",
|
||
"download": "İndirme",
|
||
"upload": "Yükleme",
|
||
"unitMs": "ms",
|
||
"unitMbps": "Mbps"
|
||
}
|
||
}
|