diff --git a/src/components/LanguageToggle.tsx b/src/components/LanguageToggle.tsx index 0622577..c4a9efd 100644 --- a/src/components/LanguageToggle.tsx +++ b/src/components/LanguageToggle.tsx @@ -32,6 +32,7 @@ const languages: LanguageOption[] = [ { code: 'ja', name: 'Japanese', nativeName: '日本語', flag: '🇯🇵' }, { code: 'zh-CN', name: 'Chinese (Simplified)', nativeName: '简体中文', flag: '🇨🇳' }, { code: 'zh-TW', name: 'Chinese (Traditional)', nativeName: '繁體中文', flag: '🇹🇼' }, + { code: 'tr', name: 'Turkish', nativeName: 'Türkçe', flag: '🇹🇷' }, ]; interface LanguageToggleProps { diff --git a/src/i18n/tr/batch1.ts b/src/i18n/tr/batch1.ts index 29cbb0d..9508385 100644 --- a/src/i18n/tr/batch1.ts +++ b/src/i18n/tr/batch1.ts @@ -1,4 +1,290 @@ -/** tr — batch 1. Filled by the translation pass; empty until then. */ -const trBatch1 = {}; +/** tr — batch 1 (common, nav, chromeUi, desktopNav, navSheet, pwa, home, about, faq, onboarding). */ +const trBatch1 = { + common: { + loading: "Yükleniyor...", + error: "Hata", + save: "Kaydet", + cancel: "İptal", + delete: "Sil", + edit: "Düzenle", + add: "Ekle", + remove: "Kaldır", + create: "Oluştur", + submit: "Gönder", + close: "Kapat", + back: "Geri", + next: "İleri", + done: "Bitti", + search: "Ara", + filter: "Filtrele", + sort: "Sırala", + share: "Paylaş", + more: "Daha fazla", + copy: "Kopyala", + copied: "Kopyalandı!", + viewAll: "Tümünü Gör", + seeMore: "Daha Fazla Gör", + showMore: "Daha Fazla Göster", + showLess: "Daha Az Göster", + noResults: "Sonuç bulunamadı", + tryAgain: "Tekrar Dene", + learnMore: "Daha Fazla Bilgi", + getStarted: "Başla", + yes: "Evet", + no: "Hayır", + or: "veya", + and: "ve", + free: "Ücretsiz", + new: "Yeni", + popular: "Popüler", + featured: "Öne Çıkan", + verified: "Doğrulanmış", + sats: "sats", + clear: "Temizle", + clearFilters: "Filtreleri Temizle", + clearAll: "Tümünü Temizle", + hide: "Gizle", + undo: "Geri Al", + }, + nav: { + home: "Ana Sayfa", + map: "Spotlar", + lab: "The Lab", + events: "Etkinlikler", + crews: "Crew'ler", + wallet: "Cüzdan", + settings: "Ayarlar", + more: "Daha fazla", + rewards: "Ödüller", + stats: "Topluluk İstatistikleri", + about: "Hakkında", + food: "Yemek", + marketplace: "Pazar Yeri", + mints: "Mint'ler", + appShop: "Uygulama Mağazası", + diy: "DIY", + trades: "Pazar Yeri", + stash: "Stash", + collections: "Koleksiyonlar", + contacts: "Kişiler", + messages: "Mesajlar", + skaters: "Kaykaycılar", + glossary: "Sözlük", + riderCard: "Rider Kartı", + supporters: "Destekçiler ⚡", + newsletter: "Bülten", + viewProfile: "Profili Görüntüle", + leaderboards: "Lider Tabloları", + }, + chromeUi: { + skipToContent: "İçeriğe geç", + menu: "Menü", + inBadge: "Giriş", + loggedIn: "Giriş Yapıldı", + profile: "Profil", + logIn: "Giriş Yap", + logOut: "Çıkış Yap", + notLoggedIn: "Giriş Yapılmadı", + loggedOutPrompt: "Spot eklemek, kaykaycılara zap göndermek ve favorilerinizi kaydetmek için giriş yapın", + accounts: "Hesaplar", + addAnotherAccount: "Başka hesap ekle", + setStatus: "Durum Belirle", + setYourStatus: "Durumunu Belirle", + status: "Durum", + addSpot: "Spot Ekle", + myData: "Verilerim", + myStash: "Stash'im", + myCollections: "Koleksiyonlarım", + viewMyProfile: "Profilimi görüntüle", + customizeNavBar: "Gezinme çubuğunu özelleştir", + ecash: "Ecash", + madeWith: "İle yapıldı", + forSkateCommunity: "kaykay topluluğu için", + beta: "Beta", + license: "Lisans", + privacy: "Gizlilik", + collaborators: "İş Birlikçiler ve Dostlar", + notSponsoredBy: "Sponsor değil:", + errorTitle: "Bu yüklenemedi", + errorDescription: "Ağ isteği başarısız oldu. Bağlantınızı kontrol edip tekrar deneyin.", + tryAgain: "Tekrar dene", + weatherOn: "Hava Durumu Açık", + weatherOff: "Hava Durumu Kapalı", + trustFilter: "Güven Filtresi", + filterByTrustLevel: "Güven Seviyesine Göre Filtrele", + trust: { + all: "Tüm Kullanıcılar", + allDesc: "Herkesin içeriğini göster", + verified: "Doğrulanmış", + verifiedDesc: "Onları takip ediyorsunuz veya doğrulanmışlar (güven ≥90)", + trusted: "Güvenilir", + trustedDesc: "Arkadaşların arkadaşları veya NIP-05 doğrulanmış (güven ≥60)", + following: "Yalnızca Takip Edilenler", + followingDesc: "Yalnızca takip ettiğiniz kişilerin içeriğini göster", + followingShort: "Takip edilenler", + }, + sort: { + recent: "En Yeni", + recentDesc: "En yeniler önce", + trust: "En Yüksek Güven", + trustDesc: "En güvenilir içerik üreticileri", + proximity: "Bana En Yakın", + proximityDesc: "En yakın konumlar", + popular: "En Popüler", + popularDesc: "En çok yorum/tepki", + zaps: "En Çok Zap Alan", + zapsDesc: "En yüksek alınan değer", + }, + spotType: { + street: "Sokak", + transition: "Transition", + park: "Park", + plaza: "Meydan", + diy: "DIY", + bowl: "Bowl", + vert: "Vert", + indoor: "Kapalı Alan", + skatepark: "Skatepark", + miniramp: "Mini Ramp", + }, + }, + desktopNav: { + title: "Masaüstü gezinme", + desc: "Üst çubukta hangi sekmelerin görüneceğini ve sıralarını seçin. Gizli sekmeler yine “Daha fazla” menüsünde bulunur.", + fixed: "Sabit", + shownInTopBar: "Üst çubukta gösterilen ({{count}})", + noExtraTabs: "Gösterilecek ek sekme yok — her şey “Daha fazla” menüsünde. Aşağıdan birkaç tane ekleyin.", + inMoreMenu: "“Daha fazla” menüsünde ({{count}})", + moveUp: "{{name}} yukarı taşı", + moveDown: "{{name}} aşağı taşı", + hide: "{{name}} gizle", + moveToMore: "Daha fazla menüsüne taşı", + show: "Göster", + showInTopBar: "{{name}} üst çubukta göster", + showInTopBarTitle: "Üst çubukta göster", + reset: "Varsayılana sıfırla", + }, + navSheet: { + title: "Çubuğunu özelleştir", + desc: "En çok kullandığınız {{count}} sekmeyi seçin. Geri kalan her şey menüde kalır.", + preview: "Önizleme", + empty: "Boş", + order: "Sıralama ({{done}}/{{total}})", + available: "Kullanılabilir sekmeler", + full: "Çubuk doldu — değiştirmek için birini kaldır", + moveUp: "{{name}} yukarı taşı", + moveDown: "{{name}} aşağı taşı", + login: "Giriş yap", + profile: "Profil", + reset: "Sıfırla", + done: "Bitti", + }, + pwa: { + installTitle: "SkateSpots'u Yükle", + installSubtitle: "Tam uygulama deneyimini edin", + addToHomeScreen: "Ana Ekrana Ekle", + installApp: "Uygulamayı Yükle", + maybeLater: "Belki sonra", + gotIt: "Anladım!", + benefits: { + fast: "Yıldırım Hızında", + offline: "Çevrimdışı Çalışır", + fullAccess: "Tam Erişim", + }, + iosStep1: "Paylaş düğmesine dokunun", + iosStep1Hint: "Safari'nin alt kısmında", + iosStep2: "Kaydırın ve “Ana Ekrana Ekle”ye dokunun", + iosStep2Hint: "paylaş menüsünde", + iosStep3: "Yüklemek için “Ekle”ye dokunun", + iosStep3Hint: "Uygulama ana ekranınızda görünecek", + androidStep1: "Menü düğmesine dokunun", + androidStep1Hint: "tarayıcınızda (üç nokta)", + androidStep2: "“Ana Ekrana Ekle”yi seçin", + androidStep2Hint: "veya “Uygulamayı Yükle”", + androidStep3: "Yüklemeyi onaylayın", + androidStep3Hint: "Uygulama ana ekranınızda görünecek", + tagline: "Ücretsiz • Çevrimdışı çalışır • Hızlı ve güvenilir", + }, + home: { + tagline: "Topluluk Destekli • Relay Tabanlı", + title: "SKATE SPOTS", + subtitle: "Spotları Keşfet • Buluş • Trick Öğren • Yerelleri Destekle", + description: "Gerçek kaykay çevrimdışı gerçekleşir - bu araç onu bulmanıza yardımcı olur.", + betaWarning: "BETA - Yapım Aşamasında • Kendi Sorumluluğunuzda Kullanın", + pwaHint: "Progressive Web App - Cihazınıza Yükleyin", + exploreMap: "Haritayı Keşfet", + addSpot: "Spot Ekle", + globalSpots: "Küresel Spotlar", + openCommunity: "Açık Topluluk", + lightningZaps: "Lightning Zap'ları", + featuredSpots: "Öne Çıkan Spotlar", + featuredSpotsDesc: "Dünyanın her yerinden topluluk tarafından doğrulanmış kaykay spotları", + upcomingEvents: "Yaklaşan Etkinlikler", + upcomingEventsDesc: "Yakında gerçekleşecek yarışmalar, buluşmalar ve seanslar", + noSpotsYet: "Henüz spot bulunamadı", + noSpotsHint: "İlk kaykay spotunu ekleyen siz olun!", + noEventsYet: "Yaklaşan etkinlik yok", + noEventsHint: "Daha sonra tekrar kontrol edin veya bir tane oluşturun!", + theLab: "The Lab", + theLabDesc: "Trick öğrenin, koç bulun ve kaykayınızı geliştirin", + coaches: "Koçlar", + coachesDesc: "Gelişmenize yardımcı olabilecek deneyimli kaykaycılardan öğrenin", + filmers: "Filmer'lar", + filmersDesc: "En iyi kliplerinizi çekmek için filmer'larla bağlantı kurun", + findCoach: "Koç Bul", + becomeCoach: "Koç Ol", + findFilmer: "Filmer Bul", + becomeFilmer: "Filmer Ol", + viewAllSpots: "Tüm Spotları Gör", + viewAllEvents: "Tüm Etkinlikleri Gör", + createEvent: "Etkinlik Oluştur", + readyToShare: "Paylaşmaya Hazır mısınız?", + readyToShareDesc: "En sevdiğiniz spotları ekleyerek kaykay topluluğunun büyümesine yardımcı olun. Paylaştığınız her konum, diğer kaykaycıların yeni yerler keşfetmesine yardımcı olur.", + }, + about: { + title: "SkateSpots Hakkında", + subtitle: "Merkeziyetsiz bir kaykay topluluğu", + whatIs: "SkateSpots nedir?", + whatIsDesc: "SkateSpots, dünya çapında kaykay konumlarını keşfetmek için topluluk destekli bir platformdur. Nostr üzerine kuruludur ve kaykaycılara verilerinin gerçek sahipliğini verir.", + features: "Özellikler", + featuresDesc: "Spotlar bulun, etkinlikler oluşturun, koçlarla bağlantı kurun ve yerel kaykay dükkanlarınızı destekleyin—hepsi tek bir yerde.", + nostr: "Nostr Üzerine Kurulu", + nostrDesc: "Nostr, gerçekten sansüre dirençli küresel iletişimi mümkün kılan basit, açık bir protokoldür. Hesabınız ve verileriniz size aittir.", + openSource: "Açık Kaynak", + openSourceDesc: "SkateSpots tamamen açık kaynaklıdır. Katkıda bulunun, çatallayın veya kendi örneğinizi çalıştırın.", + lightning: "Lightning Ödemeleri", + lightningDesc: "En sevdiğiniz kaykaycılara, koçlara ve içerik üreticilerine Bitcoin Lightning ödemeleriyle zap gönderin.", + }, + faq: { + title: "Sıkça Sorulan Sorular", + subtitle: "SkateSpots hakkında bilmeniz gereken her şey", + whatIsNostr: "Nostr nedir?", + whatIsNostrAnswer: "Nostr, merkeziyetsiz sosyal ağ için açık bir protokoldür. Geleneksel platformların aksine, verileriniz ve kimliğiniz size aittir.", + howToStart: "Nasıl başlarım?", + howToStartAnswer: "Yeni bir Nostr hesabı oluşturmak için “Kaydol”a tıklayın veya zaten bir hesabınız varsa “Giriş Yap”a tıklayın. Bir tarayıcı uzantısı, mobil uygulama veya gizli anahtar kullanabilirsiniz.", + whatAreZaps: "Zap nedir?", + whatAreZapsAnswer: "Zap'lar diğer kullanıcılara gönderebileceğiniz Bitcoin Lightning bahşişleridir. Harika içeriğe takdirinizi göstermenin veya içerik üreticilerini desteklemenin bir yoludur.", + howToAddSpot: "Nasıl spot eklerim?", + howToAddSpotAnswer: "Hesabınıza giriş yapın, “Spot Ekle”ye tıklayın ve konum, fotoğraflar ve açıklama dahil ayrıntıları doldurun.", + isItFree: "SkateSpots ücretsiz mi?", + isItFreeAnswer: "Evet! SkateSpots kullanımı tamamen ücretsizdir. İsteğe bağlı olarak diğer kullanıcılara Zap (Bitcoin bahşiş) gönderebilirsiniz.", + canIEditSpot: "Spotlarımı düzenleyebilir veya silebilir miyim?", + canIEditSpotAnswer: "Evet, oluşturduğunuz spotları düzenleyebilirsiniz. Nostr'ın merkeziyetsiz doğası nedeniyle silme istekleri gönderilir ancak bazı relay'ler verileri saklayabilir.", + }, + onboarding: { + welcome: "SkateSpots'a Hoş Geldiniz!", + welcomeDesc: "Sizi birkaç adımda hazırlayalım.", + step1Title: "Hesabınızı Oluşturun", + step1Desc: "Nostr anahtarlarınız oluşturuluyor. Bu, kontrol ettiğiniz bir şifre gibidir.", + step2Title: "Anahtarlarınızı Yedekleyin", + step2Desc: "Kurtarma ifadenizi güvenli bir yere kaydedin. Hesabınızı kurtarmanın tek yolu budur!", + step3Title: "Profilinizi Ayarlayın", + step3Desc: "Topluluğa kendinizden bahsedin.", + step4Title: "Hazırsınız!", + step4Desc: "Spotları, etkinlikleri keşfetmeye ve kaykaycılarla bağlantı kurmaya başlayın.", + skipForNow: "Şimdilik atla", + continueToApp: "Uygulamaya Devam Et", + }, +}; export default trBatch1; diff --git a/src/i18n/tr/batch2.ts b/src/i18n/tr/batch2.ts index 94a8005..74738ed 100644 --- a/src/i18n/tr/batch2.ts +++ b/src/i18n/tr/batch2.ts @@ -1,4 +1,1653 @@ -/** tr — batch 2. Filled by the translation pass; empty until then. */ -const trBatch2 = {}; +/** tr — batch 2 (mapUi, mapPage, spotUi, diyUi, labelsUi, feesUi, cardUi, routeUi, sasquatchUi, sasquatchChat). */ +const trBatch2: Record = { + mapUi: { + mapFooter: { + links: "Bağlantılar", + hide: "Harita bağlantı çubuğunu gizle", + }, + findingSpots: "Spotlar bulunuyor", + loadingSpots: "Spotlar yükleniyor", + loadingMap: "Harita yükleniyor...", + mapViewAria: "Harita görünümü", + listViewAria: "Liste görünümü", + layers: "Katmanlar", + mapLayers: "Harita katmanları", + showOnMap: "Haritada Göster", + showResults: "Sonuçları Göster", + quickActions: "Hızlı İşlemler", + spots: "Spotlar", + shops: "Dükkanlar", + gear: "Ekipman", + tours: "Turlar", + events: "Etkinlikler", + crews: "Crew'lar", + spotType: "Spot Türü", + sortBy: "Sırala", + trustLevel: "Güven Seviyesi", + weather: "Hava Durumu", + buySellGear: "Ekipman Al/Sat", + stash: "Stash", + more: "Daha fazla", + newHere: "Yeni misin?", + welcomeDesc: "Kaykay spotlarını, etkinlikleri ve topluluğu keşfet.", + getOnZapstore: "Zapstore'dan indir", + dismiss: "Kapat", + addedBy: "Ekleyen", + directions: "Yol Tarifi", + viewDetails: "Detayları Gör", + viewDetailsArrow: "Detayları Gör →", + spotDetails: "Spot detayları", + skateShop: "Kaykay Dükkanı", + skateSpot: "Kaykay Spotu", + youAreHere: "Buradasın", + conditions: "Koşullar", + weatherScoreSuffix: "{{score}}/100 hava", + wind: "Rüzgar", + humidity: "Nem", + airQuality: "Hava kalitesi", + threeDayForecast: "3 Günlük Tahmin", + gearForSale: "Satılık ekipman ({{count}})", + viewItems: "Ürünleri Gör →", + viewAllItems: "{{count}} Ürünün Tümünü Gör →", + viewGear: "Ekipmanı Gör →", + localTour: "Yerel Tur", + meetAt: "Buluşma: {{place}}", + hours: "{{count}} saat", + level: "{{level}} seviye", + viewTour: "Turu Gör →", + upcomingEvent: "Yaklaşan Etkinlik", + viewEvent: "Etkinliği Gör →", + skateCrew: "Kaykay Crew'u", + members: "{{count}} üye", + since: "{{year}}'den beri", + viewCrew: "Crew'u Gör →", + acceptsBitcoin: "Bitcoin Kabul Ediyor", + boosted: "Öne Çıkarıldı", + website: "Web Sitesi", + offlineSavedSpots: "Çevrimdışı · kayıtlı spotlar gösteriliyor", + cantReachRelays: "Relay'lere ulaşılamıyor", + relayOnlineNoAnswer: "Çevrimiçisin, ama topluluk relay'i şu anda yanıt vermiyor.", + youreOffline: "Çevrimdışısın.", + savedOnDevice: "Daha önce gördüğün spotlar bu cihazda kayıtlı ve burada gösterilecek.", + noSpotsMatchTitle: "Eşleşen spot yok", + noSpotsMatchDesc: "Farklı bir arama dene veya filtrelerini temizle.", + noSpotsMappedYet: "Henüz haritalanmış spot yok", + noSpotsMappedDesc: "Parkını haritalayan ilk kişi ol — bir dakika sürer, senin olur ve oradan geçen bir sonraki kaykaycı sana teşekkür eder.", + addFirstSpot: "İlk spotu ekle", + findSpotsNearMe: "Yakınımdaki spotları bul", + locating: "Konum bulunuyor…", + refiningLocation: "Konumun hassaslaştırılıyor…", + refiningLocationDesc: "Son spotuna ortalandı — yeni bir GPS konumu alınıyor.", + locatingYou: "Konumun bulunuyor…", + locatingDesc: "GPS konumu alınıyor. İlk seferde bir dakikaya kadar sürebilir.", + foundYou: "Seni bulduk", + foundYouDesc: "Harita konumuna ortalandı.", + locationPermissionNeeded: "Konum izni gerekli", + permissionNeededDesc: "Cihaz Ayarları → Uygulamalar → SkateSpots → İzinler'den SkateSpots için konuma izin ver, sonra tekrar Yakınım'a dokun.", + locationTimedOut: "Konum zaman aşımına uğradı", + timeoutNativeDesc: "Zamanında konum alınamadı. Kapalı bir yerdeysen GPS uyduları göremez — Ağ Konumu'nu aç (Ayarlar → Konum) veya dışarı çık, sonra tekrar dene.", + timeoutWebDesc: "Konumun zamanında alınamadı. Sinyalini kontrol et ve tekrar dene.", + noLocationProvider: "Konum sağlayıcı yok", + noProviderNativeDesc: "Telefonun konum sağlamıyor. Gizlilik odaklı ROM'larda (ör. GrapheneOS) Ayarlar → Konum altından Ağ Konumu'nu aç veya GPS'in açık olduğundan emin olup dışarıda dene.", + noProviderWebDesc: "Kullanılabilir konum sağlayıcı yok. Konum servislerini aç ve tekrar dene.", + locationUnavailable: "Konum kullanılamıyor", + unavailableNativeDesc: "Telefon ayarlarından Konum/GPS'i aç, SkateSpots için konuma izin ver (Ayarlar → Uygulamalar → SkateSpots → İzinler), sonra tekrar dene.", + unavailableWebDesc: "Konumun belirlenemedi. Konum servislerinin açık olduğundan emin ol.", + locationBlocked: "Konum Engellendi", + locationBlockedDesc: "Tarayıcın bu site için konum erişimini engelledi. Yeniden etkinleştirmek için:", + locationPlatformAndroid: "Android Chrome", + locationPlatformIos: "iOS Safari", + locationPlatformDesktop: "Masaüstü Chrome", + locationPlatformFirefox: "Firefox", + locationStepsAndroid: "Adres çubuğundaki kilit simgesine dokun → Site ayarları → Konum → İzin ver", + locationStepsIos: "Ayarlar uygulaması → Safari → Konum → İzin ver (veya Safari'nin adres çubuğundaki \"AA\" düğmesine dokun)", + locationStepsDesktop: "Kilit simgesine tıkla → Site ayarları → Konum → İzin ver", + locationStepsFirefox: "Kilit simgesine tıkla → Bağlantı güvenli → Daha fazla bilgi → İzinler → Konumuna eriş → İzin ver", + gotIt: "Anladım", + addSpot: "Spot Ekle", + addShop: "Dükkan Ekle", + addEvent: "Etkinlik Ekle", + addSpotHereTitle: "Buraya spot eklemek ister misin?", + addSpotHereDesc: "Dokunduğun yere bir iğne bırak", + sellGear: "Ekipman Sat", + offerTour: "Tur Sun", + closeAddMenu: "Ekle menüsünü kapat", + addMenuAria: "Spot, dükkan, etkinlik, ekipman veya tur ekle", + localChat: "Yerel Sohbet", + localChatDesc: "Haritanın odaklandığı yer için canlı sohbet. Kanalın ne kadar geniş erişeceğini seç.", + btcMapShowing: "Yakında sats'lerini Spedn edebileceğin {{count}} yer gösteriliyor", + btcMapShow: "sats'lerini Spedn edebileceğin yerleri göster (BTC Map üzerinden)", + yourPrivateStash: "Özel Stash'in", + stashIntro: "Ekipmanını takip et, fiyat belirle ve diğer kaykaycılarla takas bul.", + encryptionRequired: "Şifreleme Gerekli", + encryptionRequiredDesc: "NIP-44 destekli bir imzalayıcı kullan (Alby, nos2x, Amber).", + myStash: "Stash'im", + encrypted: "Şifreli", + itemsCount: "{{count}} ürün", + items: "Ürünler", + wishlist: "İstek Listesi", + types: "Türler", + stashEmpty: "Stash'in boş", + addFirstItem: "İlk Ürünü Ekle", + wishlistCount: "İstek Listesi ({{count}})", + myGearCount: "Ekipmanım ({{count}})", + openFullStash: "Tam Stash'i Aç", + addItem: "Ürün Ekle", + searchSpotsPlaceholder: "Spot ara...", + selected: "Seçili", + noSpotsFound: "Spot bulunamadı. Farklı bir arama dene.", + addingSpotsHint: "Spot eklemek, kullanıcıların belirli konumlara göz atarken seni bulmasına yardımcı olur", + report: "Bildir", + spotSingular: "1 spot", + spotPlural: "{{count}} spot", + view: "Görüntüle", + myCollections: "Koleksiyonlarım", + collectionsSubtitle: "Favori spotlarını kişiselleştirilmiş listelerde düzenle", + newCollection: "Yeni Koleksiyon", + loginToCreate: "Koleksiyon oluşturmak için giriş yap", + loginToCreateDesc: "Favori spotlarını \"Barcelona Gezisi 2024\" veya \"LA'daki En İyi Rail'ler\" gibi kişiselleştirilmiş listelere kaydet", + noCollections: "Henüz koleksiyon yok", + noCollectionsDesc: "Spotları düzenlemeye başlamak için ilk koleksiyonunu oluştur", + createFirstCollection: "İlk Koleksiyonunu Oluştur", + createNewCollection: "Yeni Koleksiyon Oluştur", + createCollectionDesc: "Koleksiyonuna bir ad ve isteğe bağlı bir açıklama ver", + collectionName: "Koleksiyon Adı", + collectionNamePlaceholder: "Barcelona Gezisi 2024", + descriptionOptional: "Açıklama (isteğe bağlı)", + descriptionPlaceholder: "Barcelona gezimden favori spotlarım...", + creating: "Oluşturuluyor...", + createCollection: "Koleksiyon Oluştur", + editCollection: "Koleksiyonu Düzenle", + saving: "Kaydediliyor...", + saveChanges: "Değişiklikleri Kaydet", + deleteCollectionTitle: "Koleksiyon Silinsin mi?", + deleteCollectionDesc: "\"{{title}}\" kalıcı olarak silinecek. Spotların kendisi etkilenmeyecek.", + deleting: "Siliniyor...", + collectionCreated: "Koleksiyon oluşturuldu!", + collectionCreatedDesc: "\"{{title}}\" spotlar için hazır", + collectionCreateFailed: "Koleksiyon oluşturulamadı", + collectionUpdated: "Koleksiyon güncellendi!", + changesSaved: "Değişikliklerin kaydedildi", + collectionUpdateFailed: "Koleksiyon güncellenemedi", + collectionDeleted: "Koleksiyon silindi", + collectionDeletedDesc: "\"{{title}}\" kaldırıldı", + collectionDeleteFailed: "Koleksiyon silinemedi", + somethingWentWrong: "Bir şeyler ters gitti", + }, + mapPage: { + title: "Dükkanlar & Spotlar", + spots: "Spotlar", + shops: "Dükkanlar", + filters: "Filtreler", + listView: "Liste", + mapView: "Harita", + nearMe: "Yakınım", + searchPlaceholder: "Spot ara...", + noSpotsInArea: "Bu bölgede spot yok", + zoomIn: "Yakınlaştır", + zoomOut: "Uzaklaştır", + myLocation: "Konumum", + locationsFound: "{{count}} konum bulundu", + spotsOnly: "Sadece spotlar", + shopsOnly: "Sadece dükkanlar", + spotsAndShops: "Spotlar & Dükkanlar", + noSpotsMatch: "Filtrelerinle eşleşen spot yok.", + noSpotsYet: "Henüz spot eklenmedi.", + addFirstSpot: "İlk Spotu Ekle", + }, + spotUi: { + claim: { + areYouOwner: "Burası senin spotun mu?", + privateDesc: "Bu spot özel olarak işaretlenmiş. Sahibiysen veya yönetiyorsan, sahiplen — bir SkateSpots moderatörü sahipliği doğrular, sonra ilanı devralırsın.", + claimSpot: "Bu spotu sahiplen", + nip05Required: "Özel bir spotu sahiplenmek için doğrulanmış bir NIP-05 kullanıcı adına ihtiyacın var (bir Nostr kimliğini kontrol ettiğinin kanıtı). Profilinden bir tane ekle, sonra geri dön.", + addNip05: "Ayarlar'dan NIP-05 ekle", + pendingTitle: "Sahiplik inceleme bekliyor", + pendingDesc: "Sahiplik talebin gönderildi. Bir SkateSpots moderatörü inceleyecek — onaylandığında spotu sahiplenmeyi tamamlayabilirsin.", + approvedTitle: "Sahiplik onaylandı", + approvedDesc: "Bir moderatör talebini onayladı. Bu spotun sahibi olmak için tamamla.", + complete: "Sahiplenmeyi tamamla", + submitted: "Sahiplik talebi gönderildi", + submittedDesc: "Bir moderatör talebini inceleyecek. Onaylandığında spotu devralırsın.", + submitFailed: "Sahiplik talebi gönderilemedi", + submit: "Sahiplik talebini gönder", + submitting: "Gönderiliyor…", + confirmTitle: "\"{{title}}\" sahiplenilsin mi?", + confirmIntro: "Bu özel spotun sahibi olmayı talep ediyorsun.", + confirmBullet1: "Bir SkateSpots moderatörü talebi inceler (mülkiyeti doğrulayamayız, yalnızca Nostr anahtarlarını)", + confirmBullet2: "Onaylanırsa, sahip olmak için sahiplenmeyi tamamlarsın ve spotu düzenleyebilirsin", + confirmBullet3: "Orijinal spot Nostr'da kalır — ağ merkeziyetsizdir", + adminTitle: "Bekleyen sahiplik talepleri", + adminApprove: "Onayla", + adminApproved: "Onaylandı", + adminApprovedDesc: "Artık spotu sahiplenmeyi tamamlayabilirler.", + adminApproveFailed: "Sahiplik talebi onaylanamadı", + loginRequired: "Bu özel spotu sahiplenmek veya sahiplik talep etmek için giriş yap.", + }, + abandonedDesc: "Son güncelleme {{time}}. Orijinal sahibi etkin değilse, bu spotu sürdürmek ve geliştirmek için sahiplenebilirsin.", + claimedNotice: "Sahiplenilmiş ilan", + claimedNoticeDesc: "Bu spot, sahiplik sonrası yeni bir sahip tarafından yeniden yayınlandı. Orijinal ilan hâlâ ayrı olarak var olabilir.", + abandonedLoginDesc: "Son güncelleme {{time}}. Bu spotu sahiplenmek ve sürdürmek için giriş yap.", + accessDeniedDesc: "Yalnızca kendi oluşturduğun spotları düzenleyebilirsin.", + accessDeniedTitle: "Erişim Reddedildi", + addAtLeastOneTag: "Lütfen en az bir etiket ekle.", + additionalDetails: "Ek detaylar (isteğe bağlı)", + additionalDetailsPlaceholder: "Yardımcı olabilecek ek bağlam ver...", + addNewTags: "Yeni etiketler ekle:", + addNip05InSettings: "Ayarlar'dan NIP-05 ekle", + addPhoto: "Fotoğraf Ekle", + addPhotoDesc: "Başkalarının bu spotu keşfetmesine yardımcı olmak için bir fotoğraf katkıda bulun.", + addPhotoOrDescription: "Bir fotoğraf veya açıklama ekle", + addPhotoOrDescriptionDesc: "Kaykaycılara bir ipucu ver — bir fotoğraf ya da mekan hakkında bir satır.", + addPhotos: "Fotoğraf Ekle", + addPhotoToSpot: "Spota Fotoğraf Ekle", + adminDeleteDialogDesc: "Bir SkateSpots yöneticisi olarak \"{{title}}\" kaldırıyorsun. Uygulama genelinde herkes için gizlenecek ve relay'lere bir silme talebi gönderilecek.", + adminDeleteReason: "SkateSpots yöneticisi \"{{title}}\" spotunu kaldırdı", + airQuality: "Hava Kalitesi", + altSkateSpot: "Kaykay spotu: {{title}}", + areYouShopOwner: "Dükkanın Sahibi misin?", + askBeforeSkating: "Kaymadan önce sor", + backToSpot: "Spota Dön", + beFirstToListGear: "Bu spota ekipman listeleyen ilk kişi ol!", + beFirstToSay: "Bir şey söyleyen ilk kişi ol.", + byAuthor: "{{name}} tarafından", + captionPlaceholder: "Bir başlık ekle (isteğe bağlı) - fotoğrafta ne olduğunu, ne zaman çekildiğini vb. açıkla.", + chatPublicNote: "Bunu herkes okuyabilir — mesajlar herkese açık ve geçicidir. Özel sohbetler için Direkt Mesajlar'ı kullan.", + checkPinBelow: "Kopya eklemeden önce aşağıdaki iğneyi kontrol et.", + claimBullet1: "Sahibi olursun ve spotu düzenleyebilirsin", + claimBullet2: "Orijinal spot kalır (Nostr merkeziyetsizdir)", + claimBullet3: "Senin sürümün orijinalin yanında görünebilir", + claimFailed: "Sahiplik başarısız", + claiming: "Sahipleniliyor...", + claimIntro: "Bu spotun sahipliğini talep etmek üzeresin. Bu, düzenleyip sürdürebileceğin kendi spot sürümünü oluşturacak.", + claimSpot: "Spotu Sahiplen", + claimThisSpot: "Bu Spotu Sahiplen", + claimTitle: "\"{{title}}\" sahiplenilsin mi?", + claimWhatHappens: "Sahiplendiğinde ne olur:", + coachesAndFilmersAvailable: "Bu spota müsait koçlar ve kameramanlar", + coachesCount: "Koçlar ({{count}})", + coachHere: "Burada Koçluk Yap", + community: "Topluluk", + communityVerified: "Topluluk doğruladı", + communityVerifiedTitle: "Başka bir kaykaycı buraya katkıda bulundu (fotoğraf veya durum bildirimi).", + conditions: "Koşullar", + contactForPermission: "İzin için iletişime geç", + contactInfo: "İletişim Bilgileri", + contributePhoto: "Fotoğraf Katkıda Bulun", + contributing: "Katkıda bulunuluyor...", + couldNotSendMessage: "Mesaj gönderilemedi.", + couldNotSubmit: "Gönderilemedi", + couldNotUploadPhoto: "Fotoğraf yüklenemedi. Aşağıdan bir tane ekleyebilirsin.", + crewsThatSkateHere: "Burada kaykayan Crew'lar", + current: "Mevcut:", + currentTags: "Bu spottaki mevcut etiketler:", + daysAgo: "{{count}} gün önce", + daysAgoPlural: "{{count}} gün önce", + deleteDialogDesc: "Bu, \"{{title}}\" tüm relay'lerden kalıcı olarak silecek. Bu işlem geri alınamaz.", + deletedSpotReason: "Silinen spot", + deleteFailed: "Silme başarısız", + deleteSpot: "Spotu Sil", + deleteSpotTitle: "Spot Silinsin mi?", + differentSpotPublishAnyway: "Farklı bir spot — yine de yayınla", + dragDropOrClick: "Sürükle bırak veya tıkla", + dropPhotos: "Fotoğrafları bırak", + duplicateOne: "İğnenin 60 m yakınında bir spot var. Aynı yerse, kopya oluşturmak yerine oraya fotoğrafını veya bir durum bildirimi ekle.", + duplicateOther: "İğnenin 60 m yakınında spotlar var. Aynı yerse, kopya oluşturmak yerine oraya fotoğrafını veya bir durum bildirimi ekle.", + editSpotSeoDesc: "Kaykay spotunu düzenle.", + failedToContribute: "Katkıda bulunulamadı", + failedToPublish: "Yayınlanamadı", + failedToPublishDesc: "Bir şeyler ters gitti. Detaylar için konsolu kontrol et.", + failedToSubmitReport: "Bildirim gönderilemedi", + failedToSuggestTags: "Etiket önerilemedi", + failedToUpdate: "Güncellenemedi", + failedToUploadImage: "Görsel yüklenemedi", + failedToUploadPhoto: "Fotoğraf yüklenemedi", + feelsLikeTemp: "Hissedilen {{temp}}°C", + filmersCount: "Kameramanlar ({{count}})", + filmHere: "Burada Çekim Yap", + gearSwap: "Ekipman Takası", + geolocationNotSupported: "Konum desteklenmiyor", + geolocationNotSupportedDesc: "Tarayıcın konum özelliğini desteklemiyor.", + getDirections: "Yol Tarifi Al", + hangTight: "Biraz bekle", + hangTightDesc: "Fotoğrafın hâlâ yükleniyor. Bir saniye içinde eklenecek.", + helpImproveSpot: "Fotoğraf ekleyerek veya etiket önererek bu spotu geliştirmeye yardımcı ol", + hiddenByModerator: "Bir moderatör tarafından gizlendi", + hiddenByModeratorDesc: "Bu spot haritada veya aramada gösterilmiyor. Senin olduğu için hâlâ görebiliyorsun. Düzenlemek onu gizlilikten çıkarmaz — bir moderatör kararı geri alana kadar gizli kalır.", + humidity: "Nem", + imageUploaded: "Görsel yüklendi", + imageUploadedDesc: "Görselin başarıyla yüklendi.", + imHere: "Buradayım", + invalidCoordinates: "Geçersiz koordinatlar", + invalidCoordinatesDesc: "Lütfen geçerli bir enlem (-90 ile 90) ve boylam (-180 ile 180) gir.", + invalidNpub: "Geçersiz npub", + invalidNpubDesc: "Lütfen geçerli bir npub adresi gir.", + lastReported: "son {{time}}", + listGear: "Ekipman Listele", + listYourGearHere: "Ekipmanını Burada Listele", + loadingChat: "Sohbet yükleniyor…", + locationError: "Konum hatası", + locationFound: "Konum bulundu", + locationFoundDesc: "Mevcut konumun ayarlandı.", + locationRequired: "Konum gerekli", + locationRequiredDesc: "Lütfen koordinat gir veya mevcut konumunu kullan.", + loginRequiredTitle: "Giriş Gerekli", + logInToChat: "Yerel sohbete katılmak için giriş yap.", + logInToContributePhotos: "Fotoğraf katkıda bulunmak için giriş yap", + loginToEditSpot: "Bu spotu düzenlemek için giriş yapmalısın.", + logInToReport: "İçerik bildirmek için giriş yapmış olmalısın.", + logInToReportStatus: "Bu spotun durumunu bildirmek için giriş yap.", + logInToSuggestTags: "Etiket önermek için giriş yap", + manageNip05ToClaim: "Sahiplenmek için NIP-05'i Yönet", + meetAtSpotForPickup: "💡 Güvenli teslim için bu spota buluşun", + memberOne: "{{count}} üye", + memberOther: "{{count}} üye", + messageFailed: "Mesaj başarısız", + messageMapper: "Haritalayana Mesaj Gönder", + messagePlaceholder: "Bu spota mesaj gönder… (/me veya /who dene)", + messagesHiddenOne: "Güven filtren tarafından {{count}} mesaj gizlendi. Daha fazlasını görmek için filtreyi düşür.", + messagesHiddenOther: "Güven filtren tarafından {{count}} mesaj gizlendi. Daha fazlasını görmek için filtreyi düşür.", + messagesHiddenShortOne: "Güven filtren tarafından {{count}} mesaj gizlendi", + messagesHiddenShortOther: "Güven filtren tarafından {{count}} mesaj gizlendi", + metresAway: "{{distance}} m uzakta", + moderatorVouchedDesc: "Bir moderatör bu spotu inceledi ve kefil oldu. Güzel.", + monthsAgo: "{{count}} ay önce", + monthsAgoPlural: "{{count}} ay önce", + newOwnerNpub: "Yeni Sahibin npub'i", + newOwnerNpubHint: "Bu spotu devretmek istediğin kullanıcının npub'ini gir.", + nip05RequiredToClaim: "⚠️ Dükkanları sahiplenmek için NIP-05 doğrulaması gerekli", + noCommunitySignalTitle: "Henüz topluluk fotoğrafı veya durum bildirimi yok — kimse burayı doğrulamadı.", + breakdownPhotos: "{{count}} fotoğraf", + breakdownStatus: "{{count}} durum bildirimi", + breakdownComments: "{{count}} yorum", + breakdownReactions: "{{count}} tepki", + breakdownCollections: "{{count}} kayıt", + breakdownZaps: "{{count}} zap", + breakdownTags: "{{count}} etiket önerisi", + breakdownCrews: "{{count}} crew", + breakdownLab: "{{count}} pro bağlantı", + verifyNudgeTitle: "Bu spotu doğrulayan ilk kişi ol", + verifyNudgeBody: "Bir fotoğraf ya da “Burada kaydım” bir spotun doğrulanma şeklidir — bir sonraki kaykaycıya yardımcı ol.", + verifyNudgeStatus: "Burada kaydım", + communityChip: "Topluluk", + seenChip: "Görüldü", + noGearListedYet: "Henüz ekipman listelenmedi", + noMessagesYet: "Bu yerel kanalda henüz mesaj yok. Selam ver — \"bu gece kaykayan var mı?\"", + noPhoto: "Fotoğraf yok", + noReportsYet: "Henüz bildirim yok", + noTags: "Etiket yok", + notASkateSpot: "Kaykay spotu değil", + offerServicesHere: "💡 Hizmetlerini bu spota sun", + photoCaptured: "Fotoğraf çekildi!", + photoCapturedDesc: "Fotoğrafın başarıyla yüklendi.", + photoContributed: "Fotoğraf katkıda bulunuldu!", + photoContributedDesc: "Fotoğrafın bu spota eklendi.", + photosAdded: "Fotoğrafların eklendi.", + photosRecommended: "kesinlikle önerilir — fotoğrafı olmayan spotlar Doğrulanmamış olarak kalır", + photosUploaded: "{{count}} fotoğraf yüklendi", + photoUploaded: "Fotoğraf yüklendi", + photoUploadedDesc: "Bir başlık ekle ve katkıda bulunmak için gönder!", + photoUploadFailed: "Fotoğraf yükleme başarısız", + pleaseTryAgain: "Lütfen tekrar dene", + public: "Herkese Açık", + publicChatTitle: "Bu kanaldaki mesajları herkes okuyabilir — herkese açık ve şifresizdir.", + recentReports: "Son bildirimler", + recipientRequired: "Alıcı gerekli", + recipientRequiredDesc: "Lütfen yeni sahibin npub'ini gir.", + removeAdmin: "Kaldır (yönetici)", + removeSpot: "Spotu Kaldır", + removeSpotAdminTitle: "Bu spot kaldırılsın mı? (yönetici)", + reportOne: "bildirim", + reportContent: "İçeriği Bildir", + reportContentDesc: "Uygunsuz içeriği bildirerek topluluğun güvende kalmasına yardımcı ol.", + reportedBySkaters: " {{count}} kaykaycı tarafından bildirildi — inceleniyor. Burası gerçek bir spotsa, doğrulamak için bir fotoğraf veya durum bildirimi ekle.", + reportedNotASpot: "Kaykay spotu olmadığı bildirildi", + reportingType: "{{type}} bildiriliyor", + reports: "bildirim", + reportShop: "Dükkanı Bildir", + reportSpot: "Spotu Bildir", + reportStatus: "Durum Bildir", + reportSubmitted: "Bildirim gönderildi", + reportSubmittedDesc: "SkateSpots'u güvende tutmaya yardımcı olduğun için teşekkürler.", + reportSubmittedLong: "SkateSpots'u güvenli ve doğru tutmaya yardımcı olduğun için teşekkürler. Bildirimin güvenilir topluluk üyeleri tarafından incelenecek.", + reportSubmittedTitle: "Bildirim Gönderildi", + report: { + notASkateSpot: { + label: "Kaykay spotu değil", + description: "Bir test kaydı ya da kaykay için hiç uygun olmayan bir yer", + }, + fakeSpot: { + label: "Sahte/Var olmayan spot", + description: "Bu spot yok veya konumu yanlış", + }, + stolenPhotos: { + label: "Çalıntı/Sahte fotoğraflar", + description: "Fotoğraflar stok görsel ya da başka yerden çalınmış", + }, + spamAd: { + label: "Spam veya reklam", + description: "Tanıtım içeriği veya kopya ilanlar", + }, + dangerousLocation: { + label: "Tehlikeli konum", + description: "Özel mülk, güvensiz veya erişimi yasa dışı", + }, + inappropriateContent: { + label: "Uygunsuz içerik", + description: "Rahatsız edici veya yetişkin içerik barındırıyor", + }, + impersonation: { + label: "Kimlik taklidi", + description: "Birinin başkası gibi davranması", + }, + other: { + label: "Diğer", + description: "Yukarıda listelenmeyen başka bir şey", + }, + }, + targetType: { + spot: "Spot", + event: "Etkinlik", + tour: "Tur", + shop: "Dükkan", + user: "Kullanıcı", + listing: "İlan", + coach: "Koç", + filmer: "Kameraman", + }, + sameOwner: "Aynı sahip", + sameOwnerDesc: "Mevcut sahibe devredilemez.", + saveChanges: "Değişiklikleri Kaydet", + saving: "Kaydediliyor...", + services: "Hizmetler", + shareSpotText: "Bu kaykay spotuna göz at: {{title}}", + shelter: "Barınak", + shelterHint: "Bu spot havaya açık mı? Kaykaycıların yağmurda kuru yer bulmasına yardımcı olur.", + shopClaimDesc: "Bu dükkanın sahibiysen veya yönetiyorsan, sahipliği doğrulamak ve ilanı yönetmek için sahiplenebilirsin.", + shopClaimNip05Hint: "Bu dükkanı sahiplenmek için dükkanın web sitesi alan adıyla eşleşen bir NIP-05 tanımlayıcısı ekle.", + skatersActiveDesc: "Bu kanalda son 24 saatte paylaşım yapan kişiler.", + skatersActiveOne: "Burada {{count}} kaykaycı aktif", + skatersActiveOther: "Burada {{count}} kaykaycı aktif", + skatersSellingGear: "Bu spottaki kaykaycılar ekipman satıyor", + skateSpot: "Kaykay Spotu", + somethingWentWrong: "Bir şeyler ters gitti", + spot: "Spot", + spotAdded: "Spot eklendi!", + spotAddedDesc: "Kaykay spotun ağa yayınlandı.", + spotAddedNoPhoto: "Yayınlandı — ve biri fotoğraf ekleyene kadar Doğrulanmamış olarak işaretlendi. Spotun bir fotoğrafı çok şey anlatır.", + spotChat: "Spot Sohbeti", + spotClaimed: "Spot sahiplenildi!", + spotClaimedDesc: "Artık bu spotun sahibisin. Profilinden düzenleyebilirsin.", + spotDeleted: "Spot silindi", + spotDeletedDesc: "Silme talebi relay'lere gönderildi. Çoğu relay bu içeriği kaldıracaktır.", + spotMayAlreadyBeOnMap: "Bu spot zaten haritada olabilir", + spotMayAlreadyExist: "Bu spot zaten var olabilir", + spotMayBeAbandoned: "Spot Sahipsiz Olabilir", + spotPhotoAlt: "Spot", + spotRemoved: "Spot kaldırıldı", + spotRemovedDesc: "Bu spot kaldırıldı ve SkateSpots genelinde gizlenecek.", + spotSeoDesc: "Bu kaykay spotunu SkateSpots'ta görüntüle.", + spotStatus: "Spot Durumu", + spotStatusDesc: "\"{{title}}\" hâlâ kayılabiliyor mu? Topluluğa güncel durumunu bildir.", + spotTypeRequired: "Spot türü gerekli", + spotTypeRequiredDesc: "Lütfen bir spot türü seç ki kaykaycılar neyle karşılaşacaklarını bilsin.", + spotUpdated: "Spot güncellendi!", + spotUpdatedDesc: "Değişikliklerin ağa yayınlandı.", + staffVerifiedTitle: "Bir SkateSpots yöneticisi bu spotu inceledi ve kefil oldu.", + statusNotePlaceholder: "İsteğe bağlı: detay ekle (ör. \"ledge'a yeni knob'lar geldi\", \"6'dan sonra güvenlik kovalıyor\")", + statusReported: "Durum bildirildi", + statusReportedDesc: "Haritayı güncel tuttuğun için teşekkürler. Bildirimin yayında.", + submitReport: "Bildirimi Gönder", + submitting: "Gönderiliyor...", + suggestedByUser: "{{count}} kullanıcı önerdi", + suggestedByUsers: "{{count}} kullanıcı önerdi", + suggestedTagsContent: "{{title}} için önerilen etiketler: {{tags}}", + suggestNTags: "{{count}} Etiket Öner", + suggestOneTag: "1 Etiket Öner", + suggestTags: "Etiket Öner", + suggestTagsDesc: "İlgili etiketler önererek bu spotun kategorize edilmesine yardımcı ol.", + tags: "Etiketler", + tagsHint: "Özellikler, yüzeyler, hisler için etiket ekle (en fazla {{max}})", + tagsSuggested: "Etiketler önerildi!", + tagsSuggestedDesc: "Etiket önerilerin gönderildi.", + takePhoto: "Fotoğraf Çek", + threeDayForecast: "3 Günlük Tahmin", + tipTheMapper: "Haritalayana Bahşiş", + tipTheMapperDesc: "Bu spotu faydalı buldun mu? Haritalayana teşekkür etmek için bir zap gönder!", + titleRequired: "Ad gerekli", + titleRequiredDesc: "Lütfen bu spot için bir ad gir.", + today: "Bugün", + tomorrow: "Yarın", + transferDesc: "\"{{title}}\" başka bir kullanıcıya devredilsin. Bu işlem geri alınamaz.", + transferFailed: "Devir başarısız", + transferOwnership: "Sahipliği Devret", + transferRequestContent: "\"{{title}}\" spotu için sahiplik devir talebi", + transferRequested: "Devir talep edildi", + transferRequestedDesc: "Devri tamamlamak için yeni sahibin spotu sahiplenmesi gerekecek.", + transferring: "Devrediliyor...", + transferSpotOwnership: "Spot Sahipliğini Devret", + transferWarningDesc: "Devirden sonra bu spotu artık düzenleyemez veya silemezsin.", + typeToSearchTags: "Etiket aramak veya eklemek için yaz...", + underReview: " — inceleniyor. Burası gerçek bir spotsa, doğrulamak için bir fotoğraf veya durum bildirimi ekle.", + untitledSpot: "Adsız spot", + unverified: "Doğrulanmamış", + updateDetailsFor: "{{title}} için detayları güncelle", + updateSpotDesc: "Bu spot hakkındaki bilgileri güncelle. * ile işaretli tüm alanlar zorunludur.", + uploadAPhoto: "Bir fotoğraf yükle", + uploadAPhotoHint: "Sürükle bırak veya tıkla · JPG, PNG, WebP", + uploadedAlt: "Yüklendi", + uploadFailed: "Yükleme başarısız", + uploadingPhoto: "Fotoğraf yükleniyor…", + uploadPhotoFirst: "Lütfen önce bir fotoğraf yükle.", + uvIndex: "UV Endeksi", + verifiedBySkateSpots: "SkateSpots tarafından doğrulandı", + viewPhotoFullScreen: "Fotoğrafı tam ekranda görüntüle", + viewPhotoOf: "Fotoğraf {{n}} / {{total}}", + warning: "Uyarı", + weatherConditions: "Hava Koşulları", + weatherOnly: "sadece hava", + weatherOnlyUnconfirmed: "Yalnızca hava. Kimse buranın bir kaykay spotu olduğunu doğrulamadı, bu yüzden koşul puanı yok — doğrulamak için bir fotoğraf veya durum bildirimi ekle.", + whyReporting: "Bunu neden bildiriyorsun?", + wind: "Rüzgar", + yearsAgo: "{{count}} yıl önce", + yearsAgoPlural: "{{count}} yıl önce", + }, + diyUi: { + title: "DIY — Kendin Yap", + tagline: "Kendi deck'lerini, rampalarını ve beton spotlarını yapman için rehberler, açık araçlar ve planlar — sonra bunlarla birlikte gelen insanları, mekanları ve pazarı bul.", + doItWithPeople: "İnsanlarla birlikte yap", + backToDiy: "DIY'a Dön", + calc: { + title: "Deck maliyet hesaplayıcısı", + intro: "Bir deck'in yapım maliyeti — işçilik, ekipman, malzeme, süreç zamanı, paketleme ve marj — ve adil bir satış fiyatı. Bu cihazda saklanır.", + }, + designer: { + title: "Deck tasarımcısı", + intro: "Bir kaykay veya longboard ana hat şekillendir, sonra yazdırılabilir 1:1 şablon, bir SVG veya CNC için DXF dışa aktar. Bu cihazda saklanır.", + presets: "Ön ayarlar", + dimensions: "Ölçüler", + shape: "Şekil", + kicks: "Kick'ler", + hardware: "Truck delikleri", + width: "Maks genişlik", + wheelbase: "Wheelbase", + nose: "Nose uzunluğu", + tail: "Tail uzunluğu", + length: "Toplam uzunluk", + waist: "Bel genişliği", + endRound: "Uç yuvarlaklığı", + concave: "Concave", + thickness: "Kalınlık", + tailKick: "Tail kick", + noseKick: "Nose kick", + holeNew: "New school (2.125″)", + holeOld: "Old school (2.5″)", + holeSpacing: "New school 2.125″ × 1.625″ (54 × 41 mm); old school 2.5″ × 1.625″. 3/16″ montaj delikleri.", + topView: "Üst görünüm", + sideView: "Yan profil", + concaveSection: "Concave kesiti", + export: "Dışa Aktar", + pdfA4: "1:1 PDF · A4", + pdfLetter: "1:1 PDF · Letter", + printNote: "PDF'i %100'de yazdır (“sayfaya sığdır” yok), sonra köşe artı işaretlerini kullanarak sayfaları birleştir. SVG de gerçek boyuttadır.", + note: "Bu, çizip keseceğin 2B ana hattır. Tam 3B şekiller ve kalıp tasarımı için gerçek bir CAD aracı hâlâ doğru seçimdir.", + }, + source: "Kaynak", + comingSoon: "Yakında", + footer: "Adım adım rehberler yolda. Şimdilik: The Lab'de yapan insanları bul, spotunu haritala ve Marketplace'te al veya sat. Güvenli çalış — pedler, eldivenler ve göz koruması.", + categories: { + boards: "Board'lar", + ramps: "Rampalar & ahşap engeller", + concrete: "Beton & DIY spotlar", + repairs: "Tamir & ayar", + tools: "Araçlar & planlar", + }, + cards: { + ossBuild: { + title: "Bir kaykay yap", + blurb: "Adım adım deck üretimi — kaplama, kalıplar, presler ve bitirme.", + }, + sk8cad: { + title: "SK8CAD", + blurb: "Deck şekilleri, concave ve kalıp tasarımı için açık kaynaklı CAD.", + }, + deckCost: { + title: "Deck maliyeti & fiyatlandırma", + blurb: "Yapmadan önce malzemeleri, işçiliği ve adil bir satış fiyatını hesapla.", + }, + deckDesigner: { + title: "Deck tasarımcısı", + blurb: "Bir ana hat şekillendir ve 1:1 şablon yazdır — veya CNC için SVG/DXF dışa aktar.", + }, + ledgeBox: { + title: "Bir ledge veya box yap", + blurb: "Bir hafta sonunda yapabileceğin, yeni başlayanlara uygun ahşap engel.", + }, + quarterpipe: { + title: "Bir quarterpipe yap", + blurb: "Arka bahçe mini rampı için rampa planları, transition ve coping.", + }, + flatbar: { + title: "Bir flatbar yap", + blurb: "Ucuz, taşınabilir ve rail öğrenmenin en iyi yolu.", + }, + concreteBasics: { + title: "Beton temelleri", + blurb: "Uzun ömürlü bir ledge veya bank için karıştırma, kalıplama ve bitirme.", + }, + coping: { + title: "Coping & kenarlar", + blurb: "Pürüzsüz bir grind için coping nasıl yerleştirilir ve transition nasıl bitirilir.", + }, + buyParts: { + title: "Parça & ekipman al", + blurb: "Marketplace'teki satıcılardan deck, donanım ve araç al.", + }, + mapSpot: { + title: "DIY spotunu haritala", + blurb: "Bir şey mi yaptın? Haritaya ekle ki başkaları bulup kayabilsin.", + }, + regrip: { + title: "Bir board'u yeniden griptape'le", + blurb: "Eski grip'i sök ve yeni grip'i temizce yerleştir.", + }, + tune: { + title: "Bearing & truck ayarı", + blurb: "Bearing'leri temizle, bushing'leri değiştir ve truck geometrini ayarla.", + }, + printMolds: { + title: "3B baskı kalıplar", + blurb: "Topluluktan yazdırılabilir kalıp ve hizalama tabanı dosyaları.", + }, + sk8cadTools: { + title: "Kalıp & hizalama araçları", + blurb: "Hizalama tabanları yerleşik kalıplar tasarla.", + }, + }, + actions: { + findBuilder: { + title: "Bir Builder Bul", + blurb: "Sizin için tasarlayabilecek veya dökebilecek The Lab'deki rampa ve DIY builder'ları.", + }, + findCrew: { + title: "Bir DIY crew'u bul", + blurb: "İnşaata odaklı crew'lar — spotları gerçeğe dönüştürenlere katıl.", + }, + mapSpot: { + title: "Bir DIY spotu haritala", + blurb: "Yaptığın spotu ekle ki haritada yaşasın.", + }, + sellBuilds: { + title: "Yaptıklarını sat", + blurb: "Yaptığın deck'leri, rampaları veya parçaları Marketplace'te listele.", + }, + findCoach: { + title: "Bir koç bul", + blurb: "DIY kaykay modülleri ve spot yapımı öğreten koçlar.", + }, + }, + }, + labelsUi: { + spotCategory: { + street: { + label: "Street", + description: "Rastgele bulunan spotlar, kentsel arazi", + }, + transition: { + label: "Transition", + description: "Kavisli/rampalı yüzeyler", + }, + park: { + label: "Park", + description: "Yapılmış skateparklar", + }, + plaza: { + label: "Plaza", + description: "Kentsel plazalar (MACBA, Love Park gibi)", + }, + }, + spotFeature: { + wallrides: "Wallrides", + stairs: "Merdivenler & Handrail'ler", + rails: "Rails", + ledges: "Ledge'ler & Kaldırımlar", + gaps: "Gaps", + flatground: "Düz zemin", + "manual-pads": "Manual Pad'ler", + "half-pipes": "Half Pipe'lar", + "quarter-pipes": "Quarter Pipe'lar", + "mini-ramps": "Mini Rampalar", + bowls: "Bowls", + vert: "Vert Rampalar", + "mega-ramps": "Mega Rampalar", + hubbas: "Hubbas", + "euro-gaps": "Euro Gaps", + banks: "Banks", + "spine-ramps": "Spine Ramps", + "roll-ins": "Roll-ins", + hips: "Hips", + volcano: "Volcano", + pyramids: "Piramitler / Funbox'lar", + "snake-runs": "Snake Runs", + "pump-track": "Pump Track Rollers", + "flat-bars": "Flat Bars", + }, + spotType: { + street: "Street", + transition: "Transition", + park: "Park", + plaza: "Plaza", + wallrides: "Wallrides", + stairs: "Merdivenler & Handrail'ler", + rails: "Rails", + ledges: "Ledge'ler & Kaldırımlar", + gaps: "Gaps", + flatground: "Düz zemin", + "manual-pads": "Manual Pad'ler", + "half-pipes": "Half Pipe'lar", + "quarter-pipes": "Quarter Pipe'lar", + "mini-ramps": "Mini Rampalar", + bowls: "Bowls", + vert: "Vert Rampalar", + "mega-ramps": "Mega Rampalar", + hubbas: "Hubbas", + "euro-gaps": "Euro Gaps", + banks: "Banks", + "spine-ramps": "Spine Ramps", + "roll-ins": "Roll-ins", + hips: "Hips", + volcano: "Volcano", + pyramids: "Piramitler / Funbox'lar", + "snake-runs": "Snake Runs", + "pump-track": "Pump Track Rollers", + "flat-bars": "Flat Bars", + diy: "DIY", + rail: "Rail", + ledge: "Ledge", + gap: "Gap", + bowl: "Bowl", + stall: "Stall", + slappy: "Slappy", + }, + access: { + public: { + label: "Herkese Açık - Herkes İçin", + }, + private: { + label: "Özel Mülk - İzin Gerekli", + }, + locals: { + label: "Önce Yerlilere Sor", + }, + }, + shelter: { + outdoor: { + label: "Açık Hava", + short: "Açık Hava", + description: "Tamamen açık — yağmur oyunu durdurur", + }, + partial: { + label: "Kısmen kapalı", + short: "Kısmen kapalı", + description: "Bazı engeller kuru kalır", + }, + covered: { + label: "Kapalı / çatılı", + short: "Kapalı", + description: "Açık hava ama çatı altında", + }, + indoor: { + label: "Kapalı alan", + short: "Kapalı alan", + description: "Tamamen kapalı — yağmurda da güneşte de kay", + }, + }, + eventType: { + contest: "Yarışma", + demo: "Demo", + session: "Seans", + workshop: "Atölye", + premiere: "Prömiyer", + tradeshow: "Ticaret Fuarı", + gameskate: "Game of Skate", + concert: "🎸 Konser", + jam: "🎵 Jam", + festival: "🎪 Festival", + popup: "🎯 Pop-Up", + }, + gearCategory: { + deck: "Deck", + trucks: "Trucks", + wheels: "Wheels", + bearings: "Bearings", + shoes: "Kaykay Ayakkabısı", + clothing: "Giyim", + protective: "Koruyucu Ekipman", + stickers: "Çıkartmalar", + wax: "Wax", + tools: "Araçlar", + griptape: "Griptape", + rubbrick: "Rub Brick", + }, + gearCondition: { + new: { + label: "Yeni", + description: "Hiç kullanılmamış, hâlâ ambalajında", + }, + like_new: { + label: "Yeni gibi", + description: "Neredeyse hiç kullanılmamış, mükemmel durumda", + }, + good: { + label: "İyi", + description: "Normal aşınma, mükemmel çalışır", + }, + well_used: { + label: "Çok kullanılmış", + description: "Aşınma gösterir ama hâlâ çalışır", + }, + }, + priceType: { + fixed: { + label: "Sabit Fiyat", + description: "USD veya sats cinsinden belirlenmiş fiyat", + }, + free: { + label: "Ücretsiz", + description: "Bedavaya veriyor", + }, + trade: { + label: "Takas", + description: "Takas arıyor", + }, + offer: { + label: "Teklif Ver", + description: "Fiyat pazarlık edilebilir", + }, + }, + listingType: { + selling: { + label: "Satılık", + description: "Satılık ekipman ilanı", + }, + wtb: { + label: "Satın Almak İstiyorum", + description: "Belirli bir ekipman arıyor", + }, + }, + tour: { + spotType: { + street: "Street", + park: "Park", + diy: "DIY", + transition: "Transition", + hidden: "Gizli Cevherler", + }, + category: { + local: { + label: "Yerel Tur", + description: "Şehrindeki gizli spotları göster", + }, + national: { + label: "Ulusal Tur", + description: "Ülke çapında çok şehirli yol gezileri", + }, + international: { + label: "Uluslararası Tur", + description: "Birden fazla ülkeye yayılan sınır ötesi maceralar", + }, + destruction: { + label: "Dünya Yıkımı", + description: "KOTR tarzı küresel takım yarışması", + }, + }, + }, + crew: { + vibe: { + street: "Street", + transition: "Transition / Vert", + park: "Park", + diy: "DIY", + cruising: "Cruising / Çekim", + oldschool: "Old School", + allterrain: "Her Arazi", + girls: "Kız / Kadın", + youth: "Gençler / Grom'lar", + adaptive: "Adaptif", + punk: "Punk", + hiphop: "Rap / Hip-Hop", + }, + focus: { + mixed: "Karışık / Genel", + builder: "DIY & Builder'lar", + photo: "Fotoğraf & Film", + coaching: "Koçluk", + art: "Sanat & Tasarım", + music: "Grup & Müzik", + wellness: "Antrenman & Fizyoterapi", + }, + focusDescription: { + mixed: "Normal bir kaykay crew'u — yalnızca Crew'lar sayfasında görünür.", + builder: "Bir DIY / park inşa crew'u — The Lab'de Builder'lar altında da görünür.", + photo: "Bir çekim, fotoğrafçılık veya kurgu crew'u — The Lab'de Fotoğraf & Film altında da görünür.", + coaching: "Bir koçluk / ders crew'u — The Lab'de Koçluk altında da görünür.", + art: "Bir sanat, tasarım, graffiti veya dövme kolektifi — The Lab'de Sanat & Tasarım altında da görünür.", + music: "Bir grup veya müzik kolektifi — The Lab'de Müzik altında da görünür.", + wellness: "Bir antrenman, fitness veya fizyoterapi crew'u — The Lab'de Antrenman altında da görünür.", + }, + lookingFor: { + filmer: "Kameraman", + photographer: "Fotoğrafçı", + editor: "Video Editörü", + coach: "Koç", + builder: "Rampa Builder'ı", + artist: "Sanatçı / Tasarımcı", + musician: "Müzisyen / Grup", + members: "Yeni Üyeler", + }, + role: { + filmer: "Kameraman", + photographer: "Fotoğrafçı", + editor: "Editör", + coach: "Koç", + builder: "Builder", + artist: "Sanatçı", + graffiti: "Graffiti", + tattoo: "Dövme", + trainer: "Antrenör", + musician: "Müzisyen", + judge: "Jüri", + manager: "Takım Yöneticisi", + og: "OG", + }, + }, + memberVisibility: { + public: { + label: "Herkese Açık", + description: "Bu crew'da herkes seni görebilir — herkese açık crew sayfasında ve crew arkadaşı keşfinde.", + }, + crew: { + label: "Yalnızca Crew", + description: "Burada seni yalnızca onaylı crew arkadaşların ve kurucu görür. Herkes için anonim bir “gizli üye” olarak görünürsün. Not: bu uygulama düzeyinde gizliliktir — üyelik etiketin relay'lerde hâlâ herkese açık durur, sadece dışarıdan kimseye gösterilmez.", + }, + }, + tagCategory: { + features: { + name: "Özellikler", + description: "Engeller ve arazi", + }, + surfaces: { + name: "Yüzeyler", + description: "Malzemeler ve dokular", + }, + sizes: { + name: "Boyutlar", + description: "Ölçüler ve ölçek", + }, + stairs: { + name: "Merdiven Sayıları", + description: "Merdiven sayısı", + }, + vibes: { + name: "Hissiyat", + description: "Atmosfer ve durum", + }, + location: { + name: "Konum", + description: "Konum bağlamı", + }, + tricks: { + name: "Trick'ler", + description: "Belirli trick'ler için iyi", + }, + }, + spotTagCategory: { + street: { + label: "Street", + description: "Street spotlar - merdivenler, rail'ler, ledge'ler", + }, + park: { + label: "Park", + description: "Skateparklar - herkese açık veya özel", + }, + diy: { + label: "DIY", + description: "DIY/ev yapımı spotlar", + }, + plaza: { + label: "Plaza", + description: "Kaykaya uygun mimarisi olan herkese açık plazalar", + }, + }, + status: { + active: { + label: "Aktif", + description: "Kaymaya hazır — kay.", + }, + bust: { + label: "Kovulma riski", + description: "Yüksek kovulma riski — güvenlik veya polis.", + }, + skate_stopped: { + label: "Skate-stop", + description: "Knob takılmış / kapatılmış ama kısmen kayılabilir.", + }, + closed: { + label: "Kapalı", + description: "Geçici olarak kapalı — inşaat veya etkinlik.", + }, + gone: { + label: "Yok oldu", + description: "Yıkılmış, üzeri asfaltlanmış veya kalıcı olarak çevrilmiş.", + }, + }, + price: { + free: "ÜCRETSİZ", + trade: "Takas", + makeOffer: "Teklif Ver", + offer: "Teklif", + }, + }, + feesUi: { + feeFeaturedEventLabel: "Öne Çıkan Etkinlik", + feeFeaturedEventDesc: "Etkinliğini SkateSpots'ta öne çıkar", + feeFeaturedEventBenefit: "Etkinliğin etkinlikler sayfasının en üstünde görünür", + feeLabProfileLabel: "Lab Pro Profili", + feeLabProfileDesc: "Hizmetlerini The Lab'de öne çıkar", + feeLabProfileBenefit: "Pro rozeti + kaykaycılar The Lab'e göz atarken öne çıkan yerleşim", + feeFeaturedShopLabel: "Öne Çıkan Dükkan", + feeFeaturedShopDesc: "Kaykay dükkanını haritada ve dizinde öne çıkar", + feeFeaturedShopBenefit: "Doğrulanmış rozet + haritada öne çıkan iğne", + feeFeaturedTourLabel: "Öne Çıkan Tur", + feeFeaturedTourDesc: "Turunu SkateSpots'ta öne çıkar", + feeFeaturedTourBenefit: "Pro rozeti + kaykaycılar turlara göz atarken en üst yerleşim", + duration7d: "7 gün", + duration30d: "1 ay", + duration90d: "3 ay", + duration365d: "12 ay", + metaActive: "{{label}} — Aktif", + daysRemainingOne: "{{count}} gün kaldı", + daysRemainingMany: "{{count}} gün kaldı", + zapRequestContent: "SkateSpots {{label}} ({{tier}})", + errGenerate: "Fatura oluşturulamadı", + paymentReceived: "⚡ Ödeme alındı!", + paymentReceivedDesc: "{{amount}} sats — {{label}} artık aktif.", + autoPayFailed: "Otomatik ödeme başarısız", + autoPayFailedDesc: "Aşağıdaki QR veya faturayı kullanarak manuel öde.", + payStatusUnknown: "Ödeme durumu bilinmiyor — ödeme geçmiş olabilir. Tekrar ödemeden önce cüzdanını kontrol et.", + invoiceCopied: "Fatura kopyalandı!", + activeBang: "{{label}} Aktif!", + chooseDuration: "Süre seç", + bestValue: "En iyi değer", + perDay: "{{price}}/gün", + validFor: "Geçerlilik", + amountLine: "~${{usd}} USD · {{name}} adresine · {{tier}}", + payToContinue: "Devam etmek için {{amount}} sats öde", + generating: "Fatura oluşturuluyor…", + processing: "Ödeme işleniyor…", + invoiceQrAlt: "Lightning fatura QR'ı", + copyInvoice: "Faturayı Kopyala", + openWallet: "Cüzdanı Aç", + payConnected: "Bağlı Cüzdanla Öde", + scanAny: "Herhangi bir Lightning cüzdanıyla tara", + tryAgain: "Tekrar Dene", + proReceiptTitle: "🦧⚡ Sasquatch Pro — artık içerdesin!", + proReceiptPass: "Pass: {{pass}} ({{sats}} sats)", + proReceiptActiveUntil: "Şu tarihe kadar aktif: {{until}}", + proReceiptUnlocked: "Nelerin kilidini açtın:", + proReceiptBullet1: "• Kişisel asistan — Stash'ini, crew'larını, spotlarını ve ilanlarını okurum", + proReceiptBullet2: "• Eylem taslakları — ekipman listele, spot durumu paylaş, geziler planla (sen onaylarsın)", + proReceiptBullet3: "• Yalnızca herkese açık veriyi değil, kişisel bağlamını kullanan yanıtlar", + proReceiptBullet4: "• ⚡ SkateSpots'u doğrudan destekliyor ve ücretsiz + reklamsız tutuyorsun", + proReceiptThanks: "SkateSpots'u ücretsiz ve reklamsız tuttuğun için teşekkürler. Şimdi git shred. 🛹", + proReceiptSubject: "Sasquatch Pro makbuzu", + receiptContent: "Sasquatch Pro — {{tier}} destekçi pass'i 🦧⚡", + receiptAlt: "Sasquatch Pro destekçi pass'i ({{tier}}), {{until}} tarihine kadar geçerli", + purchaseComment: "Sasquatch Pro — {{tier}} 🦧", + errLogin: "Pro'ya yükseltmek için giriş yap.", + errStart: "Satın alma başlatılamadı.", + errRecord: "Pass'in kaydedilemedi.", + }, + cardUi: { + save: "Kartı Nostr'a kaydet", + saved: "Kart kaydedildi", + savedDesc: "Kartın artık imzalı ve doğrulanabilir.", + saveFailed: "Kart kaydedilemedi", + notPublished: "Yayınlanmadı", + titleNeon: "Rider", + titleRest: "Kart", + saveFrontPng: "Ön yüzü kaydet (PNG)", + expired: "SÜRESİ DOLDU", + logoUploaded: "Logo yüklendi", + logoUploadFailed: "Logo yüklenemedi", + venue: "Bağlı mekan (isteğe bağlı)", + venueNone: "Mekan yok", + venueHint: "Bu pass'i bir mekana bağlamak için kendi spotlarından birini seç. Bir doğrulayıcı ona sahip olduğunu onaylayacak.", + venuePick: "Mekanını seç", + parkNoVenue: "Bir Park pass'i yalnızca mekanın sahibi tarafından düzenlenebilir — önce sahip olduğun bir spotu haritala.", + parkAddVenue: "Bir spot ekle", + parkNeedsVenue: "Sahip olduğun bir mekan seç", + parkIssued: "Verilen pass'ler", + parkRevoke: "İptal et", + parkRevoked: "İptal edildi", + parkRevokeFailed: "İptal edilemedi", + v: { + valid: "Geçerli", + validDesc: "İmza geçerli ve mekan tarafından düzenlendi.", + expired: "Süresi doldu", + expiredDesc: "Geçerlilik bitiş tarihini geçti.", + revoked: "İptal edildi", + revokedDesc: "Düzenleyen bu pass'i iptal etti — kabul etme.", + invalid: "Geçersiz", + invalidDesc: "İmza doğrulanmıyor. Güvenme.", + notFound: "Bulunamadı", + notFoundDesc: "Relay'lerde eşleşen kayıt yok.", + unverifiedIssuer: "Doğrulanmamış düzenleyen", + unverifiedIssuerDesc: "Bu pass, düzenleyenin anahtarına ait olmayan bir mekan belirtiyor.", + notBound: "Bağlı değil", + notBoundDesc: "Bir mekana bağlı değil — erişimle ilgili hiçbir şey kanıtlamaz.", + noRsvp: "RSVP yok", + noRsvpDesc: "Sahibinin bu etkinlik için kayıtlı RSVP'si yok.", + admitted: "Kabul edildi", + admittedDesc: "Düzenleyenin etkinliği + sahibi RSVP verdi.", + noHolder: "Bağlantıda sahip yok", + noHolderDesc: "Bu QR'da bilet sahibi yok (`?h=`), bu yüzden sahip kontrol edilemiyor.", + }, + passes: { + tab: "Pass'lerim", + pass: "Erişim pass'i", + none: "Henüz pass yok. Bir mekan veya düzenleyen sana bir tane verdiğinde burada görünür.", + }, + facets: { + title: "Kimlik öğelerini göster", + crews: "Crew'lar", + local: "Yerel", + roles: "Lab rolleri", + }, + roles: { + coach: "Koç", + filmer: "Kameraman", + editor: "Editör", + photographer: "Fotoğrafçı", + builder: "Builder", + artist: "Sanatçı", + graffiti: "Graffiti", + tattoo: "Dövme", + trainer: "Antrenör", + musician: "Müzisyen", + judge: "Jüri", + organizer: "Organizatör", + barber: "Berber", + }, + crew: { + crewCard: "CREW KARTI", + crewSub: "Crew'un, bir kartta", + pick: "Bir crew seç", + none: "Henüz bir crew'da değilsin — önce birine katıl veya bir tane başlat.", + hint: "Kart, crew'un kendi imzalı verisinden oluşturulur. Değiştirmek için crew'u kendi sayfasından düzenle.", + members: "ÜYELER", + spots: "SPOTLAR", + est: "Kur. {{year}}", + openCall: "Açık çağrı", + verifiedCrew: "Doğrulanmış crew", + viewCrew: "Crew'u görüntüle", + }, + event: { + pass: "ETKİNLİK PASS'İ", + passSub: "Gideceğin bir etkinlik için pass", + pick: "Bir etkinlik seç", + none: "Henüz etkinlik yok — önce bir tane oluştur veya birine RSVP ver.", + hint: "Pass, etkinliğin kendi imzalı verisinden oluşturulur. Yalnızca düzenleyen değiştirebilir.", + admits: "KABUL EDER", + going: "{{count}} katılıyor", + verifiedEvent: "Doğrulanmış etkinlik", + viewEvent: "Etkinliği görüntüle", + issuePass: "Bir giriş pass'i ver", + issuePassBtn: "Pass ver", + issuePassHint: "Belirli bir katılımcı için imzalı bir pass — kapıda gösterirler.", + notOrganiser: "Yalnızca düzenleyen pass verebilir", + passIssued: "Pass verildi", + issueFailed: "Pass verilemedi", + issuedPasses: "Verilen giriş pass'leri", + }, + studio: { + unsaved: "Kaydedilmemiş değişiklikler", + saved: "Kaydedildi", + saveChanges: "Değişiklikleri kaydet", + allSaved: "Kaydedildi — güncel", + showOnCard: "Kartta göster", + derived: "Kaykaycı profilinden", + noSkaterProfile: "Henüz Kaykaycı profili yok —", + editSkaterProfile: "stillerini ve seviyeni ekle", + noPhoto: "Henüz profil fotoğrafı yok —", + addPhoto: "profilinde bir tane ekle", + finishTitle: "Kartını tamamla", + finishDesc: "Bir fotoğraf ve bir Kaykaycı profili onu gerçek gösterir.", + checkPhoto: "Profil fotoğrafı", + checkName: "Görünen ad", + checkProfile: "Stiller & seviye", + checkCrew: "Bir crew'a katıl", + moreTypes: "Sahip olduğun spotları haritaladıkça, crew'lara katıldıkça veya etkinliklere RSVP verdikçe daha fazla kart türü açılır.", + accent: "Vurgu rengi", + accentHint: "Tema vurgusunu geçersiz kılar", + accentClear: "Tema rengini kullan", + logo: "Özel logo / arma", + logoAdd: "Yükle", + logoChange: "Değiştir", + logoClear: "Kaldır", + }, + back: { + title: "Yazdırılabilir arka yüz", + desc: "Arka yüzde crew'lar, roller, sponsorlar ve bağlantılar", + showBack: "Arkayı göster", + showFront: "Önü göster", + empty: "Burada henüz bir şey yok — crew, rol veya sponsor ekle.", + }, + verify: { + checking: "Kart kontrol ediliyor…", + notFound: "Kart bulunamadı", + notFoundDesc: "Relay'lerde eşleşen bir etkinlik bulunamadı. Silinmiş olabilir veya bağlantı yanlış.", + invalid: "İmza geçersiz", + invalidDesc: "Bu etkinlik var ama imzası doğrulanmıyor. Güvenme.", + authentic: "Özgün", + authenticDesc: "Düzenleyenin imzası geçerli.", + kind: "Tür", + kindPark: "Park Erişim Kartı", + kindRider: "Rider Kartı", + kindCrew: "Crew Kartı", + kindEvent: "Etkinlik pass'i", + organiser: "Düzenleyen", + expired: "Süresi doldu", + valid: "Geçerli", + holder: "Sahip", + ticketHolder: "Bilet sahibi", + rsvp: "RSVP", + rsvpGoing: "Katılıyor", + rsvpInterested: "İlgili", + rsvpNone: "RSVP bulunamadı", + revoked: "Pass iptal edildi", + revokedDesc: "Düzenleyen bu pass'i iptal etti — kabul etme.", + issuedBy: "Düzenleyen", + accessLevel: "Erişim seviyesi", + validThru: "Geçerlilik bitişi", + selfIssued: "Durum", + selfIssuedDesc: "Kendi düzenlediği kimlik kartı", + venue: "Mekan", + venueVerified: "Doğrulandı — bu mekanın sahip anahtarı düzenleyenle eşleşiyor.", + venueMismatch: "Bu pass, düzenleyenin anahtarına ait olmayan bir mekan belirtiyor.", + venueNone: "Bir mekana bağlı değil.", + viewCard: "Kartı görüntüle", + disclaimer: "Geçerli bir imza bu kartı kimin imzaladığını kanıtlar — becerinin veya mekanın verdiğinin ötesinde erişim haklarının kanıtı değildir.", + details: "Detaylar", + invalidLink: "Geçersiz bağlantı", + invalidLinkDesc: "Bu geçerli bir kart bağlantısına benzemiyor.", + }, + public: { + invalid: "Bu geçerli bir kart bağlantısına benzemiyor.", + createYourOwn: "Kendi kartını oluştur", + editYourCard: "Kartını düzenle", + backToEditor: "Editöre dön", + backHome: "Ana sayfaya dön", + notCustomised: "Bu kaykaycı kartını henüz özelleştirmemiş — bu varsayılan görünüm.", + verifyNote: "Doğrulamak için karttaki QR'ı tara.", + }, + }, + routeUi: { + destination: "Varış noktası", + routeTo: "{{label}} yol tarifi", + routeToLabel: "Yol tarifi:", + search: "Ara", + description: "Güzergah seçenekleri ve uygulama içi yol tarifleri.", + routeMapAria: "Güzergah haritası", + findingLocation: "Konumun bulunuyor…", + plottingRoute: "Güzergahın çiziliyor…", + refiningLocation: "Konum hassaslaştırılıyor…", + offlineSavedRoute: "Çevrimdışı · kayıtlı güzergah {{age}}", + tapMapStart: "Başlangıç noktanı ayarlamak için haritaya dokun", + fitRouteAria: "Tüm güzergahı haritaya sığdır", + wholeRoute: "Tüm güzergah", + next: "Sonraki", + nextStep: "Sonraki · adım {{n}}", + followTheLine: "Çizgiyi takip et", + toTheTurn: "dönüşe", + toGo: "kaldı", + tryAgain: "Tekrar dene", + mode: { + foot: "Kay / Yürü", + bike: "Bisiklet", + moto: "Moto", + car: "Araba", + transit: "Toplu taşıma", + }, + from: "Nereden", + myLocation: "Konumum", + tapTheMap: "Haritaya dokun…", + chooseOnMap: "Haritada seç", + direct: "aktarmasız", + transferOne: "1 aktarma", + transfers: "{{count}} aktarma", + options: "{{count}} seçenek", + ride: "biniş", + arrive: "varış", + speedAvg: "ort. {{speed}} km/sa", + stepsCount: "{{count}} adım", + onABoard: "board üzerinde", + usesDrivingRoads: "araç yollarını kullanır", + drivingEstimate: "araç tahmini", + updating: "güncelleniyor…", + pickMode: "Güzergahını görmek için bir mod seç.", + waitingLocation: "Konumun bekleniyor…", + routeSteps: "Güzergah adımları", + walkingRoute: "yürüyüş güzergahı — board üzerinde daha hızlı", + planningView: "Planlama görünümü — canlı dönüşler, sesli yönlendirme ve varışla takip etmek için Başlat'a dokun.", + leaveNow: "Şimdi çık", + departAt: "Şu saatte çık", + arriveBy: "Şu saatte var", + departureTime: "Kalkış saati", + arrivalTime: "Varış saati", + only: "Yalnızca", + clear: "temizle", + itinerary: "Güzergah", + group: { + bus: "Otobüs", + tram: "Tramvay", + metro: "Metro", + train: "Tren", + ferry: "Feribot", + }, + walk: "Yürü", + rideVerb: "Bin", + walkLower: "yürü", + rideLower: "bin", + toStop: "→", + track: "peron {{track}}", + stopOne: "1 durak", + stopsCount: "{{count}} durak", + tickets: "biletler ↗", + done: "Bitti", + stop: "Durdur", + start: "Başlat", + arrived: "Vardın. 🛹", + voiceOnNote: "Ekran açık kalır · ses açık — dönüşler ve varış sesli söylenir.", + voiceOffNote: "Ekran açık kalır · ses kapalı.", + followNote: "Sen kayarken dönüşler, ses ve varış. Ekranı açık tutar.", + voiceOffAria: "Sesli yönlendirmeyi kapat", + voiceOnAria: "Sesli yönlendirmeyi aç", + voiceStart: "Navigasyon başlıyor", + voiceArrived: "Vardın", + voiceIn: "{{metres}} metre sonra, {{instruction}}", + voiceContinue: "devam et", + voiceContinueCaps: "Devam et", + errPermissionDenied: "Konum izni reddedildi.", + errWaitingGps: "GPS konumu bekleniyor…", + errPermissionDeniedLong: "Konum izni reddedildi. Bulunduğun yerden güzergah için konumu aç.", + errNoLocation: "Konumun alınamadı. Tekrar dene.", + errNoLocationShort: "Konumun alınamadı.", + errTransitNoRouteFiltered: "O saat veya ulaşım modu için güzergah yok — başka bir saat dene ya da daha fazla mod ekle.", + errTransitNoRoute: "Burada toplu taşıma güzergahı bulunamadı — bu bölge açık tarifeler yayınlamıyor olabilir.", + errTransitUnreachable: "Toplu taşıma servisine ulaşılamadı. Bağlantını kontrol et ve tekrar dene.", + errRoutingBusy: "Güzergah servisi şu anda meşgul — birazdan tekrar dene.", + errNoRouteMode: "Bu mod için güzergah yok — varış noktası yol ağının dışında olabilir. Başka bir mod dene.", + errRoutingUnreachable: "Güzergah servisine ulaşılamadı. Bağlantını kontrol et ve tekrar dene.", + departures: "Kalkışlar", + upcomingFrom: "{{stop}} durağından yaklaşan kalkışlar", + loadingDepartures: "Kalkışlar yükleniyor…", + noDepartures: "Bu durakta yaklaşan kalkış bulunamadı.", + live: "canlı", + cancelled: "iptal", + refresh: "Yenile", + tripLoginTitle: "Kaydetmek için giriş yap", + tripLoginDesc: "Bu geziyi Koleksiyon olarak saklamak için giriş yap.", + tripCollectionTitle: "{{destination}} kaykay gezisi 🛹", + tripCollectionDesc: "The Sasquatch'in gezi planı — {{destination}}'da {{count}} gün.", + tripCollectionDescOne: "The Sasquatch'in gezi planı — {{destination}}'da {{count}} gün.", + tripSavedTitle: "Koleksiyonlara kaydedildi 🦧", + tripSavedDesc: "{{destination}} gezın yer işaretlerine eklendi.", + tripSaveFailed: "Kaydedilemedi", + tripSaveFailedDesc: "Bir saniye sonra tekrar dene.", + daysInDestinationOne: "{{destination}}'da {{count}} gün", + daysInDestination: "{{destination}}'da {{count}} gün", + wetForecast: "Yağışlı tahmin — kapalı/açık hava seçenekleri için yerel bir crew'a ulaş.", + dayLabel: "{{n}}. Gün", + freeSkate: "Serbest kaykay — keşfet ve çek. 🎥", + tapToBook: "rezerve etmek / zap için dokun ⚡", + localCrews: "Yerel crew'lar", + saving: "Kaydediliyor…", + savedToCollections: "Koleksiyonlara kaydedildi", + saveSpotOne: "{{count}} spotu bir Koleksiyona kaydet", + saveSpots: "{{count}} spotu bir Koleksiyona kaydet", + flights: "Uçuşlar", + stays: "Konaklamalar", + gettingAround: "Ulaşım", + noMiddleman: "Kaykayı ben planlarım — uçuş ve konaklamalar gerçek sitelerde açılır (KYC yok, aracı yok).", + ageJustNow: "az önce", + ageMinAgo: "{{count}} dk önce", + ageHourAgo: "{{count}} sa önce", + ageDayAgo: "{{count}} g önce", + skateRightHere: "tam burada", + skateMin: "~{{count}} dk cruise", + skateHours: "~{{hours}} sa cruise", + maneuver: { + headOut: "Yola çık", + arrive: "Spota var", + continueStraight: "Devam et", + bearLeft: "Sola meylet", + bearRight: "Sağa meylet", + turnLeft: "Sola dön", + turnRight: "Sağa dön", + sharpLeft: "Keskin sola dön", + sharpRight: "Keskin sağa dön", + turn: "Dön", + keepLeft: "Soldan devam et", + keepRight: "Sağdan devam et", + takeFork: "Çatalı takip et", + merge: "Birleş", + roundabout: "Dönel kavşağa gir", + takeRamp: "Rampaya gir", + takeExit: "Çıkışa gir", + }, + maneuverOnto: "{{road}} üzerine {{instruction}}", + }, + sasquatchUi: { + live: "canlı", + offline: "çevrimdışı", + genericTitle: "SkateSpots Asistanı 🦧", + genericGreeting: "Hey! Ben The Sasquatch. Spotlar, etkinlikler, koçlar, ekipman veya uygulamanın nasıl çalıştığı hakkında istediğini sor. SkateSpots relay'inden canlı verim var!", + q1: "Lizbon'da 3 gün planla", + q2: "Yakınımdaki spotları bul", + q3: "Yaklaşan etkinlik var mı?", + q4: "Crew'lar nedir?", + q5: "Zap'lar nasıl çalışır?", + q6: "Nostr nedir?", + q7: "Stash'im nedir?", + q8: "Bu ücretsiz mi?", + bubbleTitle: "Taşımak için basılı tut ve sürükle · Açmak için dokun", + openGuideAria: "Sasquatch rehberini aç", + hideAria: "Sasquatch asistanını gizle", + hide: "Asistanı gizle", + showAria: "Sasquatch asistanını göster", + activeUntil: "{{date}} tarihine kadar aktif", + platformOwner: "Platform sahibi", + upgradeTitle: "Sasquatch Pro'ya yükselt", + goPro: "Pro'ya Geç", + goProBlurb: "Kişisel AI · 2k sats'tan itibaren", + aiBalanceTitle: "Sasquatch AI kredi bakiyesi (yalnızca sahip) — {{provider}} üzerinden yükle", + aiChip: "⚡ AI {{balance}}", + minimizeToBubbleAria: "Baloncuğa küçült", + minimize: "Küçült", + closePanelAria: "Paneli kapat", + close: "Kapat", + askLab: "Koçluk & Çekim hakkında sor", + askMap: "Spotlar, Dükkanlar & Ekipman hakkında sor", + askAnything: "Bana her şeyi sor 🛹", + quickQuestions: "Hızlı sorular:", + you: "🧑 Sen", + thinking: "düşünüyor...", + inputPlaceholder: "Spotlar, etkinlikler, koçlar hakkında sor...", + liveDataFrom: "Canlı veri kaynağı", + nostrRelays: "Nostr relay'leri", + clear: "temizle", + gettingLocation: "📍 Konumun alınıyor…", + findingClosest: "🔍 En yakın spotlar bulunuyor…", + checkingLive: "🔍 Canlı veri kontrol ediliyor…", + planningTrip: "🗺️ {{destination}} gezın planlanıyor...", + searchingRelays: "🔍 Relay'lerde {{tool}} aranıyor...", + perk1: "Kişisel asistan — Sasquatch kendi Stash'ini, crew'larını, spotlarını ve ilanlarını okur", + perk2: "Eylem taslakları: ekipman listele, kaykay durumu paylaş, gezi planla — herhangi bir şey yayınlanmadan önce sen onaylarsın", + perk3: "Yanıtlar yalnızca herkese açık veriyi değil, kişisel bağlamını kullanır", + perk4: "⚡ SkateSpots'u doğrudan destekle ve ücretsiz + reklamsız tut", + welcomeTitle: "Sasquatch Pro'yu desteklediğin için teşekkürler! 🦧⚡", + welcomeDesc: "Ödeme gönderildi — sağlayıcı onayladığında pass'in etkinleşir (genellikle bir dakika içinde). Sokakları ücretsiz tuttuğun için teşekkürler.", + invoiceCopied: "Fatura kopyalandı", + dialogDesc: "AI kaykay rehberini güçlendir. %100 ücretsiz, reklamsız bir topluluk uygulamasını fonlar.", + proSupporter: "Bir Pro destekçisisin ⚡", + extendPrompt: "Uzatmak ister misin? Daha fazla süre eklemek için aşağıdan bir kademe seç.", + scanToPayPre: "Ödemek için tara", + scanToPayAmount: "{{sats}} sats", + scanToPayPost: "Pro'nun {{label}} süresi için", + invoiceQrAlt: "Lightning fatura QR'ı", + copyInvoice: "Faturayı kopyala", + ivePaid: "Ödedim", + ivePaidHint: "Cüzdanın onayladıktan sonra \"Ödedim\"e dokun — bu, pass'ini Nostr kimliğine kaydeder.", + freeStaysPre: "Ücretsiz Sasquatch ücretsiz kalır — herkese açık spot/etkinlik/koç araması, gezi planlama + tam trick sözlüğü. Pro ekler: ", + freeStaysEmphasis: "kişisel + eylem", + freeStaysPost: " katmanı.", + loginFirst: "Yükseltmek için önce giriş yap.", + paysTo: "Ödeme:", + overLightning: "Lightning üzerinden. npub'ine bağlı.", + popular: "Popüler", + sats: "sats", + extend: "Uzat", + done: "Bitti!", + cancelledNothing: "İptal edildi — hiçbir şey yayınlanmadı.", + draftReview: "Taslak — incele ve onayla", + statusTextPlaceholder: "Durum metni", + titlePlaceholder: "Ad", + priceSatsPlaceholder: "Fiyat (sats)", + conditionPlaceholder: "Durum", + cancel: "İptal", + aiTitle: "Sasquatch AI", + owner: "Sahip", + notConfigured: "yapılandırılmadı", + unavailable: "kullanılamıyor", + satsValue: "{{balance}} sats", + theNode: "düğüm", + lowBalance: "Azalıyor — {{provider}} üzerinden yükle yoksa AI anahtarsız sağlayıcıya geri döner.", + aiDesc: "İstek başına ödemeli AI, Routstr üzerinden sats ile fonlanır. Azaldığında yükler.", + tier7d: "7 gün", + tier1m: "1 ay", + tier3m: "3 ay", + tier1y: "1 yıl", + badgeTry: "Dene", + badgeOff20: "%20 indirim", + badgeBest: "En iyi değer · %40 indirim", + draftPostStatusTitle: "Bir kaykay durumu paylaş", + draftAutoExpires: "{{count}} dk içinde otomatik sona erer", + draftPostStatusCta: "Durumu paylaş", + draftCategory: "Kategori: {{value}}", + draftSize: "Boyut: {{value}}", + draftCondition: "Durum: {{value}}", + draftMaxPrice: "Maks fiyat: {{price}} {{currency}}", + draftPriceOpen: "Fiyat: açık", + draftLookingForTitle: "\"{{title}}\" aranıyor", + draftWantedCta: "Aranıyor ilanı paylaş", + draftPrice: "Fiyat: {{price}} {{currency}}", + draftPriceOffer: "Fiyat: teklif ver", + draftListTitle: "\"{{title}}\" satışa çıkar", + draftPublishCta: "İlanı yayınla", + statusPosted: "Durum paylaşıldı 🛹", + wantedPublished: "Aranıyor ilanı yayınlandı 🔎", + listingPublished: "İlan yayınlandı 💸", + mustBeLoggedIn: "Giriş yapmış olmalısın.", + }, + sasquatchChat: { + faq: { + hi: "Hey! Ben The Sasquatch 🦧 AI kaykay rehberin. Bana spotları, etkinlikleri, koçları, ekipmanı — ya da uygulamayla ilgili her şeyi sor. Neye ihtiyacın var?", + hello: "Selam! 🛹 Ben The Sasquatch. Bana kaykay spotlarını, etkinlikleri, koçları veya uygulamanın nasıl çalıştığını sor. Ne var ne yok?", + hey: "Merhaba kaykaycı! 🤙 Bana yakınındaki spotları, yaklaşan etkinlikleri, koçları veya SkateSpots'la ilgili her şeyi sor.", + whoAreYou: "Ben The Sasquatch 🦧 — SkateSpots için AI rehberi. Dünya çapında kaykay spotları bulabilir, etkinlikleri, koçları, kameramanları ve ekipman ilanlarını arayabilirim. Hepsi canlı Nostr verisiyle çalışır. Sor bakalım!", + whatCanYouDo: "Şehre veya ülkeye göre kaykay spotları bulabilir, yaklaşan etkinlikleri arayabilir, The Lab'de koç ve kameraman bulabilir, ekipman ilanlarını arayabilir ve uygulamanın nasıl çalıştığına dair soruları yanıtlayabilirim. Dene: 'Bangkok'taki spotlar' veya 'bir koç bul'! 🛹", + whatIsNostr: "Nostr, merkeziyetsiz sosyal ağlar için basit ve açık bir protokoldür. Twitter gibi düşün ama tek bir şirket kontrol etmiyor — kullanıcı adı yerine kriptografik anahtarlar kullanırsın, verilerini hangi relay'lerin saklayacağını seçersin (veya kendi relay'ini çalıştırırsın) ve tek hesap her Nostr uygulamasında çalışır! 🔑", + isThisPrivate: "İşte dürüst özet 🛡️\n\n• **GPS konumun cihazında kalır** — 'Yakınım' yalnızca haritayı ortalar. Bize asla gönderilmez veya yayınlanmaz.\n• **Eklediğin spotlar herkese açıktır** (paylaşılan bir haritanın amacı bu) — bu yüzden kendi kapının önüne iğne bırakma.\n• **DM'ler ve crew sohbetleri uçtan uca şifrelidir** — yalnızca üyeler okuyabilir.\n• Her web sitesi gibi, bağlandığın sunucular (harita karoları, relay'ler) **IP'ni** görebilir. Bunu da mı gizlemek istiyorsun? Bir VPN veya Tor kullan.\n\nTüm detaylar [Gizlilik sayfasında](/privacy). 🛹", + privacy: "Kısa versiyon 🛡️: GPS'in cihazından asla çıkmaz, yayınladığın spotlar tasarım gereği herkese açıktır ve DM'ler/crew sohbetleri uçtan uca şifrelidir. Sunucular yine de IP'ni görebilir (her web sitesi için normal) — istersen bir VPN veya Tor bunu gizler. Tam dökümü [Gizlilik sayfasında](/privacy).", + amITracked: "SkateSpots seni takip etmez — reklam yok, analitik profilleme yok, veri satışı yok ve konumunu toplayan bir SkateSpots sunucusu yok. GPS'in cihazında kalır. Sunucuların gördüğü tek şey (harita karoları, relay'ler) **IP'ndir** — her web sitesi gibi. Bunu gizlemek için bir VPN veya Tor kullan. Daha fazlası [Gizlilik sayfasında](/privacy). 🛡️", + doYouTrack: "Hayır — takip yok, reklam yok, veri toplama yok. GPS'in cihazında kalır ve seni kaydeden merkezi bir sunucu yoktur. Bağlandığın sunucular IP'ni görebilir (her site gibi); bir VPN/Tor bunu gizler. [Gizlilik sayfasına](/privacy) bak. 🛹", + vpn: "Tamamen isteğe bağlı ama ekstra gizlilik istiyorsan sağlam bir seçenek 🛡️. Bir VPN, SkateSpots'un konuştuğu sunuculardan (harita karoları, relay'ler vb.) **IP'ni** (kaba konumunu) gizler. Güvendiğin, log tutmayan bir sağlayıcı seç (ör. Mullvad); şüpheli ücretsiz olanlardan kaçın.\n\nUyarı: bir VPN yayınladığın spotları **gizlemez** (onlar herkese açıktır) ve anonim kalmaya çalışıyorsan tarayıcı GPS'ini açma. Tüm detaylar [Gizlilik sayfasında](/privacy).", + tor: "Tor Browser sana en güçlü IP gizliliğini verir — seni birkaç relay üzerinden yönlendirir, böylece sunucular gerçek IP'ni göremez 🧅. Ödünleşim: daha yavaştır ve haritalar + bazı Nostr relay'leri gecikebilir veya Tor çıkışlarını engelleyebilir. Aşırı temkinliler için harika.\n\nUnutma: Tor IP'ni gizler, yayınladığın spotları değil; amaç anonimlikse tarayıcı GPS'ini etkinleştirme. Daha fazlası [Gizlilik sayfasında](/privacy).", + hideMyIp: "İki ücretsiz seçenek 🛡️: **güvenilir bir VPN** (kolay, hızlı — IP'ni kendi sunucularının arkasında gizler) veya **Tor Browser** (maksimum gizlilik, daha yavaş). İkisi de SkateSpots'un bağlandığı sunucuların gerçek IP'ni görmesini engeller. Yayınladığın spotları gizlemediklerini unutma. [Gizlilik sayfasına](/privacy) bak.", + isMyLocation: "Konumun güvende 📍 — 'Yakınım' GPS'ini yalnızca cihazında okur; haritayı ortalamak ve yakındaki spotları sıralamak için. Asla Nostr'a yayınlanmaz, bize gönderilmez, paylaşılmaz. Yalnızca bilerek eklediğin spotlar herkese açıktır. Detaylar [Gizlilik sayfasında](/privacy).", + whatAreZaps: "Zap'lar Nostr üzerinden gönderilen anında Bitcoin Lightning bahşişleridir! Herhangi bir içerikte ⚡'e tıkla, sats'leri doğrudan oluşturucunun cüzdanına gönder. 'Beğen'e basmak gibi ama gerçek parayla. Anında, eşten eşe, aracı yok. ⚡", + howToLogin: "İki yol:\n1. **Tarayıcı eklentisi** (Masaüstü): Alby veya nos2x kur, sonra 'Giriş yap'a tıkla\n2. **Yeni kullanıcı**: Anahtar oluşturmak için 'Kaydol'a tıkla. nsec'ini (gizli anahtar) indir ve SAKLA — hesabın sonsuza dek budur!", + whatIsCashu: "Yerleşik Bitcoin cüzdanı! Lightning ile desteklenen Cashu ecash token'ları — kaykay spotlarında çevrimdışı çalışır, gizlilik odaklıdır (mint'ler ödemeleri takip edemez). Kullanmak için Ayarlar'dan Cüzdan'a git. 🥜", + whatIsNwc: "Nostr Wallet Connect — Lightning cüzdanları için USB-C gibi. Alby, Minibits, Zeus veya Coinos'u bir kez bağla ve sonsuza dek tek tıkla zap yap. Şifreli, harcama limitlerini sen kontrol edersin. 🔌⚡", + isItFree: "100% ücretsiz. Reklam yok, abonelik yok, kurumsal saçmalık yok. Kaykaycılar tarafından kaykaycılar için yapıldı. Angor aracılığıyla topluluk tarafından fonlanır — Destekçiler sayfasına bak. Kaliteli spotlar katkıda bulunduğun için topluluk zap'larıyla Bitcoin de kazanabilirsin. 🛹", + whatCanIDo: "Haritada dünya çapında spotları keşfet, The Lab'de profesyonelleri işe al (koçlar, kameramanlar, fotoğrafçılar, editörler, rampa builder'ları), bir crew'la takıl, etkinliklere katıl, turlara çık, ekipman al/sat, özel Stash'ini takip et, oluşturuculara zap gönder, spot hava durumunu kontrol et ve merkeziyetsiz kaykay topluluğunu inşa et!", + whatIsTheLab: "The Lab, kaykay sahnesinin profesyonellerini işe aldığın yerdir: Koçlar, Kameramanlar, Fotoğrafçılar, Video Editörleri ve rampa/park/DIY Builder'ları. Her biri tek bir kişi veya bir kolektif (crew/stüdyo) olabilir — üyeler kendi anahtarlarıyla onaylar, böylece güvenilir olur. Hepsi Nostr'da, sahte hesap yok. 🎓", + whatIsACrew: "Crew'lar, haritaya sabitlenmiş kaykay ailen — onlarla kaydığın kişiler, işe aldıkların değil. Her crew'un haritada ev sahası (turkuaz iğneler), ev spotları, üyeleri, hisleri ve bir manifestosu vardır. Üyeler kendi anahtarlarından onaylar. Crew'lar → 'Crew Oluştur'dan bir tane yarat. 🤘", + whatAreCrews: "Crew'lar, haritaya sabitlenmiş kaykay ailen — onlarla kaydığın kişiler, işe aldıkların değil. Her crew'un haritada ev sahası (turkuaz iğneler), ev spotları, üyeleri ve bir manifestosu vardır. Üyeler kendi anahtarlarından onaylar. Bir tane başlatmak veya katılmak için Crew'lar sekmesine git! 🤘", + howToStartACrew: "Crew'lar sekmesine git → 'Crew Oluştur'. Adını ver, haritada ev sahanı bırak, hisler ekle (veya kendi özel #hashtag'in), ev spotlarını bağla ve npub ile üye ekle. Her üye kendi anahtarından onaylar, böylece kadro güvenilir olur. 🤘", + whatIsMyStash: "Stash'im, ÖZEL, şifreli ekipman dolabındır (NIP-44 şifrelemesi). Deck'lerini, truck'larını, wheel'lerini, ayakkabılarını takip et — saklama yeri, durum, nadirlik ve fiyatla. Öğeleri herkese açık işaretlemedikçe yalnızca SEN okuyabilirsin. Sigorta veya takas planlamak için harika. 🎒", + whatIsStash: "Stash'im, ÖZEL, şifreli ekipman envanterindir. Sahip olduğun her şeyi kaydet — durum, nerede saklandığı, değer — hepsi şifreli, yalnızca sen görebilirsin. Satmak veya sergilemek istersen öğeleri herkese açık işaretle. 🎒", + whatIsABuilder: "Builder'lar, The Lab'de transition, bowl, rail veya komple bir park inşa etmek için işe alabileceğin rampa/park/DIY crew'larıdır. Ne inşa ettiklerini, malzemeleri, proje ölçeğini listelerler ve lisanslı/sigortalı olabilirler. Genellikle kolektiftirler — ve inşa ettikleri spotları haritaya bağlayabilirler. 🏗️", + whatIsANutzap: "Nutzap'ler (NIP-61), Nostr üzerinden gönderilen ecash bahşişleridir — birine doğrudan zap'lanan özel Cashu token'ları. Cüzdan'da nutzap ALMA'yı ayarlayabilirsin. (Tam nutzap gönderme kullanıma açılıyor — şimdilik Lightning zap'larını kullan.) 🥜⚡", + whatIsClink: "CLINK, Nostr'a özgü bir ödeme kodudur ('noffer'). Dükkanlar, crew'lar ve Lab profesyonelleri bir tane ekleyebilir, böylece Lightning adresine ihtiyaç duymadan onlara ödeme yapabilirsin — QR'lı bir 'CLINK ile Öde' düğmesi görürsün. ShockWallet gibi bir CLINK cüzdanıyla tara. 🔗⚡ [specs](https://clinkme.dev/specs.html) [apps](https://clinkme.dev/apps.html)", + whatIsNoffer: "Bir noffer, bir CLINK ödeme kodudur — web sunucusu veya Lightning adresi olmadan ödeme almanın yeniden kullanılabilir, Nostr'a özgü yoludur. Kendininkini dükkan/crew/Lab profiline ekle ve insanlar sana doğrudan ödeme yapabilir. 🔗", + whatAreTours: "Turlar, rehberli kaykay gezileridir — yerel seanslar, ulusal yol gezileri veya dünya yıkımı turları. Onları haritada veya Turlar bölümünde bul, buluş ve yerlilerle yeni arazide kay. 🗺️🛹", + whatIsAShop: "Kaykay Dükkanları, haritada listelenen yerel dükkanlardır. Bölgendeki gerçek fiziksel (veya çevrimiçi) kaykay dükkanlarını keşfet ve destekle — bazıları Bitcoin bile kabul eder. 🏪", + howToSellGear: "Ekipman Takası / Marketplace'e git ve bir ilan oluştur (NIP-99). Fotoğraf, sats cinsinden fiyat, durum ekle ve isteğe bağlı olarak haritada görünmesi için bir spota sabitle. Alıcılar sana doğrudan zap gönderir veya mesaj atar. 🛹💸", + supporters: "SkateSpots, Angor (merkeziyetsiz Bitcoin kitle fonlaması) aracılığıyla topluluk tarafından fonlanır — reklam yok, yatırımcı yok, veri satışı yok. Projeyi desteklemek ve sokakları ücretsiz tutmak için Destekçiler sayfasına bak. ❤️⚡", + trustScore: "Relatr tarafından desteklenen güven puanları (0-100). Nostr ağını analiz eder: takipçiler, etkinlik, etkileşim, zap'lar. Yüksek = daha güvenilir. Botları ve spam'ı filtrelemeye yardımcı olur. Puanını görmek için herhangi bir profile bak. 🛡️", + whatRelay: "SkateSpots şunları kullanır: 🛹 goskatespots.nostr1.com (birincil, kalite için allowlist'te) + relay.ditto.pub (küresel) + purplepag.es (profil toplayıcı). Verilerin yedeklilik için hepsinde kopyalanır.", + tripPlanner: "Bana bir şehir söyle, sana gün gün bir kaykay gezisi kurayım 🗺️ — spotlar, etkinlikler, koçlar ve yerel crew'lar, havaya duyarlı (yağmurlu gün = kapalı spotlar için crew ipucu). 'Lizbon'da 3 gün planla' dene. Hepsini bir Koleksiyona kaydedebilirim ve seni gerçek sitelerdeki uçuş/konaklamalara yönlendirebilirim (KYC yok, aracı yok). 🛹", + planATrip: "Sadece 'Barselona'da 3 gün planla' (veya herhangi bir şehir) de, her gün için spotları, seansları, koçları ve yerel crew'ları haritalayayım. Bir Koleksiyon olarak kaydet ve shred'e başla. 🗺️🛹", + sasquatchPro: "**Sasquatch Pro** 🦧⚡, kişisel tarafımı açan bir Lightning destekçi pass'idir:\n\n• 🧠 **Kişisel asistan** — kendi Stash'ini, crew'larını, spotlarını ve ilanlarını okurum\n• ✨ **Eylem taslakları** — ekipman listele, kaykay durumunu paylaş, geziler planla (herhangi bir şey yayınlanmadan önce her zaman sen onaylarsın)\n• 💬 **Kişisel bağlam** — yanıtlarım yalnızca herkese açık sonuçları değil, kendi verini kullanır\n• ⚡ **Projeyi destekle** — SkateSpots'u ücretsiz ve reklamsız tutarsın\n\nÜcretsiz Sasquatch ücretsiz kalır: herkese açık spot/etkinlik/koç/crew araması, sözlük ve gezi planlama Pro olmadan da çalışır. Pro sadece *kişisel* şeyleri ekler. Yukarıdaki **⚡ Pro'ya Geç**'e dokun. Kademeler: 7 gün ~2k sats, 1 ay ~5k, 3 ay ~12k, 1 yıl ~36k.", + proPerks: "Pro avantajları 🦧⚡: kişisel asistan (Stash'ini/crew'larını/spotlarını/ilanlarını okur), eylem taslakları (ekipman listele, durum paylaş, gezi planla — sen onaylarsın) ve kendi kişisel bağlamını kullanan yanıtlar. Ayrıca SkateSpots'u doğrudan destekliyor ve ücretsiz + reklamsız tutuyorsun. Ücretsiz ücretsiz kalır — Pro kişisel katmanı ekler. Yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + proVersion: "Benim Pro versiyonum 🦧⚡ bir **kişisel asistan** ekler: kendi Stash'ini, crew'larını, spotlarını ve ilanlarını okuyabilir, senin için eylemler taslaklayabilir (ekipman listele, durum paylaş, gezi planla — önce her zaman sen onaylarsın) ve yanıtlarımda kişisel bağlamını kullanabilirim. Ayrıca projeyi doğrudan destekler. Ücretsiz Sasquatch (spot/etkinlik/koç/crew araması, sözlük, gezi planlayıcı) ücretsiz kalır. Yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + perks: "Pro avantajları 🦧⚡: kişisel asistan (Stash'in/crew'ların/spotların/ilanların), senin onayladığın eylem taslakları ve kendi bağlamını kullanan yanıtlar — ayrıca uygulamayı ücretsiz ve reklamsız tutarsın. Yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + goPro: "Yükseltme sayfasını açmak için yukarıdaki **⚡ Pro'ya Geç** düğmesine dokun. Pro, kişisel asistanımı (Stash/crew'lar/spotlar/ilanlar) ve eylem taslaklarını açar ve projeyi doğrudan destekler. Lightning ile öde — 7 gün ~2k sats'tan 1 yıl ~36k sats'a kadar. Ücretsiz özellikler ücretsiz kalır. 🦧", + proPricing: "Pro kademeleri (Lightning ile öde ⚡): **7 gün** ~2.000 sats (~$1,20), **1 ay** ~5.000 sats (~$3), **3 ay** ~12.000 sats (~$7, %20 indirim), **1 yıl** ~36.000 sats (~$21, en iyi değer). Yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + howMuchIsPro: "Pro kademeleri: 7 gün ~2.000 sats, 1 ay ~5.000 sats, 3 ay ~12.000 sats (%20 indirim), 1 yıl ~36.000 sats (en iyi değer). Lightning ile öde ⚡. Yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + upgrade: "Sasquatch Pro'ya yükseltmek için yukarıdaki **⚡ Pro'ya Geç** düğmesine dokun. Lightning ile öde (7 gün ~2k sats'tan 1 yıl ~36k'ya). Pro, kişisel asistanımı ve eylem taslaklarını açar ve projeyi doğrudan destekler. 🦧⚡", + }, + statsTitle: "📊 **Rakamlarla SkateSpots**", + weatherTemp: "• {{temp}}°C (hissedilen {{feels}}°C)", + weatherSkateability: "• Kayılabilirlik: **{{label}}** ({{score}}/100)", + weatherError: "Hava durumu şu anda okunamadı. Bir saniye sonra tekrar dene. 🌧️", + labelSpots: "spot", + labelEvents: "etkinlik", + labelLabPros: "Lab profesyoneli", + labelCrews: "crew", + labelShops: "kaykay dükkanı", + labelTours: "tur", + labelGear: "ekipman ilanı", + unnamed: "Adsız", + emptyWhere: " **{{place}}** içinde", + emptyResult: "Şu anda hiç {{label}}{{where}} bulamadım 🦧\n\nBu, henüz hiçbirinin listelenmediği anlamına gelebilir — ya da relay'ler yanıt vermekte yavaş kaldı. Birazdan tekrar dene, yazımı iki kez kontrol et veya [haritada ilkini ekle](https://skate-spots.org/map). 🛹", + foundTitle: "{{emoji}} **{{count}}** {{label}} bulundu:\n{{lines}}{{more}}", + moreResults: "\n\n…ve **{{count}}** tane daha — [hepsini haritada gör](https://skate-spots.org/map) 🗺️", + locationDenied: "Konumunu göremiyorum — hiçbir şey cihazından çıkmaz; yalnızca sen istediğinde yerel olarak okurum ve tarayıcı az önce reddetti. Haritada 🎯 **Yakınım**'a dokun ya da bana bir şehir söyle: \"Bangkok'taki spotlar\". 🛹", + noNearbySpots: "Yakınında henüz haritalanmış spot yok 🦧 — [ilk bırakan sen ol](https://skate-spots.org/create-spot). 🛹", + closestTitle: "Şu anda sana en yakın:", + closestFooter: "_Cihazında hesaplandı — konumun oradan hiç çıkmadı._", + proNudge: "Bu bir **Sasquatch Pro** özelliği 🦧⚡ — Pro ile Stash'ini, crew'larını, spotlarını ve ilanlarını okuyabilir, ekipman ilanları, aranıyor ilanları ve kaykay durumları taslaklayabilir ve gezilerini planlayabilirim. SkateSpots'u ücretsiz ve reklamsız tutan bir Lightning destekçi pass'idir. Açmak için yukarıdaki **⚡ Pro'ya Geç** düğmesine dokun. 🛹", + draftingProPerk: "Eylem taslaklama (durum paylaşmak, ekipman listelemek) bir **Sasquatch Pro** avantajıdır 🦧⚡ — açmak için yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + draftIntro: "İşte bir taslak — incele ve yayınlamak için dokun. Sen onaylayana kadar hiçbir şey canlıya gitmez. 🛹", + draftFailed: "O taslağı pek oluşturamadım — detayları tekrar söylemeyi dene (ör. \"Spitfire wheel'lerimi 8000 sats'a listele\").", + tripAskCity: "Nereye? Bana bir şehir söyle (ör. \"Lizbon'da 3 gün planla\") ve bir gezi kurayım. 🗺️", + tripEmptyMap: "**{{destination}}** için haritada henüz bir şey yok 🦧 — [skate-spots.org](https://skate-spots.org) adresinde spot bırakan ilk kişi ol. Yerliler spot, crew ve etkinlik eklediğinde sana tam bir gezi kurayım.", + tripLocked: "Senin için bir **{{destination}}** görevi belirledim 🛹 — aşağıda spotlar, seanslar ve yerliler. İnce ayar yap veya kaydet.", + tripFailed: "Şu anda bunu planlamak için canlı veriye ulaşılamadı. Birazdan tekrar dene! 🛹", + tripEmptyMapLocal: "**{{destination}}** için haritada henüz bir şey yok 🦧 — [skate-spots.org](https://skate-spots.org) adresinde ilk sen ol.", + tripMissionLocal: "İşte bir **{{destination}}** görevi 🛹 — aşağıda spotlar, seanslar ve yerliler.", + relayFailed: "Relay'ler şu anda zamanında yanıt vermedi 🛰️ — bu genellikle yavaş bir bağlantıdır, eksik bir spot değil. Birazdan bir daha dene. 🛹", + couldNotProcess: "Hmm, bunu işleyemedim. Farklı bir şekilde söylemeyi dene!", + freeTierFallback: "O bir AI akıl yürütmesi gerektiriyor — bir **Sasquatch Pro** özelliği ⚡🦧\n\nYine de **spotları, etkinlikleri, koçları, crew'ları, dükkanları, turları ve ekipmanı** doğrudan relay'lerden bulabilirim — bana ör. \"Barselona'daki spotlar\" de — ve [Sözlük](/glossary) 150+ trick ve terimi kapsar. AI yanıtlarının kilidini açmak için yukarıdaki **⚡ Pro'ya Geç**'e dokun.", + aiDownFallback: "AI beynim şu anda havada takılıyor 🦧 — ama sana hâlâ yardımcı olabilirim:\n\n• 🗺️ [Harita](/) — yakınındaki spotlar, dükkanlar, etkinlikler\n• 🧪 [The Lab](/lab) — koçlar, kameramanlar, editörler\n• 📖 [Sözlük](/glossary) — 150+ trick ve terim\n• 👥 [Crew'lar](/crews) — insanlarını bul\n\nYa da bana bir **şehir** (\"Barselona'daki spotlar\") veya bir **trick** (\"nollie nedir\") söyle, doğrudan yanıtlayayım. 🛹", + wentWrong: "Benim tarafımda bir şeyler ters gitti. Bir saniye sonra tekrar dene! 🦧", + publishError: "Bunu yayınlayamadım: {{error}}. Bir saniye sonra tekrar dene.", + unknownError: "bilinmeyen hata", + }, +}; +export { trBatch2 }; export default trBatch2; diff --git a/src/i18n/tr/batch3.ts b/src/i18n/tr/batch3.ts index 7aba7b9..5385d67 100644 --- a/src/i18n/tr/batch3.ts +++ b/src/i18n/tr/batch3.ts @@ -1,4 +1,1294 @@ -/** tr — batch 3. Filled by the translation pass; empty until then. */ -const trBatch3 = {}; +/** tr — batch 3. */ +const trBatch3 = { + settingsUi: { + proSupport: { + title: "Pro & Destek", + subtitle: "SkateSpots'u ücretsiz tutan isteğe bağlı ekstralar", + prepaidTitle: "Abonelik değil, ön ödemeli", + prepaidBody: "Her satın alma tek seferlik bir Bitcoin/Lightning ödemesidir — hesap yok, yinelenen ücret yok, saklama yok. Tekrar ödemek sürenizi uzatır.", + sasquatchTitle: "Sasquatch Pro", + sasquatchBenefit: "Kişisel yapay zeka asistanının kilidini açar — kendi Stash'ini, Crew'lerini ve ilanlarını okuyabilir — ve projeye fon sağlar.", + active: "Etkin", + activeUntil: "{{date}} tarihine kadar etkin", + daysLeft: "{{count}} gün kaldı", + notActive: "Etkin değil", + goPro: "Pro'ya Geç", + extend: "Pro'yu Uzat", + day: "gün", + featuredTitle: "Öne çıkan yerleşim", + featuredBenefit: "Bir ilanı Pro rozetiyle en üste taşıyın — The Lab profilleri, etkinlikler, Shop'lar ve turlar için.", + featuredHow: "Süre kademeleri her tür için geçerlidir; daha uzun taahhütler gün başına daha az maliyetlidir. Bir ilanı oluştururken veya düzenlerken öne çıkarırsınız.", + featuredUntil: "{{date}} tarihine kadar", + yourFeatured: "Öne çıkan ilanlarınız", + noneFeatured: "Etkin öne çıkan yerleşim yok.", + freeTitle: "Ücretsiz yollar", + freeBody: "AI SSS ve yerel arama her zaman ücretsizdir ve sats ücreti yerine ücretsiz proof-of-work ile bir pazar yeri ilanı yayınlayabilirsiniz." + }, + notFound: { + seoTitle: "404 - Sayfa Bulunamadı", + seoDescription: "Aradığınız sayfa bulunamadı. Gezinmeye devam etmek için ana sayfaya dönün.", + message: "Ups! Sayfa bulunamadı", + returnHome: "Ana Sayfaya Dön" + }, + loginArea: { + signUp: "Kaydol", + logIn: "Giriş Yap" + }, + accountSwitcher: { + switchAccount: "Hesap Değiştir", + walletSettings: "Cüzdan Ayarları", + addAccount: "Başka bir hesap ekle", + logout: "Çıkış yap" + }, + amberHint: { + defaultAction: "gönder", + multiBefore: "İmzalayıcınız onaylamanızı isteyecek", + multiTimes: "{{approvals}} kez", + multiAfter: "— {{action}} için bu şifreli mesajlarda normaldir (alıcı başına bir onay). Her birini onaylayın.", + single: "İmzalayıcınız {{action}} için onayınızı isteyecek." + }, + amberCallback: { + processing: "Amber girişi işleniyor...", + gotResult: "Sonuç alındı: {{result}}", + noResultDebug: "Amber'dan sonuç yok", + noResultToast: "Amber'dan sonuç alınamadı. İşlem iptal edilmiş olabilir.", + validPubkey: "Geçerli pubkey! Giriş yapılıyor...", + loginSuccessful: "Giriş başarılı!", + loginErrorDebug: "Giriş hatası: {{error}}", + invalidResultDebug: "Geçersiz sonuç biçimi: {{result}}", + loggedInTitle: "Giriş yapıldı", + amberLoginDesc: "Amber ile başarıyla giriş yapıldı!", + loginFailedTitle: "Giriş başarısız", + loginFailedDesc: "Amber girişi tamamlanamadı. Lütfen tekrar deneyin.", + invalidPubkeyDesc: "Amber'dan geçersiz pubkey alındı.", + sessionLostToast: "Oturum verileri kayboldu. Lütfen tekrar deneyin.", + eventSignedTitle: "Etkinlik imzalandı", + eventSignedDesc: "Etkinliğiniz Amber tarafından imzalandı.", + signingFailedTitle: "İmzalama başarısız", + signingFailedDesc: "Amber'dan imzalanan etkinlik işlenemedi.", + operationCompleteTitle: "İşlem tamamlandı", + operationCompleteDesc: "{{op}} tamamlandı." + }, + loginDialog: { + loginWithAmber: "Amber ile giriş yap (Android)", + welcomeTitle: "SkateSpots'a hoş geldiniz", + welcomeSubtitle: "Devam etmek için kaydolun veya giriş yapın", + newHere: "Yeni misiniz?", + createFree: "Ücretsiz hesap oluşturun. E-posta gerekmez.", + createAccount: "Hesap Oluştur", + orLogIn: "Veya giriş yap", + loggedInTitle: "🛹 Giriş yapıldı!", + loggedIn: "Giriş yapıldı!", + connectedAmber: "Amber ile bağlanıldı!", + amberLoginFailed: "Amber girişi başarısız", + amberCancelled: "Giriş iptal edildi. Tekrar denemek için \"Amber'ı Aç\"a dokunun.", + amberNotFound: "Amber bulunamadı. Amber'ın ZapStore'dan yüklü olduğundan emin olun.", + loginFailed: "Giriş başarısız", + pubkeyError: "Hex pubkey'inizi (64 karakter) veya Amber'dan npub'ınızı yapıştırın", + pairedSigner: "İmzalayıcınızla eşleştirildi.", + connectFailed: "İmzalayıcınıza bağlanılamadı.", + openedEncrypted: "Şifreli anahtarınız açıldı.", + openKeyFailed: "Bu anahtar açılamadı.", + bunkerPrefix: "bunker:// ile başlamalıdır", + connectedBunker: "bunker ile bağlanıldı!", + bunkerFailed: "Başarısız: {{error}}", + checkBunkerUri: "Bunker URI'nizi kontrol edin", + nsecPrefix: "nsec1 ile başlamalıdır", + invalidNsec: "Geçersiz nsec: {{error}}", + checkKey: "Anahtarınızı kontrol edin", + noExtensionTitle: "Uzantı bulunamadı", + noExtensionDesc: "Alby veya başka bir NIP-07 uzantısı yükleyin.", + amberIdleDesc: "Anahtarınız Amber'ın içinde kalır. Bir dokunuş — Amber'da onaylayın ve imzalı olarak buraya dönün. Kopyalanacak bir şey yok.", + continueWithAmber: "Amber ile devam et", + noAmberGetIt: "Amber yok mu? Edinin →", + waitingAmberTitle: "Amber bekleniyor…", + waitingAmberDesc: "İsteği Amber'da onaylayın. Geri döndüğünüz an otomatik olarak giriş yapılmış olacaksınız.", + openAmberAgain: "Amber'ı tekrar aç", + havingTrouble: "Sorun mu yaşıyorsunuz? Anahtarınızı elle girin", + enterPublicKey: "Ortak anahtarınızı girin", + enterPublicKeyDescBefore: "Yalnızca otomatik akış çalışmadıysa. Amber'da: profilinize dokunun →", + copyPublicKey: "Ortak anahtarı kopyala", + enterPublicKeyDescAfter: "sonra buraya yapıştırın.", + connect: "Bağlan", + back: "← Geri", + signInWithPhone: "Telefonunuzla giriş yapın", + signInWithPhoneDesc: "Bir imzalayıcı uygulamayla (Amber, nsec.app) tarayın. Anahtarınız telefonunuzdan asla ayrılmaz.", + showPairingCode: "Eşleştirme kodunu göster", + waitingSigner: "İmzalayıcınız bekleniyor…", + copyLink: "Bağlantıyı kopyala", + orPasteBunker: "veya bir bunker URL'si yapıştırın", + bunkerTitle: "Bunker (NIP-46)", + bunkerPasteBefore: "Şunu yapıştırın:", + bunkerPasteAfter: "URI.", + amberInstructions: "Ayarlar → NIP-46 Bunker → Oluştur → Kopyala", + nsecAppInstructions: "Uygulamayı bağla → bunker URI'sini kopyala", + secretKeyTitle: "Gizli Anahtar", + secretKeyRawDesc: "Nostr gizli anahtarınızı doğrudan yapıştırın.", + secretKeyEncDesc: "Parola korumalı bir anahtar yedeği açın.", + rawNsec: "Ham nsec", + encryptedNip49: "Şifreli (NIP-49)", + nsecWarning: "⚠️ Bunu yalnızca güvendiğiniz bir cihazda kullanın. nsec'inizi asla paylaşmayın.", + login: "Giriş", + encSaferDesc: "Daha güvenli: parolanızı girene kadar anahtar şifreli kalır, böylece yedek bulut depolamada veya bir parola yöneticisinde güvenle saklanabilir.", + password: "Parola", + openEncryptedKey: "Şifreli anahtarı aç", + browserExtensionTitle: "Tarayıcı Uzantısı (NIP-07)", + browserExtensionDesc: "Masaüstü için en iyisi. Alby, nos2x, Flamingo ile çalışır.", + loginWithExtension: "Uzantı ile giriş yap" + }, + signupDialog: { + download: "İndir", + stepChoose: "Seç", + stepProfile: "Profil", + stepSaveKey: "Anahtarı kaydet", + somethingWrong: "Bir şeyler ters gitti", + createFailed: "Hesabınız oluşturulamadı. Lütfen tekrar deneyin.", + keySavedTitle: "Gizli Anahtar Kaydedildi!", + keySavedDesc: "Anahtarınız güvenle saklandı.", + downloadFailedTitle: "İndirme başarısız", + downloadFailedDesc: "Anahtar dosyası indirilemedi. Lütfen elle kopyalayın.", + encSavedTitle: "Şifreli yedek kaydedildi 🔐", + encSavedDesc: "Dosyayı VE parolayı saklayın — tekrar giriş yapmak için ikisine de ihtiyacınız var.", + encFailed: "Bu anahtar şifrelenemedi.", + invalidFileTitle: "Geçersiz dosya türü", + invalidFileDesc: "Avatarınız için lütfen bir görsel dosyası seçin.", + fileTooLargeTitle: "Dosya çok büyük", + fileTooLargeDesc: "Avatar görseli 5MB'den küçük olmalıdır.", + avatarUploadedTitle: "Avatar yüklendi!", + avatarUploadedDesc: "Avatarınız başarıyla yüklendi.", + uploadFailedTitle: "Yükleme başarısız", + uploadFailedDesc: "Avatar yüklenemedi. Lütfen tekrar deneyin.", + nameRequiredTitle: "Görünen ad gerekli", + nameRequiredDesc: "Diğer kaykaycılar kim olduğunuzu bilsin diye bir görünen ad seçin. İstediğiniz zaman değiştirebilirsiniz.", + reserveFailedTitle: "Bu ad ayrılamadı", + reserveFailedDesc: "{{error}} Daha sonra Ayarlar'dan bir tane talep edebilirsiniz.", + profileCreatedTitle: "Profil Oluşturuldu!", + profileCreatedDesc: "Profiliniz kuruldu.", + profileFailedTitle: "Profil Kurulumu Başarısız", + profileFailedDesc: "Hesabınız oluşturuldu ancak profil kurulumu başarısız oldu. Daha sonra güncelleyebilirsiniz.", + welcomeToastTitle: "Hoş geldiniz!", + welcomeToastDesc: "Hesabınız hazır.", + titleWelcome: "SkateSpots'a Katıl", + titleProfile: "Profilinizi Kurun", + titleDone: "Hoş geldiniz!", + createFreeAccount: "Ücretsiz hesabınızı oluşturun", + createFreeAccountDesc: "E-posta yok, telefon yok, parola yok. Hesabınız bir Nostr anahtarıdır — nerede yaşayacağını siz seçin.", + recommended: "Önerilen", + signUpWithAmber: "Amber ile kaydol", + signUpWithAmberDesc: "Anahtarınız Amber uygulamasının içinde oluşturulur ve saklanır — SkateSpots ona asla dokunmaz. En güvenli. Onaylamak için tek dokunuş.", + continueWithAmber: "Amber ile devam et", + orQuickWay: "ya da hızlı yol", + quickAccount: "Bu cihazda hızlı hesap", + quickAccountDesc: "Bu cihazda yaşayan bir anahtar üretiriz. En hızlı başlangıç — hemen ardından yedek almanıza yardımcı oluruz.", + createQuickAccount: "Hızlı hesap oluştur", + quickReassurance: "5 saniye sürer · bu cihazda yaşar · bir sonraki adımda yedeklemenize yardımcı oluruz", + preferAnotherSigner: "Başka bir imzalayıcı mı tercih edersiniz?", + iosDesktopNudge: "iOS veya masaüstünde misiniz? Bir imzalayıcı uygulama veya tarayıcı uzantısı en güvenli seçenektir —", + seeAllOptions: "Tüm seçenekleri gör", + youreInPickName: "İçeridesiniz! 🛹 Kaykaycılar kim olduğunuzu bilsin diye bir görünen ad seçin", + changeAnytime: "Daha sonra istediğiniz zaman değiştirebilirsiniz. Biyografi ve avatar isteğe bağlıdır.", + publishingProfile: "Profiliniz yayınlanıyor...", + displayName: "Görünen Ad", + displayNamePlaceholder: "örn. Tony, gnarlyGrind veya Crew adınız", + displayNameHint: "Gerekli — SkateSpots genelinde nasıl görüneceğiniz. İstediğiniz zaman değiştirin.", + skateName: "SkateSpots adınız", + skateNameHint: "Ücretsiz ve isteğe bağlı — profilinizde ✓ gösteren doğrulanmış bir kullanıcı adı.", + bio: "Biyografi", + bioPlaceholder: "Kendinizden bahsedin...", + avatar: "Avatar", + uploadAvatar: "Avatar görseli yükle", + saving: "Kaydediliyor...", + saveAndStart: "Kaydet ve Kaymaya Başla", + addNameToContinue: "Devam etmek için bir görünen ad ekleyin.", + savingPublishesNote: "Kaydetmek profilinizi Nostr'a yayınlar — imzalayıcınız bir kez onaylamanızı isteyebilir.", + youreIn: "İçeridesiniz! 🛹", + oneQuickThing: "Dalmadan önce hızlı bir şey…", + saveLoginKey: "Giriş anahtarınızı kaydedin", + saveLoginKeyBefore: "Bu,", + only: "tek", + saveLoginKeyAfter: "hesabınıza geri dönüş yoludur — e-posta yok, parola sıfırlama yok. Şimdi kaydedin, her cihazda, kaydığınız her yerde giriş yapabilirsiniz.", + revealSaveKey: "Anahtarımı göster ve kaydet", + recoveryCopied: "Kurtarma kodu kopyalandı. Güvenli bir yerde saklayın.", + saved: "Kaydedildi", + treatLikeBoardKeys: "Bunu kaykayınızın anahtarları gibi görün — bu koda sahip olan herkes hesabınızı kontrol eder. Asla paylaşmayın.", + hideEncBackup: "Şifreli yedeği gizle", + saveEncBackup: "Şifreli bir yedek kaydet", + encBackupBefore: "Parola korumalı bir kopya — bulut depolamada veya bir parola yöneticisinde güvenle saklanabilir. Dosyaya ihtiyacınız olacak", + and: "ve", + encBackupAfter: "parolaya.", + choosePassword: "Bir parola seçin", + saveEncBackupCta: "Şifreli yedeği kaydet", + savedCodeAria: "Kurtarma kodumu kaydettim", + savedCodeLabel: "Kurtarma kodumu güvenli bir yerde kaydettim — bir parola yöneticisi veya çevrimdışı yazılı olarak.", + letsSkate: "Hadi kayalım", + saveLater: "Daha sonra Ayarlar'dan kaydederim", + advancedSigner: "Gelişmiş: bunun yerine bir imzalayıcı uygulama kullanın" + }, + mnemonic: { + generatedTitle: "Kurtarma İfadesi Oluşturuldu! 🎉", + generatedDesc: "Bu 12 kelimeyi sırayla yazın. Hesabınızın anahtarı bunlar!", + savedTitle: "Kurtarma İfadesi Kaydedildi!", + savedDesc: "Bu dosyayı güvenli bir konumda saklayın.", + downloadFailedTitle: "İndirme başarısız", + downloadFailedDesc: "Dosya indirilemedi. Lütfen elle kopyalayın.", + copiedTitle: "Panoya kopyalandı!", + copiedDesc: "Kurtarma ifadeniz kopyalandı.", + qrWindowTitle: "Kurtarma İfadesi QR Kodu", + qrHeading: "Kurtarma İfadesi QR Kodunuz", + qrAlt: "Kurtarma İfadesi QR Kodu", + qrWarning: "Bu QR kodunu gizli ve güvenli tutun!", + qrPrint: "QR Kodunu Yazdır", + qrFailedTitle: "QR kodu başarısız", + qrFailedDesc: "QR kodu oluşturulamadı.", + accountCreatedTitle: "Hesap Oluşturuldu! 🎉", + accountCreatedDesc: "Her şey hazır! Kurtarma ifadeniz güvende.", + loginFailedTitle: "Giriş Başarısız", + loginFailedDesc: "Hesap oluşturulamadı. Lütfen tekrar deneyin.", + verifyFailedTitle: "Doğrulama Başarısız", + verifyFailedDesc: "Kelimeler eşleşmiyor. Lütfen kontrol edip tekrar deneyin.", + titlePrefix: "Şununla Hesap Oluştur:", + titleSuffix: "Kurtarma İfadesi", + twelveWordTitle: "12 Kelimelik Kurtarma İfadesi", + twelveWordDesc: "Kurtarma ifadeniz bir ana parola gibidir. Kağıda yazın ve güvende tutun. Hesabınıza diğer cihazlardan erişmek veya tarayıcı verilerinizi temizlerseniz buna ihtiyacınız olacak.", + generate: "Kurtarma İfadesi Oluştur", + useNsecInstead: "Bunun yerine gelişmiş nsec anahtarı kullan", + yourPhrase: "Kurtarma İfadeniz", + copy: "Kopyala", + download: "İndir", + qrCode: "QR Kodu", + criticalWarning: "Kritik Güvenlik Uyarısı", + warnWriteStrong: "Yazın", + warnWrite: "kağıda ve güvenle saklayın", + warnNeverShareStrong: "Asla paylaşmayın", + warnNeverShare: "kurtarma ifadenizi kimseyle", + warnBackupsStrong: "Birden fazla yedek tutun", + warnBackups: "farklı güvenli konumlarda", + warnAnyoneStrong: "Bu ifadeye sahip olan herkes", + warnAnyone: "hesabınızı sonsuza dek kontrol eder", + warnLoseStrong: "Eğer kaybederseniz", + warnLose: "hesabınızı kalıcı olarak kaybedersiniz", + savedSecurely: "Güvenle Kaydettim", + verifyTitle: "Kurtarma İfadenizi Doğrulayın", + verifyDesc: "Doğru kaydettiğinizden emin olmak için lütfen şu kelimeleri girin:", + wordLabel: "Kelime #{{n}}", + wordPlaceholder: "#{{n}} kelimesini girin", + goBack: "Geri Dön", + verifyCreate: "Doğrula ve Hesap Oluştur", + completeTitle: "Hesap Oluşturuldu!", + completeDesc: "Nostr hesabınız kullanıma hazır!", + signerTitle: "Önerilen: Bir İmzalayıcı Uygulama Kurun", + signerSubtitle: "Anahtarlarınızı ekstra güvende tutun", + signerDesc: "Daha iyi güvenlik için kurtarma ifadenizi her yere yapıştırmak yerine özel bir imzalayıcı uygulama kullanın. İmzalayıcı uygulamalar, herhangi bir Nostr uygulamasını kullanmanıza izin verirken anahtarlarınızı güvende tutar.", + signerCta: "İmzalayıcı Uygulamalar Hakkında Bilgi Edinin", + skip: "Şimdilik atla" + }, + signupMethod: { + titlePrefix: "Kayıt Yönteminizi", + titleSuffix: "Seçin", + subtitle: "Her iki yöntem de güvenlidir. Size en uygun olanı seçin!", + recommended: "Önerilen", + mnemonicTitle: "Kurtarma İfadesi", + mnemonicDesc: "12 kolay hatırlanır kelime. Bitcoin, Ethereum ve çoğu kripto cüzdanı tarafından kullanılan endüstri standardı.", + mnemonicF1: "Kağıda yazmak kolay", + mnemonicF2: "Diğer Nostr uygulamalarıyla çalışır (NIP-06)", + mnemonicF3: "Birden fazla hesap oluşturabilir", + mnemonicF4: "Kripto kullanıcılarına tanıdık", + useMnemonic: "Kurtarma İfadesi Kullan", + advanced: "Gelişmiş", + nsecTitle: "Gizli Anahtar (nsec)", + nsecDesc: "Ham kriptografik anahtar. Daha teknik ama Nostr kimliğinize doğrudan erişim sağlar.", + nsecF1: "Doğrudan kriptografik kontrol", + nsecF2: "Tüm Nostr uygulamalarıyla uyumlu", + nsecF3: "Yedeklemek için tek dize", + nsecF4: "Türetme katmanı yok", + useNsec: "Gizli Anahtar Kullan", + footer: "🔒 Her iki yöntem de eşit derecede güvenlidir. Tercihinize göre seçin!" + }, + skateNip05: { + placeholder: "adiniz", + claimedSuffix: "sizin — yayınlamak için profilinizi kaydedin.", + checking: "Uygunluk kontrol ediliyor…", + available: "{{name}}@{{domain}} uygun", + claim: "Talep et", + hint: "Harf, sayı, tire. Ücretsiz ve profilinizde ✓ rozeti olarak gösterilir." + }, + nip05Required: { + getFree: "Ücretsiz / ucuz bir NIP-05 edinin", + paid: "Ücretli", + requiredTitle: "NIP-05 Doğrulaması Gerekli", + bannerReason: "Spam'ı önlemek ve güven oluşturmak için {{role}} doğrulanmış bir Nostr adresine (NIP-05) ihtiyaç duyar.", + gateReason: "Spam'ı önlemek ve güven oluşturmak için {{role}} NIP-05 doğrulamasına sahip olmalıdır.", + addInSettings: "NIP-05'i Ayarlar'dan ekleyin", + explainer: "NIP-05, Nostr profilinizi bir alan adına bağlayarak kimliğinizi kanıtlar — şöyle", + updateProfile: "Profilinizi Güncelleyin" + }, + editProfile: { + uploadSuccessTitle: "Başarılı", + uploadSuccessDesc: "{{field}} başarıyla yüklendi", + uploadErrorDesc: "{{field}} yüklenemedi. Lütfen tekrar deneyin.", + mustBeLoggedIn: "Profilinizi güncellemek için giriş yapmalısınız", + invalidClinkTitle: "Geçersiz CLINK kodu", + invalidClinkDesc: "Bu geçerli bir noffer1… kodu gibi görünmüyor. Temizleyin veya geçerli bir tane yapıştırın.", + invalidLightningTitle: "Geçersiz Lightning adresi", + invalidLightningDesc: "you@walletofsatoshi.com gibi e-posta benzeri bir adres kullanın.", + invalidSpTitle: "Geçersiz Silent Payment adresi", + invalidSpDesc: "Bir Silent Payment adresi \"sp1\" ile başlar ve oldukça uzundur. Temizleyin veya geçerli bir tane yapıştırın.", + invalidCordnTitle: "Geçersiz Cordn bağlantısı", + invalidCordnDesc: "Tam bir https://… Cordn iletişim bağlantısı yapıştırın.", + updateSuccessTitle: "Başarılı", + updateSuccessDesc: "Profiliniz güncellendi", + updateErrorDesc: "Profil yayınlanamadı. Ayarlar > Relay'ler'deki Relay bağlantılarınızı kontrol edin", + identityTitle: "Kimlik", + identityDesc: "SkateSpots genelinde nasıl göründüğünüz.", + displayName: "Görünen ad", + displayNamePlaceholder: "Adınız", + bio: "Biyografi", + bioPlaceholder: "Kendiniz ve kaymanız hakkında birkaç kelime…", + profilePicture: "Profil resmi", + pictureDesc: "Kare bir görsel yükleyin veya yapıştırın.", + bannerImage: "Afiş görseli", + bannerDesc: "Profilinizin üstü için geniş bir görsel.", + website: "Web sitesi", + bitcoinTitle: "Bitcoin & Ödemeler", + bitcoinDesc: "İnsanların size doğrudan zap, bahşiş ve ödeme yapmasına izin verin — aracı yok.", + lightningAddress: "Lightning adresi", + lud16Invalid: "E-posta benzeri bir adres kullanın, örn. you@yourdomain.com.", + lud16Ok: "Profilinizdeki “Zap” düğmesini çalıştırır.", + lud16Hint: "Anında Bitcoin bahşişleri. Profilinizdeki “Zap” düğmesini çalıştırır.", + silentPaymentAddress: "Silent Payment adresi", + spInvalid: "“sp1” ile başlamalı ve oldukça uzun olmalıdır.", + spOk: "Geçerli — yeniden kullanılabilir, özel bir zincir üstü adres.", + spHint: "Yeniden kullanılabilir statik zincir üstü adres (BIP-352). Bir kez paylaşın; her ödeme ilişkilendirilemez.", + clinkTipCode: "CLINK bahşiş kodu", + nofferInvalid: "Bu geçerli bir noffer1… kodu gibi görünmüyor.", + nofferOk: "Geçerli — profilinizde bir “Bitcoin ile Bahşiş” düğmesi görünecek.", + nofferHint: "Kendi saklamalı CLINK kodu, böylece herkes Nostr üzerinden size bahşiş verebilir — aracı yok.", + skateProfileTitle: "Kaykay Profili", + skateProfileDesc: "Sponsorlarınızı ve Crew'ün size nasıl ulaştığını temsil edin.", + badges: "Rozetler", + badgesHint: "(etiket + isteğe bağlı bağlantı)", + badgeExample: "örn. Independent Trucks", + badgeLabelPlaceholder: "Rozet etiketi…", + badgeUrlPlaceholder: "https://… (isteğe bağlı)", + removeBadge: "Rozeti kaldır", + addBadge: "Rozet ekle", + badgesDescBefore: "Kaymanızı destekleyen sponsorlar, Shop'lar veya kişiler — ve göstermek istediğiniz başka her şey. Her biri profilinizde tıklanabilir bir çip olur.", + badgesDescAfter: "üye rozeti otomatik olarak eklenir.", + coordinator: "Koordinatör", + cordnInvalid: "Bu bir koordinatör gibi görünmüyor. Bir nprofile, bir cordn.net bağlantısı veya bir https:// URL'si yapıştırın.", + cordnOk: "Profilinizde gösterilir — başkaları tek dokunuşla ekleyebilir.", + cordnHint: "Başkalarının size mesaj göndermek için kullandığı Cordn koordinatörü. Özel, şifreli, size ait.", + useMyCoordinator: "Koordinatörümü kullan", + accountTitle: "Hesap", + accountDesc: "Ek hesap ayarları.", + botAccount: "Bot hesabı", + botAccountDesc: "Bu hesabı otomatik veya bot olarak işaretle.", + saving: "Kaydediliyor…", + saveProfile: "Profili Kaydet", + nip05VerifiedHandle: "NIP-05 doğrulanmış kullanıcı adı", + nip05How: "Nasıl?", + extraHandles: "Ek kullanıcı adları", + extraHandlesHint: "isteğe bağlı — 5 taneye kadar ekleyin", + nip05HintEmpty: "you@yourdomain.com gibi doğrulanmış bir kullanıcı adı — Nostr'un mavi tik versiyonu. Profilinizde ✓ rozeti gösterir ve Kaykaycılar dizinindeki “Doğrulanmış” filtresinin kilidini açar.", + nip05Invalid: "E-posta benzeri bir kullanıcı adı kullanın, örn. you@yourdomain.com — “https://” veya boşluk yok.", + nip05Checking: "Alan adınız kontrol ediliyor…", + nip05Verified: "Doğrulandı — alan adınız bu kullanıcı adının size ait olduğunu onaylıyor. ✓", + nip05Mismatch: "Alan adınız bu kullanıcı adını FARKLI bir anahtarla eşleştiriyor. Bu hesaba işaret etmesi için .well-known/nostr.json dosyanızı düzeltin.", + nip05Unreachable: "Alan adınızın /.well-known/nostr.json dosyasına henüz ulaşılamadı. Alan adınız doğru kurulduğunda kaydedilen kullanıcı adları yine de çalışır.", + nip05Enter: "NIP-05 kullanıcı adınızı girin.", + freeHandleBefore: "Kendi alan adınız yok mu? SkateSpots'tan ücretsiz bir", + freeHandleAfter: "kullanıcı adı talep edin.", + uploadLabel: "{{label}} yükle", + previewLabel: "{{label}} önizlemesi" + }, + security: { + recoveryCopied: "Kurtarma kodu kopyalandı. Güvenli bir yerde saklayın.", + savedTitle: "Kaydedildi!", + recoveryDownloaded: "Kurtarma kodu indirildi. Güvenli bir yerde saklayın.", + downloadFailedTitle: "İndirme başarısız", + downloadFailedDesc: "Lütfen bunun yerine elle kopyalayın.", + loginRequired: "Giriş Gerekli", + loginRequiredDesc: "Güvenlik ayarlarına erişmek için giriş yapın.", + backupConfirmedTitle: "Yedek Onaylandı! ✅", + backupConfirmedDesc: "Harika! Anahtarlarınız güvende.", + yourRecoveryCode: "Kurtarma Kodunuz", + recoveryCodeDesc: "Kaydolurken kaydetmediniz mi? Buradan istediğiniz zaman alabilirsiniz.", + recoveryCodeBefore: "Bu kod, yeni bir cihazda veya tarayıcıda tekrar giriş yapmanın", + only: "tek", + recoveryCodeAfter: "yoludur. Güvenli bir yerde saklayın (bir parola yöneticisi veya kağıda yazılı). Buna sahip olan herkes hesabınızı kontrol eder — asla paylaşmayın.", + revealRecovery: "Kurtarma kodumu göster", + qrHint: "Giriş yapmak için başka bir Nostr uygulamasıyla tarayın. Bu ekranı gizli tutun.", + neverShareHide: "⚠️ Bunu asla paylaşmayın. İşiniz bittiğinde gizleyin.", + hide: "Gizle", + amberNoteBefore: "Şununla giriş yaptınız:", + amberNoteAfter: ". Kurtarma kodunuz Amber'ın içinde yaşar — yedeklemek için Amber uygulamasını açın. SkateSpots anahtarınızı asla görmez.", + bunkerNoteBefore: "Bir", + remoteSigner: "uzak imzalayıcı (bunker)", + bunkerNoteAfter: "ile giriş yaptınız. Kurtarma kodunuz SkateSpots'ta değil, imzalayıcı hizmetinizde tutulur. Orada yedekleyin.", + extensionNoteBefore: "Bir", + browserExtension: "tarayıcı uzantısı", + extensionNoteAfter: "ile giriş yaptınız. Kurtarma kodunuz uzantıda yaşar — kendi yedekleme/dışa aktarma seçeneğini kullanın. SkateSpots anahtarınızı asla görmez.", + otherNote: "Kurtarma kodunuz SkateSpots tarafından değil, imzalayıcı uygulamanız tarafından yönetilir. Orada yedekleyin.", + backupWarningTitle: "⚠️ Kurtarma ifadenizi veya gizli anahtarınızı yedeklediniz mi?", + backupWarningBody: "Anahtarlarınız hesabınıza erişmenin TEK yoludur. Onları kaybederseniz her şeyi kaybedersiniz — parola sıfırlama yoktur!", + iveBackedUp: "Anahtarlarımı Yedekledim", + backupConfirmed: "✅ Yedek Onaylandı", + backupNotConfirmed: "⚠️ Yedek Onaylanmadı", + backupConfirmedStatusDesc: "Anahtarlarınızın güvenle yedeklendiğini onayladınız.", + backupNotConfirmedDesc: "Kurtarma ifadenizi veya gizli anahtarınızı mutlaka yedekleyin!", + notSavedYetBefore: "Kurtarma kodunuzu henüz kaydetmediniz mi? Sorun değil — yukarıdaki", + notSavedYetAfter: "bölümünden alın, güvenli bir yerde saklayın ve ardından aşağıda onaylayın.", + yesBackedUp: "Evet, Anahtarlarımı Yedekledim", + bestPracticesTitle: "Anahtar Güvenliği En İyi Uygulamaları", + bestPracticesDesc: "Nostr hesabınızı nasıl güvende tutarsınız", + bp1Title: "Kağıda yazın", + bp1Desc: "Fiziksel yedek en güvenlisidir. Kasa gibi güvenli bir konumda saklayın.", + bp2Title: "Birden fazla yedek", + bp2Desc: "Kopyaları farklı güvenli konumlarda tutun (ev kasası, banka kasası vb.)", + bp3Title: "Anahtarlarınızı asla paylaşmayın", + bp3Desc: "Gerçek Nostr uygulamaları ilk girişten sonra nsec'inizi veya kurtarma ifadenizi ASLA istemez", + bp4Title: "Bulutta şifresiz saklamayın", + bp4Desc: "Google Docs, e-posta taslakları veya düz metin bulut depolamadan kaçının", + bp5Title: "Bir tarayıcı uzantısı kullanmayı düşünün", + bp5Desc: "Alby, nos2x veya Flamingo anahtarlarınızı güvende tutar ve onları web sitelerine asla göstermez", + importantReminders: "⚠️ Önemli Hatırlatmalar", + rem1: "Anahtarlarınızı kaybederseniz hesabınızı kalıcı olarak kaybedersiniz", + rem2: "Hiçbir şirket veya kişi parolanızı sıfırlayamaz — biz bile", + rem3: "Anahtarlarınıza sahip olan herkes hesabınızın tam kontrolüne sahiptir", + rem4: "Anahtarlarınız TÜM uygulamalardaki tüm Nostr verilerinizi kontrol eder", + recommendedSigners: "🔌 Önerilen Nostr İmzalayıcıları", + recommendedSignersDesc: "Daha iyi güvenlik ve kolaylık için bir Nostr imzalayıcı kullanın", + recommended: "Önerilen", + amberDesc: "Android için güvenli Nostr imzalayıcı. Anahtarlarınızı telefonunuzda güvende tutar ve onları açığa çıkarmadan etkinlikleri imzalar.", + albyDesc: "Lightning cüzdanı, WebLN ve NWC desteği olan tam özellikli uzantı.", + flamingoDesc: "Basit, temiz arayüz. Cüzdan özellikleri olmadan Nostr imzalamaya odaklanır.", + nos2xDesc: "İleri düzey kullanıcılar için minimal, hafif uzantı.", + nostrConnectTitle: "☁️ Nostr Connect (Uzak İmzalayıcılar)", + nostrConnectDesc: "Herhangi bir cihazdan hesabınıza erişmek için bir uzak imzalayıcı kullanın", + nostrConnectBody: "Nostr Connect (\"bunker\" olarak da bilinir) anahtarlarınızı güvenli bir sunucuda saklamanıza ve herhangi bir cihazdan giriş yapmanıza olanak tanır. Anahtarlarınız sunucudan asla ayrılmaz, ancak hesabınızı her yerde kullanabilirsiniz!", + nsecAppDesc: "Ücretsiz, güvenli uzak imzalayıcı. bunker:// URI'si oluşturun ve giriş yaparken yapıştırın.", + nostrumDesc: "Mobil desteği olan başka bir uzak imzalayıcı seçeneği.", + howToUse: "💡 Nasıl kullanılır:", + howToUseDesc: "Bu hizmetlerden birinde hesap oluşturun, bunker:// bağlantı dizenizi alın ve giriş yaparken \"Nostr Connect\" sekmesine yapıştırın." + }, + relayList: { + connected: "Bağlı", + connecting: "Bağlanıyor…", + offline: "Çevrimdışı", + removeUrl: "{{url}} kaldır", + add: "Ekle", + publishedTitle: "Relay listesi yayınlandı", + publishedDesc: "Nostr'a senkronize edildi (kind 10002).", + publishFailedTitle: "Relay listesi yayınlanamadı", + invalidUrlTitle: "Geçersiz Relay URL'si", + invalidUrlDesc: "wss://relay.ornek.com gibi bir şey deneyin", + alreadyInList: "Relay zaten listenizde", + keepReadWriteTitle: "Şunda okuma veya yazmayı koru:", + keepReadWriteDesc: "Bir relay'e okuma/yazma'dan en az birinin olması gerekir.", + alreadyInThisList: "Relay zaten bu listede", + dmPublishedTitle: "DM relay'leri yayınlandı", + dmPublishedDesc: "NIP-17 gelen kutusu güncellendi.", + dmPublishFailedTitle: "DM relay'leri yayınlanamadı", + nip65Title: "Relay'ler (NIP-65)", + nip65DescUser: "Değiştirmek için Okuma / Yazma'ya dokunun. kind 10002 listeniz olarak Nostr'a yayınlanır.", + nip65DescLoggedOut: "Değiştirmek için Okuma / Yazma'ya dokunun. Listenizi Nostr'a yayınlamak için giriş yapın.", + noRelays: "Henüz relay yok — aşağıya bir tane ekleyin.", + local: "Yerel", + read: "Okuma", + readHint: "Bu relay'den içerik al", + write: "Yazma", + writeHint: "Etkinliklerinizi bu relay'e yayınla", + dmTitle: "DM gelen kutusu relay'leri", + dmDesc: "NIP-17 doğrudan mesajlarını (kind 10050) nerede alırsınız. Boş olduğunda yazma relay'lerinize geri döner.", + localTitle: "Yerel relay'ler", + localDesc: "Yalnızca uygulama (örn. bir LAN düğümü). Okuma ve yazma için kullanılır; asla yayınlanmaz.", + blockedTitle: "Engellenen relay'ler", + blockedDesc: "Bunlara asla bağlanmayın — her okuma ve yazmadan hariç tutulur." + }, + relatr: { + searchingTitle: "Relatr hizmeti aranıyor...", + searchingDesc: "Relatr profilleri için Nostr sorgulanıyor", + foundTitle: "Relatr hizmeti bulundu!", + foundDesc: "Hizmet: {{name}}", + unknown: "Bilinmiyor", + notFoundTitle: "Relatr hizmeti bulunamadı", + notFoundDesc: "Pubkey'i elle girmeyi deneyin veya https://www.relatr.xyz/ adresini kontrol edin", + searchFailedTitle: "Arama başarısız", + searchFailedDesc: "Relatr profilleri için Nostr sorgulanamadı", + invalidPubkeyTitle: "Geçersiz pubkey", + invalidPubkeyDesc: "Lütfen 64 karakterlik geçerli bir hex pubkey girin", + enabledTitle: "Relatr etkinleştirildi!", + enabledDesc: "Küresel güven puanları artık etkin.", + disabledTitle: "Relatr devre dışı", + disabledDesc: "Güven puanları artık alınmıyor.", + title: "Relatr Güven Puanları", + desc: "Küresel güven puanları güvenilir kullanıcıları belirlemeye ve spam'ı azaltmaya yardımcı olur", + status: "Durum", + active: "Etkin", + disabled: "Devre dışı", + activeStrong: "Relatr etkin.", + activeDesc: "ContextVM'nin küresel ağ analizinden gelen güven puanları güvenilir kaykaycıları belirlemeye ve spam'ı azaltmaya yardımcı olur.", + disabledStrong: "Relatr devre dışı.", + disabledHint: "Küresel Nostr ağından güven puanları almak için etkinleştirin.", + disable: "Relatr'ı Devre Dışı Bırak", + enable: "Relatr'ı Etkinleştir", + advancedSettings: "Gelişmiş Ayarlar", + servicePubkey: "Relatr Hizmet Pubkey'i", + pubkeyPlaceholder: "64 karakterlik hex pubkey girin...", + searching: "Aranıyor...", + autoDiscover: "Otomatik Keşfet", + pubkeyDefault: "Varsayılan: ContextVM'nin resmi Relatr hizmeti (npub1dvmc...)", + relayLabel: "Relay (Relatr'ın puanları yayınladığı yer)", + relayDefault: "Varsayılan: wss://relay.contextvm.org (ContextVM'nin resmi relay'i)", + applyChanges: "Değişiklikleri Uygula", + learnMore: "Daha Fazla Bilgi:", + website: "Relatr Web Sitesi", + github: "Relatr GitHub", + nip85Spec: "NIP-85 Spesifikasyonu" + }, + followList: { + unfollow: "Takibi bırak", + title: "Nostr Ağınız", + desc: "Kimi takip ettiğinizi yönetin. Kullanıcıları takip etmek Güven Ağınızı oluşturmaya yardımcı olur ve hangi Spot'ların güven rozetleri göstereceğini belirler.", + following: "Takip edilenler ({{count}})", + followers: "Takipçiler ({{count}})", + follow: "Takip et", + followHint: "💡 Bir Nostr pubkey'i (npub1...), NIP-05 adresi (kullanici@alanadi.com) veya hex pubkey yapıştırın", + notFollowing: "Henüz kimseyi takip etmiyorsunuz", + notFollowingHint: "Spot'larını ✅ DOĞRULANMIŞ rozetleriyle görmek için kaykaycıları takip edin", + trustActiveStrong: "✅ Güven Rozetleri Etkin:", + trustActive: "Takip ettiğiniz kişilerin oluşturduğu Spot'lar artık DOĞRULANMIŞ rozetleri gösterecek. Arkadaşlarının oluşturduğu Spot'lar GÜVENİLİR rozetleri gösterecek.", + noFollowers: "Henüz takipçi yok", + noFollowersHint: "Takipçi kazanmak için Nostr profilinizi paylaşın!", + howTitle: "💡 Takip Etmenin Güven Rozetlerini Nasıl Etkilediği", + verifiedStrong: "✅ DOĞRULANMIŞ (Yeşil):", + verifiedDesc: "Doğrudan takip ettiğiniz kişilerin oluşturduğu Spot'lar", + trustedStrong: "🟡 GÜVENİLİR (Sarı):", + trustedDesc: "Arkadaşlarınızın takip ettiği kişilerin oluşturduğu Spot'lar (2 adım)", + unverifiedStrong: "⚪ Doğrulanmamış:", + unverifiedDesc: "Ağınızla bağlantısı olmayan kullanıcıların Spot'ları", + tip: "💡 İpucu: Daha fazla doğrulanmış Spot görmek ve güven ağınızı oluşturmak için aktif kaykaycıları takip edin!" + }, + notify: { + enableTitle: "Bildirimleri etkinleştir", + enableDesc: "Bir şey size ihtiyaç duyduğunda bu cihazı titret.", + checkingPermission: "İzin kontrol ediliyor…", + unsupported: "Bu cihaz burada bildirimleri desteklemiyor. Telefonunuzda etkinleştirmek için Android uygulamasını yeniden derleyin.", + denied: "Bu site için bildirimler engellendi. Tarayıcı/işletim sistemi ayarlarınızdan izin verin, sonra tekrar deneyin.", + backgroundTitle: "Arka plan bildirimleri", + backgroundDesc: "SkateSpots kapalıyken bile mesajlar ve takaslar için bildirim alın.", + pushUnsupported: "Bu tarayıcı arka plan push'u desteklemiyor. Mobilde SkateSpots'u ana ekranınıza ekleyin.", + pushPrivacy: "Kapalıyken size ulaşmak için, bir SkateSpots bildirim sunucusu anahtarınıza bir şey geldiğinde relay'inizden bir ping alır ve bunu telefonunuzun push hizmetine iletir. Yalnızca anahtarınızda bir şey olduğunu görür — kimin gönderdiğini veya ne söylediğini asla, ve mesajlarınızın şifresini çözemez. Cihaz başına katılın.", + bgDeliveryTitle: "Arka plan teslimatı (Android)", + bgDeliveryDesc: "Uygulama kapalıyken yeni mesajları, teklifleri ve takasları kontrol edin — Google hizmetleri yok.", + off: "Kapalı", + standard: "Standart (~15 dk)", + fast: "Hızlı (~5 dk)", + bgDeliveryNote: "Standart en iyi çabadır — Android Doze altında erteleyebilir. Hızlı kalıcı bir bildirim gösterir ve daha fazla pil kullanır. Sunucumuzda hiçbir şey şifresi çözülmez.", + notifyMeAbout: "Şunlar hakkında beni bilgilendir", + couldNotEnable: "Etkinleştirilemedi", + sendTest: "Bir test bildirimi gönder", + testTitle: "SkateSpots bildirimleri açık 🛹", + testBody: "Bir DM, zap veya Crew davetiyesi böyle görünecek.", + footerBefore: "Uyarılar, uygulamanın zaten sahip olduğu verilerden cihazınızda oluşturulur ve doğrudan mesaj uyarıları mesajlarınızın şifresini asla çözmez — bu yüzden Amber'dan asla birini açması istenmez.", + footerAfter: "kapalıyken, tamamen kapalı bir uygulamaya ulaşılamaz, bu nedenle uyarılar SkateSpots'u bir sonraki açışınızda gelir.", + cat_dms_label: "Doğrudan mesajlar", + cat_dms_hint: "Biri size özel mesaj gönderir", + cat_crew_label: "Crew'ler", + cat_crew_hint: "Davetiyeler, katılma istekleri ve üyelik onayları", + cat_social_label: "Zap'ler, yanıtlar ve bahsetmeler", + cat_social_hint: "Tepkiler, yeniden paylaşımlar, zap'ler, yanıtlar ve etkinlik güncellemeleri", + cat_newsletter_label: "Bülten", + cat_newsletter_hint: "Yeni SkateSpots duyuruları (yalnızca aboneler)", + cat_trades_label: "Teklifler ve takaslar", + cat_trades_hint: "Teklifler, karşı teklifler ve takas onayları", + cat_reminders_label: "Etkinlik hatırlatıcıları", + cat_reminders_hint: "Gideceğiniz etkinliklerden bir saat önce bir dürtme (Android uygulaması)" + }, + regionBackfill: { + taggedTitle: "{{count}} konum{{s}} etiketlendi", + taggedSkipped: "{{count}} atlandı (koordinat yok veya geocoder eşleşmesi yok).", + taggedOk: "Bölge etiketleri topluluk relay'ine yazıldı.", + nothingTitle: "Etiketlenecek bir şey yok", + nothingDesc: "Hiçbir pin geocode edilemedi. Daha sonra tekrar deneyin.", + failedTitle: "Geri doldurma başarısız", + title: "Bölge etiketlerini geri doldur", + admin: "Yönetici", + descBefore: "Geocoding var olmadan önce yapılan pinlerin koordinatları vardır ama şehir/ülke etiketi yoktur, bu yüzden harita onları çizerken Topluluk İstatistikleri yalnızca “Sınıflandırılmamış” diyebilir. Bu, her pinden etiketleri yeniden türetir ve", + descStrong: "kendi", + descAfter: "etiketsiz Spot'larınızı ve Shop'larınızı yeniden yayınlar.", + scanning: "Spot'larınız taranıyor…", + allTagged: "Sahip olduğunuz her Spot ve Shop'un zaten bir bölge etiketi var. 🎉 Kalan “Sınıflandırılmamış” pinler başka haritacılara aittir — yalnızca kendi anahtarları onları etiketleyebilir.", + countLine: "{{count}} Spot'unuz{{s}}/Shop'unuz bölge etiketi olmadan duruyor. İmzalayıcınız her biri için onay isteyebilir.", + tagging: "Etiketleniyor {{done}}/{{total}}…", + run: "Bölge etiketlerini geri doldur", + summary: "{{updated}} güncellendi · {{skipped}} atlandı · {{failed}} başarısız" + }, + adminReview: { + title: "İnceleme kuyruğu", + flagged: "{{count}} Spot{{s}} çöp sinyallerini tetikliyor — gizle veya yok say.", + clean: "Test girdisi veya konu dışı pin gibi görünen Spot'lar." + }, + grantPro: { + invalidNpub: "Geçerli bir npub girin (veya hex pubkey)", + invalidDays: "Günler pozitif bir sayı olmalıdır", + grantedTitle: "Pro verildi ⚡", + grantedDesc: "{{npub}}, {{date}} tarihine kadar", + failedTitle: "Verme başarısız", + title: "Sasquatch Pro Ver", + owner: "Sahip", + desc: "Zap makbuzunun kaçırdığı doğrulanmış bir ödeme için manuel yedek. Sahip tarafından imzalanmış bir yetki yayınlar; kullanıcı onu taklit edemez.", + targetPlaceholder: "npub1… (veya hex)", + grant: "Ver" + }, + myData: { + reactionTitle: "{{emoji}} tepkisi", + deleting: "Siliniyor...", + requestDeletion: "Silme Talep Et", + selectContentTitle: "Silinecek İçeriği Seçin", + selectContentDesc: "Silme talep etmek istediğiniz belirli öğeleri seçin.", + all: "Tümü", + spots: "Spot'lar", + events: "Etkinlikler", + shops: "Shop'lar", + listings: "İlanlar", + collections: "Koleksiyonlar", + lab: "Lab", + posts: "Gönderiler", + reactions: "Tepkiler", + selectAll: "Tümünü Seç", + selectAllVisible: "Görünenlerin Tümünü Seç", + selectedCount: "{{count}} seçildi", + noItemsCategory: "Bu kategoride öğe yok", + decentralizedStrong: "Önemli:", + decentralizedNote: "Nostr merkeziyetsizdir. Relay'ler silme isteklerini onurlandırmalıdır, ancak bazıları onurlandırmayabilir. Bu garantili kalıcı bir silme değildir.", + deleteCount: "{{count}} Öğe{{s}} Sil", + noDataTitle: "Dışa aktarılacak veri yok", + noDataDesc: "Henüz hiç etkinlik yayınlamadınız.", + exportedTitle: "Veriler dışa aktarıldı!", + exportedDesc: "{{count}} etkinlik JSON olarak indirildi.", + deletionRequestedTitle: "Silme talep edildi", + deletionRequestedDesc: "Silme isteği relay'lere yayınlandı.", + deletionRequestedMany: "{{count}} öğe için silme talep edildi. Not: Bazı relay'ler bu isteği onurlandırmayabilir.", + deletionFailedTitle: "Silme başarısız", + deletionFailedDesc: "Silme isteği yayınlanamadı. Lütfen tekrar deneyin.", + loginRequired: "Giriş Gerekli", + loginRequiredDesc: "Verilerinizi görüntülemek ve yönetmek için giriş yapın.", + title: "Verilerim", + desc: "Nostr ağındaki içeriğiniz. Bu veriler size aittir — istediğiniz zaman dışa aktarın veya silme talep edin.", + coachFilmer: "Koç/Kameracı", + zaps: "Zap'ler", + received: "Alınan", + exportAll: "Tüm Verileri Dışa Aktar", + recentActivity: "Son Etkinlik", + viewAll: "Tümünü Gör ({{count}})", + noDataPublished: "Henüz veri yayınlanmadı", + startBy: "Şununla başla:", + addingASpot: "bir Spot ekleme", + aboutYourData: "Verileriniz Hakkında", + ownDataStrong: "Verileriniz size aittir.", + ownData: "Tüm içerik kriptografik anahtarlarınızla imzalanır ve Nostr relay'lerinde saklanır. Hiçbir şirket onu kontrol etmez.", + exportAnytimeStrong: "İstediğiniz zaman dışa aktarın", + exportAnytime: "- Tüm etkinliklerinizi JSON olarak indirin", + portableStrong: "Taşınabilir", + portable: "- Anahtarlarınızı herhangi bir Nostr uygulamasında kullanın", + selectiveStrong: "Seçmeli silme", + selective: "- Tam olarak neyi sileceğinizi seçin", + caveatStrong: "Merkeziyetsizlik uyarısı", + caveat: "- Bazı relay'ler silme isteklerine rağmen verileri saklayabilir" + }, + settingsPage: { + seoTitle: "Ayarlar - SkateSpots", + seoDescription: "SkateSpots hesap ayarlarınızı yönetin.", + heading: "AYARLAR", + subtitle: "Hesap ve uygulama tercihleri", + editProfile: "Profili Düzenle", + profileRefreshed: "Profil yenilendi!", + found: "Bulundu: {{name}}", + unnamed: "isimsiz", + profileNotFound: "Profil bulunamadı", + notFoundOnRelay: "Hiçbir relay'de bulunamadı.", + refreshFailed: "Yenileme başarısız", + refreshFailedDesc: "Relay'lere bağlanılamadı.", + loginToEdit: "Profilinizi düzenlemek için giriş yapın", + noProfileRelays: "Relay'lerde bir profil bulamadık. Daha önce bir tane kurduysanız yenilemeyi deneyin.", + checkDisplayName: "bir görünen ad", + checkPhoto: "bir profil fotoğrafı", + checkBio: "kısa bir biyografi", + checkLightning: "insanların size zap gönderebilmesi için bir Lightning adresi", + checkHandle: "ücretsiz bir @skate-spots.org kullanıcı adı", + finishProfile: "Profilinizi tamamlayın", + addItem: "{{item}} ekle", + nip05Title: "NIP-05 Doğrulaması", + nip05Desc: "Güven oluşturmak için doğrulanmış bir Nostr adresi (name@domain.com gibi) edinin. Etkinlik oluşturmak, koçluk profilleri ve Shop'lar için gereklidir.", + freeFromSkateSpots: "SkateSpots'tan ücretsiz", + claimHandleBefore: "Şöyle bir kullanıcı adı talep edin:", + claimHandleAfter: "— kayıt yok, maliyet yok, çalıştırılacak alan adı yok. Profil sekmesinden talep edin, sonra kaydedin.", + claimInProfile: "Profil'den Talep Et", + nip05Footer: "NIP-05'inizi aldıktan sonra Profil alanına ekleyin ve kaydedin.", + localRelayOn: "Yerel relay açık", + localRelayOff: "Yerel relay kapalı", + lookingForCitrine: "Bu cihazda Citrine aranıyor…", + noLongerUsing: "Artık cihaz üstü relay kullanılmıyor.", + localRelay: "Yerel Relay", + citrineOff: "Bu cihazda daha hızlı okumalar ve çevrimdışı yedek", + citrineSearching: "Bu cihazda Citrine aranıyor…", + citrineLive: "Bağlı — yerel olarak okunuyor ve yedekleniyor", + citrineWaiting: "Etkin — bağlanmak için Citrine'i başlatın", + toggleCitrine: "Yerel Citrine relay'ini değiştir", + citrineDetected: "Citrine relay'i algılandı", + citrineLooking: "Citrine aranıyor…", + citrineNotDetected: "Citrine algılanmadı", + recheckCitrine: "Citrine relay'ini yeniden kontrol et", + checking: "Kontrol ediliyor", + recheck: "Yeniden kontrol et", + chipInstantReads: "Anında okumalar", + chipWorksOffline: "Çevrimdışı çalışır", + chipOnDeviceBackup: "Cihaz üstü yedek", + cantReachStrong: "Citrine'e ulaşılamıyor.", + cantReachBefore: "Ücretsiz Citrine uygulamasının yüklü olduğundan ve relay'inin", + started: "başlatıldığından", + cantReachAfter: "emin olun, sonra Yeniden kontrol et'e dokunun. Anında okumalar ve çevrimdışı yedek için telefonunuzda özel bir Nostr relay'i çalıştırır.", + citrineStep1Before: "Citrine'i açın → şuna dokunun:", + start: "Başlat", + citrineStep2Before: "Buraya dönün → şuna dokunun:", + getCitrine: "Citrine'i Edin", + citrinePrivacy: "Stash'iniz ve mesajlarınız burada her yerde olduğu gibi uçtan uca şifreli kalır. Yerel relay yalnızca işleri hızlandırır ve cihazınızda bir kopya tutar — şifrelemeyi asla değiştirmez.", + communityRelayDisabled: "Topluluk relay'i devre dışı", + communityRelayEnabled: "Topluluk relay'i etkin", + usingOnlyPersonal: "Yalnızca yapılandırdığınız relay'ler kullanılıyor.", + skateRelayIncluded: "SkateSpots relay'i dahil edildi.", + relays: "Relay'ler", + relayPrivacyBefore: "Relay'ler bağlandığınızda", + ipAddress: "IP adresinizi", + relayPrivacyAfter: "görebilir. Tor bunu gizler — ve \"ücretsiz\" bir VPN'i uyarı işareti olarak görün; genellikle trafiğinizden para kazanırlar.", + communityRelay: "Topluluk Relay'i", + syncingGlobal: "Küresel kaykay topluluğuyla senkronize ediliyor", + usingOnlyPersonalShort: "Yalnızca kişisel relay'ler kullanılıyor", + appearance: "Görünüm", + language: "Dil", + darkModeOnly: "Yalnızca Karanlık Mod", + darkModeDesc: "SkateSpots, kaykay kültüründen ilham alan karanlık bir neon estetiği çalıştırır. Siyah arka plan, neon pembe, lime ve turuncu.", + navigation: "Gezinme", + sasquatchExpanded: "Sasquatch genişletildi! 🦧 Onu görmek için sayfayı yenileyin.", + advanced: "Gelişmiş", + sasquatchGuide: "🦧 Sasquatch Rehberi", + sasquatchResetDesc: "Başlangıç rehberini genişletilmiş görünüme sıfırla", + expandSasquatch: "Sasquatch'i Genişlet", + wallet: "Cüzdan", + loginToWallet: "Cüzdanınızı yönetmek için giriş yapın", + openWallet: "Cüzdanı Aç", + balanceSendReceive: "Bakiye, gönder, al", + connectNwc: "NWC Cüzdanı Bağla", + account: "Hesap", + security: "Güvenlik", + securitySub: "Anahtarlar, imzalama, Amber", + nip05Sub: "Doğrulanmış bir Nostr adresi edinin", + app: "Uygulama", + myStash: "Stash'im", + myStashSub: "Özel Gear envanteri", + relaysSub: "Nostr relay bağlantıları", + appearanceSub: "Dil ve tema", + assistant: "Asistan", + showSasquatch: "Sasquatch asistanını göster", + showSasquatchDesc: "Haritada ve diğer ekranlarda yüzen Sasquatch düğmesini göster.", + showMapFooter: "Harita bağlantı çubuğunu göster", + showMapFooterDesc: "Haritanın altındaki ince bağlantı şeridini göster.", + notifications: "Bildirimler", + notificationsSub: "DM'ler, Crew'ler ve zap'ler için uyarılar", + coordinator: "Koordinatör", + coordinatorSub: "Cordn grup sunucunuz", + data: "Veri", + myData: "Verilerim", + myDataSub: "Dışa aktar, içe aktar, yönet", + advancedSub: "Relatr, Sasquatch, araçlar", + notLoaded: "Yüklenmedi", + notLoggedIn: "Giriş yapılmadı" + }, + onboarding: { + seoTitle: "Başlayın — SkateSpots", + seoDescription: "Merkeziyetsiz kaykay topluluğuna katılın. Spot'lar bulun, koçlarla bağlantı kurun, zap gönderin. Sonsuza dek ücretsiz.", + homeSetTitle: "Ev ayarlandı 🛹", + homeSetDesc: "Harita artık bölgenizde açılacak.", + locationFailedTitle: "Konumunuz alınamadı", + locationFailedDesc: "Konum izinlerini kontrol edin veya haritadan bölgenizi seçin.", + niceTitle: "🎉 Güzel!", + niceDesc: "Artık Nostr'un nasıl çalıştığını anlıyorsunuz. Hadi kaymaya gidelim!", + npubCopied: "npub panoya kopyalandı.", + saveLoginNow: "Girişinizi kaydedin — bunu şimdi yapın", + saveLoginNowDesc: "Kurtarma kodunuz hesabınıza dönüşün tek yoludur. E-posta yok, parola sıfırlama yok.", + betaBadge: "Beta — Dünya çapında kaykaycılara açık", + headline1: "KAY", + headline2: "SENİN DÜNYAN", + heroBefore: "Bir", + decentralized: "merkeziyetsiz", + heroAfter: "kaykay topluluğu. Hiçbir şirket ona sahip değil. Hiçbir algoritma Spot'larınızı gömmüyor. Ban çekici yok. Sadece kaykaycılar.", + pillMap: "Spot haritası", + pillCoaches: "Koçlar ve kameracılar", + pillEvents: "Etkinlikler", + pillGear: "Gear al/sat", + pillZaps: "Bitcoin zap'leri", + pillStash: "Gear stash'i", + pillCrews: "Crew'ler", + createFreeAccount: "Ücretsiz hesabınızı oluşturun", + noEmailNoPassword: "E-posta yok. Parola yok. Kimliğinize sonsuza dek sahip olun.", + findSpots: "Yakınınızdaki Spot'ları Bulun", + addFirstSpot: "İlk Spot'unuzu Ekleyin", + accountCreated: "İçeridesiniz! Hesap oluşturuldu ✓", + identityYours: "Kimliğiniz size ait — sunucularımızda değil, anahtarınızda saklanır.", + whereSkate: "Nerede kayıyorsunuz?", + whereSkateDesc: "Ev bölgenizi bir kez ayarlayın, harita her seferinde Spot'larınızda açılsın. GPS'iniz cihazınızdan asla ayrılmaz.", + useMyLocation: "Konumumu kullan", + pickOnMap: "Haritada seç", + loginSaved: "Giriş kaydedildi — hesabınız kurtarılmaya hazır.", + whyBother: "Neden zahmet edesiniz?", + why1Title: "Her Spot, tek harita", + why1Body: "Kaldırımlar, raylar, DIY, parklar — gerçekten kaydıkları yeri kaykaycılar haritalar. Yola çıkmadan önce durumu kontrol edin, böylece bir bust yüzünden bir seansı boşa harcamayın.", + why2Title: "Takım elbiseliler değil, kaykaycılar tarafından yapıldı", + why2Body: "Reklam yok, yüzünüze çöp iteleyen algoritma yok, veri hasadı yok. Açık kaynak. Harita topluluğa ait — size de.", + why3Title: "Giyinmek için para kazanın", + why3Body: "Bir cevher haritalayın, bir banger çekin, bir seans yönetin — ve gerçek Bitcoin'i doğrudan cüzdanınıza zap olarak alın. Platform kesintisi yok, aracı yok.", + why4Title: "Hesabınız gerçekten size ait", + why4Body: "Tek bir anahtar sizi her Nostr uygulamasına sokar. Hiçbir şirket sizi dışarı kilitlayamaz veya hesabınızı keyfine göre silemez. Kimliğinizi her yere götürün.", + everythingFree: "Yapabileceğiniz her şey — ücretsiz", + featSpots: "Spot'ları Keşfet", + featSpotsDesc: "Dünya çapında binlerce Spot içeren etkileşimli harita", + featLab: "The Lab", + featLabDesc: "Yakınınızdaki koçları, kameracıları ve video editörlerini bulun", + featEvents: "Etkinlikler", + featEventsDesc: "Yarışmalar, seanslar, buluşmalar", + featGear: "Gear Al / Sat", + featGearDesc: "Kullanılmış kaykay Gear'i için eşler arası pazar", + featStash: "Stash'im", + featStashDesc: "Sahip olduğunuz her şeyin özel şifreli envanteri", + featCrews: "Crew'ler", + featCrewsDesc: "Crew'ünle takıl — paylaşılan Spot'lar, sohbet ve seanslar", + whatIsNostr: "Nostr nedir?", + whatIsNostrSub: "SkateSpots'u güçlendiren protokol", + nostrBefore: "Nostr açık bir protokoldür — e-posta gibi ama sosyal uygulamalar için. Hesabınız, sahip olduğunuz bir", + cryptoKeyPair: "kriptografik anahtar çiftidir", + nostrAfter: ". Hiçbir şirket hesabınızı veya verilerinizi kontrol etmez — hangi relay'lerin saklayacağını siz seçersiniz ve kendinizinkini bile çalıştırabilirsiniz. Kimliğiniz her Nostr uygulamasında çalışır.", + nostrPoint1: "Verileriniz ve anahtarlarınız size ait", + nostrPoint2: "Hiçbir şirket sizi yasaklayamaz", + nostrPoint3: "Kimlik her yerde çalışır", + nostrPoint4: "Doğrudan Bitcoin bahşişleri", + deepDive: "Derinlemesine: Nostr nasıl çalışır", + privacyTip: "Gizlilik ipucu: GPS'iniz cihazınızdan asla ayrılmaz. Bağlandığınız sunucular (harita karoları gibi) yine de IP'nizi görebilir — bunu da gizlemek isterseniz bir VPN veya Tor işe yarar. Tamamen isteğe bağlı.", + readPrivacy: "Gizlilik sayfamızı okuyun", + zapsWallet: "⚡ Zap'ler ve Cüzdan", + optional: "İsteğe bağlı", + walletDesc: "Zap'ler, harika bir Spot paylaşan, bir banger klip çeken veya harika bir seans yöneten bir kaykaycıya doğrudan gönderdiğiniz Bitcoin bahşişleridir. Platform ücreti yok. Aracı yok. %100 onlara gider.", + builtInWallet: "Yerleşik Cashu cüzdanı", + builtInWalletDesc: "Lightning ödemelerini doğrudan uygulamada alın. Kurulum yok.", + balance: "Bakiye", + connectExternal: "Harici cüzdan bağla", + connectExternalDesc: "Alby, Mutiny veya başka bir cüzdanınız mı var? NWC ile bağlayın.", + connectViaNwc: "NWC ile bağlan", + loginToConnect: "Kendi cüzdanınızı bağlamak için giriş yapın.", + fiveDollars: "💡 5 $ değerinde Bitcoin = topluluğa dağıtılacak yüzlerce zap", + commonQuestions: "Sık sorulan sorular", + faq1Q: "SkateSpots ücretsiz mi?", + faq1A: "%100 ücretsiz. Spot'lara göz atın, konum ekleyin, koç bulun, etkinlik oluşturun, seanslara katılın — hepsi sonsuza dek ücretsiz. İçerik üreticilerine bahşiş vermek isterseniz Bitcoin (zap'ler) isteğe bağlıdır.", + faq2Q: "Nostr nedir ve SkateSpots neden onu kullanıyor?", + faq2Before: "Nostr, merkeziyetsiz uygulamalar için açık bir protokoldür — onu internetin kendisi gibi düşünün, hiçbir şirkete ait değil. SkateSpots hesabınız,", + faq2Strong: "size ait olan", + faq2After: " bir kriptografik anahtar çiftidir. Hiçbir şirket hesabınızı yasaklayamaz veya verilerinizi rehin tutamaz — hangi relay'lerin verilerinizi saklayacağını siz seçersiniz ve kendinizinkini bile çalıştırabilirsiniz. Kimliğiniz Primal, Damus veya Amethyst gibi diğer Nostr uygulamalarında da çalışır.", + faq3Q: "nsec nedir ve neden önemlidir?", + faq3Before: "Sizin", + faq3Mid: "özel anahtarınızdır — hesabınıza sahip olduğunuzun tek kanıtıdır. Parolaların aksine,", + faq3Strong: "\"parolamı unuttum\" yoktur", + faq3After: ". nsec'inizi kaybederseniz hesabınız sonsuza dek gider. Bir hesap oluşturduğunuzda yedeğinizi hemen indirin ve güvenli bir yerde saklayın (parola yöneticisi, çevrimdışı yazılı).", + faq4Q: "Hangi imzalayıcılar / uygulamalar SkateSpots ile çalışır?", + faq4Desktop: "Masaüstünde:", + faq4Extensions: "tarayıcı uzantıları.", + faq4Android: "Android'de:", + faq4AndroidAfter: "(yerel uygulamayla en iyi deneyim).", + faq4Ios: "iOS'ta:", + faq4IosAfter: "veya nsec'inizi doğrudan yapıştırın (daha az güvenli).", + faq4Note: "nsec'inizi doğrudan yapıştırarak da giriş yapabilirsiniz — ama bir imzalayıcı uzantısı kullanmak daha güvenlidir.", + faq5Q: "SkateSpots'u telefonumda kullanabilir miyim?", + faq5Before: "Evet! SkateSpots bir PWA'dır (Aşamalı Web Uygulaması). Telefonunuzun tarayıcısında", + faq5Mid: "adresini ziyaret edin ve", + faq5Em: "\"Ana Ekrana Ekle\"", + faq5After: "seçeneğine dokunun. Veya", + faq5End: "— merkeziyetsiz bir uygulama mağazasından indirin.", + faq6Q: "Zap nedir?", + faq6A: "Zap, Lightning Network üzerinden gönderilen anında bir Bitcoin bahşişidir. Bir kaykaycıya zap gönderdiğinizde sats saniyeler içinde cüzdanına ulaşır — PayPal yok, Venmo yok, kesinti yok. O 4 basamağı çeken kişi doğrudan hayranlarından ödeme alır.", + faq7Q: "SkateSpots kapanırsa Spot'larım silinir mi?", + faq7A: "Hayır. Spot'larınız Nostr relay'lerine yayınlanır — herkesin çalıştırabileceği dağıtık sunucular. SkateSpots bir ürün olarak yarın yok olsa bile verileriniz relay'lerde var olmaya devam eder ve herhangi bir Nostr istemcisi onları görüntüleyebilir.", + faq8Q: "Özel mülkte olan bir Spot ekleyebilir miyim?", + faq8A: "Ekleyebilirsiniz, ama sağduyunuzu kullanın. Özel mülkteki Spot'lar, kaykaycıların durumu bilmesi için buna göre işaretlenmelidir. SkateSpots izinsiz girişten sorumlu değildir — her zaman mülk sahiplerine ve yerlilere saygılı olun.", + faq9Q: "Bir hatayı nasıl bildiririm veya geri bildirimde bulunabilirim?", + faq9Before: "SkateSpots ekibine doğrudan Nostr'dan DM gönderin veya beta koordinatörümüze ulaşın:", + faq9Link: "Beta geri bildirimi → cordn.net", + readyToShred: "PARÇALAMAYA HAZIR MISINIZ?", + stopScrolling: "Kaydırmayı bırakın. Uygulamayı edinin. Bir Spot bulun. Kayın.", + exploreSpots: "Spot'ları Keşfet", + betaFeedbackTitle: "Beta — Geri bildiriminizi istiyoruz", + betaFeedbackDesc: "SkateSpots aktif geliştirme aşamasındadır. Pürüzlü kenarlara çarpabilirsiniz — bu bize ait, size değil. Hataları bildirin, özellik önerin, neyin kötü olduğunu söyleyin.", + betaCoordinator: "Beta Koordinatörü", + betaCoordinatorDesc: "cordn.net → bize mesaj gönderin", + dmOnNostr: "Nostr'da DM", + fixSameDay: "Bir hata mı buldunuz? Aynı gün düzeltiriz. Bildirimleriniz uygulamayı her kaykaycı için daha iyi yapar.", + relaySetup: "Relay kurulumu" + }, + relayEdu: { + understandingNostr: "Nostr'u Anlamak", + stepOf: "Adım {{current}} / {{total}}", + step1Title: "Relay'leri Anlamak", + step1Desc: "Relay'leri Spot'lar hakkında haber paylaşan kaykay Shop'ları gibi düşünün", + you: "Siz", + relays: "Relay'ler", + skaters: "Kaykaycılar", + s1Good1: "Hesabınızın sahibi hiçbir şirket değil", + s1Good1Desc: "Kimliğiniz birden fazla relay sunucusunda yaşar", + s1Good2: "Verilerinizin nerede yaşayacağını siz kontrol edersiniz", + s1Good2Desc: "Gönderileriniz seçtiğiniz relay'lerde senkronize olur — kendi relay'lerinizi seçin veya kendiniz bir tane çalıştırın", + s1Warn: "Relay operatörleri herkese açık gönderileri görebilir", + s1WarnDesc: "Bunu bir ilan panosuna gönderi asmak gibi düşünün", + step2Title: "Herkese Açık ve Özel", + step2Desc: "Neyin görünür ve neyin şifreli olduğunu bilin", + publicTitle: "Herkese Açık (Herkes Görebilir)", + pub1: "Haritaya eklediğiniz Spot'lar", + pub2: "İncelemeler ve yorumlar", + pub3: "Profil bilgileriniz (ad, resim)", + pub4: "Kimi takip ettiğiniz", + privateTitle: "Özel (Şifreli)", + priv1: "Doğrudan mesajlar", + priv2: "Cüzdan iletişimleri", + noteStrong: "Not:", + note: "Gönderiler relay'lerde kalıcı olarak saklanabilir. Göndermeden önce düşünün — tıpkı gerçek hayattaki gibi!", + step3Title: "Anahtarlarınız = Hesabınız", + step3Desc: "Anlaşılması en önemli şey bu", + secretKeyTitle: "Gizli Anahtarınız (nsec)", + secretKeyDesc: "Bunu kaykayınız gibi düşünün — asla kimseye ödünç vermeyin. Hesabınıza sahip olduğunuzu kanıtlar.", + s3Bad1: "Kaybedilirse hesabınız kurtarılamaz", + s3Bad2: "\"Parolamı unuttum\" yok — kimse sıfırlayamaz", + s3Good: "Yedekleyin ve güvenle saklayın", + publicKeyTitle: "Ortak Anahtarınız (npub)", + publicKeyDesc: "Bu kullanıcı adınız gibidir — başkaları sizi bulabilsin diye özgürce paylaşın!", + inControl: "🔐 Kontrol sizde — hiçbir şirket sizi dışarı kilitlayamaz!", + skip: "Atla", + gotIt: "Anladım!" + }, + about: { + seoTitle: "Hakkında - SkateSpots", + seoDescription: "SkateSpots hakkında ve merkeziyetsiz bir kaykay topluluğu kurma misyonumuz hakkında bilgi edinin.", + npubCopied: "npub panoya kopyalandı. DM göndermek için favori Nostr istemcinize yapıştırın.", + bugReport: "🐛 Hata Bildirimi", + bugWhatHappened: "Ne oldu:", + bugExpected: "Ne bekliyordum:", + bugSteps: "Yeniden üretme adımları:", + aboutWord: "HAKKINDA", + heroBefore: "Dünya çapındaki yerel kaykay sahfalarıyla bağlantı kurun.", + skaterOwned: "Kaykaycıya ait veriler", + heroAfter: ", topluluk tarafından yönetilen relay'ler.", + viewStats: "Topluluk İstatistiklerini Gör", + missionTitle: "Misyonumuz", + mission1: "SkateSpots, kaykaycıların Spot'ları keşfetmesine, The Lab'de profesyonellerle bağlantı kurmasına ve seanslar düzenlemesine yardımcı olur — hepsi kurumsal kontrol olmadan. Gerçek kaykay çevrimdışı olur, bu araç sadece sizi ona bağlar.", + mission2: "Kaykay bilgisi toplulukla birlikte yaşamalı, kurumsal uygulamalara kilitlenmemelidir. Bu yüzden SkateSpots Nostr üzerinde çalışır — kaykaycıların kendi verilerini kontrol ettiği, hangi relay'lerin saklayacağını seçtiği ve kendilerinin bile çalıştırabildiği relay tabanlı bir sistem. Haritanın sahibi hiçbir şirket değil.", + whyNostr: "Neden Nostr?", + why1Title: "Topluluk Tarafından Kontrol Edilir", + why1Desc: "Spot'larınız topluluk relay'lerinde yaşar. Sunucuları şirketler değil, kaykaycılar çalıştırır.", + why2Title: "Verileriniz Size Aittir", + why2Desc: "Nostr kimliğiniz size aittir. Onu herhangi bir Nostr uygulamasına götürün — kilitlenme yok.", + why3Title: "Bitcoin Entegrasyonu", + why3Desc: "İçerik üreticilerine doğrudan Bitcoin ile zap gönderin. %30 alan platform yok.", + why4Title: "Açık Kaynak", + why4Desc: "Açıkta inşa edildi. Herkes katkıda bulunabilir veya kodu forklayabilir.", + getInvolved: "Katılın", + getInvolvedDesc: "SkateSpots açık kaynaklı ve topluluk tarafından yönlendirilir. Kod katkısında bulunun, Spot paylaşın veya başkalarının başlamasına yardımcı olun.", + betaTitle: "Beta Testi", + betaDesc: "Sevgili Kullanıcı! SkateSpots'u beta test ettiğiniz için teşekkürler. Uygulamanın hâlâ beta olduğunu ve hatalar veya güvenlik sorunları olabileceğini lütfen unutmayın. Herhangi bir sorunla karşılaşırsanız veya bir hata/sorun bildirmek isterseniz, lütfen bize ulaşın!", + giveFeedback: "Bize geri bildirim verin:", + copyNpub: "npub'ı kopyala", + reportBug: "Hata Bildir", + viewProfile: "Profili Görüntüle", + downloadApp: "Uygulamayı İndirin", + downloadAppDesc: "SkateSpots'u Android'e Zapstore aracılığıyla yükleyin — açık kaynaklı, Bitcoin odaklı uygulama mağazası.", + getOnZapstore: "Zapstore'da edinin", + credits: "Emeği Geçenler", + creditPoweredBy: "Güçlendiren:", + creditNostr: "Merkeziyetsiz protokol", + creditCrewChat: "Crew sohbeti:", + creditCordn: "Uçtan uca şifreli grup sohbeti", + creditEcash: "Ecash:", + creditCashu: "Lightning için Chaumian ecash", + creditWalletConnect: "Cüzdan bağlantısı:", + creditNwc: "Nostr Wallet Connect (NIP-47)", + creditSigning: "Android'de imzalama:", + creditAmber: "Android için Nostr imzalayıcı", + creditMapData: "Bitcoin harita verileri:", + creditBtcmap: "Bitcoin kabul eden yerler", + creditCrowdfunding: "Kitlesel fonlama", + creditAngor: "Merkeziyetsiz Bitcoin kitlesel fonlama", + creditDistributed: "Dağıtım:", + creditZapstore: "Açık kaynak uygulama mağazası", + creditTrust: "Güven ve Crew sohbeti:", + creditContextvm: "Relatr güven puanları ve şifreli Crew sohbeti koordinasyonu", + stillQuestions: "Hâlâ sorularınız mı var?", + stillQuestionsDesc: "Sasquatch, canlı SkateSpots verileriyle çalışan AI rehberimizdir. Ona Spot'lar, etkinlikler, koçlar, Gear veya herhangi bir şeyin nasıl çalıştığını sorun.", + askSasquatch: "Sasquatch'e Sor", + poweredBy: "Güçlendiren:", + decentralized: "Merkeziyetsiz", + communityOwned: "Topluluğa Ait" + }, + faq: { + seoTitle: "SSS - SkateSpots", + seoDescription: "Sasquatch'e SkateSpots hakkında her şeyi sorun.", + greeting: "Merhaba! Ben Sasquatch 🦧 — bana SkateSpots hakkında her şeyi sorabilirsin. Spot'lar, etkinlikler, Gear, cüzdanlar, gizlilik, Nostr — hepsini hallederim. Ne bilmek istiyorsun?", + gotQuestions: "Sorularınız mı var?", + heroDesc: "Sasquatch'e sorun — SkateSpots, Nostr, Bitcoin ve kaykay hakkında her şeyi bilir.", + askTitle: "Sasquatch'e Sor", + askDesc: "Sasquatch ekranınızın sol alt köşesinde açıktır — tıklayın ve sorunuzu yazın. Spot'lara, etkinliklere, koçlara ve hava durumuna canlı erişimi vardır.", + askQuestion: "SkateSpots'ta bana ne konusunda yardımcı olabilirsin?", + openSasquatch: "Sasquatch'i Aç", + commonQuestions: "Sık sorulan sorular — sormak için dokunun", + quickAnswers: "Hızlı yanıtlar", + footerHint: "Sasquatch, sorularınızı yanıtlamak için SkateSpots relay'inden canlı Nostr verileri + AI kullanır. 🛹", + chip1Label: "SkateSpots nedir?", + chip1Q: "SkateSpots nedir ve nasıl çalışır?", + chip2Label: "Nasıl Spot eklerim?", + chip2Q: "Haritaya nasıl bir kaykay Spot'u eklerim?", + chip3Label: "Zap'ler nedir?", + chip3Q: "Zap'ler nedir?", + chip4Label: "Ücretsiz mi?", + chip4Q: "SkateSpots'u kullanmak ücretsiz mi?", + chip5Label: "Stash'im nedir?", + chip5Q: "Stash'im nedir?", + chip6Label: "Nasıl giriş yaparım?", + chip6Q: "Nasıl giriş yaparım veya hesap oluştururum?", + chip7Label: "Nostr nedir?", + chip7Q: "Nostr nedir?", + chip8Label: "Gizlilik ve Veriler", + chip8Q: "SkateSpots'ta hangi veriler herkese açık, hangileri özel?", + chip9Label: "Gear nasıl satarım?", + chip9Q: "SkateSpots'ta Gear'i nasıl satarım?", + chip10Label: "The Lab nedir?", + chip10Q: "The Lab nedir?", + fact1Label: "Dünya çapında kaykay Spot'ları", + fact1Value: "Keşfet ve ekle", + fact2Label: "Bitcoin Lightning zap'leri", + fact2Value: "%100 ücretsiz", + fact3Label: "Nostr üzerinde merkeziyetsiz", + fact3Value: "Verileriniz size ait", + fact4Label: "Özel Gear envanteri", + fact4Value: "Şifreli Stash", + s1Q: "SkateSpots nedir?", + s1A: "Nostr üzerine kurulu, kaykay için merkeziyetsiz bir harita ve topluluk. Spot'ları keşfedin, koçlar ve kameracılar bulun, Crew'lere katılın, etkinlikler listeleyin ve Gear alıp satın — arada hiçbir şirket olmadan.", + s2Q: "Nasıl Spot eklerim?", + s2A: "Haritaya dokunun veya + / \"Spot Ekle\" düğmesini kullanın, sonra bir pin bırakıp ayrıntıları doldurun. Ücretsiz bir Nostr hesabına ihtiyacınız var (Giriş Yap → Hesap Oluştur'a dokunun — e-posta gerekmez).", + s3Q: "Zap'ler nedir?", + s3A: "Zap'ler Bitcoin Lightning bahşişleridir. Değer verdiğiniz Spot'lara, etkinliklere, Crew'lere ve kişilere zap gönderebilirsiniz. Lightning üzerinden doğrudan alıcıya giderler — SkateSpots fonlarınızı asla tutmaz.", + s4Q: "Ücretsiz mi?", + s4A: "Evet. Hesap oluşturmak, Spot eklemek ve gezinmek ücretsizdir. İsteğe bağlı ücretli ekstralar (öne çıkan ilanlar gibi) ve bahşişler (zap'ler) doğrudan kişiler arasında ödenir.", + s5Q: "Hangi veriler herkese açık?", + s5A: "Yayınladığınız her şey — Spot'lar, etkinlikler, profiliniz — Nostr relay'lerinde herkese açıktır. Özel mesajlarınız ve Stash'iniz uçtan uca şifrelidir. Ayrıntılar için Gizlilik sayfasına bakın.", + s6Q: "The Lab nedir?", + s6A: "The Lab, işe alacağınız veya öğreneceğiniz kişileri bulduğunuz yerdir: koçlar, antrenörler, kameracılar, video editörleri, fotoğrafçılar, yapımcılar, sanatçılar ve daha fazlası." + }, + privacy: { + seoTitle: "Gizlilik — SkateSpots", + seoDescription: "SkateSpots verilerinizi nasıl işler: GPS'iniz cihazınızda kalır, yayınladığınız Spot'lar herkese açıktır ve isterseniz IP'nizi VPN veya Tor ile nasıl gizleyeceğiniz.", + heroBefore: "Sizin", + heroHighlight: "Gizliliğiniz", + heroDesc: "İzleme yok, reklam yok, veri satışı yok. Neyin cihazınızda kaldığı, neyin herkese açık olduğu ve isterseniz işleri nasıl daha da kilitleyeceğiniz tam olarak burada.", + locationTitle: "Konumunuz cihazınızda kalır", + locationBefore: "Şuna dokunduğunuzda", + nearMe: "\"Yakınımda\",", + locationAfter: "GPS konumunuz cihazınızda okunur ve yalnızca haritayı ortalayıp yakındaki Spot'ları sıralamak için kullanılır.", + locationGood1: "Asla Nostr'a yayınlanmaz.", + locationGood2: "Asla SkateSpots'a gönderilmez — onu toplayan bir SkateSpots sunucusu yoktur.", + locationGood3: "Asla herhangi bir üçüncü tarafla paylaşılmaz.", + locationGood4: "Yerel uygulamada doğrudan telefonunuzun kendi konum sistemini kullanır ve Google Play Hizmetlerini atlarız — böylece Google'suz telefonlarda (GrapheneOS, /e/OS) çalışır ve Google onu asla görmez.", + weatherBefore: "Hava durumu varsayılan olarak kapalıdır. Açtığınızda,", + weatherEm: "Spot'un", + weatherAfter: "herkese açık konumu için koşullara bakar — sizinki değil.", + publicTitle: "Tasarım gereği herkese açık olanlar", + publicDesc: "SkateSpots paylaşılan bir haritadır, bu yüzden bazı şeyler herkes tarafından görülmek üzere tasarlanmıştır. Bunları yayınlamayı seçtiğinizde, Nostr ağında herkese açık olurlar:", + public1Strong: "Eklediğiniz Spot'lar", + public1: "— koordinatları dahil. Tam konumunuzda bir Spot eklerseniz, o konum herkese açık olur. Kendi garaj yolunuza pin bırakmadan önce düşünün.", + public2Strong: "İncelemeler, yorumlar ve herkese açık profiliniz", + public2: "(ad, resim).", + public3: "Kimi takip ettiğiniz ve herkese açık tepkiler.", + public4Strong: "Zap'ler", + public4: "varsayılan olarak herkese açıktır: bir zap, hesabınızı — genellikle Lightning adresinizi — ödediğiniz gönderiye ve bahşişin kendisine bağlar. İstemezseniz cüzdanınız onu anonim olarak gönderebilir.", + publicNoteBefore: "Bir VPN veya Tor", + notWord: "değil", + publicNoteAfter: "yayınladığınız içeriği gizler — bir Spot'un koordinatları ne olursa olsun herkese açıktır. Gizlilik araçları ağ kimliğinizi (IP'nizi) gizler, göndermeyi seçtiğiniz şeyleri değil.", + encryptedTitle: "Özel ve şifreli olanlar", + enc1Strong: "Doğrudan mesajlar", + enc1Mid: "ve", + enc1Strong2: "Crew sohbetleri", + enc1: "uçtan uca şifrelidir (NIP-17). Onları yalnızca katılımcılar okuyabilir.", + enc2Strong: "Stash'im", + enc2: "— özel Gear envanteriniz — kendi anahtarınıza şifrelenmiştir.", + enc3Strong: "Yalnızca Crew üyeleri", + enc3: "yalnızca Crew arkadaşlarına görünmeyi seçebilir.", + ipTitle: "Cihazınızdan çıkanlar: IP'niz", + ipBefore: "Her web sitesi gibi, SkateSpots'un konuştuğu sunucular da", + ipAddress: "IP adresinizi", + ipAfter: "(bölgenizin kaba bir göstergesi) görebilir. Bu herhangi bir web veya harita uygulaması için normaldir ve bize özgü değildir. O sunucular şunlardır:", + ipTileStrong: "Harita karoları", + ipTile: "(OpenStreetMap) — IP'nizi ve haritanın hangi bölgesine baktığınızı görür.", + ipGeoStrong: "Spot/Shop geocoding", + ipGeo: "— bir Spot veya Shop oluşturduğunuzda/düzenlediğinizde, şehir/ülke etiketini doldurmak için koordinatları OpenStreetMap Nominatim'e gider. Topluluk İstatistikleri'ni açtığınızda, konum etiketi olmayan pinlerin koordinatları bölgeye göre gruplanabilmeleri için BigDataCloud'a gider (cihazınızda önbelleğe alınır — pin başına en fazla bir kez). İkisi de IP'nizi görür. Bunlar yerleştirdiğiniz pin / herkese açık pin koordinatlarıdır, asla cihazınızın canlı GPS'i değil.", + ipPushStrong: "Arka plan bildirimleri", + ipPush: "(isteğe bağlı) — etkinleştirirseniz, bir SkateSpots push sunucusu anahtarınızın bir şey aldığını ve ne zaman aldığını görür (kimin gönderdiğini veya ne dediğini asla — mesajlar şifreli kalır) ve işletim sisteminizin push hizmeti (Google/Mozilla/Apple) uyarıyı iletir.", + ipBtcStrong: "Bitcoin yerleri", + ipBtc: "(BTCMap, o katmanı açtığınızda) — IP'nizi ve baktığınız bölgeyi görür.", + ipRelayStrong: "Nostr relay'leri", + ipRelay: "— uygulama okuduğunda veya yayınladığında IP'nizi görür.", + ipMintStrong: "Cashu mint'leri", + ipMint: "— cüzdanınız her gönderdiğinde, aldığında veya melt ettiğinde IP'nizi görür.", + ipRouteStrong: "Yol tarifleri", + ipRoute: "(OSRM ve toplu taşıma için Transitous) — yalnızca IP'nizi değil, istediğiniz herhangi bir rotanın başlangıcını ve bitişini alır. Yönlendirme uygulamada kalır: başlangıcınız ve varış noktanız asla Google veya Apple Maps'e devredilmez.", + ipWeatherStrong: "Hava durumu", + ipWeatherMid: "(Open-Meteo, isteğe bağlı) ve", + ipUploadStrong: "görsel yüklemeleri", + ipWeather: "(Blossom), onları kullandığınızda.", + ipAiStrong: "Sasquatch AI", + ipAi: "— mesajınız kendi sunucumuza, ardından model sağlayıcısına gider.", + ipLink1: "Aynı bağlantıda ortak anahtarınızı (npub) gönderdiğiniz için, bir relay IP'nizi sizinle ilişkilendirebilir — yalnızca \"biri bağlandı\" değil, \"bu kişi, bu adresten\".", + ipShieldBefore: "Koruduğumuz bir şey var:", + ipMintsStrong: "mint dizini", + ipShieldAfter: "sunucumuz üzerinden alınır, böylece MintRadar IP'nizi asla görmez.", + vpnTitle: "Daha fazla gizlilik mi istiyorsunuz? VPN veya Tor (isteğe bağlı)", + vpnDesc: "Çoğu kaykaycı için bu gerekli değil — ama yukarıdaki sunuculardan IP'nizi ve kaba konumunuzu gizlemek isterseniz iki ücretsiz seçeneğiniz var:", + vpnReputable: "🛡️ Saygın bir VPN", + vpnReputableDesc: "IP'nizi VPN'in sunucularının arkasına gizler. Kolay ve hızlı. Parasını ödeyip güvendiğiniz bir tane kullanın; ücretsiz VPN'ler genellikle trafiğinizden para kazanır, bu yüzden \"ücretsiz\"i uyarı işareti olarak görün.", + torBrowser: "🧅 Tor Browser", + torDesc: "Ücretsiz, maksimum IP gizliliği, birden fazla relay üzerinden yönlendirir. Daha yavaş — haritalar ve bazı Nostr relay'leri gecikebilir veya Tor çıkış düğümlerini engelleyebilir. Fazladan temkinliler için harika.", + readThis: "Kandırılmamak için bunu okuyun", + caveat1Before: "Bir VPN/Tor", + ipWord: "IP'nizi", + caveat1: "gizler — yayınladığınız Spot'ları değil. Evinizdeki bir pin, VPN kullansanız da kullanmasanız da herkese açıktır.", + caveat2Before: "Etkinleştirmeyin", + nearMeGps: "\"Yakınımda\" / tarayıcı GPS'i", + caveat2: "amacınız anonim kalmaksa — kesin GPS her türlü IP gizlemesini geçersiz kılar.", + caveat3: "Hiçbir araç sizi tamamen \"anonim\" yapmaz. Bunlar sunucuların ağ konumunuz hakkında çıkarabileceklerini azaltır — o kadar.", + keysTitle: "Anahtarlarınız, hesabınız", + keysBefore: "Hesabınız sahip olduğunuz bir kriptografik anahtar çiftidir. Giriş yapmanın en güvenli yolu bir", + signer: "imzalayıcıdır", + keysAfter: "(Alby, nos2x veya Android'de Amber) — böylece gizli anahtarınız uygulamaya asla yapıştırılmaz.", + keysCaveatBefore: "Eğer", + keysCaveatAfter: "doğrudan yapıştırırsanız, tarayıcınızda saklanır. Mümkün olduğunda bunun yerine bir imzalayıcı uzantısı kullanın ve nsec yedeğinizi çevrimdışı güvenli bir yerde tutun.", + footerBefore: "Sorularınız mı var? Uygulama içinde", + sasquatchName: "Sasquatch'e", + footerMid: "sorun veya", + gettingStarted: "başlangıç rehberini", + about: "Hakkında" + }, + license: { + seoTitle: "Lisans - SkateSpots", + seoDescription: "SkateSpots lisansı. Kaykay yapmakta özgürsünüz.", + tagline: "Nerede olursanız olun kayın, kazanın, eğlenin ve Sats harcayın.", + copyright: "SkateSpots katkıda bulunanlar ve topluluk", + licenseLabel: "Lisans", + freeLine1: "ÖZGÜRSÜNÜZ", + freeLine2: "KAYKAY YAPMAKTA", + body: "Bu proje açıktır. Paylaşın, forklayın, üzerine inşa edin, kayın. Sokaklar herkese aittir. Bu kod da öyle. Kaymaya devam edin, eğlenin, numaralar öğrenin, geliştiricileri destekleyin ve yeniden kaymaya devam edin.", + builtBefore: "❤️ ile inşa edildi", + builtMid: "· Güçlendiren:", + lightning: "Bitcoin Lightning ⚡", + viewSource: "Kaynağı görüntüle", + aboutSkateSpots: "SkateSpots Hakkında", + supporters: "Destekçiler" + }, + glossary: { + seoTitle: "Numara Sözlüğü · SkateSpots", + seoDescription: "Eksiksiz kaykay sözlüğü — flip, grind, slide, grab, air, lip trick, handplant, freestyle, geçiş terimleri, duruş ve ekipman dahil alternatif adlarıyla {{count}} giriş.", + heading: "NUMARA SÖZLÜĞÜ", + subheading: "{{count}} giriş · numaralar, geçiş, freestyle, duruş ve ekipman", + searchPlaceholder: "Numara veya takma ad ara — tre flip, crooks, method…", + clearSearch: "Aramayı temizle", + all: "Tümü", + results: "Şunun için {{count}} sonuç{{s}}:", + noMatch: "Bununla eşleşen numara yok. “tre flip”, “crooks” veya “melon” gibi bir takma ad deneyin.", + tricksCount: "{{count}} numara", + footerBefore: "Kaçırdığımız bir numara veya takma ad mı biliyorsunuz? Numaralar her sahnede farklı adlar alır —", + sasquatch: "Sasquatch'e 🦧", + footerAfter: "ulaşın ve bize bildirin." + }, + signers: { + seoTitle: "İmzalayıcı Uygulamalar - Nostr Anahtarlarınızı Güvenceye Alın | SkateSpots", + seoDescription: "Nostr anahtarlarınızı güvende tutan imzalayıcı uygulamalar hakkında bilgi edinin. Android, iOS veya masaüstü tarayıcılar için en iyi seçeneği bulun.", + securityGuide: "Güvenlik Rehberi", + protect: "Koruyun:", + nostrKeys: "Nostr Anahtarlarınızı", + heroDesc: "İmzalayıcı uygulamalar, etkinlikleri açığa çıkarmadan imzalayarak özel anahtarlarınızı güvende tutar. Anahtarınızı her uygulamaya yapıştırmak yerine bir imzalayıcının onu güvenle ele almasına izin verin.", + whySignerStrong: "Neden bir imzalayıcı kullanmalı?", + whySigner: "Nostr özel anahtarınız asla değiştirilemeyen bir parola gibidir. Bir imzalayıcı uygulama, siz herhangi bir Nostr uygulamasını kullanırken onu güvende tutar.", + androidTitle: "Android İmzalayıcıları", + androidDesc: "GrapheneOS dahil Android cihazlar için yerel imzalayıcı uygulamalar.", + iosTitle: "iOS İmzalayıcıları", + iosDesc: "iPhone ve iPad kullanıcıları için imzalayıcı seçenekleri.", + browserTitle: "Tarayıcı Uzantıları", + browserDesc: "Web uygulamalarında imzalamak için masaüstü tarayıcı uzantıları.", + recommended: "Önerilen", + yourPlatform: "Platformunuz", + get: "{{name}} edinin", + protocolsTitle: "Protokolleri Anlamak", + nip07Desc: "Tarayıcı uzantısı standardı. Uzantı, web uygulamalarına imzalama yetenekleri enjekte eder. Alby, nos2x, Flamingo ve benzeri uzantılar tarafından kullanılır.", + nip46Desc: "Uzak imzalama protokolü (\"bunker\"). İmzalayıcı uygulamanız, anahtarlarınızı paylaşmadan diğer uygulamalardan gelen istekleri onaylar. Nsec.app, Nostria ve Nowser tarafından kullanılır.", + nip55Desc: "Android'e özgü imzalayıcı protokolü. Yerel uygulamalar, anahtarları açığa çıkarmadan Amber'dan imza isteyebilir. En sorunsuz Android deneyimi.", + whichChoose: "Hangisini seçmeli?", + chooseAndroid: "Android:", + chooseAndroidDesc: "Yerel uygulamalar için Amber (NIP-55)", + chooseIos: "iOS:", + chooseIosDesc: "En iyi uyumluluk için Nsec.app (NIP-46)", + chooseDesktop: "Masaüstü:", + chooseDesktopDesc: "Alby, nos2x veya Flamingo (NIP-07)", + amberDesc: "Güvenlik ve kullanım kolaylığına odaklanan yerel Android imzalayıcı. Android kullanıcıları için en iyi seçim.", + nsecAppDesc: "Anahtarlarınız için güvenli bir kasa görevi gören platformlar arası uzak imzalayıcı.", + nostriaDesc: "Anahtarları güvenli cihaz depolamasında saklayan uzak imzalayıcı uygulaması.", + nowserDesc: "Hem tarayıcı uzantısını hem de uzak imzalama protokollerini destekleyen çoklu kimlik doğrulamalı imzalayıcı.", + nsecAppIosDesc: "iOS için en iyi seçenek. Herhangi bir Nostr istemcisiyle uzak imzalayıcı olarak kullanın.", + nowserTfDesc: "TestFlight aracılığıyla sunulan, Android'e benzer imzalama yeteneklerine sahip iOS imzalayıcısı.", + nostriaIosDesc: "Cihazınızda güvenli anahtar depolamaya sahip uzak imzalayıcı.", + nos2xDesc: "Nostr etkinliklerini imzalamak için basit ve güvenilir tarayıcı uzantısı.", + albyDesc: "Yerleşik Nostr anahtar yönetimi ve WebLN'e sahip Bitcoin Lightning cüzdanı.", + flamingoDesc: "Temiz arayüze sahip, Nostr odaklı tarayıcı uzantısı.", + kiwiDesc: "Android/GrapheneOS'ta nos2x veya Alby uzantılarını yüklemek için Kiwi Browser kullanın.", + fNativeApp: "Yerel uygulama", + fMultiKey: "Birden fazla anahtar desteği", + fEventSigning: "Etkinlik imzalama", + fSecureStorage: "Güvenli anahtar depolama", + fRemoteSigning: "Uzak imzalama", + fAnyClient: "Herhangi bir istemciyle çalışır", + fCrossDevice: "Cihazlar arası senkronizasyon", + fMultiKeySupport: "Çoklu anahtar desteği", + fNip07: "NIP-07 desteği", + fNip46: "NIP-46 desteği", + fFlexibleSigning: "Esnek imzalama", + fNativeIos: "Yerel iOS uygulaması", + fLightweight: "Hafif", + fEasyToUse: "Kullanımı kolay", + fChromeSupport: "Chrome/Brave/Edge desteği", + fLightningPayments: "Lightning ödemeleri", + fNostrSigning: "Nostr imzalama", + fWebln: "WebLN desteği", + fNwc: "NWC desteği", + fCleanUi: "Temiz arayüz", + fPrivacyFocused: "Gizlilik odaklı", + fExtensionMobile: "Mobilde uzantı desteği", + fFullBrowser: "Tam tarayıcı deneyimi", + fGraphene: "GrapheneOS'ta çalışır" + }, + betaDisclaimer: { + title: "Dikkat — bu beta", + subtitle: "Dalmadan önce kısa bir not.", + ossTitle: "Açık kaynak ve deneysel", + ossBody: "Topluluk tarafından açıkta inşa edildi. Karıştırın, forklayın, bozun.", + betaTitle: "Beta'da — denetlenmedi", + betaBody: "Kod henüz resmi bir güvenlik denetiminden geçmedi. Hatalar olur.", + moneyTitle: "Gerçek Bitcoin ve Lightning ile çalışır", + moneyBody: "Üzerinde parayı kendi riskinizle kullanın. Yalnızca kaybetmeyi göze alabileceğiniz kadar yükleyin.", + finePrint: "Hiçbir garanti yoktur. Kendi fonlarınızdan ve anahtarlarınızdan yalnızca siz sorumlusunuz.", + viewCode: "Kodu görüntüle", + accept: "Anladım, beni içeri al" + } + } +}; export default trBatch3; diff --git a/src/i18n/tr/batch4.ts b/src/i18n/tr/batch4.ts index 3ae1d28..e63d3c7 100644 --- a/src/i18n/tr/batch4.ts +++ b/src/i18n/tr/batch4.ts @@ -1,4 +1,1115 @@ -/** tr — batch 4. Filled by the translation pass; empty until then. */ -const trBatch4 = {}; +/** tr — batch 4. Turkish translation of the `walletUi` namespace. */ +const trBatch4 = { + walletUi: { + page: { + title: "Cüzdan", + subtitle: "Bitcoin Lightning + Cashu", + manage: "Yönet", + getAWallet: "Cüzdan Edin", + learnPlanB: "Plan B Academy'de daha fazlasını öğren", + walletMinibits: "Mobil Cashu · NWC", + walletAlby: "Tarayıcı uzantısı · WebLN + NWC", + walletZeus: "Kendi saklamalı Lightning", + walletCoinos: "Web tabanlı · her yerde çalışır", + whatAreZaps: "Zap nedir?", + whatAreZapsShort: "Zap nedir?", + zapsDesc: "Anında Bitcoin Lightning ödemeleri. Herhangi bir kaykaycıya, spot oluşturucuya veya koça sats gönder — aracı yok, platform kesintisi yok.", + instant: "Anında", + instantDesc: "Saniyeler içinde tamamlanır", + flexible: "Esnek", + flexibleDesc: "Cüzdan senin, anahtarlar senin", + private: "Gizli", + privateDesc: "Cashu kimin ödediğini gizler", + direct: "Doğrudan", + directDesc: "Değer oluşturucuya gider", + loginRequired: "Giriş Gerekli", + loginRequiredDesc: "Lightning cüzdanını bağlamak ve zap göndermeye başlamak için Nostr hesabınla giriş yap.", + browseMints: "Cashu mint'lerine göz at" + }, + modal: { + walletName: "Cüzdan Adı (isteğe bağlı)", + walletNamePlaceholder: "Lightning Cüzdanım", + connectionUri: "Bağlantı URI'si", + spendLimitTitle: "Önce bir harcama limiti belirle", + spendLimitBody1: "Bu dizi, SkateSpots'un cüzdanından Lightning faturalarını ödemesini sağlar. Cüzdan uygulamanda bu bağlantıya küçük bir", + dailyBudget: "günlük bütçe", + spendLimitBody2: "(ör. birkaç bin sats) ver ve yalnızca şunu etkinleştir", + spendLimitBody3: "Sınırsız bütçeli bir bağlantıyı asla yapıştırma. Cüzdanından istediğin zaman iptal edebilirsin.", + addWallet: "Cüzdan Ekle", + nwcConnection: "NWC Bağlantısı", + lightningWallet: "Lightning Cüzdanı", + pasteNwc: "Zap göndermek için NWC bağlantı dizinini yapıştır", + connectWallet: "Cüzdan Bağla", + browserExtension: "Tarayıcı Uzantısı (WebLN)", + autoDetected: "Yüklüyse otomatik algılanır", + ready: "Hazır", + notFound: "Bulunamadı", + getNwcFrom: "NWC şuradan alınır:", + connectionRequired: "Bağlantı URI'si gerekli", + connectionRequiredDesc: "Lütfen geçerli bir NWC bağlantı URI'si gir.", + activeChanged: "Aktif cüzdan değişti", + activeChangedDesc: "Seçilen cüzdan artık zap'ler için aktif.", + connectNwc: "NWC Cüzdanı Bağla", + connectNwcDesc: "Uyumlu bir cüzdandan bağlantı dizinini gir.", + connect: "Bağla", + connecting: "Bağlanıyor...", + walletSettings: "Cüzdan Ayarları", + connectDesc: "Anında zap göndermek için lightning cüzdanını bağla." + }, + cashu: { + title: "Cashu Cüzdanı", + desc: "Yerleşik ecash cüzdanı — harici kurulum gerekmez", + initializing: "Cüzdan başlatılıyor...", + walletError: "Cüzdan Hatası", + balance: "Bakiye", + balanceAria: "Cüzdan bakiyesi {{amount}} sats", + activeMint: "Aktif Mint", + selectMint: "Bir mint seç", + receive: "Al", + send: "Gönder", + receiveViaLightning: "⚡ Lightning ile Al", + amountSats: "sats cinsinden tutar", + generateInvoice: "Fatura Oluştur", + generating: "Oluşturuluyor…", + or: "Veya", + receiveCashu: "🥜 Cashu Token Al", + scanQr: "QR Tara", + pasteCashu: "Cashu token yapıştır (cashu...)", + receiveToken: "Token Al", + receiving: "Alınıyor…", + createCashu: "🥜 Cashu Token Oluştur", + createToken: "Token Oluştur", + creating: "Oluşturuluyor…", + payInvoice: "⚡ Lightning Faturası Öde", + pasteInvoice: "Lightning faturası yapıştır (lnbc...)", + payInvoiceBtn: "Faturayı Öde", + processing: "İşleniyor...", + payAddress: "📧 Lightning Address Öde", + sendToAddress: "Adrese Gönder", + sending: "Gönderiliyor…", + recentActivity: "Son Etkinlik", + receivedLightning: "⚡ Lightning alındı", + sentLightning: "⚡ Lightning gönderildi", + sentToken: "🥜 Token gönderildi", + receivedToken: "🥜 Token alındı", + whatIsCashu: "Cashu nedir?", + whatIsCashuDesc: "Cashu, Bitcoin Lightning ile desteklenen dijital nakitdir. Bunu tarayıcında tuttuğun Bitcoin token'ları olarak düşün.", + benefitOffline: "Kaykay spotlarında çevrimdışı çalışır", + benefitInstant: "Anında eşler arası ödemeler", + benefitPrivacy: "Gizlilik odaklı (mint'ler seni izleyemez)", + benefitRedeemable: "Her zaman Lightning sats ile bozdurulabilir", + findMints: "mintradar.pedani.eu adresinde mint bul", + backupTitle: "Cüzdanını Yedekle", + backupDesc: "Cüzdanın 12 kelimelik kurtarma ifadesiyle korunur. Güvenle sakla — tarayıcı verilerini temizlersen bakiyeni geri yüklemek için buna ihtiyacın olacak.", + viewRecovery: "Kurtarma İfadesini Görüntüle", + backupNote: "Bu tıpkı Nostr nsec'in gibi — gizli tut ve yedekle!", + tokenReceived: "Token alındı", + tokenReceivedDesc: "Cashu token başarıyla bozduruldu!", + receiveFailed: "Alma başarısız", + unknownError: "Bilinmeyen hata", + requestUnsupported: "Cashu isteği henüz desteklenmiyor", + requestUnsupportedDesc: "Bu cüzdan henüz bir Cashu (creq) isteğini ödeyemiyor — bunun yerine bir Lightning faturası veya adresi iste.", + onchainUnsupported: "Zincir üstü burada desteklenmiyor", + onchainUnsupportedDesc: "Bu bir Bitcoin adresi. Bu cüzdan yalnızca Cashu token'ları ve Lightning ödemeleri gönderir.", + nostrProfile: "Bu bir Nostr profili", + nostrProfileDesc: "Ödemek için bir Cashu token'ı, Lightning faturası veya Lightning adresi tara.", + clinkUnsupported: "Ödeme kodu henüz desteklenmiyor", + clinkUnsupportedDesc: "Bu cüzdan henüz CLINK kodlarını ödeyemiyor. Bunun yerine bir Lightning faturası veya adresi kullan.", + unrecognizedQr: "Tanınmayan QR kodu", + unrecognizedQrDesc: "Bir Cashu token'ı, Lightning faturası veya Lightning adresi tara.", + invalidAmount: "Geçersiz tutar", + invalidAmountDesc: "Lütfen geçerli bir tutar gir", + paymentSent: "Ödeme gönderildi", + paymentSentDesc: "{{address}} adresine {{amount}} sats gönderildi", + paymentFailed: "Ödeme başarısız", + copied: "Kopyalandı", + copiedDesc: "{{label}} panoya kopyalandı", + receiveSats: "{{amount}} sats al", + payInvoiceHint: "Bu faturayı herhangi bir Lightning cüzdanından öde", + invoiceQrAlt: "Fatura QR Kodu", + lightningInvoice: "Lightning Faturası", + invoiceLabel: "Fatura", + waiting: "⏳ Ödeme bekleniyor...", + tokenReady: "Token Gönderilmeye Hazır", + shareToken: "Bu token'ı alıcıyla paylaş", + tokenQrAlt: "Token QR Kodu", + cashuToken: "Cashu Token", + tokenLabel: "Token", + copyToken: "Token'ı Kopyala", + tokenWarning: "Bu token'a sahip olan herkes onu talep edebilir - nakit gibi düşün!", + browser: { + title: "Yerleşik Ecash Cüzdanı", + appOnly: "Yalnızca uygulamada", + desc: "Bitcoin Lightning ile desteklenen, kendi saklamalı Cashu ecash", + unlockTitle: "SkateSpots uygulamasında tam cüzdanın kilidini aç", + unlockDesc: "Yerleşik ecash cüzdanı, Cashu token'larını tam spotta basmanı, göndermeni ve bozdurmanı sağlar. Doğrudan mint'lerle konuşabildiği yerel uygulamada yaşar — tarayıcılar bu bağlantıları güvenliğin için korumalı alana alır.", + zapTipTitle: "Zap ve bahşiş — şu anda tarayıcında çalışır", + zapTipDesc: "Spotlara, etkinliklere, koçlara ve ekiplere sats göndermek tam burada çalışır. Aşağıdan bir Lightning cüzdanı bağla — Nostr Wallet Connect veya Alby gibi bir tarayıcı uzantısı. Cashu mint gerekmez." + } + }, + escrow: { + title: "Emanet", + desc: "Güvenle sat: emaneti aç ve bir alıcı takas için sats'larını sana kilitleyebilir. Teslim ettiğinde serbest bırakırsın — etmezsen, alıcı kararlaştırılan süreden sonra onları geri alabilir.", + active: "Emanet açık", + publish: "Emaneti aç", + published: "Emanet açık", + publishedDesc: "Alıcılar artık bir takas için sana fon kilitleyebilir.", + failed: "Emanet açılamadı" + }, + escrowSettings: { + title: "Emanet ayarları", + desc: "Cashu emanet takasları için varsayılanlar. Cihaza özel.", + lockWindow: "Varsayılan kilit süresi", + lockWindowHint: "Alıcı geri alabilmeden önce fonların ne kadar süre kilitli kalacağı. Uzun süre satıcı için daha güvenlidir.", + days: "gün", + preferredMint: "Emanet için mint", + activeMint: "Aktif mint", + preferredMintHint: "Hangi mint emaneti fonlar. Güvenilir olanı kullan.", + requireListings: "Yeni ilanlarda emaneti zorunlu kıl", + requireListingsHint: "Bir ürün listelediğinde “Emaneti zorunlu kıl” seçeneğini önceden seçer." + }, + privacy: { + title: "Gizlilik İpuçları", + subtitle: "Finansal gizliliğini nasıl koruyacağını öğren", + cashuRecommended: "CASHU (Önerilen)", + anon: "Anonim işlemler", + blind: "Kör imzalar etkinliği gizler", + noIp: "IP açığa çıkmaz", + trustMint: "Fonlar için mint'e güven", + lightningAddress: "LIGHTNING ADDRESS", + linked: "Kimlikle ilişkilendirilebilir", + traceable: "Ödeme geçmişi izlenebilir", + ipVisible: "Fatura keserken IP görünür", + selfCustody: "Kendi saklama mümkün", + bestPractices: "En İyi Uygulamalar", + tip1Title: "Bahşiş almak için Cashu kullan", + tip1Desc: "Yerleşik Cashu cüzdanı zap almanın en gizli yoludur", + tip2Title: "SkateSpots için ayrı bir cüzdan kullan", + tip2Desc: "Ana birikim cüzdanını kullanma - uygulama fonlarını ayrı tut", + tip3Title: "VPN veya Tor kullanmayı düşün", + tip3Desc: "İşlem yaparken IP adresini gizler", + tip4Title: "Kimlikle ilişkili Lightning adreslerinden kaçın", + tip4Desc: "Gerçek adınla bağlantılı olmayan takma adlı adresler kullan", + proTip: "Profesyonel ipucu:", + proTipDesc: "Ödemeleri önce Cashu cüzdanına al, sonra periyodik olarak daha büyük miktarları transfer için VPN kullanarak kişisel cüzdanına taşı.", + warnTitle: "Gizlilik Notu", + warnDesc: "Lightning adresleri, SkateSpots etkinliğini gerçek kimliğinle ilişkilendirebilir.", + betterPrivacy: "Daha iyi gizlilik için:", + bullet1: "Bu uygulama için özel bir cüzdan kullan", + bullet2: "Bunun yerine Cashu cüzdanı kullanmayı düşün", + bullet3: "İşlemler için VPN/Tor kullan", + useCashu: "Bunun Yerine Cashu Kullan", + understand: "Anladım" + }, + mintPrivacy: { + title: "Mint Gizliliği", + desc: "Birden fazla mint kullanmak, hiçbir tek mint'in tüm işlemlerini görmesini engelleyerek gizliliği artırır", + distribution: "Fon Dağılımı", + singleWarning: "Tek bir mint kullanmak, o mint'in tüm işlem zamanlamanı ve tutarlarını görmesi anlamına gelir. Daha iyi gizlilik için daha fazla mint eklemeyi düşün.", + yourMints: "Mint'lerin ({{count}})", + default: "Varsayılan", + addMint: "Mint Ekle", + addMintDesc: "Cüzdanına yeni bir Cashu mint'i ekle", + mintUrl: "Mint URL'si", + add: "Ekle", + adding: "Ekleniyor...", + orChoose: "Veya listeden seç", + recommended: "Önerilen Mint'ler", + allMints: "Tüm mint'ler (dizin)", + searchMints: "Mint ara…", + noDirectoryMints: "Aramanla eşleşen mint yok.", + directoryHint: "Topluluk MintRadar dizininden — resmi değil ve eskimiş olabilir.", + added: "Eklendi", + soon: "Yakında", + autoDistribute: "Fonları otomatik dağıt", + autoDesc: "Alınan fonları birden fazla mint'e yay", + autoAria: "Fonları otomatik dağıt (yakında)", + tip1: "Daha iyi gizlilik için en az 2-3 farklı mint kullan", + tip2: "Tüm fonları tek bir mint'te tutma - dağıt", + tip3: "Mint yargı yetkisini düşün (farklı ülkeler = farklı yasal erişim)", + tip4: "Mint'ler işlemlerin zamanlamasını görür ama kime ödediğini GÖRMEZ (kör imzalar)", + future: "Gelecek özellikler: Mint rotasyonu ve gizlilik puanlaması - bizi takip et!", + findMore: "mintradar.pedani.eu adresinde daha fazla mint bul", + trustWarning: "Güven Uyarısı:", + trustWarningDesc: "Mint'ler emanetçidir - fonlarını tutarlar. Yalnızca güvendiğin mint'leri kullan. Bir mint kaybolursa fonların kaybolabilir. Fonları birden fazla mint'e yaymak riski azaltır.", + removeTitle: "Mint Kaldırılsın mı?", + removeDesc: "{{name}} mint'ini kaldırmak istediğine emin misin?", + removeMint: "Mint'i Kaldır", + warning: "Uyarı:", + withdrawWarning: "Bu mint'te {{amount}} sats var. Kaldırmadan önce fonlarını çek!", + invalidUrl: "Geçersiz URL", + invalidUrlDesc: "Mint URL'si https:// ile başlamalı", + mintAdded: "Mint Eklendi", + mintAddedDesc: "Yeni mint başarıyla eklendi", + mintAddedNamed: "{{name}} başarıyla eklendi", + failedAdd: "Mint eklenemedi", + failed: "Başarısız", + noMints: "Mint Yok", + singleMint: "Tek Mint", + concentrated: "Yoğunlaşmış", + moderate: "Orta", + wellDistributed: "İyi Dağıtılmış", + mintCoinosWebDesc: "Web dostu mint (tarayıcılar için önerilir)", + mintMinibitsWebDesc: "⚠ Yalnızca yerel uygulama — web tarayıcılarından erişilemez", + mintMinibitsNativeDesc: "SkateSpots mint'i — önerilir", + mintCoinosDesc: "Web dostu mint", + mintLnbitsDesc: "LNbits üzerinde topluluk mint'i" + }, + nwc: { + title: "Lightning Cüzdanı", + noConnection: "NWC cüzdanı", + refresh: "Bakiyeyi yenile", + createInvoice: "Fatura oluştur", + copyInvoice: "Faturayı kopyala", + pasteInvoice: "Bir Lightning faturası yapıştır (lnbc…)", + amount: "Tutar: {{amount}} sats", + pasteToSee: "Tutarı görmek için bir fatura yapıştır", + pay: "Öde", + invoiceQrAlt: "Lightning faturası QR kodu", + enterAmount: "sats cinsinden bir tutar gir", + readBalanceFailed: "Bakiye okunamadı", + readBalanceFailedDesc: "Cüzdanın yanıt vermedi.", + createInvoiceFailed: "Fatura oluşturulamadı", + createInvoiceFailedDesc: "Birazdan tekrar dene.", + paymentSent: "Ödeme gönderildi", + paidAmount: "{{amount}} sats ödendi.", + paid: "Ödendi.", + paymentRejected: "Cüzdan ödemeyi reddetti." + }, + qr: { + title: "QR Kodu Tara", + desc: "Taramak için QR kodunu kamera görüntüsü içine konumlandır", + paste: "Panodan Yapıştır", + hint: "Bir Cashu token'ı, Lightning faturası veya Lightning adresi tara", + clipboardEmpty: "Pano boş", + clipboardEmptyDesc: "Panoda metin bulunamadı", + pasteFailed: "Yapıştırma başarısız", + pasteFailedDesc: "Panodan okunamadı" + }, + recovery: { + title: "Kurtarma İfadesi", + desc: "Bu 12 kelime ecash bakiyeni geri yüklemenin tek yoludur. Sırayla yaz ve çevrimdışı sakla — kimseyle paylaşma.", + tapReveal: "Göstermek için dokun", + noWatching: "Kimsenin izlemediğinden emin ol", + hide: "Gizle", + reveal: "Göster", + paperHint: "Kağıda yazmak en güvenlisidir — panoya kopyalamak diğer uygulamalara sızabilir.", + written: "Yazdım", + revealFirst: "Önce kelimeleri göster", + copiedDesc: "Kurtarma ifadesi kopyalandı — güvenli bir yere yapıştır, sonra panonu temizle.", + copyFailed: "Kopyalama başarısız", + copyFailedDesc: "Lütfen bunun yerine kelimeleri yaz." + }, + guide: { + quickGuide: "Hızlı Kılavuz", + fullGuide: "Cüzdan Kılavuzu (Kaykaycı Sürümü)", + cashuSummary: "Gizlilik + Kolaylık", + mintHoldsFunds: "(mint fonları tutar)", + lightningSummary: "Kontrol + Güvenlik", + youHoldKeys: "(anahtarları sen tutarsın)", + useBoth: "İkisini de kullan: bahşiş için Cashu, birikim için Lightning", + cashuTitle: "CASHU CÜZDANI", + cashuTagline: "Kaykay parkında cebindeki nakit gibi", + cashuBullet1: "Bahşiş için çıkarması hızlı", + cashuBullet2: "Hayat birikimini burada taşıma", + cashuBullet3: "Mint kaybolursa fonlar kaybolabilir", + cashuBullet4: "Ne kadarın olduğunu kimse bilmez (gizlilik!)", + cashuPerfectFor: "Seans atıştırmalıkları, klip zap'leme, küçük bahşişler", + lightningTitle: "LIGHTNING CÜZDANI", + lightningTagline: "Banka hesabın gibi - kontrol sende", + lightningBullet1: "Güvenli, anahtarları sen kontrol edersin", + lightningBullet2: "Kurması biraz zaman alır", + lightningBullet3: "Tam işlem geçmişi", + lightningBullet4: "Daha büyük tutarlar için daha iyi", + lightningPerfectFor: "Ekipman alışverişi, birikim, büyük zap'ler", + perfectFor: "Kime uygun:", + proTips: "PRO İPUÇLARI", + tip1Title: "İki cüzdanı da kullan", + tip1Desc: "Seans parasını Cashu'da, birikimi Lightning'de tut", + tip2Title: "Farklı cüzdanları dene", + tip2Desc: "Sana neyin uyduğunu bulmak için deney yap. Her birinin farklı özellikleri ve ödünleri var", + tip3Title: "Daha iyi gizlilik", + tip3Desc: "Birden fazla cüzdan kullanmak hiçbir tek uygulamanın tüm etkinliğini görmemesi anlamına gelir", + tip4Title: "Deneyim kazan", + tip4Desc: "Ne kadar çok araç bilirsen o kadar çok seçeneğin olur. Küçük başla, ilerledikçe öğren", + tldr: "Özet:", + tldrDesc: "\"En iyi\" cüzdan yok - ihtiyaçlarına bağlı. İkisini de dene, sana doğru geleni kullan ve tüm sats'larını tek yerde tutma!" + }, + zap: { + count: "{{count}} zap", + connectFirst: "Önce Cüzdanını Bağla", + connectFirstDesc: "Zap (Bitcoin bahşişi) göndermek için bir Lightning cüzdanı bağlaman gerek.", + quickSetup: "Hızlı Kurulum (30 saniye)", + quickSetupDesc: "Mevcut Lightning cüzdanını Nostr Wallet Connect (NWC) ile bağla. Ekstra hesap gerekmez.", + connectNwc: "NWC ile Cüzdan Bağla", + noWallet: "Cüzdanın yok mu? Nasıl yapılacağını öğren", + skip: "Şimdilik atla (manuel fatura)", + note: "ℹ️ Not:", + noteDesc: "Cüzdan bağlamadan yine de bir fatura oluşturabilirsin, ancak ödemek için manuel olarak kopyalaman gerekir.", + payWithWebln: "WebLN ile Öde", + processing: "İşleniyor...", + openInWallet: "Lightning Cüzdanında Aç", + scanHint: "QR kodunu tara veya herhangi bir Lightning cüzdanıyla ödemek için faturayı kopyala.", + cashuInstant: "Yerleşik cüzdanınla anında öde", + satsAvailable: "sats mevcut", + or: "VEYA", + customAmount: "Özel tutar", + addComment: "Yorum ekle (isteğe bağlı)", + insufficientBanner: "⚠️ Yetersiz Cashu bakiyesi. {{amount}} sats daha gerekli. Lightning'e geç veya Cashu cüzdanını doldur.", + creatingInvoice: "Fatura oluşturuluyor...", + zapAmount: "{{amount}} sats zap'le", + zapAmountCashu: "Cashu ile {{amount}} sats zap'le", + lightningInvoice: "Lightning Faturası", + qrAlt: "Lightning Faturası QR Kodu", + enterAmount: "Bir tutar gir", + enterAmountDesc: "Bir ön ayar seç veya geçerli sayıda sats yaz.", + cashuUnavailable: "Cashu cüzdanı kullanılamıyor", + cashuUnavailableDesc: "Cashu cüzdanın hazır değil. Lightning'e geç veya önce cüzdanını aç.", + insufficientCashu: "Yetersiz Cashu bakiyesi", + insufficientCashuDesc: "{{amount}} sats daha gerekli. Lightning'e geç veya doldur.", + zapSentCashu: "Zap gönderildi! 🥜", + zapSentCashuDesc: "Cashu cüzdanından {{amount}} sats zap'lendi.", + cashuFailed: "Cashu ödemesi başarısız", + cashuFailedDesc: "Cashu cüzdanınla ödeme başarısız oldu.", + invoiceCopied: "Fatura kopyalandı", + invoiceCopiedDesc: "Lightning faturası panoya kopyalandı", + defaultComment: "SkateSpots'ta zap'lendi! 🛹", + titleConnect: "Cüzdan Bağla", + titlePayment: "Lightning Ödemesi", + titleZap: "Zap Gönder", + descConnect: "Zap göndermek için Lightning cüzdanını bağla", + descPayment: "Bitcoin Lightning Network ile öde", + descZap: "Zap'ler, bu öğenin oluşturucusunu destekleyen küçük Bitcoin ödemeleridir. Bunu beğendiysen bir zap göndermeyi düşün!", + descZapShort: "Zap'ler oluşturucuları destekleyen küçük Bitcoin ödemeleridir. Bir zap göndermeyi düşün!" + }, + zapCrew: { + title: "Ekibi Zap'le", + desc: "Lightning adresi olan {{count}} ekip üyesine bir zap'ı eşit olarak böl.", + noMembers: "Şu anda zap'lenecek başka ekip üyesi yok.", + totalAmount: "Toplam tutar", + customTotal: "Özel toplam", + each: "sats her biri", + rounded: "(yuvarlanmış)", + noWallet: "Cüzdan bağlı değil — her üye için manuel ödenecek bir fatura alırsın. Tek dokunuşla bölmek için bir cüzdan bağla.", + zapAcross: "{{count}} kişiye {{amount}} sats zap'le", + sentTo: "⚡ {{done}}/{{total}} kişiye gönderildi", + none: "Tamamlanan otomatik ödeme yok", + copyPending: "Bekleyen faturaları kopyalayarak manuel ödemeyi tamamla.", + thanks: "Ekibi desteklediğin için teşekkürler!", + payingCrew: "Ekip ödeniyor…", + defaultComment: "{{crew}} ekibi zap'lendi! 🤘", + sent: "Gönderildi", + paying: "Ödeniyor", + resolving: "Çözümleniyor", + skipped: "Atlandı", + failed: "Başarısız", + waiting: "Bekleniyor", + copyInvoice: "Faturayı kopyala", + invoiceCopied: "Fatura kopyalandı", + invoiceCopiedDesc: "Herhangi bir Lightning cüzdanına yapıştır" + }, + zapBadges: { + title: "Zap Rozetleri", + zaps: "zap", + satsSent: "sats gönderildi", + rank: "sıralama", + footnote: "Son 30 günlük zap'lere dayanır.", + first: "İlk Zap", + firstHint: "İlk zap'ini gönder", + regular: "Düzenli", + regularHint: "10 zap gönder", + generous: "Cömert", + generousHint: "10.000 sats gönder", + patron: "Patron", + patronHint: "100.000 sats gönder", + top10: "İlk 10", + top10Hint: "İlk 10 destekçiye gir" + }, + trust: { + unavailable: "Güven puanı kullanılamıyor", + yourContent: "Bu senin içeriğin", + following: "Bu kullanıcıyı takip ediyorsun", + friendOfFriend: "Arkadaşının arkadaşı (2 adım)", + nip05: "NIP-05 doğrulanmış kullanıcı", + unknown: "Bilinmeyen kullanıcı", + help: "Güven puanları kaykay topluluğundaki güvenilir katkıcıları belirlemeye yardımcı olur." + }, + share: { + title: "Profili paylaş", + desc: "{{name}} kullanıcısının profilini açmak için telefon kamerasını koda doğrult.", + qrAlt: "Profil QR kodu", + copyLink: "Bağlantıyı kopyala", + copyFailed: "Kopyalama başarısız", + copyFailedDesc: "Bağlantı kopyalanamadı.", + shareEllipsis: "Paylaş…" + }, + addToCollection: { + title: "Koleksiyona Kaydet", + desc: "\"{{spot}}\" öğesini koleksiyonlarından birine kaydet", + loginRequired: "Spotları koleksiyonlara kaydetmek için lütfen giriş yap", + noCollections: "Henüz hiç koleksiyonun yok", + createFirst: "İlkini aşağıda oluştur!", + spotCount: "{{count}} spot", + alreadySavedTag: "Zaten kayıtlı", + alreadySaved: "Zaten kayıtlı", + alreadySavedDesc: "“{{spot}}” zaten “{{collection}}” içinde", + saved: "Spot kaydedildi!", + savedDesc: "\"{{spot}}\" \"{{collection}}\" içine eklendi", + saveFailed: "Kaydedilemedi", + somethingWrong: "Bir şeyler ters gitti", + created: "Koleksiyon oluşturuldu!", + createdDesc: "\"{{spot}}\" yeni koleksiyonun \"{{collection}}\" içine eklendi", + createFailed: "Koleksiyon oluşturulamadı", + name: "Koleksiyon Adı", + descriptionOptional: "Açıklama (isteğe bağlı)", + creating: "Oluşturuluyor...", + createAndSave: "Oluştur ve Kaydet", + createNew: "Yeni Koleksiyon Oluştur" + }, + collection: { + back: "Koleksiyonlara Dön", + created: "{{date}} tarihinde oluşturuldu", + deleteTitle: "Koleksiyon Silinsin mi?", + deleteDesc: "Bu, \"{{title}}\" öğesini kalıcı olarak silecek. Spotların kendileri etkilenmeyecek.", + deleting: "Siliniyor...", + deleteFailed: "Koleksiyon silinemedi", + deleted: "Koleksiyon silindi", + deletedDesc: "\"{{title}}\" kaldırıldı", + empty: "Bu koleksiyonda spot yok", + emptyOwner: "Herhangi bir spotta \"Koleksiyona Kaydet\"e tıklayarak koleksiyonuna spot ekle", + emptyOther: "Bu koleksiyon boş", + browseSpots: "Spotlara Göz At", + linkCopied: "Bağlantı kopyalandı!", + linkCopiedDesc: "Koleksiyon bağlantısı panoya kopyalandı", + map: "Koleksiyon Haritası", + removeFailed: "Spot kaldırılamadı", + shareText: "Bu spot koleksiyonuna göz at: {{title}}", + spotRemoved: "Spot kaldırıldı", + spotRemovedDesc: "\"{{title}}\" bu koleksiyondan kaldırıldı" + }, + mints: { + title: "Mint'ler", + subtitle: "Cashu mint'lerine ve sağlık durumlarına göz at. Cashu cüzdan işlemleri SkateSpots uygulamasında çalışır.", + searchPlaceholder: "Mint'leri ada veya URL'ye göre ara…", + onlineOnly: "Yalnızca çevrimiçi", + count: "{{total}} mint'ten {{filtered}}", + directoryError: "Mint dizini yüklenemedi.", + directoryHint: "Dizin topluluk tarafından yönetilir ve hız sınırlıdır — kısa süreliğine kullanılamayabilir.", + goToWallet: "Cüzdana Git", + appOnly: "Mint ekleme SkateSpots uygulamasında yapılır (Cashu yalnızca uygulamada).", + noMatch: "“{{query}}” ile eşleşen mint yok.", + footer: "Sağlık verileri topluluk MintRadar projesinden — resmi değil ve eskimiş olabilir. Fon emanet etmeden önce her zaman bir mint'in koşullarını incele.", + archived: "Arşivlendi", + degraded: "Bozulmuş", + offline: "Çevrimdışı", + online: "Çevrimiçi", + terms: "Koşullar", + reliability: "güvenilirlik", + add: "Ekle", + addToWallet: "Cüzdana ekle", + copyUrl: "URL'yi Kopyala", + openMint: "Mint'i aç", + inWallet: "Cüzdanında", + addedBadge: "Eklendi", + urlCopied: "Mint URL'si kopyalandı", + added: "Mint eklendi", + addedDesc: "{{host}} artık cüzdanında.", + couldNotAdd: "Mint eklenemedi", + communityRating: "Topluluk derecelendirmesi", + reliabilityLabel: "Güvenilirlik", + uptime: "Çalışma süresi 24s / 7g", + location: "Konum", + latency: "Gecikme", + nuts: "Desteklenen NUT'lar", + units: "Birimler", + version: "Sürüm", + ratedBy: "MintRadar'da {{count}} kişi tarafından {{rating}}/5 olarak derecelendirildi.", + noRating: "MintRadar'da henüz topluluk derecelendirmesi yok.", + reviewsNote1: "Yazılı incelemeler dizinin bir parçası değil —", + openMintRadar: "MintRadar'ı aç", + reviewsNote2: "okumak veya bırakmak için.", + liveness: "Canlılık denetimi: {{mints}} mint ve {{melts}} melt test edildi", + livenessErrors: " · {{total}} son hatadan {{errors}}", + whatsAMint: "Mint nedir?", + whatsAMintDesc: "Cashu mint'i, cüzdanındaki ecash'i basar ve bozdurur. Token'larını destekleyen Bitcoin'i tutar — yani kendin işletmediğin bir mint'e güvenmen gerekir.", + mintWarning: "Mint'ler çevrimdışı olabilir, koşulları değiştirebilir veya fonlarla birlikte kaybolabilir. Operatöre güvenmediğin sürece yalnızca küçük bakiyeler tut.", + healthDisclaimer: "Sağlık verileri topluluk tarafından yönetilir (MintRadar) — resmi değil ve eskimiş olabilir." + }, + appShop: { + title: "Uygulama Mağazası", + subtitle: "Bu sahneyi ayakta tutan insanlar için SkateSpots ürünleri.", + comingSoon: "Yakında", + wearThe: "Giy", + scene: "Sahneyi", + heroDesc1: "Bu işi ayakta tutan insanlar için ürünler —", + locally: "yerel olarak, istek üzerine", + heroDesc2: "satılır. Bana mesaj atarsın, ayrıntıları hallederiz ve teslim alırken", + heroDesc3: "— Lightning veya Cashu — ile ödersin. Kart yok, hesap yok, ödeme robotu yok, drop'tan pay alan aracı yok.", + requestItem: "Ürün iste", + dmHint: "Benimle özel, şifreli bir DM açar.", + lightning: "Lightning", + cashu: "Cashu", + localHandover: "Yerel teslim", + inTheWorks: "Hazırlanıyor", + notForSale: "henüz satılık değil", + soon: "yakında", + tees: "Tişörtler ve kapüşonlular", + decks: "Kaykay tahtaları", + shopTools: "Tamir araçları", + stickerPacks: "Çıkartma paketleri", + stickerPacksDesc: "Paketler geliyor. Tasarımlar değil — şu anda bu ikisini ücretsiz yazdır.", + sticker: "Çıkartma", + stickerTip: "Siyah kesim. Çıkartma kağıdına yazdır, siyah kenar boyunca kes.", + poster: "Poster", + posterTip: "A3 olarak yazdırır; A4'e (50%) küçült ve yine de sorunsuz taranır.", + printableAlt: "SkateSpots {{title}} — yazdırılabilir", + print: "Yazdır", + printNote1: "Şu boyutta yazdır:", + actualSize: "100% / “Gerçek boyut”", + printNote2: "böylece boyut tam olur ve QR net kalır — skate-spots.org'a işaret eder. Vektör dosyalar, bu yüzden bulanıklaşmadan ölçeklenir.", + howBuying: "Satın alma nasıl işler", + dmNotCart: "bu bir DM, sepet değil", + step1Title: "Bana mesaj at", + step1Desc: "Ne istediğini yaz — ürün, beden, renk, ne arıyorsan.", + step2Title: "Ayrıntıları hallederiz", + step2Desc: "sats cinsinden fiyat ve nerede, ne zaman buluşulacağı. Bu bir sohbet, ödeme sayfası değil.", + step3Title: "sats ile öde", + step3Desc: "Teslimde Lightning veya Cashu, sonra senin. Kargo yok, bekleme odası yok." + }, + newsletter: { + newIssue: "Yeni sayı", + composerTitle: "Bir bülten sayısı yayınla", + composerDesc: "Topluluk relay'inde NIP-23 makalesi (kind 30023) olarak yayınlanır. Aboneler bunu bildirim zilinde alır. Gövde Markdown destekler.", + fieldTitle: "Başlık", + identifier: "Tanımlayıcı (slug)", + leaveBlank: "otomatik oluşturmak için boş bırak", + reusingSlug: "Mevcut bir slug'ı yeniden kullanmak, yeni bir sayı oluşturmak yerine o sayıyı düzenler.", + summary: "Özet", + optional: "isteğe bağlı", + coverImage: "Kapak resmi URL'si", + bodyMarkdown: "Gövde (Markdown)", + characters: "{{count}} karakter", + publishIssue: "Sayıyı yayınla", + issuePublished: "Sayı yayınlandı! 🛹", + issuePublishedDesc: "Aboneler bunu bildirim zilinde görecek.", + publishFailed: "Yayınlama başarısız", + couldNotReachRelay: "Hiçbir relay'e ulaşılamadı — bağlantını kontrol et ve tekrar dene.", + tryAgain: "Lütfen tekrar dene.", + publishedToNostr: "Nostr'a yayınlandı", + publishedToast: "Yayınlandı!", + postedToNostr: "Drop {{number}} Nostr'a gönderildi.", + postToNostr: "Nostr'a Gönder", + previewLabel: "Önizleme", + editFirst: "Önce düzenle", + previewNoteDesc: "Not çoğu Nostr istemcisinde böyle görünecek. Biçimlendirme istemciye göre değişir.", + editNoteDesc: "Aşağıdaki not metnini düzenle. Değişiklikler yalnızca bu yayını etkiler — kaynak dosya değişmeden kalır.", + dropNumber: "Drop {{number}}", + publish: "Yayınla", + publishing: "Yayınlanıyor...", + dropIsOut: "Drop {{number}} çıktı", + daysAgo: "{{count}}g önce", + dismiss: "Kapat", + itsMonday: "Bugün Pazartesi", + mondayDesc: "Haftalık bülteni yayınlama zamanı. Tek tıkla AI bunu git log'undan yazar.", + writeDrop: "Drop {{number}} Yaz", + dismissReminder: "Hatırlatıcıyı kapat", + loginPrompt: "Yeni drop'ları posta kutunda almak için Nostr ile giriş yap.", + subscribedToast: "Abone oldun! 🛹", + subscribedToastDesc: "Yeni drop'lar \"Haberler\" altında bildirim ziline düşecek.", + unsubscribed: "Abonelikten çıkıldı", + unsubscribedDesc: "Her sayıyı burada istediğin zaman okuyabilirsin.", + checking: "Kontrol ediliyor…", + subscribed: "Abone", + unsubscribe: "Abonelikten çık", + subscribeCta: "Bültene abone ol", + archiveSynced: "Arşiv Nostr ile senkronize edildi", + missingCount: "{{count}} arşiv sayısı henüz Nostr'da değil", + backfillDesc: "{{list}} öğesini NIP-23 makaleleri olarak yayınla, böylece aboneler ve uzun biçim okuyucuları tam arşivi görebilir. Sayfa yine de zengin düzenini korur.", + backfill: "{{count}} sayıyı Nostr'a doldur", + publishing2: "Yayınlanıyor…", + publishingLabel: "Yayınlanıyor…", + backfilled: "{{count}} sayı dolduruldu 🛹", + backfilledDesc: "Arşiv artık aboneler ve okuyucular için Nostr'da yaşıyor.", + partialBackfill: "{{published}} yayınlandı, {{failed}} başarısız", + retryFinish: "Tamamlamak için tekrar dene: {{list}}.", + notLoggedIn: "Giriş yapılmadı", + allIssues: "Tüm sayılar", + brand: "SkateSpots Bülteni", + digTheDrop: "Drop'u beğendin mi? Zap'le ve bir sonrakini kaçırma.", + sectionStats: "Sayılarla Topluluk", + sectionWhatsNew: "Yeni Olanlar", + sectionSpotOfWeek: "Haftanın Spotu", + sectionCommunity: "Topluluk", + sectionSupport: "Projeyi Destekle", + sectionLatestDrops: "Son Drop'lar · Nostr'dan Canlı", + mappedBy: "Haritalayan", + viewOnMap: "Haritada gör", + noSpotPicked: "Bu hafta spot seçilmedi. Seninkini gönder, bir sonraki drop'a girebilir.", + browseMap: "Haritaya göz at", + spotMap: "Spot Haritası", + statsBadge: "İstatistikler", + supportDesc: "100% açık kaynak, topluluk tarafından finanse edilir, reklam yok, yatırımcı yok. İşe yarıyorsa zap'le veya Angor'da destekle.", + readFull: "Tam sayıyı oku", + joinSkaters: "Drop'ları alan {{count}} kaykaycıya katıl", + weeklyDrops: "Haftalık Drop'lar", + tagline: "Haftalık bir bülten · canımız ne zaman isterse o zaman yayınlanır", + freeNote: "Ücretsiz. Nostr ile desteklenir — aboneliğin anahtarlarında yaşar ve cihazlar arasında seni takip eder. Yeni drop'lar bildirim ziline düşer.", + live: "Canlı", + builtOn: "Üzerine kurulu:", + openSource: "Açık kaynak", + supportUs: "Bizi destekle", + freeToSkate: "Kaykay yapmakta özgürsün" + }, + stats: { + subtitle: "Doğrudan Nostr ağından çekilen canlı metrikler. Şeffaf, merkeziyetsiz, herkes tarafından doğrulanabilir.", + dataSource: "Veri kaynağı:", + updated: "{{age}} önce güncellendi", + refresh: "Yenile", + partial: "Her relay'e ulaşılamadı — bu sayılar eksik olabilir.", + error: "Şu anda relay'e ulaşılamıyor. Bağlantı sağlandığında istatistikler yüklenecek.", + atAGlance: "Bir Bakışta Topluluk", + skateSpots: "Kaykay Spotları", + listedShops: "Listelenen Dükkanlar", + events: "Etkinlikler", + mappers: "Haritacılar", + uniqueContributors: "benzersiz katkıcı", + labHeader: "The Lab · Oluşturucular ve Hizmetler", + total: "toplam {{count}}", + coaches: "Koçlar", + filmers: "Kameramanlar", + editors: "Editörler", + photographers: "Fotoğrafçılar", + builders: "Yapıcılar", + artists: "Sanatçılar", + graffiti: "Graffiti", + tattoo: "Dövme", + trainers: "Antrenörler", + musicians: "Müzisyenler", + judges: "Jüri üyeleri", + organizers: "Organizatörler", + barbers: "Berberler", + showFewer: "Daha az göster", + showAllCrafts: "13 zanaatın tümünü göster", + community: "Topluluk", + tours: "Turlar", + crews: "Ekipler", + marketplace: "Pazar Yeri", + liveListings: "Canlı İlanlar", + tradesRecorded: "Kaydedilen Takaslar", + satsTraded: "Takas Edilen Sats", + zapsToMappers: "Haritacılara Zap'ler", + tradesNote1: "kişiler arası karşılıklı takaslar. Sats'lar takasçılar tarafından kendi bildirimleridir — uygulama uygulama dışı bir ödemeyi gözlemleyemez — bu yüzden başlık yalnızca", + tradesNote2: "sayar", + mutual: "karşılıklı", + tradesNote3: "çift başına üst sınırla takaslar; ham iddia ise", + tradesNote4: "sats. \"Haritacılara zap'ler\" yalnızca en iyi katkıcılarımıza gönderilen makbuzları sayar — bu", + not: "değil", + tradesNote5: "küresel zap hacmi.", + byRegion: "Bölgeye Göre Spotlar ve Dükkanlar", + resolving: "{{count}} etiketsiz konum koordinatlarından çözümleniyor… bir kez, sonra bu cihazda önbelleğe alınır.", + topCountries: "En İyi Ülkeler", + topCities: "En İyi Şehirler", + other: "Diğer", + otherCountriesTitle: "İlk 6 dışındaki ülkeler", + otherCitiesTitle: "İlk 6 dışındaki şehirler", + uncategorised: "Kategorisiz", + uncategorisedTitle: "Şehir/ülke etiketi yok", + regionNote1: "Sayılar", + spotsAndShops: "spot ve dükkan", + regionNote2: ", kaykaycı değil — her birinin kendi şehir/ülke etiketinden veya hiç yoksa pin'inin koordinatlarından türetilir (cihazında önbelleğe alınır; ülkeler varsa ISO koduyla gruplanır), yalnızca topluluk relay'i, moderasyonla gizlenen içerik hariç.", + ofTotal: "{{total}} içinden {{count}}", + regionNote3: "konumun konum etiketi yok ve \"Kategorisiz\" olarak görünüyor.", + growth: "Zaman İçinde Büyüme", + chartCumulativeTitle: "Haritalanan Spotlar (Kümülatif)", + chartCumulativeDesc: "Zaman içinde haritaya eklenen toplam spot", + chartMonthlyTitle: "Aylık Etkinlik", + chartMonthlyDesc: "Her ay yayınlanan yeni içerik", + chartMappersTitle: "Aylık Aktif Haritacılar", + chartMappersDesc: "Her ay yayın yapan benzersiz katkıcılar", + chartMixTitle: "İçerik Karışımı", + chartMixDesc: "İçerik türüne göre dağılım (tüm zamanlar)", + noData: "Henüz veri yok", + topMappers: "En İyi Haritacılar", + mostSpots: "— en çok spot ekleyen", + noMapperData: "Henüz haritacı verisi yok", + topShops: "En İyi Dükkanlar", + mostShops: "— en çok dükkan ekleyen", + shopCount: "{{count}} dükkan", + noShopData: "Henüz dükkan verisi yok", + supporters: "Topluluk Destekçileri", + fundedTitle: "Topluluk Tarafından Fonlanıyor", + fundedDesc1: "Angor aracılığıyla merkeziyetsiz Bitcoin kitle fonlaması.", + fundedDesc2: "Reklam yok, yatırımcı yok, veri satışı yok.", + backAngor: "Bizi Angor'da destekle", + communityLink: "Topluluk →", + footer1: "Tüm veriler canlı olarak şuradan çekilir:", + footer2: "— halka açık bir Nostr relay'i.", + footer3: "Her olay oluşturucusu tarafından imzalanır ve kriptografik olarak doğrulanabilir.", + footer4: "Hiçbir sayı sahtelenemez.", + spots: "Spotlar", + shops: "Dükkanlar", + lab: "Lab", + thisMonth: "bu ay +{{count}}", + fromActive: "aktif hesaplardan {{count}}", + viewAll: "Tümünü gör", + spotCount: "{{count}} spot" + }, + leaderboard: { + mapEarn: "Haritala ve Kazan", + helpMap: "DÜNYAYI HARİTALAMAYA YARDIM ET", + intro: "Spot ve dükkan ekle, minnettar kaykaycılardan zap al. En iyi katkıcılar bonus ödüller alabilir!", + howItWorks: "Nasıl İşler", + step1Title: "1. Haritala", + step1Desc: "Fotoğraf ve ayrıntılarla spot ve dükkan ekle", + step2Title: "2. Zap Kazan", + step2Desc: "Spotlarını faydalı bulan kaykaycılar sana bahşiş verir", + step3Title: "3. Bonus Ödüller", + step3Desc: "En iyi haritacılar fonumuzdan bonus ödül alabilir", + proTips: "💡 Daha Fazla Zap İçin Profesyonel İpuçları:", + tipPhotos: "3+ fotoğraf ekle", + tipDescriptions: "Ayrıntılı açıklamalar yaz", + tipLocation: "Doğru konum", + mapShop: "Dükkan Haritala", + mapShopDesc: "Kaykay dükkanları, board mağazaları", + mapSpot: "Spot Haritala", + mapSpotDesc: "Parklar, sokak spotları, DIY", + shops: "Dükkanlar", + spotsLower: "spot", + shopsLower: "dükkan", + contributions: "katkı", + yourRanking: "Sıralaman", + spotsShops: "{{spots}} spot • {{shops}} dükkan", + totalLower: "toplam", + overall: "Genel", + noContributions: "Henüz katkı yok. İlk sen ol!", + addFirstSpot: "İlk Spotu Ekle", + noShops: "Henüz dükkan haritalanmadı", + addFirstShop: "İlk Dükkanı Ekle", + noSpots: "Henüz spot haritalanmadı", + poweredBy: "Topluluk Zap'leriyle Desteklenir", + poweredByDesc: "Bir spotu faydalı bulduğunda haritacıyı zap'le! Teşekkür etmenin ve daha fazla katkıyı teşvik etmenin en iyi yolu budur.", + you: "Sen", + zapTitle: "Zap Sıralamaları", + zapSubtitle: "En çok sevilen spotlar — ve onları seven kaykaycılar.", + thisWeek: "Bu hafta", + thisMonth: "Bu ay", + allTime: "Tüm zamanlar", + topZappedSpots: "En çok zap'lenen spotlar", + noZaps: "Bu dönemde henüz zap yok. İlk sen ol — sevdiğin bir spotta ⚡'ye bas.", + topSupporters: "En iyi destekçiler", + noZapsSent: "Bu dönemde henüz zap gönderilmedi.", + fromTop10: "⚡ ilk 10'dan {{amount}} sats", + supporter: "Destekçi", + skateShop: "Kaykay dükkanı", + skateSpot: "Kaykay spotu" + }, + supporters: { + our: "BİZİM", + community: "TOPLULUK", + heroDesc: "SkateSpots topluluk tarafından ve topluluk için inşa edilir. Bunu ücretsiz ve merkeziyetsiz tutan destekçiler, işbirlikçiler, ortaklar ve dostlar.", + backAngor: "Bizi Angor'da destekle", + backers: "Destekçiler", + backersDesc: "SkateSpots'u destekleyen kaykaycılar — Angor aracılığıyla zincir üstü fonlama ve projeye Lightning zap'leri.", + sourceAngor: "Angor", + supportersTotals: "{{count}} destekçi · Angor ile {{angor}} sats · {{zap}} sats zap'lendi", + quietNote: "Ayrıca sessizce veren herkes — teşekkürler. ❤️", + silentTitle: "Özel zincir üstü (sessiz ödemeler)", + silentDesc: "Tek isim, her ödeme için yeni bir adres — sessiz ödemelerle zincir üstü veya aynı kayıttan Lightning. Yeniden kullanılacak bir şey yok, ilişkilendirilecek bir şey yok.", + silentCopyName: "Adı kopyala", + silentCopied: "Kopyalandı", + silentWallets: "Ödeme adlarını / sessiz ödemeleri destekleyen bir cüzdan gerekir: Sparrow, Cake, Dana, Phoenix, BlueWallet, Wasabi, Nunchuk veya BitBox02.", + wayLightningTitle: "Anında ve halka açık", + wayLightningDesc: "SkateSpots'u zap'le veya sessizce öde. Çıkış yapmışken de çalışır.", + waySilentTitle: "Özel zincir üstü", + waySilentDesc: "Sessiz ödeme adı — her ödeme için yeni bir adres.", + wayAngorTitle: "Yapımı fonla", + wayAngorDesc: "Angor — aşamalı serbest bırakma, 100k sats üzeri iade edilebilir.", + donateTitle: "SkateSpots'u Destekle", + donateDesc: "Üç yol, üç neden — sana uyanı seç. Her sat haritayı ücretsiz, reklamsız ve açık kaynak tutar.", + donatePageLink: "Basit bağış sayfasını aç", + updatedAt: "{{when}} güncellendi", + tiersNote: "Kademeler: 100k sats altı Destekçi · 100k–1M Patron · 1M+ Efsane", + tierEmpty: "Henüz kimse yok — ilk sen ol.", + joinSupporters: "{{count}} destekçiye katıl", + showAll: "Tümünü göster ({{count}})", + showLess: "Daha az göster", + impactSeeStats: "Tam resmi gör →", + impactAsOf: "topluluk relay'lerinden canlı", + anonymousBacker: "Anonim destekçi", + beFirstBacker: "Henüz halka açık destekçi yok — ilk sen ol.", + backersTotal: "{{count}} destekçi · {{amount}} sats toplandı", + verifiedOnChain: "Zincir üstü doğrulandı", + supportedBy: "{{count}} tarafından destekleniyor", + tierSupporter: "Destekçi", + tierPatron: "Patron", + tierLegend: "Efsane", + topZappers: "SkateSpots'u Zap'leyenler", + topZappersDesc: "Doğrudan projeye halka açık bir zap gönderen kaykaycılar. Sessiz ödemeler listelenmez.", + paysFor: "Desteğinin karşıladığı şeyler", + paysForDesc: "Her sat nereye gidiyor — maaş yok, ofis yok, reklam yok.", + payRelay: "Relay barındırma", + payDomain: "Alan adı ve TLS", + payAi: "AI / ContextVM düğümü", + payDev: "Geliştirme zamanı", + payOps: "Operasyonlar", + payMarketing: "Pazarlama", + payRelayDesc: "Haritayı çevrimiçi ve dayanıklı tutar.", + payDomainDesc: "İsim, sertifika, güvenli bağlantı.", + payAiDesc: "Sasquatch, topluluk rehberi.", + payDevDesc: "SkateSpots'u inşa etmek ve düzeltmek.", + payOpsDesc: "Çalışmasını sağlayan gösterişsiz işler.", + payMarketingDesc: "Yeni yerel sahnelere ve kaykay dükkanlarına ulaşmak.", + impact: "Şimdiye kadarki etki", + impactDesc: "Topluluğun inşa ettikleri — kaykaycılar tarafından fonlanır.", + impactSpots: "Spotlar", + impactCrews: "Ekipler", + impactEvents: "Etkinlikler", + impactLab: "Lab profesyonelleri", + impactShops: "Dükkanlar", + impactMappers: "Haritacılar", + support: "Destek", + supportDesc: "SkateSpots'u Angor'da fonla — merkeziyetsiz, zincir üstü Bitcoin kitle fonlaması. Aracı yok, KYC yok.", + collaborators: "İşbirlikçiler", + collaboratorsDesc: "SkateSpots'u aktif olarak inşa eden insanlar — geliştiriciler, tasarımcılar, relay operatörleri.", + partners: "Ortaklar", + partnersDesc: "Yakından çalıştığımız kuruluşlar ve projeler.", + friends: "Dostlar", + friendsDesc: "İyi anlaştığımız insanlar.", + backTitle: "Projeyi Angor'da destekle", + backDesc: "Angor, Nostr üzerine kurulu merkeziyetsiz, zincir üstü Bitcoin fonlamasıdır — fonların senin kontrolünde kalır, aşamalı serbest bırakılır ve potu tutan bir emanetçi yok. 100.000 sats'a kadar olan katkılar bağış gibi çalışır (geri kurtarma el sıkışması yok); daha büyük tutarlar, harcanmamış fonları geri alınabilen yatırımlardır. Her sat geliştirmeye, relay barındırmaya ve SkateSpots'u dünyadaki her kaykaycı için ücretsiz tutmaya gider.", + donateNote: "Doğrudan bağış mı tercih edersin? ⚡ Aşağıda zap'le — iade edilecek bir şey yok, kurtarılacak bir şey yok.", + openAngor: "Angor'u Aç", + orZap: "veya herhangi bir spot, ekip veya oluşturucuyu doğrudan uygulamada ⚡ zap'le", + wantCollaborate: "İşbirliği yapmak ister misin?", + wantCollaborateDesc: "Geliştiriciler, tasarımcılar, yetenekli kaykaycılar — bize ulaş.", + viewNostrHub: "NostrHub'da Gör", + wantPartner: "SkateSpots ile ortak olmak ister misin? Nostr'dan bize ulaş.", + comingSoon: "Yakında", + wantListed: "Burada listelenmek ister misin?", + wantListedDesc: "Nostr'da DM ile bir logo (PNG/WebP, şeffaf arka plan, min 200×200px) ve URL'ni gönder, yalnızca uyum varsa.", + whyTitle1: "Neden", + whyTitle2: "Desteğe İhtiyacımız Var", + whyDesc: "SkateSpots 100% ücretsiz, açık kaynak ve Nostr üzerine kurulu — kapatacak merkezi sunucusu olmayan merkeziyetsiz bir protokol. Reklam yok, veri satışı yok, yatırımcı yok. Her sat doğrudan geliştirmeye, relay barındırmaya ve bunu dünyadaki her kaykaycı için ücretsiz tutmaya gider.", + why1Title: "Nostr-yerel", + why1Desc: "Merkezi sunucu yok. Verilerin seçtiğin relay'lerde yaşar.", + why2Title: "Bitcoin destekli", + why2Desc: "Spot haritalayarak sats kazan. Bunları yerel dükkanlarda harca.", + why3Title: "Sonsuza kadar ücretsiz", + why3Desc: "Açık kaynak, ödeme duvarı yok, takip yok, VC fonlaması yok.", + thankYou: "Teşekkürler. Her sat spotları haritada tutar. 🛹⚡", + license: "Lisans", + faq: "SSS" + }, + admin: { + confirmed: "Onaylandı", + title: "İnceleme kuyruğu", + subtitle: "Önemsiz sinyalleri tetikleyen spotlar, dükkanlar, etkinlikler, turlar ve ekipman. Gizle ve Onayla yumuşak, geri alınabilir etiketlerdir; raporlar önce sıralanır. Hiçbir şey silinmez.", + tabReports: "Raporlar", + tabSpots: "Spotlar", + tabShops: "Dükkanlar", + tabEvents: "Etkinlikler", + tabTours: "Turlar", + tabGear: "Ekipman", + tabCrews: "Ekipler", + tabLab: "Lab", + tabClaims: "Talepler", + nothingToReview: "İncelenecek bir şey yok — bu türden hiçbir şey önemsiz sinyalleri tetiklemiyor.", + hideActioned: "İşlem yapılanları gizle", + showActioned: "İşlem yapılanları göster ({{count}})", + undoAll: "Tümünü geri al ({{count}})", + undoAllTitle: "Bu sekmedeki her kararı geri al?", + undoAllDesc: "Bu, her öğeyi nötre döndürür — gizli değil, onaylı değil. Her öğe için bir halka açık etiket yayınlar, yani Amber ile {{count}} onay ekranı alırsın.", + undoCount: "{{count}} geri al", + undo: "Geri al", + confirm: "Onayla", + hide: "Gizle", + hideIt: "Gizle", + hideForEveryone: "Bunu herkes için gizle?", + hideForEveryoneDesc: "Bu, öğeyi her SkateSpots kullanıcısı için göz atmadan ve aramadan kaldırır. Halka açık, geri alınabilir bir etikettir — bu kuyruktan Geri alabilirsin.", + hidden: "Gizlendi", + hiddenDesc: "Halka açık bir etiketle uygulamadan kaldırıldı. Geri alınabilir.", + couldNotHide: "Gizlenemedi", + notASpot: "Kaykay spotu değil", + lookAtIt: "Şuna bak" + }, + profile: { + nip05Verified: "NIP-05 doğrulandı", + nip05NotVerified: "NIP-05 bu anahtara karşı doğrulanmadı", + message: "Mesaj", + zapsReceived: "zap alındı", + memberSince: "Üyelik tarihi", + badges: "Rozetler", + sponsorsSupport: "Sponsorlar ve destek", + skater: "Kaykaycı", + stance: "Duruş", + skating: "Kayma", + homeSpot: "Ana spot", + basedIn: "Yaşadığı yer", + addSkateDetails: "Kaykay bilgilerini ekle", + addSkateDetailsDesc: "Kaykaycılar dizininde görünmek için duruşunu, tarzlarını ve seviyeni ayarla.", + spotsAdded: "Eklenen Spotlar", + shopsAdded: "Eklenen Dükkanlar", + noSpots: "Henüz hiç spot eklemedin", + noSpotsDesc: "Yerel spotunu haritaya koy →", + stash: "Stash", + gear: "Ekipman", + crews: "Ekipler", + info: "Bilgi", + lightning: "Lightning", + silentPayment: "Sessiz Ödeme", + coordinator: "Koordinatör", + coordinatorAdded: "Koordinatör eklendi", + add: "Ekle", + messagePrivately: "Özel mesaj gönder", + founder: "Kurucu", + member: "Üye", + supportSkater: "Bu kaykaycıyı destekle", + supportSkaterDesc: "Katkıları için teşekkür etmek üzere bir bahşiş gönder" + }, + index: { + joinCommunity: "Spot eklemek, etkinlik oluşturmak ve daha fazlası için topluluğa katıl", + topZapped: "EN ÇOK ZAP'LENEN", + topZappedDesc: "Bu ayın en çok desteklenen spotları", + leaderboard: "Sıralama", + newHere: "YENİ MİSİN?", + newHereDesc: "Spot eklemek, etkinliklere katılmak, kaykaycılarla bağlantı kurmak ve topluluğun parçası olmak için ücretsiz hesap oluştur. E-posta gerekmez.", + followFounder: "Kurucuyu Takip Et", + followFounderDesc: "Takip etmek ve yeni özellikler ile etkinliklerden haberdar olmak için avatarı 3 saniye basılı tut!", + createAccount: "Hesap Oluştur", + accountWorks: "Hesabın ağdaki tüm uygulamalarda çalışır", + footerTagline: "Açık Kaynak • Topluluk Sahipliğinde • Reklam Yok" + }, + stash: { + title: "Stash'im", + loginDesc: "Özel ekipman envanterin. Neye sahip olduğunu takip et, fiyat belirle ve takasçılarla seçerek paylaş.", + encrypted: "Şifreli", + syncsEverywhere: "Her Yerde Senkronize", + p2pTrading: "P2P Takas", + encryptionRequired: "Şifreleme Gerekli", + encryptionRequiredDesc: "Stash'in gizlilik için şifrelenir. Lütfen NIP-44 şifrelemesini destekleyen bir imzalayıcı kullan (Alby, nos2x veya Amber gibi).", + learnSigners: "İmzalayıcılar Hakkında Bilgi Edin", + select: "Seç", + stash: "Stash", + wishlist: "İstek Listesi", + allCategories: "Tüm kategoriler", + sortNewest: "En yeni", + sortValue: "Değer", + sortCondition: "Durum", + sortAz: "A–Z", + friendsOnly: "Yalnızca arkadaşlar", + addToWishlist: "İstek Listesine Ekle", + addItemToStash: "Stash'e Ürün Ekle", + addItem: "Ürün Ekle", + editItem: "Ürünü Düzenle", + publicStash: "Herkese açık stash", + listView: "Liste görünümü", + gridView: "Izgara görünümü", + uploading: "Yükleniyor...", + addPhotos: "Fotoğraf Ekle", + wishlistReqPlaceholder: "Belirli gereksinimler...", + itemDescPlaceholder: "Ürünü, varsa hasarı açıkla...", + itemsCount: "{{count}} ürün", + wishlistEmpty: "İstek Listesi Boş", + wishlistEmptyDesc: "Aradığın ekipmanı ekle — seni arkadaşlarının stash'leriyle eşleştireceğiz.", + stashEmpty: "Stash'in Boş", + stashEmptyDesc: "Ekipmanını takip etmeye başla. Tahtalar, truck'lar, ayakkabılar — bir kez ekle, Nostr üzerinden her yerden eriş.", + noMatch: "Eşleşen ürün yok", + noMatchDesc: "Filtrelerini ayarlamayı dene.", + backupTransfer: "Yedekle ve aktar", + backupDesc: "Stash'in Nostr'da şifrelenir. Kontrol ettiğin bir kopya tut — ölü bir relay veya yeni bir hesap ekipman listesini kaybettiremez.", + exportTitle: "Şifreli yedek", + exportDialogDesc: "{{count}} ürünü bir dosyaya kaydet. Şifrele ki sızan bir dosya sızıntı olmasın.", + modePassword: "Parola", + modeKey: "Anahtarım", + password: "Parola", + confirmPassword: "Parolayı onayla", + passwordHint: "En az 8 karakter kullan. Kurtarma yok — unutma.", + keyModeHint: "Nostr anahtarına şifrelenir. Yalnızca o anahtar açabilir — hatırlanacak bir şey yok.", + exportPlaintext: "Şifrelemeden dışa aktar", + pwTooShort: "En az 8 karakter kullan.", + pwMismatch: "Parolalar eşleşmiyor.", + exportFailed: "Yedek oluşturulamadı.", + unlockTitle: "Yedeğin kilidini aç", + unlockDesc: "Bu yedek parola korumalı.", + unlock: "Kilidi aç", + unlockFailed: "Yedeğin kilidi açılamadı.", + show: "Göster", + hide: "Gizle", + strength: "Parola gücü", + strengthWeak: "Zayıf", + strengthFair: "Orta", + strengthGood: "İyi", + strengthStrong: "Güçlü", + filenameWillSave: "{{name}} olarak kaydedilecek", + export: "Dışa aktar", + import: "İçe aktar", + exported: "Stash dışa aktarıldı", + exportedDesc: "{{count}} ürün bir dosyaya kaydedildi.", + noItemsInFile: "O dosyada ürün bulunamadı.", + noValidItems: "O dosyada geçerli ürün bulunamadı.", + imported: "{{count}} ürün içe aktarıldı", + importSkipped: "{{count}} atlandı (zaten stash'inde).", + importAdded: "Stash'ine eklendi.", + importFailed: "İçe aktarma başarısız", + couldNotRead: "O dosya okunamadı.", + updateFailed: "Stash'in güncellenemedi", + updatedCount: "{{count}} ürün güncellendi", + markedForSale: "{{count}} satılık olarak işaretlendi", + unmarkedCount: "{{count}} işaret kaldırıldı", + removedCount: "{{count}} ürün kaldırıldı", + selectedCount: "{{count}} seçildi", + selectAll: "Tümünü seç", + visibilityPublic: "Herkese açık", + visibilityPrivate: "Özel", + forSale: "Satılık", + remove: "Kaldır", + bulkDeleteTitle: "{{count}} ürün kaldırılsın mı?", + bulkDeleteDesc: "Bu, şifreli stash'ini tek imzada yeniden yazar ve burada geri alınamaz. Emin değilsen önce bir yedek dışa aktar.", + deleteTitle: "Stash'inden kaldırılsın mı?", + deleteDesc: "“{{title}}” stash'inden kaldırılacak", + deleteDescPublic: " ve herkese açık vitrininden listeden çıkarılacak", + deleteUndone: ". Bu geri alınamaz.", + deleteDescGeneric: "Bu ürün stash'inden kaldırılacak. Bu geri alınamaz.", + listOnMarketplace: "Pazar Yerinde Listele", + noPriceSet: "Fiyat belirlenmedi", + categoryLabel: "Kategori", + photosLabel: "Fotoğraflar", + willingToSell: "Satmaya İstekli", + willingToTrade: "Takas Etmeye İstekli", + whereIsThisItem: "Bu ürün nerede?", + visibilityLabel: "Görünürlük", + visibilityPrivateOnlyYou: "Özel - Yalnızca sen", + visibilityFriendsMutual: "Arkadaşlar - Karşılıklı takipler", + visibilityPublicAnyone: "Herkese açık - Herkes", + visibilityFriends: "Arkadaşlar", + brandLabel: "Marka", + sizeLabel: "Beden", + descriptionLabel: "Açıklama", + conditionLabel: "Durum", + itemName: "Ürün Adı", + saveChanges: "Değişiklikleri Kaydet", + listItemDialogTitle: "\"{{title}}\" listele", + pickUpWhere: "Alıcılar bu ürünü nereden teslim alabilir?", + linkToSpot: "Bir Kaykay Spotuna Bağla", + linkToSpotDesc: "Yerel satışlar için en iyisi • Spot sayfasında ve haritada görünür", + recommended: "Önerilen", + noSpecificSpot: "Belirli Bir Spot Yok", + noSpecificSpotDesc: "Yalnızca Pazar Yeri sayfasında görünür", + tipLinkedSpots: "💡 İpucu: Spotlara bağlı ilanları yerel kaykaycılar bulmakta daha kolaydır.", + anyoneCanSee: "Bunları profilinde herkes görebilir.", + seeWhatOthersSee: "Başkalarının gördüğünü gör", + inventory: "Envanter", + publicWantsNote: "Herkese açık istekler Pazar Yerine “aranıyor” ilanı olarak gönderilir, böylece satıcılar seni bulabilir.", + howItWorks: "Nasıl işler", + tapToMarketplace: "Pazar Yerine gitmek için dokun →", + viewWishlist: "İstek Listesini Gör", + tipEditItems: "Ürünleri kalem düğmesiyle düzenle", + tipListForSale: "Mağaza düğmesiyle satışa listele", + tipAddPhotos: "Daha iyi takas teklifleri için fotoğraf ekle", + tipKeySyncs: "Nostr anahtarı tüm cihazlara senkronize olur", + itemsReadyToSell: "{{count}} ürün satışa hazır" + } + } +}; export default trBatch4; diff --git a/src/i18n/tr/batch5.ts b/src/i18n/tr/batch5.ts index 51b691b..8df5612 100644 --- a/src/i18n/tr/batch5.ts +++ b/src/i18n/tr/batch5.ts @@ -1,4 +1,1605 @@ -/** tr — batch 5. Filled by the translation pass; empty until then. */ -const trBatch5 = {}; +/** + * Turkish (Türkçe) — batch 5: The Lab service directory (labUi) + social + * (socialUi): crew chat, DMs, collectives, coordinators and vouches. + * + * Protocol and brand names (The Lab, Coach, Filmer, Photographer, Editor, + * Builder, Crew, Spot, Stash, Nostr, Lightning, Zap, sats, DM, NWC, NIP-05, + * Cordn, ContextVM, Cashu, Relay) stay English; trick names stay English. + * Placeholders ({{...}}), markdown and URLs are preserved. + */ +const trBatch5 = { + labUi: { + activeCount: "{{count}} aktif", + addMusicProfile: "Müzik Profili Ekle", + all: "Tümü", + clearAll: "Tümünü temizle", + collective: "Kolektif", + filters: "Filtreler", + following: "Takip edilenler", + getRiderCard: "Rider Kartı Al", + judgeEvents: "Etkinlikleri Değerlendir", + justASkater: "Sadece bir", + labForServices: "The Lab hizmetler içindir. Tüm kaykaycı topluluğuna göz at ve katıl", + loginToOffer: "Hizmet sunmak için giriş yap", + newest: "En yeni", + noResults: "Sonuç yok", + offer: "Sun", + offerBuilding: "Yapım Sun", + offerCoaching: "Coach'lık Sun", + offerCuts: "Kesim Sun", + offerDesignArt: "Tasarım / Sanat Sun", + offerEditing: "Kurgu Sun", + offerFilming: "Çekim Sun", + offerGraffiti: "Grafiti Sun", + offerPhotography: "Fotoğrafçılık Sun", + offerServices: "Hizmet Sun", + yourProfiles: "The Lab profillerin", + preview: { + button: "Önizleme", + title: "Canlı önizleme", + desc: "Yayınlandığında {{noun}} profilinin nasıl görüneceği.", + untitled: "Adın", + noBio: "Henüz biyografi yok — ne sunduğuna dair bir satır ekle.", + years: "{{count}} yıllık deneyim", + portfolio: "Portfolyo", + note: "Yalnızca önizleme — henüz hiçbir şey yayınlanmadı.", + }, + draft: { + title: "Kaydedilmemiş bir taslağın var", + body: "Kaldığın yerden devam et — Yayınla'ya basana kadar hiçbir şey yayınlanmaz.", + resume: "Taslağa dön", + discard: "Taslağı sil", + }, + progress: { + title: "Profil tamlığı", + count: "{{total}} üzerinden {{done}} tamam", + photo: "Fotoğraf", + bio: "Biyografi", + skills: "Beceriler", + rate: "Ücret", + location: "Konum", + contact: "İletişim", + }, + wizard: { + identity: "Kimlik", + offer: "Ne sunuyorsun", + rates: "Ücretler", + contact: "İletişim", + media: "Medya", + }, + offerTattoo: "Dövme Sun", + offerTraining: "Antrenman / Fizyoterapi Sun", + organizeEvents: "Etkinlik Düzenle", + resultsMany: "{{count}} sonuç", + resultsOne: "{{count}} sonuç", + searchCityPlaceholder: "Şehir…", + searchNamePlaceholder: "İsim, biyografi…", + showResults: "Sonuçları Göster", + showResultsActive: "Sonuçları Göster · {{count}} aktif", + skaterWord: "kaykaycı", + sortBy: "Sırala", + theCrew: "Crew", + topRated: "En Yüksek Puanlı", + trusted: "Güvenilir", + trustLevel: "Güven Seviyesi", + yearsExp: "{{count}} yıl deneyim", + tabCoaches: "Coaches", + tabFilmers: "Filmers", + tabPhoto: "Fotoğraf", + tabEditors: "Editors", + tabBuilders: "Builders", + tabArtists: "Sanatçılar", + tabGraffiti: "Grafiti", + tabTattoo: "Dövme", + tabTrainers: "Antrenörler", + tabMusic: "Müzik", + tabJudges: "Jüriler", + tabOrganizers: "Organizatörler", + tabBarbers: "Berberler", + filterSkillsToLearn: "Öğrenilecek Beceriler", + filterContentType: "İçerik Türü", + filterEquipmentStyle: "Ekipman & Stil", + filterServices: "Hizmetler", + filterCamera: "Kamera", + filterLenses: "Lensler", + filterLighting: "Işık", + filterSupportRig: "Destek & Rig", + filterStyle: "Stil", + filterWhatTheyBuild: "Ne İnşa Ederler", + filterMaterialsTrade: "Malzeme & Zanaat", + filterProjectScale: "Proje Ölçeği", + filterWhatTheyMake: "Ne Yaparlar", + filterMedium: "Ortam", + filterSoftwareTools: "Yazılım & Araçlar", + filterWorkContext: "Çalışma Bağlamı", + filterMethod: "Yöntem", + filterFocus: "Odak", + filterInjuriesTreated: "Tedavi Edilen Sakatlıklar", + filterCredentialsSetting: "Yetkinlikler & Ortam", + filterGenre: "Tür", + filterInstrumentsRole: "Enstrümanlar & Rol", + filterEventFormats: "Etkinlik Formatları", + filterSpecialty: "Uzmanlık", + filterLevelCircuit: "Seviye / Devre", + filterEventTypes: "Etkinlik Türleri", + filterWhatYouHandle: "Neyle İlgilenirsin", + filterScale: "Ölçek", + filterWhatTheyOffer: "Ne Sunarlar", + filterSignatureStyles: "İmza Stilleri", + filterSetting: "Ortam", + filterEditType: "Kurgu Türü", + role: { + coach: "Coach", + filmer: "Filmer", + builder: "Builder", + editor: "Video Editor", + photographer: "Photographer", + skater: "Kaykaycı", + }, + empty: { + footer: "Soruların mı var? SSS'ye bak →", + loginSuffix: "profil oluşturmak için.", + coachesTitle: "Henüz coach yok", + coachesBody: "Bölgende kaykay coach'luğu sunan ilk kişi ol.", + filmersTitle: "Henüz filmer yok", + filmersBody: "Kaykay çekimi sunan ilk kişi ol — klipler, tam partlar, yarışma çekimleri ve daha fazlası.", + photographersTitle: "Henüz fotoğrafçı yok", + photographersBody: "Bölgende kaykay fotoğrafçılığı sunan ilk kişi ol — aksiyon kareleri, seriler, editoryal ve daha fazlası.", + editorsTitle: "Henüz video editor yok", + editorsBody: "Kaykay video kurgu hizmeti sunan ilk kişi ol.", + buildersTitle: "Henüz builder yok", + buildersBody: "Rampa, park veya DIY yapımını listele — beton, ahşap, raylar ve daha fazlası.", + artistsTitle: "Henüz sanatçı yok", + artistsBody: "Sahne için board grafikleri, logolar, posterler ve merch sunan ilk kişi ol.", + graffitiTitle: "Henüz grafiti sanatçısı yok", + graffitiBody: "Bölgende duvar resimleri, muraller ve skatepark sanatı sunan ilk kişi ol.", + tattooTitle: "Henüz dövme sanatçısı yok", + tattooBody: "Listeye giren ilk kaykay kültürü dövme sanatçısı ol — flash, özel tasarım, ince çizgi ve daha fazlası.", + trainersTitle: "Henüz antrenör yok", + trainersBody: "Kaykaycıların güçlenmesine ve sağlıklı kalmasına yardımcı olacak ilk antrenör ya da fizyoterapist ol.", + musiciansTitle: "Henüz müzisyen yok", + musiciansBody: "Kaykay yapıp müzik mi yapıyorsun? Grubunu ya da solo projeni ekle — türler, enstrümanlar ve linkler.", + judgesTitle: "Henüz jüri yok", + judgesBody: "Adil bir yarışma mı düzenliyorsun? Game of S.K.A.T.E., best trick jam'leri, yarışmalar ve tur duraklarında jüri olmak için kendini listele.", + organizersTitle: "Henüz organizatör yok", + organizersBody: "Jam, yarışma, buluşma veya demo mu düzenliyorsun? Kaykaycıların seni bulup rezervasyon yapabilmesi için kendini listele.", + barbersTitle: "Henüz berber yok", + barbersBody: "Kaykaycıların saçını mı kesiyorsun? Koltuğunu ya da mobil hizmetini listele ki sahne taze bir kesim yaptırabilsin.", + }, + become: { + addNip05: "Ayarlar'da NIP-05 ekle", + backToLab: "The Lab'a dön", + bioWorkLabel: "Biyografi / İşin Hakkında", + checkContact: "İletişim bilgilerini kontrol et", + cityArea: "Şehir / Bölge", + cityCountry: "Şehir, Ülke", + connectWallet: "Cüzdan Bağla", + connectWalletNwc: "NWC ile Cüzdan Bağla", + contactInfo: "İletişim Bilgileri", + contactInfoDesc: "Müşterilerin sana nasıl ulaşabileceği (hepsi isteğe bağlı, ama önerilir)", + coordinatesOptional: "Koordinatlar (isteğe bağlı)", + email: "E-posta", + failedToPublish: "Yayınlanamadı", + fromNostrProfile: "Nostr profilinizden", + geolocationUnsupported: "Konum desteklenmiyor", + getting: "Alınıyor…", + headline: "Başlık", + headlineHint: "The Lab kartında başlık olarak gösterilir — örn. “{{example}}”. Varsayılan olarak adın.", + imageUploaded: "Görsel yüklendi", + instagram: "Instagram", + invalidEmail: "Geçerli bir e-posta adresi gir.", + invalidPortfolio: "Geçerli bir portfolyo URL'si gir.", + invalidWebsite: "Geçerli bir web sitesi URL'si gir.", + latitude: "Enlem", + learnHow: "Nasıl yapılır", + locationError: "Konum hatası", + locationFound: "Konum bulundu", + loginRequired: "Giriş Gerekli", + loginRequiredDesc: "{{role}} profili oluşturmak için giriş yapmalısın.", + loginRequiredDescCraft: "{{noun}} profili oluşturmak için giriş yapmalısın.", + longitude: "Boylam", + nip05Recommended: "NIP-05 Doğrulaması Önerilir", + nip05RecommendedDesc: "Müşterilerle güven inşa etmek için kimliğini doğrula.", + noWallet: "Bağlı Cüzdan Yok", + otherSocial: "Diğer Sosyal", + paymentSetup: "⚡ Ödeme Kurulumu Gerekli", + phoneNumber: "Telefon Numarası", + profilePhoto: "Profil Fotoğrafı", + profilePublished: "Profilin yayınlandı.", + publishing: "Yayınlanıyor...", + socialMedia: "Sosyal Medya", + tip: "💡 İpucu: Çoğu Lightning cüzdanı NWC'yi destekler (Alby, Minibits, Zeus, Coinos).", + tipWithTime: "💡 İpucu: Çoğu Lightning cüzdanı NWC'yi destekler (Alby, Minibits, Zeus, Coinos). Kurması 30 saniye sürer.", + upload: "Yükle", + uploadFailed: "Yükleme başarısız", + uploadImage: "Görsel yükle", + uploading: "Yükleniyor…", + useCurrentLocation: "Mevcut konumu kullan", + useMyLocation: "Konumumu Kullan", + usingNwc: "Nostr Wallet Connect kullanılıyor", + usingWebln: "WebLN tarayıcı uzantısı kullanılıyor", + walletConnected: "Cüzdan Bağlandı — Ödeme Almaya Hazır!", + website: "Web sitesi", + yearsExperience: "Yıllık Deneyim", + }, + coachForm: { + anonymous: "Anonim Coach", + bioLabel: "Biyografi / Coach'lık Felsefesi", + bioPlaceholder: "Geçmişin, öğretme tarzın...", + create: "COACH PROFİLİ OLUŞTUR", + created: "Coach profili oluşturuldu!", + createPro: "PRO COACH PROFİLİ OLUŞTUR", + dmNote: "💬 Öğrenciler SkateSpots'un şifreli mesajlaşmasıyla sana doğrudan mesaj gönderebilir", + heading: "Coach Ol", + headlineExample: "Kaykay Coach'u Berlin", + hourlyRate: "Saatlik Ücret", + identity: "Coach Kimliğin", + nip05Reason: "Kimliğini doğrulamak ve öğrencilerle güven inşa etmek için bir NIP-05 tanımlayıcısı ekle — sana meşru bir coach olduğunu gösterir.", + paymentDesc: "Öğrencilerden ders ödemesi almak için bir Lightning cüzdanı bağlamalısın. Öğrenciler coach'luk seansları için sana doğrudan zap gönderecek.", + profileDesc: "Öğrencilere deneyiminden bahset", + profileTitle: "Coach Profili", + ratePlaceholder: "5000 sats/saat", + selectSkill: "En az bir beceri seç.", + skillsLabel: "Öğrettiğim Beceriler * (en az birini seç)", + skillsRequired: "Beceriler gerekli", + formatsLabel: "Seans formatları", + formatsHint: "Coach'luğu nasıl verdiğin.", + levelsLabel: "Öğretilen seviyeler", + agesLabel: "Yaş grupları", + credentialsLabel: "Yetkinlikler & güvenlik", + credentialsHint: "Kendi beyanı — SkateSpots bunları doğrulamaz.", + languagesLabel: "Konuşulan diller", + languagesHint: "Coach'luk yapabildiğin dilleri ekle.", + languagePlaceholder: "örn. İngilizce, Türkçe", + availabilityLabel: "Müsaitlik", + bookingLabel: "Rezervasyon linki", + bookingHint: "İsteğe bağlı — öğrencilerin rezervasyon yapıp ödeyebileceği bir sayfa.", + galleryLabel: "Portfolyo fotoğrafları", + galleryHint: "Gerçek seansları, öğrencileri ve spotları göster (en fazla 12).", + galleryAdd: "Portfolyo fotoğrafları ekle", + galleryUploaded: "{{count}} fotoğraf yüklendi", + videoLabel: "Öne çıkan video", + videoHint: "İsteğe bağlı — coach'luğunun bir YouTube veya Instagram videosu.", + formatOneOnOne: "Bire bir", + formatGroup: "Grup", + formatCamp: "Kamp", + formatVideo: "Video analizi", + formatContestPrep: "Yarışma hazırlığı", + formatParkLesson: "Park dersi", + formatAdaptive: "Adaptif", + formatGirls: "Kızlar seansı", + formatAfterSchool: "Okul sonrası", + levelBeginner: "Başlangıç", + levelIntermediate: "Orta", + levelAdvanced: "İleri", + levelCompetition: "Yarışma", + ageKids: "Çocuklar", + ageTeens: "Gençler", + ageAdults: "Yetişkinler", + ageSeniors: "Yaşlılar", + certFirstAid: "İlk yardım", + certCpr: "CPR", + certSafeguarding: "Çocuk koruma", + certBackgroundCheck: "Sabıka kaydı", + certInsured: "Sigortalı", + certFederation: "Ulusal federasyon coach'u", + certQualification: "Coach'luk yeterliliği", + certJudge: "Yarışma jürisi", + certNoteLabel: "Diğer yetkinlikler (isteğe bağlı)", + certNotePlaceholder: "örn. Skateboard GB Seviye 2, 8 yıl coach'luk…", + availWeekdays: "Hafta içi", + availWeekends: "Hafta sonu", + availEvenings: "Akşamlar", + availAfterSchool: "Okul sonrası", + availHolidays: "Okul tatilleri", + availSeasonal: "Sezonsal", + sectionWhatYouCoach: "Ne coach'luk yapıyorsun", + sectionCredentials: "Yetkinlikler & güvenlik", + sectionAvailability: "Müsaitlik & rezervasyon", + sectionWhereYouCoach: "Nerede coach'luk yapıyorsun", + sectionPortfolio: "Portfolyo", + rateAmountLabel: "Ücret", + rateCurrencySats: "sats", + rateCurrencyUsd: "USD", + rateCurrencyEur: "EUR", + rateCurrencyGbp: "GBP", + perHour: "saat başı", + perSession: "seans başı", + perHalfDay: "yarım gün başı", + perDay: "gün başı", + perCamp: "kamp başı", + perProject: "proje başı", + perEvent: "etkinlik başı", + perGig: "gig başı", + perShoot: "çekim başı", + perPiece: "parça başı", + perCut: "kesim başı", + perMonth: "ay başı", + availByAppointment: "Randevuyla", + rateNotesLabel: "Ücret notları (isteğe bağlı)", + rateNotesPlaceholder: "Kademeli ölçek, ilk seans ücretsiz, ulaşım dahil…", + sectionPayments: "Ödemeler", + paymentMethodsHint: "Müşterilerin sana nasıl ödeyebileceği. Bu bir beyandır — SkateSpots asla para tutmaz.", + payMethodCash: "Yerinde nakit", + payMethodLightning: "Lightning", + payMethodCashu: "Cashu", + payMethodBank: "Banka havalesi", + payMethodOther: "Diğer", + payWhatYouCanLabel: "Kademeli ölçek / gücünün yettiğini öde", + bookingFeeLabel: "Rezervasyon ücreti (isteğe bağlı)", + bookingFeeHint: "Rezervasyonu onaylamak için doğrudan sana ödenen küçük bir ücret. SkateSpots bunu tutmaz veya iade etmez.", + paymentNoteLabel: "Ödeme notu (isteğe bağlı)", + paymentNotePlaceholder: "İlk seans ücretsiz, ulaşım dahil, seanstan sonra öde…", + spotsDesc: "Coach'luk seansları sunduğun spotları seç", + spotsLabel: "Coach'luk Yaptığın Spotlar", + tagline: "Kaykay bilgini paylaş", + update: "COACH PROFİLİNİ GÜNCELLE", + updated: "Coach profili güncellendi!", + }, + filmerForm: { + anonymous: "Anonim Filmer", + bioPlaceholder: "Geçmişin, tarzın, ekipmanın...", + camerasLabel: "Kameralar & Ekipman * (en az birini seç)", + create: "ÇEKİM PROFİLİ OLUŞTUR", + created: "Çekim profili oluşturuldu!", + createPro: "PRO ÇEKİM PROFİLİ OLUŞTUR", + dmNote: "💬 Müşteriler SkateSpots'un şifreli mesajlaşmasıyla sana doğrudan mesaj gönderebilir", + gearHelper: "Tam kamera, lens ve rig listesi ver — kaykaycılar kurulumu önemser.", + gearLabel: "Çantada Ne Var (isteğe bağlı)", + gearPlaceholder: "örn. Sony VX1000 + MK1 fisheye, Panasonic HVX200, DJI RS3 gimbal, GoPro Hero 12, Sennheiser mikrofon...", + heading: "Filmer Ol", + headlineExample: "Kaykay Filmer'ı Berlin", + identity: "Filmer Kimliğin", + nip05Reason: "Kimliğini doğrulamak ve müşterilerle güven inşa etmek için bir NIP-05 tanımlayıcısı ekle — sana meşru bir filmer olduğunu gösterir.", + paymentDesc: "Çekim hizmetlerin için müşterilerden ödeme almak için bir Lightning cüzdanı bağlamalısın. Müşteriler işin için sana doğrudan zap gönderecek.", + profileDesc: "Müşterilere çekim uzmanlığından bahset", + profileTitle: "Çekim Profili", + rate: "Ücret", + ratePlaceholder: "10000 sats/video", + reelLabel: "Reel / Portfolyo", + selectService: "En az bir hizmet seç.", + selectSkill: "En az bir çekim becerisi seç.", + servicesLabel: "Sunulan Hizmetler * (en az birini seç)", + servicesRequired: "Hizmetler gerekli", + skillsRequired: "Beceriler gerekli", + spotsDesc: "Çekim hizmeti sunduğun spotları seç", + spotsLabel: "Çekim Yaptığın Spotlar", + tagline: "Kaykay video çekimini sun — klipler, çizgiler, tam partlar & yarışma çekimleri", + update: "ÇEKİM PROFİLİNİ GÜNCELLE", + updated: "Çekim profili güncellendi!", + }, + editorForm: { + anonymous: "Anonim Editor", + bioPlaceholder: "Kurgu tarzın, geçmişin, önemli projeler…", + contactPortfolio: "İletişim & Portfolyo", + create: "Editor Profilini Yayınla", + created: "Editor profili oluşturuldu!", + createPro: "Pro Editor Profilini Yayınla", + editTypes: "Sunulan Kurgu Türleri * (en az birini seç)", + hardware: "Donanım", + hardwarePlaceholder: "örn. MacBook Pro M3, Sony FX3", + heading: "Video Editor Ol", + headlineExample: "Kaykay Video Editor'ü", + identity: "Kimliğin", + locationOptional: "Konum (isteğe bağlı)", + loginDesc: "Video editor profilini oluşturmak için giriş yap.", + phoneTelegram: "Telefon / Telegram", + portfolioPlaceholder: "Portfolyo (Vimeo, YouTube…)", + profileDesc: "Topluluğa kurgu tarzından ve becerilerinden bahset", + profileTitle: "Editor Profili", + published: "Profilin SkateSpots'a yayınlandı.", + rate: "Ücret / Fiyatlandırma", + ratePlaceholder: "örn. 50k sats/dk, teklif için DM", + selectService: "En az bir kurgu türü seç.", + servicesRequired: "Hizmetler gerekli", + socialPlaceholder: "Instagram / Sosyal kullanıcı adı", + software: "Yazılım", + softwareHardware: "Yazılım & Donanım Becerileri", + softwarePlaceholder: "örn. DaVinci Resolve, Premiere", + tagline: "Kaykay topluluğuna video kurgu hizmetlerini sun", + thumbnail: "Profil / Showreel Küçük Resmi", + update: "Editor Profilini Güncelle", + updated: "Editor profili güncellendi!", + walletConnected: "Cüzdan Bağlandı ✓", + walletDesc: "Kurgu işin için müşterilerden doğrudan Bitcoin ⚡ ödemesi al.", + walletTitle: "⚡ Ödemeler için Lightning Cüzdanı", + yearsExperience: "Deneyim Yılı", + yearsPlaceholder: "örn. 5 yıl", + }, + photoForm: { + anonymous: "Anonim Photographer", + bioPlaceholder: "Geçmişin, tarzın, çekmeyi sevdiğin şeyler...", + cameraLabel: "Kamera Gövdeleri * (en az birini seç)", + cameraRequired: "Kamera gerekli", + contactDesc: "Riderların işini nasıl görebileceği ve sana nasıl ulaşabileceği (hepsi isteğe bağlı, ama önerilir)", + create: "FOTOĞRAFÇILIK PROFİLİ OLUŞTUR", + created: "Fotoğrafçılık profili oluşturuldu!", + createPro: "PRO FOTOĞRAFÇILIK PROFİLİ OLUŞTUR", + dmNote: "💬 Riderlar SkateSpots'un şifreli mesajlaşmasıyla sana doğrudan mesaj gönderebilir", + gearHelper: "Tam gövde, lens ve ışıkları listele — riderlar kurulumu bilmeyi sever.", + gearPlaceholder: "örn. Canon R6 II, 8-15mm fisheye, 70-200mm f/2.8, 2× Godox AD200, uzaktan tetikleyici, Manfrotto tripod...", + heading: "Photographer Ol", + headlineExample: "Kaykay Fotoğrafçılığı", + identity: "Photographer Kimliğin", + lensesLabel: "Lensler", + lightingLabel: "Işık Ekipmanı", + nip05Reason: "Kimliğini doğrulamak ve müşterilerle güven inşa etmek için bir NIP-05 tanımlayıcısı ekle.", + paymentDesc: "Çekimlerden ödeme almak için bir Lightning cüzdanı bağla. Müşteriler işin için sana doğrudan zap gönderir.", + portfolioLabel: "Portfolyo / Instagram", + profileDesc: "Riderlara gözünü, ekipmanını ve hizmetlerini anlat", + profileTitle: "Fotoğrafçılık Profili", + ratePlaceholder: "20000 sats/çekim", + selectCamera: "Çekim yaptığın en az bir kamera türü seç.", + selectService: "Sunduğun en az bir hizmeti seç.", + servicesLabel: "Sunulan Hizmetler * (en az birini seç)", + servicesRequired: "Hizmetler gerekli", + spotsDesc: "Fotoğrafçılık sunduğun spotları seç", + spotsLabel: "Çekim Yaptığın Spotlar", + styleLabel: "Çekim Stili", + supportLabel: "Destek & Rig", + tagline: "Seansları çek — kaykay fotoğrafçılığını sun", + update: "FOTOĞRAFÇILIK PROFİLİNİ GÜNCELLE", + updated: "Fotoğrafçılık profili güncellendi!", + }, + builderForm: { + anonymous: "Anonim Builder", + bioLabel: "Biyografi / Yapımların Hakkında", + bioPlaceholder: "Ekibin, önemli yapımlar, bir projeye nasıl yaklaştığın...", + buildTypesLabel: "Ne İnşa Edersin * (en az birini seç)", + buildTypesRequired: "Yapım türleri gerekli", + cityBase: "Şehir / Üs", + contactPortfolio: "İletişim & Portfolyo", + contactPortfolioDesc: "Sahnenin yapımlarını nasıl görebileceği ve sana nasıl ulaşabileceği (hepsi isteğe bağlı, ama önerilir)", + create: "BUILDER PROFİLİ OLUŞTUR", + created: "Builder profili oluşturuldu!", + createPro: "PRO BUILDER PROFİLİ OLUŞTUR", + dmNote: "💬 Müşteriler SkateSpots'un şifreli mesajlaşmasıyla sana doğrudan mesaj gönderebilir", + gearHelper: "Ekipler ve müşteriler ekipmanını ve sürecini bilmeyi sever.", + gearLabel: "Nasıl Çalışırsın / Ekipman (isteğe bağlı)", + gearPlaceholder: "örn. Tam beton ekibi, kendi mikseri + shotcrete rig, mobil kaynak, izinler ve drenajı biz hallederiz...", + heading: "Builder Ol", + headlineExample: "Rampa & Park Builder'ı", + identity: "Builder Kimliğin", + insured: "Lisanslı / Sigortalı", + insuredHelper: "Kamu parkı ve belediye işleri için önemli", + logoPhoto: "Logo / Fotoğraf", + materialsLabel: "Malzemeler & Zanaat Becerileri", + nip05Reason: "Kimliğini doğrulamak ve müşterilerle güven inşa etmek için bir NIP-05 tanımlayıcısı ekle.", + pastBuilds: "Geçmiş Yapımlar / Instagram", + paymentDesc: "Yapımlardan ödeme almak için bir Lightning cüzdanı bağla. Müşteriler işin için sana doğrudan zap gönderir.", + profileDesc: "Sahneye ne inşa ettiğini ve nasıl çalıştığını anlat", + profileTitle: "Builder Profili", + rateLabel: "Ücret / Teklif Temeli", + ratePlaceholder: "m² başı / proje başı", + scaleLabel: "Proje Ölçeği", + selectBuild: "İnşa ettiğin en az bir şeyi seç.", + serviceArea: "Hizmet Alanı", + serviceAreaPlaceholder: "örn. Katalonya, AB genelinde seyahat ederim", + spotsDesc: "İnşa ettiğin spotları ve parkları bağla ki insanlar işini haritada görebilsin", + spotsLabel: "İnşa Ettiğin Spotlar", + tagline: "Dök, kaynat, inşa et — rampa & park yapımını listele", + update: "BUILDER PROFİLİNİ GÜNCELLE", + updated: "Builder profili güncellendi!", + yearsBuilding: "Yapım Yılı", + }, + skaterForm: { + backToSkaters: "Kaykaycılara dön", + bioHelperPulled: "Profilinden alındı — kaykaycı kartın için düzenle ya da olduğu gibi bırak.", + bioHelperShort: "Kaykaycı kartın için kısa bir tanıtım.", + bioPlaceholder: "Ne zamandır kaykay yapıyorsun, neler ilgini çekiyor, ne üzerinde çalışıyorsun…", + browseSpots: "Spotlara göz at", + changePhoto: "Profil fotoğrafını değiştir", + chipBio: "Biyografi", + chipPhoto: "Fotoğraf", + cityArea: "Şehir / bölge", + created: "Haritadasın! 🛹", + custom: "Özel", + customHelper: "Kendi etiketin — hazır bir etiket yerine kaykaycı kartında gösterilir.", + customPlaceholder: "örn. OG, Hafta Sonu Savaşçısı, Emekli…", + discoverable: "Diğer kaykaycılar artık seni keşfedebilir.", + editFullProfile: "tüm profilini düzenle", + fromProfile: "Profilinden", + heroEditPrefix: "Düzenle", + heroJoinPrefix: "Katıl", + heroSuffix: "Dizini", + homeHelper: "Serbestçe yaz ya da insanların gidebilmesi için haritadan gerçek bir spot bağla.", + homePlaceholder: "Yerel park / meydan — ya da “Spotlara göz at”a dokun", + homeSpot: "Ev spotu", + layerEnd: "her yerde değiştirmek için.", + layerIntro: "Bu senin", + layerMid: ", Nostr profilin üzerine kurulmuş. Adın, fotoğrafın, biyografin, lightning & doğrulama oradan gelir —", + layerWord: "kaykay katmanın", + level: "Seviye", + linked: "Haritadaki bir spotla bağlantılı", + loadingProfile: "Profilin yükleniyor…", + loadingSpots: "Spotlar yükleniyor…", + locationHelper: "Başkalarının yakınındaki kaykaycıları bulmasına yardımcı olur. Yalnızca kaba bir bölge paylaşılır.", + loginToJoin: "Katılmak için giriş yap", + loginToJoinDesc: "Topluluğun seni bulabilmesi için kaykaycı profilini oluştur.", + mappedSpot: "Haritalanmış spot", + noSpots: "Henüz spot bulunamadı.", + noSpotsMatch: "Aramanla eşleşen spot yok.", + openMap: "Haritayı aç", + pickEverything: "Tarzına uyan her şeyi seç.", + pickHomeSpot: "Ev spotunu seç", + pickStyles: "Stillerini seç", + pickStylesDesc: "Yaptığın en az bir şeyi seç.", + profilePic: "Profil Resmi", + profilePicHelper: "Kaykaycı kartın Nostr profil fotoğrafını kullanır — her yerde aynı resim.", + publishingAs: "Şu olarak yayınlanıyor", + putOnMap: "Beni haritaya koy", + searchSpots: "Spotları isme veya şehre göre ara…", + skateStory: "Kaykay hikâyen", + stance: "Duruş", + unlinkSpot: "Spot bağlantısını kaldır", + updateButton: "Profilimi güncelle", + updated: "Profil güncellendi!", + whatYouSkate: "Ne kayıyorsun *", + yearsPlaceholder: "örn. 8", + yearsSkating: "Kaykay yılı", + yourProfilePic: "Profil resmin", + zapsOn: "Zap açık", + }, + skaters: { + clearSearch: "Aramayı temizle", + community: "Topluluk", + countMany: "kaykaycı", + countOne: "kaykaycı", + editProfile: "Kaykaycı profilimi düzenle", + heroDesc: "İnsanlarını bul. SkateSpots'u temsil eden kaykaycı ekibine göz at — stile, duruşa, seviyeye ve şehre göre.", + nip05Verified: "NIP-05 doğrulanmış", + noMatches: "Eşleşme yok", + noneDesc: "Dizine katılan ilk kişi ol ve SkateSpots'u haritaya koy.", + noneTitle: "Henüz kaykaycı yok", + noVerifiedMatch: "Eşleşen doğrulanmış kaykaycı yok", + searchPlaceholder: "İsim, şehir veya npub ile ara…", + tryDifferentSearch: "Farklı bir arama dene ya da filtrelerini temizle.", + tryTurnOffVerified: "Herkesi görmek için “Doğrulanmış” filtresini kapatmayı dene.", + verifiedFilterTitle: "Yalnızca doğrulanmış NIP-05 kimliği olan kaykaycıları göster", + }, + skaterCard: { + inDirectory: "Kaykaycı Dizinindesin", + joinDesc: "Duruşunu, stillerini & seviyeni ekle ki kaykaycılar seni bulabilsin.", + joinTitle: "Kaykaycı Dizinine Katıl", + }, + crewsStrip: { + allCrews: "Tüm crew'ler", + memberMany: "{{count}} üye", + memberOne: "{{count}} üye", + title: "Bu sahnedeki crew'ler", + }, + labLink: { + coach: "Coach", + filmer: "Filmer", + editor: "Editor", + photographer: "Photographer", + builder: "Builder", + artist: "Sanatçı", + graffiti: "Grafiti", + tattoo: "Dövme", + trainer: "Antrenör", + musician: "Müzisyen", + judge: "Jüri", + barber: "Berber", + organizer: "Organizatör", + lab: "Lab", + linkedProfiles: "Bağlı The Lab Profilleri", + desc: "Bir stüdyo, coach'luk veya yapım hizmeti de mi işletiyorsun? The Lab ilanlarını bağla ki insanlar ekibini işe alabilsin. İsteğe bağlı. The Lab profili de bu crew'e geri bağlandığında ikisi de yeşil", + descEnd: "rozeti gösterir.", + empty: "Henüz The Lab profilin yok. Buraya bağlamak için The Lab'da bir tane oluştur.", + }, + proUpgrade: { + goPro: "Pro'ya Geç", + optional: "· isteğe bağlı", + freeTo: "Listelemek ücretsiz. Pro bir", + proBadge: "Pro rozeti", + featuredPlacement: "öne çıkan yerleşim", + atTop: "The Lab'ın en üstüne ekler.", + active: "Aktif", + benefit1: "Profilinde & kartlarında altın \"Pro\" rozeti", + benefit2: "Kaykaycılar The Lab'a göz atarken ilk sırada öne çıkar", + benefit3: "SkateSpots'u destekler — reklam yok, aracı yok", + platformOwner: "Platform sahibi — Pro her zaman açık.", + proActiveOne: "Pro aktif · {{count}} gün kaldı. Profilin öne çıkarılacak.", + proActiveMany: "Pro aktif · {{count}} gün kaldı. Profilin öne çıkarılacak.", + context: "Pro bittikten sonra profilinin ücretsiz yayında kalır — sadece rozeti & öne çıkarmayı kaybedersin.", + }, + profilePreview: { + viewPublic: "Herkese açık görüntüle", + unnamed: "İsimsiz kaykaycı", + noHandle: "Henüz kullanıcı adı yok", + }, + pyramid: { + pyramidWord: "PYRAMID", + rankingsWord: "SIRALAMA", + subtitle: "Şehrindeki en iyi katkıcılar", + yourRank: "Sıralaman", + keepContributing: "Daha yükselmek için katkıda bulunmaya devam et!", + topContributors: "En İyi Katkıcılar", + noContributors: "Henüz katkıcı yok. İlk spot ekleyen veya etkinlik oluşturan sen ol!", + spots: "Spotlar", + events: "Etkinlikler", + total: "Toplam", + trust: "Güven", + }, + detail: { + joined: "Katıldı", + about: "Hakkında", + howWeWork: "Nasıl Çalışırız", + inTheBag: "Çantada", + hardware: "Donanım", + software: "Yazılım", + eventsJudged: "Değerlendirilen Etkinlikler", + eventsOrganized: "Düzenlenen Etkinlikler", + spots: "Spotlar", + viewSpot: "Spotu görüntüle", + credentialsTitle: "Yetkinlikler & güvenlik", + selfAttested: "Coach tarafından kendi beyanı — SkateSpots tarafından doğrulanmadı.", + formats: "Formatlar", + levels: "Seviyeler", + ages: "Yaşlar", + languages: "Diller", + availability: "Müsaitlik", + bookSession: "Seans rezervasyonu yap", + portfolio: "Portfolyo", + watchReel: "{{platform}} üzerinde izle", + paymentsTitle: "Ödemeler", + payWhatYouCan: "Gücünün yettiğini öde", + bookingFee: "Rezervasyon ücreti", + payBookingFee: "Rezervasyon ücretini öde", + bookingFeeNote: "Doğrudan coach'a ödenir. SkateSpots bunu tutmaz veya iade etmez.", + bookingFeeNoRail: "Bu coach'un ayarlı bir Lightning adresi yok, bu yüzden uygulama içi ödeme mevcut değil — ödemeyi ayarlamak için onunla iletişime geç.", + serviceArea: "Hizmet Alanı", + licensedInsured: "Lisanslı / Sigortalı", + studio: "Stüdyo", + shopStudio: "Dükkân / Stüdyo", + booksOpen: "Rezervasyonlar Açık", + credentials: "Yetkinlikler", + remoteOnline: "Uzaktan / Çevrimiçi mevcut", + graffitiCrew: "Grafiti Ekibi", + act: "Perde", + listen: "Dinle", + upcomingGigs: "Yaklaşan Konserler", + past: "Geçmiş", + experience: "Deneyim", + yearsCount: "{{count}} yıl", + rate: "Ücret", + contact: "İletişim", + sendMessage: "Mesaj Gönder", + bookGig: "Konser İçin Tut", + portfolioDomain: "Portfolyo · {{domain}}", + manage: "Yönet", + admin: "Yönetici", + editProfile: "Profili düzenle", + publishedTitle: "Yayındasın", + publishedBody: "Profilin The Lab'a yayınlandı. Kaykaycıların seni bulabilmesi için paylaş.", + manageRemove: "{{noun}} profilini The Lab'dan kaldır.", + adminTakeDown: "Bu {{noun}} profilini kaldır. SkateSpots genelinde gizlenir.", + entityLabel: "{{noun}} profili", + deleteProfile: "Profili Sil", + location: "Konum", + servicesSkills: "Hizmetler & Beceriler", + noun: { + coach: "coach", + filmer: "filmer", + editor: "video editor", + photographer: "photographer", + builder: "builder", + artist: "sanatçı", + graffiti: "grafiti sanatçısı", + tattoo: "dövme sanatçısı", + trainer: "antrenör", + musician: "müzisyen", + judge: "etkinlik jürisi", + organizer: "etkinlik organizatörü", + barber: "berber", + profile: "profil", + }, + skillsTitle: { + skills: "Beceriler", + servicesGear: "Hizmetler & Ekipman", + whatWeBuild: "Ne İnşa Ederiz", + whatTheyMake: "Ne Yaparlar", + stylesWork: "Stiller & İşler", + styles: "Stiller", + focusSpecialties: "Odak & Uzmanlıklar", + genresInstruments: "Türler & Enstrümanlar", + formatsSpecialties: "Formatlar & Uzmanlıklar", + servicesStyles: "Hizmetler & Stiller", + eventTypesServices: "Etkinlik Türleri & Hizmetler", + }, + }, + rider: { + heroDesc: "Doğrulanabilir kaykaycı kimliğin. Nostr imzalı, baskıya hazır, taklit edilmesi imkânsız.", + heroDesc2: "Diğer kaykaycılardan tanıklı yetenek rozetleri kazan. Park giriş kartları al. Kartını her yerde paylaş.", + headerTagline: "Nostr imzalı · Baskıya hazır · QR doğrulamalı", + tabCard: "Kartım", + tabBadges: "Rozetler", + tabAward: "Ödüllendir", + rendering: "Oluşturuluyor…", + shareCard: "Kartı Paylaş", + savePng: "PNG Kaydet", + print: "Yazdır", + copyId: "Kimliği Kopyala", + cardType: "Kart Türü", + licenseLabel: "Kaykaycı Lisansı", + licenseSub: "Kişisel rider kimliğin", + parkLabel: "Park Girişi", + parkSub: "Park sahibi olarak giriş kartı ver", + theme: "Tema", + holoTitle: "Holografik Parıltı", + holoDesc: "Hareketli folyo efekti", + cardDetails: "Kart Detayları", + skateStyle: "Kaykay Stili", + ridesFor: "Şunun İçin Kayıyor", + ridesForPlaceholder: "Yerel dükkân…", + sponsors: "Sponsorlar", + sponsorsPlaceholder: "Markalar…", + showOnCard: "Kartta Göster", + zaps: "Zaplar ⚡", + skills: "Beceriler", + selected: "{{count}}/6 seçildi", + goldBadgesHint1: "Kartındaki altın rozetler, diğer kaykaycıların sana tanıklık etmesiyle gelir — bkz.", + goldBadgesHint2: ".", + parkOwnersOnly: "Yalnızca park sahipleri.", + parkOwnersDesc: "Bunu, park ilanını yayınlayan aynı Nostr anahtarıyla ver. Herkes QR'ı tarayıp imzayı zincir üzerinde doğrulayabilir — merkezi otorite gerekmez.", + parkDetails: "Park Detayları", + parkName: "Park Adı", + parkNamePlaceholder: "The Berrics…", + riderName: "Rider Adı", + riderNamePlaceholder: "Karttaki isim", + riderNpub: "Rider'ın Nostr Kimliği (npub)", + accessLevel: "Giriş Seviyesi", + validThru: "Geçerlilik Sonu", + publishToNostr: "Nostr'a Yayınla", + badgesIntro: "Bu rozetler Nostr üzerinde diğer kaykaycılar tarafından tanık olunup imzalandı. Kartında altın ⭐ çipler olarak görünürler.", + earnMore: "Daha fazlasını mı kazanmak istiyorsun? Birinin önünde kay ve ondan numaranı tanıklık etmesini iste.", + awardSomeone: "Başkasına Rozet Ver", + youSawIt: "Bunun olduğunu gördün", + youSawItDesc: "Kanıtı Nostr üzerinde imzala. Kalıcı kayıtlarının bir parçası haline gelir — kriptografik olarak senin anahtarına bağlanır.", + skillsWitnessed: "Tanıklık ettiğin beceriler", + whereSeen: "Nerede gördün?", + optional: "(isteğe bağlı)", + signingOnNostr: "Nostr üzerinde imzalanıyor…", + awardBadge: "Rozet Ver", + addRiderSkill: "Rider npub + en az bir beceri ekle", + invalidNpub: "Geçersiz npub", + badgeAwarded: "🏅 Rozet verildi!", + badgeSent: "{{skills}} gönderildi.", + failed: "Başarısız", + couldNotRender: "Kart oluşturulamadı", + popupBlocked: "Açılır pencere engellendi", + popupBlockedDesc: "Bu site için açılır pencerelere izin ver.", + linkCopied: "🔗 Bağlantı kopyalandı!", + enterRiderNpub: "Rider'ın npub'unu gir", + parkPublished: "✅ Park Giriş Kartı yayınlandı!", + publishFailed: "Yayınlama başarısız", + noBadges: "Henüz rozet yok. Birinin önünde kay ve numaralarına tanıklık etmesini iste!", + showMore: "{{count}} tane daha göster", + witnessedBy: "Tanıklık eden", + at: "şurada", + previewLicense: "Kaykaycı Lisansı", + previewSince: "{{year}}'den beri", + previewEvts: "Etk.", + previewScan: "Doğrulamak için tara", + previewSkatepark: "Skatepark", + previewAccessPass: "Giriş Kartı", + previewMemberName: "Üye Adı", + previewIssuedBy: "Park sahibi tarafından verildi · Nostr imzalı", + previewValidThru: "Geçerlilik sonu", + previewNostrVerified: "Nostr doğrulamalı", + }, + craftFields: { + detailsTitle: "Ek detaylar", + deliverables: "Teslimatlar", + turnaround: "Teslim süresi", + surfaces: "Yüzeyler / Duvarlar", + maxSize: "Maks Boyut", + setLength: "Set Uzunluğu", + techRider: "Teknik Rider", + travel: "Seyahat", + certifications: "Sertifikalar", + insurance: "Sigorta", + permits: "İzinler", + deposit: "Depozito", + minimum: "Minimum", + modalities: "Modaliteler", + duration: "Randevu Süresi", + drone: "Drone", + leadTime: "Hazırlık Süresi", + warranty: "Garanti", + }, + craftForm: { + profileImage: "Profil görseli", + nameHeadline: "İsim / başlık", + about: "Hakkında", + aboutPlaceholder: "Kaykaycılara {{noun}} işinden bahset…", + required: "gerekli", + nip05Title: "Güven inşa etmek için NIP-05 ekle", + nip05Desc: "Bir NIP-05 tanımlayıcısı, kaykaycıların gerçek olduğunu doğrulamasına yardımcı olur. Listelemeden önce şiddetle önerilir.", + editingNote: "Mevcut {{noun}} profilini düzenliyorsun — yayınlamak onun yerini alır.", + location: "Konum", + pinned: "📍 Haritaya sabitlendi ({{lat}}, {{lng}})", + experienceYears: "Deneyim (yıl)", + expPlaceholder: "örn. 5", + ratePlaceholder: "örn. 20k sats / proje başı", + contactLinks: "İletişim & Bağlantılar", + phoneOptional: "Telefon (isteğe bağlı)", + emailOptional: "E-posta (isteğe bağlı)", + socialPlaceholder: "Sosyal (Instagram, vb.)", + gettingPaid: "Ödeme Almak", + updateProfile: "Profili Güncelle", + publishProfile: "Profili Yayınla", + rateLeftBlankNote: "İsteğe bağlı — yukarıdaki ücret yeterliyse bunu boş bırak.", + sectionRequired: "{{section}} gerekli", + sectionRequiredDesc: "\"{{section}}\" altında en az bir seçenek seç.", + updated: "Profil güncellendi!", + created: "Profil oluşturuldu!", + headlineExample: "Kaykay Coach'u Berlin", + }, + }, + socialUi: { + agentPanel: { + spot: "Spot", + event: "Etkinlik", + labPro: "Lab pro", + gear: "Ekipman", + crew: "Crew", + description: "Bu crew'i bilir — jam'lerini, kadrosunu & açık çağrısını — ayrıca canlı verilerle daha geniş sahneyi.", + greeting: "Yo! Ben Sasquatch, {{crew}}'in rehberi. Bana crew'i sor — sıradaki jam'imizi, kimin yönettiğini, ne aradığımızı — ya da daha geniş sahneyi.", + suggestion1: "Sıradaki jam'imiz ne?", + suggestion2: "Bu crew'i kim yönetiyor?", + suggestion3: "Ne arıyoruz?", + suggestion4: "Yakınımızdaki en iyi spotlar?", + suggestion5: "Kaykay için hava nasıl?", + thinking: "Sasquatch düşünüyor…", + placeholder: "Yerel sahnen hakkında sor…", + disclaimer: "AI yanılabilir — bağlantılar gerçek ilanlara gider.", + }, + badge: { + upcomingOne: "{{count}} yaklaşan etkinlik", + upcomingMany: "{{count}} yaklaşan etkinlik", + comingOne: "{{count}} etkinlik geliyor", + comingMany: "{{count}} etkinlik geliyor", + }, + bell: { + youAreIn: "{{crew}} içindesin! 🛹", + membershipConfirmed: "Üyelik onaylandı.", + couldNotConfirm: "Onaylanamadı", + addedYouTo: "seni şuna ekledi:", + confirmToAppear: "Üye olarak görünmek için onayla.", + notifications: "Bildirimler", + notificationsNew: "Bildirimler ({{count}} yeni)", + unreadCount: "{{count}} okunmamış bildirim", + markRead: "Okundu işaretle", + allClear: "Her şey temiz", + tabAll: "Tümü", + tabTrades: "Takaslar", + tabSocial: "Sosyal", + tabNews: "Haberler", + tabCrews: "Crew'ler", + checkingUpdates: "Güncellemeler kontrol ediliyor…", + checkingTrades: "Teklifler ve takaslar kontrol ediliyor…", + loadingDrops: "En son paylaşımlar yükleniyor…", + emptyAll: "Teklifler, takaslar, zaplar, yanıtlar, bülten paylaşımları ve crew etkinliği burada görünecek.", + emptyTrades: "Teklifler, karşı teklifler ve takas onayları hepsi buraya düşer — ister satıyor, ister alıyor, ister değiş tokuş ediyor olun.", + emptySocial: "Zaplar, tepkiler, yeniden paylaşımlar, bahsetmeler, yanıtlar, etkinlik RSVP'leri ve ev sahibi güncellemeleri hepsi buraya düşer.", + emptyNews: "SkateSpots bülten paylaşımları buraya düşecek. Bülten sayfasından abone ol.", + emptyCrews: "Crew davetleri, kolektif istekleri ve üyelik istekleri burada görünecek.", + subscribeBanner: "Yeni paylaşımları zilinde almak için abone ol", + read: "Oku", + allCaughtUp: "Her şeyi yakaladın", + }, + chat: { + hidden: "Gizli", + hideMessageAria: "Bu mesajı gizle", + hideMessageTitle: "Mesajı gizle (yönetici)", + messageHidden: "Mesaj gizlendi", + messageHiddenDesc: "Herkes için crew sohbetinden gizlendi.", + messageHideFailed: "Mesaj gizlenemedi", + encryptionUnavailable: "Şifreleme mevcut değil", + encryptionUnavailableDesc: "İmzalayıcın NIP-44 şifrelemesini desteklemiyor. Lütfen uzantını güncelle.", + messageFailed: "Mesaj başarısız", + couldNotSend: "Mesaj gönderilemedi.", + noOneToMessage: "Henüz mesaj gönderecek kimse yok", + noOneToMessageDesc: "Bu crew'in sohbet edecek başka üyesi yok.", + subject: "{{crew}} crew sohbeti", + title: "Crew Sohbeti", + cordnBadgeTitle: "Bu crew'in Cordn koordinatörü üzerinden ContextVM ile yönlendirildi. Uçtan uca şifreli.", + private: "Özel", + privateBadgeTitle: "Uçtan uca şifreli — bu mesajları yalnızca crew üyeleri okuyabilir.", + encryptedCordn: "Şifreli & crew koordinatörü (Cordn) üzerinden yönlendiriliyor — hiçbir mesaj herkese açık relay'lere düşmez.", + encryptedNip17: "Kurucu & listelenen tüm crew üyeleri için şifreli grup sohbeti.", + moderatorNote: " Moderatör olarak crew'den mesaj gizleyebilirsin.", + loginToSee: "Crew sohbetine katılıp katılamayacağını görmek için giriş yap.", + membersOnly: "Bu sohbet crew üyelerine özeldir. Sohbete katılmak için kurucudan seni crew'e eklemesini iste.", + noMessages: "Henüz mesaj yok. Crew sohbetini başlat — bir seans planla, bir spot paylaş, bir klibi öv.", + newMessages: "Yeni mesajlar", + new: "Yeni", + placeholder: "Crew'ine mesaj yaz…", + sendAria: "Mesaj gönder", + }, + collectiveJoinRequest: { + addedTitle: "{{name}}, {{collective}} kolektifine eklendi 🛹", + addedDesc: "Doğrulanmış üye olarak görünmek için kendi tarafından onaylayacaklar.", + couldNotAdd: "Üye eklenemedi", + couldNotDismiss: "Yok sayılamadı", + addedDone: "Eklendi", + addedTo: "şuna:", + dismissedDone: "{{name}} kişisinin isteği yok sayıldı", + wantsToJoin: "katılmak istiyor", + alreadyOnRoster: "Zaten kadroda", + openCollective: "Kolektifi aç", + dismiss: "Yok say", + addToCollective: "Kolektife ekle", + }, + collectiveMembers: { + confirmed: "Onaylandı", + pending: "Bekliyor", + pendingTooltip: "Kolektif tarafından listelendi — bu üyenin onayı bekleniyor.", + crewOnly: "Yalnızca crew", + crewOnlyTooltip: "Bu üye yalnızca crew arkadaşlarına görünmeyi seçti. Onu görebiliyorsun çünkü crew'densin.", + hiddenMember: "Gizli üye", + title: "Üyeler", + verifiedOf: "{{total}} üyenin {{confirmed}} tanesi doğrulandı — her onaylanan üye kendi Nostr anahtarıyla imzaladı.", + verifiedPerMember: "Üyelik her üye için ayrı doğrulanır. Her üye kendi Nostr anahtarıyla onaylar.", + adminsOne: "{{count}} yönetici crew'in işlemesine yardımcı olur.", + adminsMany: "{{count}} yönetici crew'in işlemesine yardımcı olur.", + }, + confirmMembership: { + public: "Herkese açık", + crewOnly: "Yalnızca crew", + confirmedTitle: "Üyelik onaylandı!", + confirmedCrew: "{{name}} içinde doğrulandın — yalnızca crew arkadaşlarına görünürsün.", + confirmedPublic: "Artık {{name}} üyesi olarak doğrulanmış görünüyorsun.", + failed: "Onaylanamadı", + addedTo: "{{name}} grubuna eklendin", + addedDesc: "Üyeliğini onayla ki profilinde ve onlarınkinde doğrulanmış görünsün.", + yourVisibility: "Görünürlüğün", + confirming: "Onaylanıyor…", + confirmButton: "Üyeliği Onayla", + }, + contacts: { + message: "Mesaj", + removePrivate: "Özel kişilerden kaldır", + savePrivate: "Özel kişilere kaydet", + seoTitle: "Kişiler - SkateSpots", + seoDescription: "Sahnen — crew arkadaşların, takip ettiklerin ve son sohbetler, özel şifreli kişilerle.", + encryptionUnavailableDesc: "İmzalayıcın NIP-44 şifrelemesini desteklemiyor.", + removed: "Özel kişilerden kaldırıldı", + saved: "Özel kişilere kaydedildi", + savedDesc: "Bu listeyi yalnızca sen görebilirsin.", + updateFailed: "Kişiler güncellenemedi", + loginTitle: "Sahnen, tek yerde", + loginDesc: "Crew arkadaşlarını, takip ettiklerini ve son sohbetleri görmek — ve özel, şifreli bir kişi listesi tutmak — için giriş yap.", + title: "Kişiler", + subtitle: "Sahnen — crew arkadaşları, takipler & sohbetler", + filterPlaceholder: "npub ile filtrele…", + tabCrew: "Crew", + tabFollows: "Takipler", + tabDms: "DM'ler", + tabSaved: "Kayıtlı", + emptyCrewmates: "Henüz crew arkadaşı yok. Sahne ağını kurmak için bir crew'e katıl ya da bir tane başlat.", + emptyFollowing: "Henüz kimseyi takip etmiyorsun.", + emptyDms: "Henüz sohbet yok. Başlatmak için bir kaykaycıya mesaj gönder.", + savedHint: "Bu liste anahtarına şifrelidir — yalnızca sen okuyabilirsin. Eklemek için birinin üzerindeki yıldıza dokun.", + emptySaved: "Henüz kayıtlı kişi yok. Özel adres defterini kurmak için herhangi bir sekmeden kişileri yıldızla.", + }, + conversation: { + unknown: "Bilinmeyen", + seoTitle: "{{name}} ile sohbet - SkateSpots", + seoDescription: "Özel şifreli sohbet", + sendFailed: "Mesaj gönderilemedi", + sendFailedDesc: "Lütfen birazdan tekrar dene.", + tradeConfirmed: "Takas onaylandı", + tradeConfirmedDesc: "İkinizin de itibarı güncellendi.", + tradeConfirmFailed: "Takas onaylanamadı", + somethingWrong: "Bir şeyler ters gitti.", + soldNote: "{{name}} kişisine satıldı.", + saleConfirmed: "Satış onaylandı", + saleConfirmedDesc: "{{name}} artık kendi tarafını onaylayabilir.", + saleConfirmFailed: "Satış onaylanamadı", + escrowRedeemed: "Emanet kullanıldı", + escrowRedeemedDesc: "Para artık Cashu cüzdanında.", + escrowRedeemFailed: "Emanet kullanılamadı", + loginTitle: "Mesajları görmek için giriş yap", + secureLoginTitle: "Güvenli Giriş Gerekli", + secureLoginDesc: "Mesajlar güvenli bir imzalayıcı uygulaması gerektirir.", + encrypted: "Şifreli", + refresh: "Yenile", + didCompleteTrade: "Bu takası tamamladın mı?", + recordedSale: "{{name}} satışı kaydetti. İkinizin de itibarını güncellemek için onayla.", + confirm: "Onayla", + confirmSale: "Bu satışı onaylıyor musun?", + askedToRecord: "{{name}} kaydetmeni istedi. Onaylamak ikinizin de itibarını artırır.", + confirmSaleButton: "Satışı onayla", + redeemEscrow: "Emaneti kullan", + escrowAppOnly: "Cashu emaneti yalnızca uygulamada — kullanmak için SkateSpots'u telefonunda aç.", + startThread: "Sohbeti başlatmak için bir mesaj gönder", + placeholder: "Bir mesaj yaz...", + e2eeNote: "Mesajlar NIP-17 kullanılarak uçtan uca şifrelidir", + }, + coordinator: { + secondsAgo: "{{count}} sn önce", + minutesAgo: "{{count}} dk önce", + hoursAgo: "{{count}} sa önce", + daysAgo: "{{count}} gün önce", + statusIdle: "Kontrol edilmedi", + statusChecking: "Kontrol ediliyor…", + statusOnline: "Bağlı", + statusStale: "Sessiz", + statusOffline: "Görülmedi", + statusError: "Ulaşılamıyor", + notACoordinator: "Bu bir koordinatör değil", + notACoordinatorDesc: "Bir nprofile, bir npub veya bir cordn.net bağlantısı yapıştır.", + added: "Koordinatör eklendi", + relayOne: "{{count}} relay", + relayMany: "{{count}} relay", + lastSeen: "son görülme {{time}}", + onlineDesc: "Duyuruyor. Onu kullanan gruplar artık mesaj iletebilir.", + staleDesc: "Bulundu ama yakın zamanda duyuru yapmadı — uykuda olabilir.", + offlineDesc: "Hiç duyuru görülmedi. Özel olabilir (bu sorun değil) ya da yalnızca çevrimdışı.", + errorDesc: "Relay'lere ulaşılamadı.", + idleDesc: "Kontrol ediliyor…", + checkingDesc: "Duyurusu aranıyor…", + eventFoundOne: "{{count}} etkinlik bulundu.", + eventFoundMany: "{{count}} etkinlik bulundu.", + check: "Kontrol et", + addLinkCopied: "Ekleme bağlantısı kopyalandı", + copyFailed: "Kopyalama başarısız", + copyManually: "Elle kopyala.", + addLink: "Bağlantı ekle", + removeConfirm: "Bu koordinatör bu cihazdan kaldırılsın mı?", + scanToJoin: "Bu koordinatöre katılmak için Cordn'da tara.", + noCoordinator: "Henüz koordinatör yok", + noCoordinatorDescA: "Bir koordinatör crew'inin", + encryptedWord: "şifreli", + noCoordinatorDescB: "grup mesajlarını sırayla iletir. Kimi, ne zaman ve hangi grubu görür — içeriği asla. Bir tane seç ya da kendininkini çalıştır.", + change: "Koordinatörü değiştir", + addTitle: "Koordinatör ekle", + add: "Ekle", + scanQR: "Koordinatör QR'ı tara", + inputPlaceholder: "nprofile… veya bir cordn.net bağlantısı", + runOwn: "Kendininkini çalıştır", + runOwnDesc: "Eski bir telefonda, bir Raspberry Pi'de ya da açık bıraktığın herhangi küçük bir kutuda yaşayabilir. O çalıştığı sürece grubun çalışmaya devam eder — ve grubu istediğin zaman taşıyabilirsin.", + onPhone: "Bir telefonda", + onPhoneDesc: "Cordn Coordinator uygulamasını kullan, sonra eklemek için QR'ını burada tara.", + openCordn: "Cordn'ı aç", + scanItsQR: "QR'ını tara", + onServer: "Bir sunucuda", + commandCopied: "Komut kopyalandı", + copyCommand: "Komutu kopyala", + androidSleep: "Android bir telefon koordinatörünü uyutabilir. Ara sıra bir grubu taşımayı bekle.", + privacyNote: "🔒 Bir koordinatör yalnızca şifreli metni ve üst veriyi görür — asla mesaj içeriğini. Üst veriyi de kendine saklamak için kendininkini çalıştır.", + customTitle: "Özel Sohbet Koordinatörü", + customBadge: "· deneysel · kendi relay'in", + customDescShort: "İsteğe bağlı — crew'in zaten yerleşik uçtan uca şifreli sohbete sahip, yani buna ihtiyacın yok. Yalnızca kendin çalıştırıyorsan ayarla", + remove: "Kaldır", + pointerNote: "Şimdilik yalnızca işaretçi: bir wss:// uç noktası crew'in sohbet relay'i olarak kullanılır; bir https:// olanı paylaşılan ContextVM relay'i üzerinden. Gerçek Cordn MLS henüz bağlanmadı.", + cordnCoordinator: "Cordn koordinatörü", + invalid: "Bu bir koordinatöre benzemiyor. Bir nprofile, bir cordn.net bağlantısı ya da bir https/wss URL'si yapıştır.", + useMine: "Koordinatörümü kullan", + }, + createCrew: { + seoTitle: "Crew Oluştur - SkateSpots", + seoDescription: "Kaykay crew'ini oluştur — ev sahası, üyeler ve spotlar.", + loginRequired: "Giriş Gerekli", + loginRequiredDesc: "Crew oluşturmak için giriş yapmalısın.", + backToCrews: "Crew'lere dön", + title: "Crew Oluştur", + intro: "Kaykay ailen — birlikte kaydığın insanlar. Bir isim başlaman için yeter; gerisi isteğe bağlı.", + }, + crew: { + seoTitleNamed: "{{name}} - SkateSpots Crew", + seoTitle: "Crew - SkateSpots", + seoDescription: "SkateSpots'ta bir kaykay crew'i.", + postHidden: "Gönderi gizlendi", + postHiddenDesc: "Herkes için crew akışından kaldırıldı.", + postHideFailed: "Gönderi gizlenemedi", + backToCrews: "Crew'lere dön", + disband: "Dağıt", + youAreCaptain: "Bir kaptansın", + member: "Üye", + askSasquatch: "Sasquatch'a sor", + agent: "Crew Agent", + agentDesc: "Crew'inin AI rehberi — canlı verilerle yakındaki spotlar, etkinlikler, coach'lar & ekipman.", + eventsTab: "Etkinlikler", + chatTab: "Sohbet", + newMessages: "Yeni mesajlar", + hostJam: "Jam düzenle", + noEvents: "Henüz crew etkinliği yok. Crew olarak bir jam, yarışma veya buluşma düzenle — crew'ini etkinlik takvimine bağlar ve insanların zap göndermesini sağlar.", + support: "Destek", + zapCrew: "Crew'e Zap Gönder", + bandTitle: "Crew Bandı", + bandTagline: "Canlı müzik · kaykay & ses", + listenTitle: "Dinle: {{domain}}", + listen: "Parçaları dinle", + setUpGig: "Konser ayarla", + bookGigMessage: "Selam {{crew}} — {{band}} grubunu bir konser için tutmakla ilgileniyorum. Tarihleri konuşmak için müsait misin?", + messageAboutGig: "Konser hakkında mesaj gönder", + gigHintA: "bu crew tarafından ev sahipliği yapılan takvime bir müzik etkinliği ekler.", + messageShort: "Mesaj", + gigHintB: "tarihleri & detayları ayarlamak için crew'e şifreli bir DM açar.", + homeSpots: "Ev Spotları", + viewSpot: "Spotu görüntüle", + seeOnMap: "Haritada gör →", + founderLinks: "Kurucu & Bağlantılar", + startedBy: "{{name}} tarafından başlatıldı", + opens: "Açılış: {{domain}}", + }, + crews: { + seoTitle: "Crew'ler - SkateSpots", + seoDescription: "İnsanlarını bul. Yakınındaki yerel kaykay crew'lerini, kolektifleri ve toplulukları keşfet.", + videoPartTooltip: "Bu crew'in bir video partı var", + part: "Part", + bandTooltip: "Crew bandı: {{name}}", + band: "Bant", + focusAll: "Tümü", + focusAllShort: "Tümü", + focusDiy: "DIY", + focusPhoto: "Fotoğraf", + focusCoaching: "Coach'luk", + focusArt: "Sanat", + focusMusic: "Müzik", + focusPhysio: "Fizyoterapi", + focusMixed: "Karışık", + title: "Crew'ler", + heroLine: "Haritaya bağlı kaykay ailen — birlikte kaydığın", + heroWith: "insanlar", + heroRest: ", işe aldığın kişiler değil (o The Lab'dır).", + crewCountOne: "{{count}} crew", + crewCountMany: "{{count}} crew", + cityCountOne: "{{count}} şehir", + cityCountMany: "{{count}} şehir", + createCrew: "Crew Oluştur", + create: "Oluştur", + searchPlaceholder: "Crew'leri isme veya şehre göre ara…", + filterTitle: "Crew'leri filtrele", + filterDesc: "Crew'in ilgi alanı.", + nearMe: "Yakınımda", + emptySearchTitle: "Aramanla eşleşen crew yok", + emptySearchHint: "“{{query}}” için hiçbir şey bulunamadı. Başka bir isim ya da şehir dene.", + clearSearch: "Aramayı temizle", + emptyFocusTitle: "Henüz {{label}} crew'i yok", + emptyFocusHint: "Burada henüz kimse “{{label}}” bayrağını taşımıyor. Tüm crew'leri göster ya da bunu kendin başlat.", + showAll: "Tüm crew'leri göster", + claimTitle: "Yerel sahneni sahiplen", + claimHint: "Buraya henüz crew kurulmadı. İlk sen ol — crew'ini başlat, ev spotlarını bağla ve sahneni herkesin bulabilmesi için haritaya koy.", + }, + crewCoordinator: { + privateChat: "Özel Crew Sohbeti", + on: "Açık", + defaultA: "", + chatWord: "Sohbet", + defaultB: "sekmesi", + e2ee: "uçtan uca şifreli", + defaultC: "kurucu ve listelenen tüm üyeler için — ayarlanacak bir şey yok. Mesajlar her üyenin anahtarına mühürlenir (NIP-17), yani yalnızca crew'in okuyabilir.", + advancedA: "Gelişmiş: kendininkini çalıştır", + cordnCoordinator: "Cordn koordinatörü", + routeThrough: "Sohbeti onun üzerinden yönlendir", + coordinator: "Koordinatör", + deliveredOver: "İletim şu üzerinden:", + sharedRelay: "— paylaşılan ContextVM relay'i.", + ownRelay: "— crew'inin kendi relay'i.", + chatLive: "Özel sohbet aktif", + routesA: "", + routesB: "sekmesi bu koordinatör üzerinden yönlendirilir: mesajlar uçtan uca şifrelidir (NIP-44, her üyeye mühürlü), yani yalnızca mühürlü trafiği işler.", + publicWarning: "Dikkat: paylaşılan ContextVM relay'i üzerinden adresleniyor, yani şifreli metin ve üst verisi (hangi crew ve ne zaman) herkese açık görünür — yalnızca okunamaz. Bunu da özel tutmak için crew'i özel bir wss:// relay'ine yönlendir.", + ownRelaySafe: "Crew'e özel hiçbir şey crew'inin kendi relay'inden çıkmaz.", + manage: "Koordinatörü yönet", + open: "{{domain}} aç", + runBy: "Koordinatörü çalıştıran", + }, + dms: { + securityReminder: "Güvenlik hatırlatması", + phishingStrong: "SkateSpots sana asla DM göndermez", + phishingRest: "hesabını doğrulamanı, anahtarlarını paylaşmanı veya ödeme yapmanı isteyerek. Birisi DM üzerinden SkateSpots desteği olduğunu iddia ederse — bu bir dolandırıcılıktır.", + dismissReminder: "Güvenlik hatırlatmasını kapat", + peopleCount: "{{count}} kişi", + youPrefix: "Sen: ", + unreadMessages: "Okunmamış mesajlar", + seoTitle: "Mesajlar - SkateSpots", + seoDescription: "Kaykay topluluğuyla özel şifreli mesajlar", + loginTitle: "Mesajlara erişmek için giriş yap", + loginDesc: "Topluluktaki kaykaycılarla özel, şifreli mesajlaşma", + secureLoginTitle: "Güvenli Giriş Gerekli", + secureLoginDesc: "Özel mesajlar, sohbetlerini şifrelemek için güvenli bir imzalayıcı uygulaması gerektirir.", + onAndroid: "Android'de:", + useAmber: "Amber uygulamasını kullan", + getAmber: "Amber'ı edin →", + onIOS: "iOS'ta:", + iosHint: "Ayarlar'dan bir bunker bağlantısı (nsec.app) ile giriş yapmayı dene", + browserHint: "Şifrelemeyi destekleyen Alby veya nos2x gibi bir tarayıcı uzantısıyla giriş yapmayı dene.", + title: "Mesajlar", + subtitleFull: "NIP-17 ile uçtan uca şifreli", + subtitleShort: "Şifreli", + newMessage: "Yeni Mesaj", + groups: "Gruplar", + loadFailed: "Mesajlar yüklenemedi", + emptyTitle: "Henüz mesaj yok", + emptyDesc: "Topluluktan biriyle bir sohbet başlat", + startConversation: "Sohbet Başlat", + undecryptableOne: "{{count}} şifreli mesaj imzalayıcın tarafından açılamadı.", + undecryptableMany: "{{count}} şifreli mesaj imzalayıcın tarafından açılamadı.", + }, + editCrew: { + seoTitleNamed: "{{name}} düzenle - SkateSpots", + seoTitle: "Crew Düzenle - SkateSpots", + seoDescription: "Kaykay crew'ini düzenle.", + loginRequired: "Giriş Gerekli", + notYours: "Senin crew'in değil", + notYoursDesc: "Bu crew'i yalnızca kurucusu düzenleyebilir.", + backToCrew: "Crew'e dön", + title: "Crew Düzenle", + }, + form: { + add: "Ekle", + added: "Eklendi", + addNameInBasicsA: "Temel bilgilere geri dönüp bir crew adı ekle", + addNameInBasicsB: "tamamlamak için.", + adminsDescA: "Güvenilir üyeleri", + adminsWord: "yönetici", + adminsDescB: "yap — kendi anahtarlarıyla üye davet edebilir ve crew akışını & sohbetini yönetebilirler. Sen (kurucu) her zaman crew kimliğinin sahibi olarak kalırsın.", + agentDescA: "Ekle", + agentDescB: ", crew'ini gerçekten bilen bir AI rehber. Üyeler şunları sorabilir:", + agentDescC: "— ayrıca canlı SkateSpots verilerinden yakındaki spotlar, etkinlikler, coach'lar ve ekipman. Doğrudan tarayıcıda çalışır; anahtar veya kurulum yok. Henüz erken (ücretsiz AI, bu yüzden ara sıra yavaş).", + agentDescStrong: "bir sonraki jam'iniz, crew'i kimin yönettiği, ne aradığınız ve vibe'ınız", + agentEnabledNote: "Kaydettiğinde Sasquatch crew sayfanda görünecek.", + bandDesc: "Bir grubun mu var? Kaykay sahneleri ve yerel müzik el ele gider — grubunun adını ve parçaların bağlantısını bırak.", + bandFooterA: "Tam bir grup profili için (türler, enstrümanlar, konserler) The Lab'da bir", + musicianWord: "Müzisyen", + bandFooterB: "oluştur, sonra yukarıdaki", + linkedLabWord: "Bağlı The Lab profilleri", + bandFooterC: "bölümüne bağla.", + bandMusicWord: "Grup & Müzik", + bandName: "Grup adı", + bandNamePlaceholder: "örn. The Bail Outs", + bandNudgeA: "Bir grubun var — dokunarak", + crewTypeWord: "Crew Tipi", + bandNudgeB: "ayarla:", + bandNudgeC: "böylece The Lab'ın Müzik sahnesinde de görünürsün.", + beta: "Beta", + bioLabel: "Hakkında / Manifesto", + bioPlaceholder: "Kim olduğun, ne kaydığın, hikâyen...", + continue: "Devam", + crewCreated: "Crew oluşturuldu!", + crewUpdated: "Crew güncellendi!", + crewName: "Crew Adı", + crewOnlyWord: "Yalnızca crew", + crewType: "Crew Tipi", + crewTypeDescA: "Crew'in bir zanaata mı odaklı? The Lab'da o sahnede de görünmek için birini seç:", + theLab: "The Lab", + crewTypeDescB: ". Normal kaykay crew'leri", + mixedWord: "Karışık", + crewTypeDescC: "kalır.", + customVibeHint: "Bir # ile kendi vibe'ını veya odağını ekle", + customVibePlaceholder: "örn. downhill, gece seansları, no-comply", + editDesc: "Crew'inin kimliği, ev sahası ve üyeleri", + enableAgent: "Crew Agent'ı Etkinleştir", + enableTreasury: "Crew Kasasını Etkinleştir", + failed: "Başarısız", + founded: "Kuruluş (Yıl)", + geolocationUnsupported: "Konum desteklenmiyor", + gettingLocation: "Alınıyor...", + goalHint: "Katkıların ulaşabilmesi için Nostr profilinde bir Lightning adresi (lud16) olduğundan emin ol.", + goalPlaceholder: "örn. DIY spotunu betonla", + goalTarget: "Hedef (sats)", + goalWhat: "Hedef ne?", + homeSpots: "Ev Spotları", + homeSpotsDesc: "Crew'inin takıldığı spotları bağla — haritada crew'ine bağlanırlar", + homeTurf: "Ev Sahası (Şehir / Bölge)", + homeTurfPlaceholder: "İstanbul, TR", + instagramDetected: "Instagram klibi algılandı", + invalidMember: "Geçerli bir npub, nprofile veya hex pubkey gir.", + latitude: "Enlem", + leaveBlankLocation: "Mevcut ev sahası konumunu korumak için boş bırak.", + links: "Bağlantılar", + locationError: "Konum hatası", + locationFound: "Konum bulundu", + logoAlt: "Crew", + logoHint: "Bir logo, crew'ini haritada ve akışlarda anında tanınır kılar. Kare en iyisidir.", + logoLabel: "Crew Logosu / Fotoğrafı", + logoUploaded: "Logo yüklendi", + longitude: "Boylam", + looksGood: "İyi görünüyor", + makeAdmin: "Yönetici yap", + mapPin: "Harita İğnesi", + mapPinHint: "Crew'ini haritaya bırak ki yerliler seni bulabilsin. Butona dokun — yazmaya gerek yok.", + memberAlreadyAdded: "Bu üye zaten ekli.", + members: "Üyeler", + membersDesc: "Crew'inin Nostr hesaplarını ekle. Her üye kendi anahtarıyla onaylar — o zamana kadar “bekliyor” olarak görünür.", + musicLink: "Müzik bağlantısı", + nameCrew: "Crew'ine isim ver", + nameCrewDesc: "Devam etmeden önce bir crew'in bir isme ihtiyacı var.", + nameCrewFirst: "Önce crew'ine isim ver", + nameHint: "Gerçekten ihtiyacın olan tek şey. Daha sonra değiştirebilirsin.", + namePlaceholder: "örn. Backyard Bandits", + nameRequired: "İsim gerekli", + nameRequiredDesc: "Crew'ine bir isim ver.", + nip05DescA: "Herhangi bir alan adında kontrol ettiğin doğrulanabilir bir kullanıcı adı, örn.", + nip05DescB: ". Bu crew'in kurucu anahtarına göre doğrulanır ve birkaç tane ekleyebilirsin — her biri alan adı onayladığında yeşil bir tik gösterir.", + nip05Label: "Crew NIP-05", + nip05Placeholder: "crew@alanadin.com", + nip05Add: "Ekle", + nip05Invalid: "crew@alanadin.com gibi bir kullanıcı adı gir", + nip05TooMany: "En fazla {{count}} kullanıcı adı ekleyebilirsin.", + nip05Unverified: "Kontrol edilmedi", + nip05Remove: "{{handle}} kaldır", + notAKeyA: "Henüz bir Nostr anahtarına benzemiyor — bir", + notAKeyB: ",", + notAKeyC: "veya hex pubkey yapıştır.", + onlyYouTubeInstagram: "Yalnızca YouTube ve Instagram bağlantıları desteklenir.", + openCall: "Açık Çağrı", + openCallDescA: "Bir filmer, editor ya da yeni kan mı arıyorsun? Bir çağrı yayınla — crew sayfanda görünür, böylece uygun kişiler", + openCallDescB: "ulaşabilir.", + optional: "· isteğe bağlı", + optionalParen: "(isteğe bağlı)", + otherSocials: "Diğer Sosyal Medyalar", + otherSocialsDesc: "İstediğin kadar ekle — YouTube, TikTok, Discord, Telegram, vb.", + ownVisibility: "kendi görünürlüğü", + progress: "İlerleme", + publicWord: "Herkese açık", + publishedToScene: "Sahneye yayınlandı.", + publishFailed: "Yayınlanamadı", + publishing: "Yayınlanıyor...", + ready: "Hazır", + readyToRollA: "Hazır —", + readyToRollB: "'a istediğin zaman bas.", + removeAdminRole: "Yönetici rolünü kaldır", + removeMember: "Üyeyi kaldır", + removeSocial: "Sosyal bağlantıyı kaldır", + removeVibe: "{{vibe}} kaldır", + roles: "Roller:", + sasquatch: "Sasquatch", + saveCrew: "Crew'i Kaydet", + skipToEnd: "Sona atla", + socialPlaceholder: "@kullaniciadi veya bağlantı", + sponsorDesc: "Yerel bir dükkân crew'ini destekliyorsa, dükkânlarına bağlantı veren bir “Sponsorlu” şeridi göstermek için buradan seç.", + stepAria: "Adım {{step}}: {{title}}", + stepBasics: "Temeller", + stepBasicsShort: "Temel", + stepBasicsHint: "Yalnızca olmazsa olmazlar — sadece bu adımla bir crew kurabilirsin.", + stepVibe: "Kimlik & Vibe", + stepVibeShort: "Vibe", + stepVibeHint: "Crew'inin uygulama genelinde nasıl göründüğü. Hepsi isteğe bağlı.", + stepSquad: "Ekip & Spotlar", + stepSquadShort: "Ekip", + stepSquadHint: "İnsanlarını ve ev sahanı ekle. Bunu her zaman sonra da yapabilirsin.", + stepExtras: "Ekstralar", + stepExtrasShort: "Ekstra", + stepExtrasHint: "Sonrası için güçlendirmeler — emin olmadığın her şeyi atla.", + extrasAllOptional: "Bu adımdaki her şey isteğe bağlı.", + groupIdentity: "Kimlik", + groupIdentityHint: "Kullanıcı adı, bağlantılar", + groupAi: "Sasquatch AI", + groupShowcase: "Vitrin", + groupPayments: "Ödemeler & kasa", + groupIntegrations: "Entegrasyonlar", + groupAdvanced: "Gelişmiş", + groupAdvancedHint: "deneysel", + pro: "Pro", + agentProNote: "Sasquatch tarafından desteklenir. Pro en iyi modelleri alır; Pro olmadan ücretsiz bir yedek kullanır.", + stepOf: "Adım {{step}} / {{total}}", + treasuryDescA: "Ortak bir hedef için sats topla — yerel DIY spotunu onarmak, bir crew gezisi, bir yarışma ödül havuzu. Şeffaf bir Lightning hedefi; zaplar", + treasuryDescStrong: "doğrudan cüzdanına gider", + treasuryDescB: "(profilinin Lightning adresi üzerinden). SkateSpots asla parayı tutmaz.", + upload: "Yükle", + uploadFailed: "Yükleme başarısız", + useCurrentLocation: "Mevcut konumu kullan", + vibeLabel: "Vibe / Odak", + videoDescA: "Crew'inin tam partı, montajı ya da son klibi. Bir", + videoDescB: "bağlantısı yapıştır — doğrudan crew sayfanda oynar.", + visibilityDescA: "Her üye kendi", + visibilityDescB: "'ini kontrol eder — anahtarıyla onayladığında", + visibilityDescC: "'i seçebilir — dışarıdakilerden gizli). Bunu onlar için ayarlayamazsın; bu onların kararı.", + website: "Web sitesi", + yourRoles: "Rollerin (Takım Lideri)", + youtubeDetected: "YouTube videosu algılandı", + invalidUrl: "Geçerli bir bağlantı gir (örn. https://example.com).", + }, + groupConversation: { + seoTitle: "Grup sohbeti - SkateSpots", + invalidLink: "Bu grup sohbeti bağlantısı geçersiz.", + loginTitle: "Bu grubu görmek için giriş yap", + secureSignerTitle: "Güvenli imzalayıcı gerekli", + secureSignerDesc: "Grup mesajları NIP-44 destekli bir imzalayıcı gerektirir.", + encryptedGroup: "Uçtan uca şifreli grup", + empty: "Henüz mesaj yok — gruba merhaba de.", + placeholder: "Gruba mesaj yaz...", + }, + hero: { + established: "Kuruluş {{year}}", + teamLeader: "Takım lideri: {{name}}", + ledBy: "Yöneten", + }, + inviteCard: { + acceptedTitle: "Davet kabul edildi 🛹", + acceptedDesc: "Crew kurucusu üyeleri {{crew}} üzerinde onaylar. Onayladıklarında kadroda görüneceksin.", + couldNotAccept: "Kabul edilemedi", + couldNotDecline: "Reddedilemedi", + acceptedDone: "Kabul edildi —", + confirmsMembers: "üyeleri onaylar", + declinedDone: "{{crew}} daveti reddedildi", + invitedYou: "seni katılmaya davet etti", + admin: "Yönetici", + accept: "Kabul et", + decline: "Reddet", + }, + inviteDialog: { + messageIntro: "Yo — SkateSpots'ta {{crew}} crew'ine katıl 🛹", + messageBody: "Nostr anahtarınla giriş yap, sonra crew sayfasından katılma isteği gönder.", + copyFailed: "Kopyalama başarısız", + shareTitle: "{{crew}} grubuna katıl", + sentTitle: "Davet gönderildi! 🛹", + sentDesc: "Kabul etmeleri ya da reddetmeleri için bir bildirim alacaklar.", + couldNotSend: "Davet gönderilemedi", + trigger: "Davet et", + title: "{{crew}} grubuna davet et", + description: "Birinin Nostr anahtarına davet gönder ya da bir bağlantı paylaş.", + sendTab: "Davet gönder", + shareTab: "Bağlantı paylaş", + npubLabel: "Kaykaycının npub'u", + invalidNpub: "Bu geçerli bir npub'a benzemiyor.", + noteLabel: "Not", + optional: "(isteğe bağlı)", + notePlaceholder: "Bizimle kaymaya gel…", + inviteAsAdmin: "Yönetici olarak davet et", + inviteAsAdminDesc: "Crew'i yönetebilir & başkalarını davet edebilir.", + sendButton: "Davet gönder", + sendFooter: "Kabul etmeleri ya da reddetmeleri için bir bildirim alacaklar. Üyelik yalnızca kabul ettiklerinde sayılır.", + inviteLink: "Davet bağlantısı", + messageLabel: "Mesaj", + copyMessage: "Mesajı kopyala", + founderHint: "Kurucu olarak bir üyenin anahtarını doğrudan da ekleyebilirsin, sonra onlar onaylar.", + addMemberSettings: "Crew ayarlarında üye ekle", + }, + joinRequest: { + moreCount: "+{{count}} daha", + addedTitle: "{{name}}, {{crew}} grubuna eklendi 🛹", + addedDesc: "Üye olarak görünmek için kendi tarafından onaylayacaklar.", + vouchedTitle: "{{name}} için kefil oldun 🤝", + vouchedDesc: "{{crew}} kurucusu desteğini görecek ve onları ekleyebilecek.", + couldNotEndorse: "Desteklenemedi", + endorsedDoneA: "Kefil oldun:", + endorsedDoneB: "— kurucu onaylayacak", + vouchedBy: "Kefil olan", + approveAndAdd: "Onayla & ekle", + addToCrew: "Crew'e ekle", + vouchedWaiting: "Kefil olundu — kurucu bekleniyor", + vouchForThem: "Onlar için kefil ol", + leadershipOnly: "Yalnızca crew liderliği.", + adminHelp: "Yöneticiler üyeleri doğrudan ekleyemez — kefil olmak, bu rider'ı desteklediğini kurucuya söyler.", + }, + leadership: { + teamLeader: "Takım Lideri", + captain: "Kaptan", + verifiedMember: "Doğrulanmış üye", + messageName: "{{name}} kişisine mesaj gönder", + title: "Liderlik", + captainsOne: "{{count}} Kaptan", + captainsMany: "{{count}} Kaptan", + footer: "Takım Lideri kadroyu yönetir; Kaptanlar davet etmeye, jam düzenlemeye ve crew'i düzenli tutmaya yardımcı olur.", + }, + linkField: { + title: "Bağlı Crew", + description: "Bir crew de mi yönetiyorsun? Bağla ki insanlar stüdyon ile crew'in arasında geçiş yapabilsin. İsteğe bağlı. Bu crew'i crew düzenleyicisinden profile geri bağladığında ikisinde de yeşil", + descriptionRest: "rozeti görünür.", + none: "Henüz crew'in yok. Buraya bağlamak için Crew'ler sayfasında bir tane oluştur.", + linkedCrew: "Bağlı crew ({{id}})", + }, + lookingFor: { + title: "Açık Çağrı", + subtitle: "Bu crew şunları arıyor:", + }, + memberVisibility: { + updatedTitle: "Görünürlük güncellendi", + updatedCrew: "Artık yalnızca crew arkadaşlarına görünürsün.", + updatedPublic: "Artık bu crew'de herkese açık görünürsün.", + couldNotUpdate: "Güncellenemedi", + title: "Bu crew'deki görünürlüğün", + save: "Görünürlüğü kaydet", + }, + newMessage: { + inCrew: "Crew'inde: {{crews}}", + crewmate: "Crew arkadaşı", + following: "Takip ediliyor", + invalidKey: "Bu geçerli bir npub veya public key'e benzemiyor.", + description: "İnsanlarını isme göre ara ya da herkese mesaj göndermek için bir npub yapıştır. Grup başlatmak için iki veya daha fazlasını seç.", + searchPlaceholder: "İsim ara veya npub1... yapıştır", + messageThisKey: "Bu anahtara mesaj gönder", + loadingPeople: "İnsanların yükleniyor...", + noPeople: "Henüz crew arkadaşı veya takip yok.", + noPeopleHint: "Bir sohbet başlatmak için yukarıya birinin npub'unu yapıştır.", + yourCrews: "Crew'lerin", + selected: "{{count}} seçildi", + startGroup: "Grup başlat ({{count}})", + message: "Mesaj", + }, + nip05: { + mismatch: "Bu alan adı, kullanıcı adını crew kurucusundan farklı bir Nostr anahtarına yönlendiriyor. Doğrulanmadı.", + verified: "Doğrulandı — alan adı bu kullanıcı adının crew'in kurucu anahtarına ait olduğunu onaylıyor.", + }, + requestCollective: { + sentTitle: "İstek gönderildi 🤝", + sentDesc: "{{name}} bunu bildirimlerinde görecek ve seni ekleyebilecek.", + couldNotSend: "İstek gönderilemedi", + title: "Bu kolektife katıl", + waiting: "İstek gönderildi — {{name}} bekleniyor.", + askA: "Arkadaki crew'den", + askB: "seni kadroya eklemesini iste. Bir bildirim alacaklar ve tek dokunuşla seni ekleyebilecekler.", + placeholder: "İsteğe bağlı: neden iyi bir uyum olacağını söyle…", + sendButton: "İstek gönder", + }, + requestToJoin: { + sentTitle: "İstek gönderildi! 🛹", + sentDesc: "{{crew}} liderliği bunu bildirimlerinde görecek.", + couldNotSend: "İstek gönderilemedi", + trigger: "Katılma isteği", + title: "{{crew}} grubuna katıl", + description: "Crew'in kurucusuna & yöneticilerine bildirir, böylece seni ekleyebilirler.", + placeholder: "Merhaba de — nerede kaydığın, kimi tanıdığın, neden girmek istediğin…", + sending: "Gönderiliyor…", + sendButton: "Katılma isteği gönder", + }, + sponsorBanner: { + loading: "Sponsor yükleniyor…", + sponsoredBy: "Sponsorlu", + }, + sponsorPicker: { + selected: "Sponsor seçildi", + setLoading: "Sponsor ayarlandı (dükkân yükleniyor…)", + set: "Sponsor ayarlandı", + clearAria: "Sponsoru temizle", + searchPlaceholder: "Kaykay dükkânlarını isme veya şehre göre ara…", + loading: "Dükkânlar yükleniyor…", + noMatch: "Eşleşen dükkân yok — farklı bir arama dene.", + none: "Henüz dükkân bulunamadı.", + }, + treasury: { + title: "Crew Kasası", + ofGoal: "{{target}} hedefinin", + goalReached: "Hedefe ulaşıldı!", + funded: "%{{percent}} finanse edildi", + contributionOne: "{{count}} katkı", + contributionMany: "{{count}} katkı", + daysLeft: "{{days}} gün kaldı", + closed: "kapalı", + nonCustodial: "Saklamasız · zaplar doğrudan crew'in Lightning cüzdanına gider", + }, + userStatus: { + atSpot: "📍 Bir spota", + autoClears: "⏱️ {{min}} dk içinde otomatik temizlenir", + }, + video: { + title: "Part", + fullVideo: "Tam video · montaj", + latestClip: "Son klip", + watch: "İzle", + iframeTitle: "{{crew}} — video", + playAria: "{{crew}} videosunu oynat", + thumbAlt: "{{crew}} video küçük resmi", + instagramTitle: "Instagram klibi", + }, + vouch: { + removedTitle: "Kefillik kaldırıldı", + vouchedTitle: "Kefil olundu!", + removedDesc: "Artık {{name}} için kefil değilsin.", + vouchedDesc: "{{name}} için kefil oldun. Sahne kendi insanına güvenir.", + couldNotVouch: "Kefil olunamadı", + title: "Sahne Kefillikleri", + sceneVerified: "Sahne doğrulamalı", + vouched: "Kefil olundu", + newUnvouched: "Yeni · kefilsiz", + checking: "Sahne kontrol ediliyor…", + empty: "Henüz kefillik yok. Çevrendeki kaykaycılardan gelen kefillikler, birinin gerçek olduğunun en iyi göstergesidir — rastgele gelen biri değil.", + countOne: "{{count}} kefillik", + countMany: "{{count}} kefillik", + trusted: "{{count}} tanesi güven ağındaki kaykaycılardan", + remove: "Kefilliği kaldır", + vouchFor: "{{name}} için kefil ol", + ownerNote: "İşini bilen kaykaycılar burada senin için kefil olabilir.", + }, + }, +}; export default trBatch5; diff --git a/src/i18n/tr/batch6.ts b/src/i18n/tr/batch6.ts index dbd9289..c7cff95 100644 --- a/src/i18n/tr/batch6.ts +++ b/src/i18n/tr/batch6.ts @@ -1,4 +1,1948 @@ -/** tr — batch 6. Filled by the translation pass; empty until then. */ -const trBatch6 = {}; +/** tr — batch 6: placesUi, marketUi, labOptions. */ +const trBatch6 = { + placesUi: { + addToCalendar: { + add: "Takvime Ekle", + appleOutlook: "Apple / Outlook (.ics)", + google: "Google Takvim", + }, + attendees: { + goingCount: "katılıyor", + goingTab: "Katılıyor ({{count}})", + interestedTab: "İlgileniyor ({{count}})", + nobodyGoing: "Henüz kimse onaylamadı.", + nobodyInterested: "Henüz kimse ilgilendiğini belirtmedi.", + noRsvps: "Henüz RSVP yok — katıldığını ilk söyleyen sen ol.", + trusted: "Güvenilir", + trustedTitle: "Takip ettiğin biri veya güvenilir bir haritacı", + youTrust: "güvendiğin", + }, + bounty: { + addressCoords: "Adres ve koordinatlar", + basic: "Temel", + contactInfo: "İletişim bilgileri", + description: "Açıklama", + earningPotential: "Kazanç Potansiyeli", + excellent: "Mükemmel!", + gettingStarted: "Başlarken", + good: "İyi", + onePhoto: "En az 1 fotoğraf", + openingHours: "Açılış saatleri", + shopName: "Shop adı", + threePhotos: "3+ fotoğraf", + tip: "💡 Daha yüksek kalite = topluluktan daha fazla Zap!", + }, + calendar: { + allDay: "Tüm gün", + eventDay: "Event günü", + eventsOnDay: "{{count}} event", + eventsThisMonth: "bu ayki event'ler", + going: "katılıyor", + months: { + january: "Ocak", + february: "Şubat", + march: "Mart", + april: "Nisan", + may: "Mayıs", + june: "Haziran", + july: "Temmuz", + august: "Ağustos", + september: "Eylül", + october: "Ekim", + november: "Kasım", + december: "Aralık", + }, + nextMonth: "Gelecek ay", + nothingOnDay: "Bu gün hiçbir şey yok.", + prevMonth: "Önceki ay", + tapHighlighted: "Neler olduğunu görmek için vurgulanan bir güne dokun.", + today: "Bugün", + tourDay: "Tour günü", + toursOnDay: "{{count}} tour", + toursThisMonth: "bu ayki tour'lar", + weekdays: { + sun: "Paz", + mon: "Pzt", + tue: "Sal", + wed: "Çar", + thu: "Per", + fri: "Cum", + sat: "Cmt", + }, + weekdaysShort: { + sun: "P", + mon: "P", + tue: "S", + wed: "Ç", + thu: "P", + fri: "C", + sat: "C", + }, + }, + countdown: { + ended: "Sona erdi", + happeningNow: "Şu anda oluyor", + inDays: "{{count}} gün içinde", + inHoursMins: "{{hours}}s {{mins}}d içinde", + inMins: "{{count}} dk içinde", + startingNow: "Şimdi başlıyor", + tomorrow: "Yarın", + }, + createEvent: { + add: "Ekle", + addNewSpot: "Yeni bir spot ekle →", + changeSpot: "Spot Değiştir", + created: "Event oluşturuldu!", + createdDesc: "Event'in ağa yayımlandı.", + entryFee: "Giriş Ücreti", + entryFeeHint: "(isteğe bağlı — örn. \"500 sats\" veya \"£10\")", + entryFeePlaceholder: "Ücretsiz event'ler için boş bırak", + featuring: "{{name}} yer alıyor", + featuringDesc: "Bu performans canlı müzik olarak etiketlenecek ve konser listesinde gösterilecek.", + fundingGoal: "Fon Hedefi", + fundingGoalHint: "(isteğe bağlı — Zap ile kitle fonlaması için sats)", + fundingGoalPlaceholder: "örn. 50000", + geoNotSupported: "Coğrafi konum desteklenmiyor", + geoNotSupportedDesc: "Tarayıcın coğrafi konumu desteklemiyor.", + hideSpots: "Spot'ları Gizle", + hostingAs: "{{name}} olarak ev sahipliği yapıyorsun", + hostingAsDesc: "Bu event crew sayfanda görünecek ve crew tarafından düzenlenmiş olarak etiketlenecek.", + imageUploaded: "Görsel yüklendi", + imageUploadedDesc: "Görselin başarıyla yüklendi.", + invalidDate: "Geçersiz tarih", + invalidDateDesc: "Lütfen geçerli bir başlangıç tarihi ve saati gir.", + invalidEnd: "Geçersiz bitiş saati", + invalidEndDesc: "Bitiş saati başlangıç saatinden sonra olmalı.", + linkedTo: "Bağlı: {{title}}", + linkToSpot: "Bir Skate Spot'a bağla", + linkToShop: "Bir Shop'a bağla", + selectedShop: "{{name}} ile bağlantılı", + selectShopHint: "İsteğe bağlı — bir skate shop'ta düzenleniyor veya ev sahipliği yapılıyor.", + selectShop: "Shop seç", + changeShop: "Shop değiştir", + hideShops: "Shop'ları gizle", + searchShops: "Shop ara…", + noShopsMatch: "Aramanla eşleşen Shop yok.", + noShopsAvailable: "Henüz Shop yok.", + linkToTour: "Bir Tour'a bağla (İsteğe bağlı)", + linkTourDesc: "Bu event'i bir Tour'a bağla, böylece daha büyük bir serinin parçası olduğu görünsün. Ulusal Tour'lar, uluslararası maceralar veya World Destruction Tour mücadele günleri için harika.", + loadingSpots: "Spot'lar yükleniyor...", + loadingTours: "Tour'lar yükleniyor...", + locationError: "Konum hatası", + locationFound: "Konum bulundu", + locationFoundDesc: "Mevcut konumun ayarlandı.", + logoUrl: "Logo URL (isteğe bağlı)", + noSpotsAvailable: "Spot yok", + noSpotsMatch: "Aramanla eşleşen Spot yok", + noTourLinked: "Tour bağlı değil", + optional: "(isteğe bağlı)", + pastDesc: "Gelecekte bir tarih ve saat seç ki patenciler RSVP verebilsin ve gelebilsin.", + pastTitle: "Bu başlangıç saati geçmişte", + publishFailed: "Yayımlanamadı", + publishFeatured: "Öne Çıkan Event'i Yayımla", + removeSponsor: "Sponsoru kaldır", + searchSpots: "Spot'ları ad, konum veya kategoriye göre ara...", + selectedSpot: "Seçildi: {{name}}", + selectSpot: "Spot Seç", + selectSpotHint: "Bu event'in gerçekleşeceği haritadan bir spot seç", + selectTour: "Tour Seç", + somethingWrong: "Bir şeyler ters gitti", + sponsorName: "Sponsor adı", + sponsors: "Sponsorlar", + sponsorsHint: "Bunu destekleyen bir Shop veya marka mı var? Logolarını ekle — event'te \"Presented by\" şeridi olarak görünür.", + startRequired: "Başlangıç saati gerekli", + startRequiredDesc: "Lütfen event'in ne zaman başladığını gir.", + titleRequired: "Başlık gerekli", + titleRequiredDesc: "Lütfen bu event için bir ad gir.", + uploadFailed: "Yükleme başarısız", + uploadFailedDesc: "Görsel yüklenemedi", + websiteUrl: "Web sitesi URL'si (isteğe bağlı)", + }, + createShop: { + address: "Shop Adresi", + addressPlaceholder: "örn. 411 N Fairfax Ave, Los Angeles, CA 90036", + addressRequired: "Adres gerekli", + addressRequiredDesc: "Lütfen Shop adresini gir.", + contactHint: "Müşterilerin sana ulaşmasına yardımcı ol (en az bir iletişim yöntemi önerilir)", + contactInfo: "İletişim Bilgileri", + created: "🎉 Shop eklendi!", + createdDesc: "Skate shop'ın artık haritada. Patenciler teşekkür etmek için sana Zap gönderebilir!", + descriptionPlaceholder: "İnsanlara Shop'ını, ne sattığını, uzmanlığını anlat...", + detailsDesc: "Topluluğa Shop'ını anlat. * ile işaretli tüm alanlar zorunludur.", + email: "E-posta", + hoursOfOperation: "Çalışma Saatleri", + hoursPlaceholder: "örn. Pzt-Cmt 10:00-20:00, Paz 12:00-18:00", + instagram: "Instagram", + invalidCoords: "Geçersiz koordinatlar", + invalidCoordsDesc: "Lütfen geçerli enlem (-90 ile 90) ve boylam (-180 ile 180) gir.", + latPlaceholder: "Enlem (örn. 34.0737)", + lngPlaceholder: "Boylam (örn. -118.3614)", + locationRequired: "Konum gerekli", + locationRequiredDesc: "Lütfen koordinatları gir veya mevcut konumunu kullan.", + loginToAdd: "Bir skate shop eklemek için giriş yapmalısın.", + namePlaceholder: "örn. Supreme Los Angeles", + nameRequired: "Shop adı gerekli", + nameRequiredDesc: "Lütfen Shop'ın için bir ad gir.", + phoneNumber: "Telefon Numarası", + publishFailedDesc: "Bir şeyler ters gitti. Ayrıntılar için konsola bak.", + shopPhotoAlt: "Shop", + shopPhotos: "Shop Fotoğrafları", + subtitle: "Shop'ını haritada listele ve toplulukla bağlantı kur", + upload: "Yükle", + }, + createTour: { + acceptedClipSources: "Kabul Edilen Klip Kaynakları", + acceptedClipSourcesDesc: "Klip gönderimleri için hangi formatları kabul edeceksin?", + accommodationInfo: "Konaklama Bilgileri", + accommodationPlaceholder: "Konaklama önerileri veya düzenlemeleri, örn. 'Rota boyunca bütçe hostelleri', 'Kamp malzemeleri gerekli', 'Airbnb'ler dahil'", + addChallenge: "Mücadele Ekle", + addCity: "Bir şehir ekle...", + addCountry: "Bir ülke ekle...", + addShopFirst: "Önce bir Shop ekle", + alsoSelected: "Ayrıca seçildi:", + availabilityPlaceholder: "örn. Hafta sonları, sadece sabahları, randevuyla", + availabilityQuestion: "Genellikle ne zaman müsaitsin?", + availableShops: "Mevcut Skate Shop'lar ({{count}})", + challengeDescPlaceholder: "İsteğe bağlı açıklama...", + challenges: "Mücadeleler", + challengesRequired: "Mücadeleler gerekli", + challengesRequiredDesc: "Lütfen takımların tamamlaması için en az bir mücadele ekle.", + challengesSecret: "Tüm mücadeleler yarışma başlangıç tarihine kadar GİZLİDİR. Takımlar o zamana kadar göremez!", + challengeTitlePlaceholder: "Mücadele başlığı, örn. 'Kickflip a 10 stair'", + citiesLabel: "Şehirler", + citiesOnTour: "Tour'daki Şehirler", + cityPlaceholder: "örn. Berlin, Almanya", + cityRegion: "Şehir / Bölge", + cityRequired: "Şehir/bölge gerekli", + cityRequiredDesc: "Lütfen şehrini veya bölgeni gir.", + clipAnyUrl: "🔗 Herhangi bir URL", + clipBlossom: "📦 Blossom Yükleme", + clipInstagram: "📸 Instagram", + clipYouTube: "▶️ YouTube", + competitionDates: "Yarışma Tarihleri", + competitionDatesWarning: "⚠️ Tüm mücadeleler başlangıç tarihine kadar GİZLİDİR! Takımlar yarışma başlayana kadar mücadeleleri göremez.", + competitionLocations: "Yarışma Yerleri", + competitionLocationsDesc: "Takımlar nerede yarışacak? İlgili tüm şehirleri ve ülkeleri ekle.", + coordsHint: "Koordinatlar isteğe bağlıdır. Buluşma noktanı haritaya sabitlemek için ekle.", + countriesLabel: "Ülkeler", + countriesRequired: "Ülkeler gerekli", + countriesRequiredDesc: "Lütfen uluslararası Tour'ın için en az bir ülke ekle.", + createdDestruction: "💀 WORLD DESTRUCTION TOUR OLUŞTURULDU!", + createdDestructionDesc: "Takımlar kayıt olabilir. Mücadeleler başlangıç tarihinde açıklanır!", + createDestructionTour: "World Destruction Tour Oluştur", + createdInternational: "✈️ Uluslararası Tour Oluşturuldu!", + createdInternationalDesc: "Küresel maceran listelendi! Dünya çapındaki patencilerle bağlantı kur.", + createdLocal: "🏠 Yerel Tour Oluşturuldu!", + createdLocalDesc: "Tour'ın artık görünür. Patenciler DM ile rezervasyon yapabilir!", + createdNational: "🚐 Ulusal Tour Oluşturuldu!", + createdNationalDesc: "Yolculuğun yayında! İlgilenen patencilerle koordinasyon kurmaya başla.", + departure: "Kalkış *", + departureRequired: "Kalkış tarihi gerekli", + departureRequiredDesc: "Yolculuğun ne zaman kalktığını belirle ki patenciler plan yapıp rezervasyon yapabilsin.", + descriptionPlaceholder: "Patencilerin neler yaşayacağını anlat: ziyaret edeceğiniz spot'lar, atmosfer, Tour'ını özel kılan şey...", + destructionDesc: "Küresel KOTR tarzı yarışmanı kur - HER ŞEYİ sen belirlersin!", + discountHint: "Tour katılımcıları bu indirimi almak için rezervasyon onayını Shop'ta gösterebilir", + discountPercentage: "İndirim Yüzdesi", + dropTour: "Bir Tour Yayınla", + duration: "Süre", + durationHintDestruction: "Yarışma ne kadar sürüyor? (1-12 ay)", + durationHintInternational: "Macera kaç hafta? (en fazla 2 ay)", + durationHintLocal: "Tipik Tour'ın ne kadar sürer?", + durationHintNational: "Yolculuk kaç gün?", + durationWeeksMonths: "{{weeks}} hafta (~{{months}} ay)", + editTour: "Tour'ı Düzenle", + enable: "Etkinleştir", + enabled: "Etkin", + endBeforeStart: "Bitiş başlangıçtan önce", + endBeforeStartDesc: "Yarışma bitiş tarihi başlangıç tarihinde veya sonrasında olmalı.", + endDate: "Bitiş Tarihi", + entryFeeHint: "Sen %95'ini alırsın • Platform %5 alır • Ücretsiz giriş için boş bırak", + entryFeePerTeam: "Takım Başına Giriş Ücreti (sats)", + entryFeePlaceholder: "örn. 100000", + entryPrizes: "Giriş ve Ödüller", + filmPremieres: "Takım Filmi Prömiyerleri", + filmPremieresDesc: "Yarışmadan sonra her takımın klipleri dünya çapındaki yerel skate shop'larda prömiyer yapabilecek tam bir film haline gelir.", + filmPremieresInfo: "🎥 Takımlar mücadele kliplerini final filminde birleştirir. Shop'lar prömiyer event'lerine ev sahipliği yapabilir, küresel yarışmayı yerel topluluklara bağlayabilir.", + filmReleaseDate: "Film Çıkış Tarihi (İsteğe bağlı)", + filmReleaseDateHint: "Filmlerin ne zaman erişilebilir olacağı. Yarışma bittikten hemen sonra yayınlamak için boş bırak.", + fixedSession: "Sabit oturum", + fixedSessionDesc: "Belirli bir tarih ve saat", + flexible: "Esnek", + flexibleDesc: "DM ile istediğin zaman rezervasyon yap", + hide: "Gizle", + howDestruction1: "• Küresel takım yarışması - en fazla 12 ay", + howDestruction2: "• Mücadeleleri, puanları, ödülleri SEN belirlersin - biz sadece platformu sağlarız", + howDestruction3: "• Tüm mücadeleler yarışma başlangıç tarihine kadar GİZLİDİR", + howDestruction4: "• Klipler Blossom yükleme VEYA harici bağlantılar (YouTube, Instagram, herhangi bir URL) ile", + howDestruction5: "• Sadece ileri seviye - tüm spot türleri otomatik olarak dahildir", + howDestruction6: "• Platform giriş ücretlerinin sadece %5'ini alır (ödül havuzunun DEĞİL)", + howDestructionTitle: "💀 WORLD DESTRUCTION TOUR - KOTR Tarzı", + howInternational1: "• Birden çok ülkede sınır ötesi maceralar", + howInternational2: "• Fiyatı sen belirlersin — platform sadece %5 alır", + howInternational3: "• Kalkış ve dönüş tarihlerini ayarla ki crew uçak bileti alabilsin", + howInternational4: "• Dünyanın her yerinden patencileri bağla", + howInternational5: "• Unutulmaz küresel deneyimler yarat!", + howInternationalTitle: "Uluslararası Tour'lar Nasıl Çalışır", + howItWorks: "Nasıl çalışır:", + howLocal1: "• Fiyatı sen belirlersin — platform %10 alır", + howLocal2: "• Gizli spot'lar gizli kalır — onları bizzat sen gösterirsin", + howLocal3: "• Planlı bir oturum düzenle veya esnek / randevuyla tut", + howLocal4: "• Patenciler DM ile rezervasyon yapar, Lightning ile öder ve takvimine ekleyebilir", + howLocal5: "• Yorumlar ve Zap'larla itibarını inşa et", + howLocalTitle: "Yerel Tour'lar Nasıl Çalışır", + howNational1: "• Ülken içinde çok şehirli yolculuklar", + howNational2: "• Fiyatı sen belirlersin — platform sadece %7 alır", + howNational3: "• Yolculuk tarihlerini ayarla ki patenciler izin ve seyahat planlayabilsin", + howNational4: "• Crew için ulaşım / konaklama bilgisi ekle", + howNational5: "• Efsanevi kaykay maceraları inşa et!", + howNationalTitle: "Ulusal Tour'lar Nasıl Çalışır", + imageUploadedDesc: "Tour görselin yüklendi.", + incompleteCoords: "Eksik koordinatlar", + incompleteCoordsDesc: "Lütfen hem enlemi hem boylamı gir veya ikisini de boş bırak.", + internationalDetails: "Uluslararası Macera Ayrıntıları", + languagesSelected: "{{count}} seçildi", + languagesSpoken: "Konuşulan Diller", + latOptional: "Enlem (isteğe bağlı)", + lngOptional: "Boylam (isteğe bağlı)", + loadingProfile: "Profil Yükleniyor...", + loadingProfileDesc: "NIP-05 doğrulama durumun kontrol ediliyor.", + loadingShops: "Shop'lar yükleniyor...", + localShopPremieres: "Yerel Shop Prömiyerleri", + localShopPremieresDesc: "Dünya çapındaki skate shop'lar film gecelerine ev sahipliği yapabilir", + loginToCreate: "Bir tour oluşturmak için giriş yapmalısın.", + maxGroupSize: "Maks Grup Boyutu", + maxTeams: "Maks Takım", + maxTeamSize: "Maks Takım Boyutu", + meetingLocationSet: "Mevcut konumun buluşma noktası olarak ayarlandı.", + meetingPointDesc: "Tour katılımcılarıyla nerede buluşacaksın? Halka açık, iyi bilinen bir yer seç.", + meetingPointLabel: "Buluşma Noktası", + meetingPointPlaceholder: "örn. Warschauer Straße İstasyonu", + meetingPointRequired: "Buluşma noktası gerekli", + meetingPointRequiredDesc: "Lütfen Tour katılımcılarıyla nerede buluşacağını gir.", + minTeamSize: "Min Takım Boyutu", + noChallenges: "Henüz mücadele yok", + noChallengesDesc: "Takımların tamamlaması için mücadele ekle", + noPartnerShop: "Partner Shop yok", + noShopsFound: "Ağda henüz skate shop bulunamadı.", + noShopsRegistered: "Henüz kayıtlı skate shop yok", + onlineRelease: "Çevrimiçi Yayın", + onlineReleaseDesc: "Filmleri YouTube/Nostr'da da yayınla", + organizerContact: "Organizatör İletişim Bilgileri", + organizerContactHint: "Bu, kayıtlı takımlara görünür olacak", + organizerContactPlaceholder: "Takımlar sana nasıl ulaşabilir? örn. Nostr npub, e-posta, Telegram vb.", + partnerDiscountDesc: "Tour katılımcılarına yerel bir skate shop'ta indirim sun", + partnerStep1: "1. Güvendiğin yerel bir skate shop ile ortak ol", + partnerStep2: "2. Tour katılımcıları için bir indirim yüzdesi belirle", + partnerStep3: "3. Tour'dan sonra katılımcılara Shop'ta gösterecekleri bir onay ver", + partnerStep4: "4. Shop indirimi uygular - topluluğu güçlendirir ve ayak trafiğini artırır!", + percentOff: "%{{percent}} İNDİRİM", + photoHint: "Kaykay yaparken bir fotoğrafını veya Tour'ından havalı bir spot ekle.", + pickRide: "Aracını seç", + place1: "🥇 1.", + place2: "🥈 2.", + place3: "🥉 3.", + platformFee: "Fiyatı sen belirlersin • Platform {{percent}} alır", + points: "Puanlar:", + pricePerPerson: "Kişi Başı Fiyat (sats)", + pricePlaceholder: "örn. 25000", + prizeDistribution: "Ödül Dağılımı", + prizePoolHint: "İsteğe bağlı - toplam mevcut ödüller", + prizePoolPlaceholder: "örn. 2000000", + proTipDesc: "Partner indirimi listeleyen önce, indirim yüzdesi üzerinde anlaşmak için Shop sahibiyle DM yoluyla iletişime geç. Bu, onların da onayladığından ve Tour katılımcıların için indirimi uygulayacağından emin olmanı sağlar.", + proTipTitle: "💡 İpucu: Önce Shop ile koordine ol!", + return: "Dönüş", + returnBeforeDeparture: "Kalkıştan önce dönüş", + returnBeforeDepartureDesc: "Dönüş tarihi, kalkış tarihinde veya sonrasında olmalı.", + roadTripDetails: "Yolculuk Ayrıntıları", + schedule: "Program", + scheduleDesc: "Bunu tek seferlik planlı bir oturum olarak düzenle veya esnek bırakıp patencilerin DM ile zaman ayarlamasına izin ver.", + secretUntilStart: "Başlangıca kadar gizli", + selectPartnerShop: "Partner Shop Seç", + sessionDateRequired: "Oturum tarihi gerekli", + sessionDateRequiredDesc: "Planlı oturumun için tarih ve saati seç veya esnek programa geç.", + sessionDateTime: "Oturum tarihi ve saati", + sessionDateTimeHint: "Patenciler bu saati görecek ve Tour sayfasından takvimine ekleyebilecek.", + shopPremieresContact: "Film prömiyeri gecelerini ayarlamak için bu Shop'larla doğrudan iletişime geç. Tüm düzenlemeler gizlidir.", + shopPremieresHow: "💡 Shop Prömiyerleri Nasıl Çalışır: Prömiyer gecelerini ayarlamak için Shop'larla doğrudan iletişime geç. Tüm düzenlemeler seninle Shop'lar arasında gizlidir.", + shopsCanRegister: "Shop'lar /create-shop adresinden kayıt olabilir", + show: "Göster", + showAllLanguages: "{{count}} dilin tümünü göster", + somethingWrong: "Bir şeyler ters gitti.", + spotTypes: "Spot Türleri", + spotTypesRequired: "Spot türleri gerekli", + spotTypesRequiredDesc: "Lütfen göstereceğin en az bir spot türü seç.", + startDate: "Başlangıç Tarihi", + startDateRequired: "Başlangıç tarihi gerekli", + startDateRequiredDesc: "Lütfen yarışmanın ne zaman başlayacağını belirle (mücadeleler bu tarihte açıklanır).", + startingCity: "Başlangıç Şehri", + startingCityPlaceholder: "örn. Los Angeles, ABD", + teamSettings: "Takım Ayarları", + teamsCount: "{{count}} takım", + titlePlaceholder: "örn. Berlin Kreuzberg - Yeraltı Spot Tour'ı", + titleRequired: "Tour başlığı gerekli", + titleRequiredDesc: "Lütfen Tour'ın için bir ad gir.", + totalPercent: "Toplam: %{{percent}}", + totalPrizePool: "Toplam Ödül Havuzu (sats)", + tourDesc: "Patencilere Tour'ında onları nelerin beklediğini anlat", + tourDetails: "Tour Ayrıntıları", + tourPhoto: "Tour Fotoğrafı", + tourTitle: "Tour Başlığı", + transportDestructionPlaceholder: "Takımlar konumlar arasında nasıl seyahat edecek? Sağlanan veya önerilen bir ulaşım var mı?", + transportInfo: "Ulaşım Bilgileri", + transportPlaceholder: "Katılımcılar nasıl seyahat edecek? örn. 'Minibüs sağlanıyor', 'Barcelona'ya uçun, minibüs kiralarız', 'Şehirler arası tren'", + tripDatesDesc: "Tarihleri kesinleştir ki patenciler izin isteyebilsin, uçak bileti alsın ve yolculuğu planlayabilsin.", + tripDatesTitle: "Yolculuk Tarihleri", + updated: "Tour güncellendi!", + updatedDesc: "Değişikliklerin yayımlandı.", + upload: "Yükle", + view: "Görüntüle →", + worldDestruction: "World Destruction Tour", + youReceive: "Alacağın: kişi başı {{amount}} sats", + }, + editEvent: { + accessDenied: "Erişim Reddedildi", + accessDeniedDesc: "Sadece kendi oluşturduğun event'leri düzenleyebilirsin.", + backToEvent: "Event'e Dön", + detailsDesc: "Bu event hakkındaki bilgileri güncelle. * ile işaretli tüm alanlar zorunludur.", + eventCover: "Event kapağı", + locationUpdated: "Konum güncellendi.", + loginToEdit: "Bu event'i düzenlemek için giriş yapmalısın.", + newSpot: "Yeni spot: {{location}}.", + newTime: "Yeni saat: {{date}} {{time}}.", + saveChanges: "Değişiklikleri Kaydet", + saving: "Kaydediliyor...", + title: "Event'i Düzenle", + updated: "Event güncellendi!", + updatedDesc: "Değişikliklerin ağa yayımlandı.", + updateDetails: "{{title}} için ayrıntıları güncelle", + updatedNotified: "Değişiklikler yayımlandı — {{count}} katılımcıya bildirildi.", + updateFailed: "Güncellenemedi", + updateMessage: "{{parts}} — ayrıntılar için event'e bak.", + }, + editShop: { + accessDeniedDesc: "Sadece kendi oluşturduğun Shop'ları düzenleyebilirsin.", + backToShop: "Shop'a Dön", + detailsDesc: "Shop bilgilerini güncelle. * ile işaretli tüm alanlar zorunludur.", + loginToEdit: "Bu Shop'ı düzenlemek için giriş yapmalısın.", + updated: "Shop güncellendi!", + updateDetails: "{{name}} için ayrıntıları güncelle", + }, + editTour: { + accessDeniedDesc: "Sadece kendi oluşturduğun Tour'ları düzenleyebilirsin.", + loginToEdit: "Bu Tour'ı düzenlemek için giriş yapmalısın.", + }, + eventCard: { + report: "Bildir", + }, + eventDetail: { + aCrew: "bir crew", + addToCalendar: "Takvime ekle", + backToEvents: "Event'lere Dön", + cancelled: "Bu event iptal edildi", + checkUpdate: "— güncellemeye bak", + copyFailed: "Kopyalama başarısız", + date: "Tarih", + editEvent: "Event'i düzenle", + eventFallback: "Event", + eventOrganizer: "Event Organizatörü", + getDirections: "Yol Tarifi Al", + linkCopied: "Bağlantı kopyalandı", + linkCopiedDesc: "Event bağlantısı panoya kopyalandı — istediğin yere yapıştır.", + live: "Canlı:", + liveMusic: "canlı müzik", + location: "Konum", + newLocation: "Yeni konum", + noRsvps: "Hiç RSVP kaydedilmedi.", + organizer: "Organizatör", + rsvpsClosed: "RSVP'ler kapalı — bu event ev sahibi tarafından iptal edildi.", + seeMap: "Haritada gör", + shareEvent: "Event'i paylaş", + shareText: "{{title}} — SkateSpots'ta bir kaykay event'i", + shareTextFallback: "SkateSpots'taki bu kaykay event'ine göz at", + time: "Saat", + timeChanged: "Saat değişti", + updatesFromHost: "Ev sahibinden güncellemeler", + where: "Nerede", + whoCame: "Kim geldi", + whosGoing: "Kim geliyor", + }, + events: { + calendar: "Takvim", + createTour: "Tour Oluştur", + events: "Event'ler", + faqFooter: "Soruların mı var? SSS'ye bak →", + hosting: "Ev Sahipliği", + hostingSubtitle: "Event'lerin — RSVP'ler, güncellemeler ve hızlı düzenlemeler", + list: "Liste", + noEventsMatchFilters: "Filtrelerinle eşleşen event yok. Filtreleri ayarlamayı veya temizlemeyi dene.", + noPast: "Geçmiş event yok", + noPastBody: "Mevcut filtrelerinde geçmiş kaykay event'i bulunamadı.", + noTours: "Tour bulunamadı", + noToursBody: "Henüz kaykay Tour'ı yok. İlkini oluştur ve patencileri bir spot keşfine çıkar!", + noToursMatchFilters: "Filtrelerinle eşleşen Tour yok. Filtreleri ayarlamayı veya temizlemeyi dene.", + noUpcoming: "Yaklaşan event yok", + noUpcomingBody: "Yaklaşan kaykay event'i bulunamadı. İlkini oluşturan sen ol!", + past: "Geçmiş", + resultsCount: "{{count}} sonuç", + searchCity: "Şehir…", + searchEvent: "Event adı…", + searchTour: "Tour adı…", + tours: "Tour'lar", + toursSubtitle: "Yerel rehberler, yolculuklar ve dünya yıkım yarışmaları", + upcoming: "Yaklaşan", + }, + eventTypes: { + contest: "Yarışma", + demo: "Demo", + jam: "Jam", + meetup: "Buluşma", + premiere: "Prömiyer", + session: "Oturum", + workshop: "Atölye", + }, + featured: { + active: "Aktif", + bodyEvent: "Yayınlamak ücretsiz. Öne çıkan event'ler bir rozet alır ve event'ler sayfasının en üstünde yer alır.", + bodyTour: "Yayınlamak ücretsiz. Öne çıkan Tour'lar bir rozet alır ve Tour listesinin en üstünde yer alır.", + contextEvent: "Event'in her iki durumda da ücretsiz listelenir — öne çıkarma sadece rozet ve öne çıkarma ekler.", + contextTour: "Tour'ın her iki durumda da ücretsiz listelenir — öne çıkarma sadece rozet ve öne çıkarma ekler.", + daysRemaining: "Öne çıkarma aktif · {{count}} gün kaldı.", + headingEvent: "Bu event'i öne çıkar", + headingTour: "Bu Tour'ı öne çıkar", + optional: "isteğe bağlı", + platformOwner: "Platform sahibi — öne çıkarma her zaman açık.", + }, + filters: { + activeCount: "{{count}} aktif", + all: "Tümü", + allLevels: "Tüm Seviyeler", + eventType: "Event Türü", + following: "Takip edilen", + newest: "En yeni", + popular: "Popüler", + showResults: "Sonuçları Göster", + showResultsActive: "Sonuçları Göster · {{count}} aktif", + skillLevel: "Beceri Seviyesi", + sortBy: "Sırala", + topRated: "En Yüksek Puanlı", + tourCategory: "Tour Kategorisi", + trusted: "Güvenilir", + trustLevel: "Güven Seviyesi", + verified: "Doğrulanmış", + }, + food: { + bar: "Bar", + cafe: "Kafe", + call: "Ara", + chooseSpot: "Bir spot seç...", + directions: "Yol Tarifi", + fastFood: "Fast Food", + foodCourt: "Yemek Alanı", + locationLabel: "Konum:", + noneFound: "Yemek Spot'u Bulunamadı", + noneFoundDesc: "Bu spot'un 1 km çevresinde hiç restoran veya kafe bulamadık. Farklı bir konum seçmeyi dene.", + placesFound: "{{spot}} çevresinde 1 km içinde {{count}} yer bulundu", + pub: "Pub", + restaurant: "Restoran", + selectSpot: "Bir kaykay spot'u seç", + selectSpotDesc: "Yakındaki restoranları, kafeleri ve diğer yemek seçeneklerini bulmak için yukarıdaki açılır menüden bir kaykay spot'u seç.", + selectSpotTitle: "Bir Kaykay Spot'u Seç", + subtitle: "Favori kaykay spot'larının yakınında yiyecek yerleri bul", + title: "Spot Yakınındaki Yemekler", + unknown: "Bilinmeyen", + website: "Web sitesi", + }, + rsvp: { + areYouGoing: "Geliyor musun?", + cant: "Gelemem", + cantMakeIt: "Gelemem", + going: "Geliyorum", + goingCount: "geliyor", + goingShort: "Geliyor", + hostNote: "Buna sen ev sahipliği yapıyorsun — ama yine de durumunu ayarlayabilirsin.", + interested: "İlgileniyorum", + interestedCount: "ilgileniyor", + loginToRsvp: "RSVP için giriş yap.", + maybe: "Belki", + toastError: "RSVP yapılamadı", + toastGoing: "Geliyorsun! 🛹", + toastInterested: "İlgilendi olarak işaretlendi.", + toastNotGoing: "Gelmiyor olarak işaretlendi.", + tryAgain: "Lütfen tekrar dene.", + }, + shop: { + addNip05Settings: "Ayarlardan NIP-05 ekle", + adminRemovedReason: "SkateSpots yöneticisi \"{{name}}\" Shop'ını kaldırdı", + areYouOwner: "Shop Sahibi Sen misin?", + backToMap: "Haritaya Dön", + claimDesc: "Bu Shop'ın sahibi veya yöneticisiysen, NIP-05 kullanarak sahipliği doğrulamak için talep edebilirsin.", + claimNip05Intro: "Bu Shop'ı talep etmek için Shop'ın web sitesi alan adıyla eşleşen bir NIP-05 tanımlayıcısı ekle. Örneğin, Shop web sitesi şuysa", + claimNip05Your: "NIP-05'in şu olmalı", + contactShop: "Shop ile İletişime Geç", + deleted: "Shop silindi", + deletedDesc: "Silme isteği relay'lere gönderildi. Çoğu relay bu içeriği kaldıracaktır.", + deleteDialogDesc: "Bu, \"{{name}}\" Shop'ını tüm relay'lerden kalıcı olarak siler. Bu işlem geri alınamaz.", + deleteDialogTitle: "Shop Silinsin mi?", + deletedReason: "Silinen Shop", + deleteFailed: "Silme başarısız", + deleteShop: "Shop'ı Sil", + linkCopied: "Bağlantı kopyalandı!", + linkCopiedDesc: "Shop bağlantısı panoya kopyalandı.", + nip05Required: "⚠️ Shop'ları talep etmek için NIP-05 doğrulaması gerekli", + opens: "Açılıyor: {{domain}}", + removeAdmin: "Kaldır (yönetici)", + removed: "Shop kaldırıldı", + removedDesc: "Bu Shop kaldırıldı ve SkateSpots genelinde gizlenecek.", + removeDialogDesc: "SkateSpots yöneticisi olarak \"{{name}}\" Shop'ını kaldırıyorsun. Herkes için uygulama genelinde gizlenecek ve relay'lere silme isteği gönderilecek.", + removeDialogTitle: "Bu Shop kaldırılsın mı? (yönetici)", + removeShop: "Shop'ı Kaldır", + tipMapper: "Haritacıya Bahşiş Ver", + tipMapperDesc: "Bu Shop bir topluluk üyesi tarafından eklendi. Teşekkür etmek için ona Zap gönder!", + updateNip05: "Talep Etmek İçin NIP-05'i Güncelle", + viewPhotoFull: "Fotoğrafı tam ekranda görüntüle", + viewPhotoOf: "Fotoğraf {{index}} / {{total}}", + }, + sponsors: { + presentedBy: "Sunan", + }, + tourCard: { + active: "Aktif", + completed: "Tamamlandı", + contactForPrice: "Fiyat için iletişime geç", + durationDays: "{{count}} gün", + durationHours: "{{count}} saat", + durationMonths: "{{count}} ay", + durationWeeks: "{{count}} hafta", + entry: "Giriş: {{amount}} sats", + happeningNow: "Şu anda oluyor", + inDays: "{{count}} gün içinde", + inHours: "{{count}} sa içinde", + inMonths: "{{count}} ay içinde", + inWeeks: "{{count}} hafta içinde", + maxGroup: "Maks {{count}}", + price: "{{amount}} sats", + prizePool: "{{amount}} sats", + registrationOpen: "Kayıtlar Açık", + startingSoon: "Yakında başlıyor", + teamsMax: "en fazla {{count}} takım", + tomorrow: "Yarın", + worldwide: "Dünya çapında", + }, + tourDetail: { + about: "Bu Tour Hakkında", + availability: "Müsaitlik", + competitionWindow: "Yarışma Aralığı", + contactToBook: "Rezervasyon için Rehberle İletişime Geç", + discountAt: "{{shop}}'ta %{{percent}} İNDİRİM", + duration: "Süre", + languages: "Diller", + loginToBook: "Rezervasyon için Giriş Yap", + loginToBookDesc: "Rehberle iletişime geçmek ve bu Tour'ı rezerve etmek için giriş yap", + maxGroup: "Maks Grup", + meetingPoint: "Buluşma Noktası", + notFound: "Tour Bulunamadı", + notFoundDesc: "Bu Tour kaldırılmış olabilir veya mevcut değil.", + organizer: "Organizatör", + partnerDiscount: "Partner Shop İndirimi", + partnerDiscountDesc: "Partner skate shop'ta indirim almak için bu Tour'ı rezerve et. Rezervasyon onayını Shop personeline göster.", + people: "{{count}} kişi", + perPerson: "kişi başı", + price: "Fiyat", + runsAbout: "Yaklaşık {{duration}} sürer", + scheduledSession: "Planlı Oturum", + shareText: "Bu yerel kaykay Tour'ına göz at: {{title}}", + skillLevel: "Beceri Seviyesi", + spotTypes: "Spot Türleri", + tourGuide: "Tour Rehberi", + tourSponsors: "Tour Sponsorları", + tripDates: "Yolculuk Tarihleri", + viewProfile: "Profili Görüntüle", + }, + updates: { + admin: "Yönetici", + adminNote: "SkateSpots yöneticisi olarak paylaşıyorsun. Ev sahibinden değil, açıkça yönetici bildirimi olarak etiketlenecek.", + kindCancelled: "İptal edildi", + kindNewSpot: "Yeni spot", + kindNewTime: "Yeni saat", + kindUpdate: "Güncelleme", + loading: "Güncellemeler yükleniyor…", + notifiedCount: "{{count}} kişiye bildirildi.", + notifiedEveryone: "Herkes bunu event'te görecek.", + notifiesRsvps: "{{count}} RSVP'ye bildirim gönderir", + noUpdates: "Ev sahibinden henüz güncelleme yok. RSVP ver, bir şey değişirse bildirim alırsın.", + placeholder: "Yağmur — Pazar 14:00'e alındı. Arka kenarda buluşalım…", + post: "Paylaş", + postAdminUpdate: "Yönetici güncellemesi paylaş", + posted: "Güncelleme paylaşıldı", + postError: "Güncelleme paylaşılamadı", + postUpdate: "Bir güncelleme paylaş", + tryAgain: "Lütfen tekrar dene.", + visibleToEveryone: "Bu event'te herkese görünür", + }, + destination: { + bitcoin: "Bitcoin", + closeSearch: "Aramayı kapat", + nothingMatches: "\"{{query}}\" ile eşleşen hiçbir şey yok.", + placeholder: "Spot'ları, Shop'ları, Bitcoin işyerlerini ara…", + shop: "Shop", + spot: "Spot", + typeChars: "En az 2 karakter yaz. Kaykay spot'larını, skate shop'ları ve Bitcoin işyerlerini arar.", + typeCharsNear: "En az 2 karakter yaz. Buralardaki kaykay spot'larını, skate shop'ları ve Bitcoin işyerlerini arar.", + }, + dateWindow: { + any: "Herhangi", + anytime: "Her zaman", + month: "Bu Ay", + monthShort: "Ay", + today: "Bugün", + todayShort: "Bugün", + week: "Bu Hafta", + weekend: "Hafta sonu", + weekendShort: "H.Son", + weekShort: "Hafta", + }, + }, + marketUi: { + gearSwap: { + title: "Gear Swap", + subtitle: "Diğer patencilerle kullanılmış kaykay Gear'ı al ve sat", + listGear: "Gear Listele", + searchPlaceholder: "Gear ara...", + allCategories: "Tüm Kategoriler", + forSale: "Satılık", + wtb: "WTB", + trust: "Güven", + filterByTrust: "Güvene Göre Filtrele", + allSellers: "Tüm Satıcılar", + verifiedOnly: "Sadece Doğrulanmış", + trustedPlus: "Güvenilir+", + followingOnly: "Sadece Takip Edilen", + pickupOrShip: "Elden teslim veya kargo", + localPickup: "Yerel elden teslim", + ships: "Kargo", + sortBy: "Sırala", + newest: "En yeni", + priceLowHigh: "Fiyat: Düşük → Yüksek", + priceHighLow: "Fiyat: Yüksek → Düşük", + trustScore: "Güven Puanı", + nearest: "En yakın (yerel)", + listingFound: "{{count}} ilan bulundu", + listingsFound: "{{count}} ilan bulundu", + loadFailed: "İlanlar yüklenemedi", + tryLater: "Lütfen daha sonra tekrar dene.", + noneTitle: "İlan bulunamadı", + noneFiltered: "Mevcut filtrelerinle eşleşen Gear yok. Filtreleri temizlemeyi veya başka bir şey aramayı dene.", + noneFirst: "İlk Gear'ını listele — Deck'ler, Trucks'lar, Wheels'lar, ayakkabılar, aklına ne gelirse!", + listYourGear: "Gear'ını Listele", + faqLink: "Soruların mı var? SSS'ye bak →", + }, + hub: { + browse: "Gözat", + selling: "Satıyor", + myTrades: "Takaslarım", + reputation: "İtibar", + loginListings: "İlanlarını yönetmek için giriş yap.", + loginReputation: "İtibarını ve yorumlarını görmek için giriş yap.", + }, + marketplace: { + heroTitle: "Shop'lar ve Marketplace", + heroBefore: "Marketplace'imiz şununla desteklenir:", + heroAfter: "- Nostr üzerinde merkeziyetsiz bir Marketplace. Skate shop'lar ürünlerini listeleyebilir, sen de Bitcoin ile doğrudan kullanılmış Gear alıp satabilirsin.", + whatIsTitle: "Plebeian Market nedir?", + whatIsBody: "Plebeian Market, Nostr üzerine kurulu merkeziyetsiz bir Marketplace'tir. Diğer patencilerle doğrudan Bitcoin kullanarak kaykay Gear'ı alıp sat. Aracı yok, ücret yok, tam özgürlük.", + noFeesTitle: "Ücret Yok", + noFeesBody: "Platform %30 almaz. Doğrudan eşler arası satış.", + bitcoinTitle: "Bitcoin Ödemeleri", + bitcoinBody: "Bitcoin ile öde. Hızlı, güvenli, küresel.", + decentralizedTitle: "Merkeziyetsiz", + decentralizedBody: "Nostr üzerine kurulu. Hiçbir şirket kontrol etmez.", + visit: "Plebeian Market'i Ziyaret Et", + buySellTitle: "Neler Alıp Satabilirsin", + catCompletes: "Komple Deck'ler", + preBuilt: "Hazır komple setler", + customSetups: "Özel kurulumlar", + beginnerBoards: "Başlangıç tahtaları", + catParts: "Deck Parçaları", + decks: "Deck'ler", + trucks: "Trucks", + wheels: "Wheels", + bearings: "Bearings", + gripTape: "Griptape", + hardware: "Hardware", + catApparel: "Giyim ve Koruma", + skateShoes: "Kaykay ayakkabıları", + clothing: "Giyim", + helmets: "Kasklar", + pads: "Koruyucular", + backpacks: "Sırt çantaları", + catAccessories: "Aksesuarlar", + tools: "Aletler", + wax: "Wax", + rails: "Rails", + stickers: "Çıkartmalar", + videos: "Videolar", + magazines: "Dergiler", + howItWorks: "Nasıl Çalışır", + step1Title: "Ürünlere Göz At", + step1Body: "Plebeian Market'i ziyaret et ve dünya çapındaki Shop'lardan ve kişilerden kaykay Gear'ına göz at.", + step2Title: "Satıcılarla İletişime Geç", + step2Body: "Satıcılara doğrudan Nostr üzerinden mesaj gönder. Fiyat pazarlık et, soru sor, kargoyu ayarla.", + step3Title: "Bitcoin ile Öde", + step3Body: "Anında, düşük ücretli ödemeler için Bitcoin Lightning kullanarak alışverişini tamamla.", + step4Title: "Geri Bildirim Bırak", + step4Body: "Deneyimini puanla ve Nostr'da satıcı itibarı oluştur. Yorumların topluluğa yardımcı olur.", + needBitcoinTitle: "Bitcoin'e mi ihtiyacın var?", + needBitcoinBefore: "Alışveriş yapmak için içinde biraz sats olan bir Lightning cüzdanına ihtiyacın olacak. Şuraya göz at:", + onboardingGuide: "başlangıç rehberi", + needBitcoinAfter: "cüzdan önerileri için.", + ownShopTitle: "Bir Skate Shop'ın mı var?", + ownShopBody: "Shop'ını SkateSpots'ta listele ve ürünlerini Plebeian Market'te sat. Sıfır platform ücretiyle dünya çapında müşterilere ulaş.", + addShop: "Shop'ını Ekle", + startSelling: "Satışa Başla", + }, + listingDetail: { + notFound: "İlan bulunamadı", + notFoundBody: "Silinmiş olabilir veya bağlantı yanlış.", + backToGearSwap: "Gear Swap'e Dön", + gearSwap: "Gear Swap", + viewPhoto: "Fotoğrafı görüntüle {{n}}", + photoAlt: "{{title}} — fotoğraf {{n}}", + wantToBuy: "SATIN ALMAK İSTİYORUM", + sold: "SATILDI", + description: "Açıklama", + usuallyHere: "Genellikle burada {{availability}}", + listed: "Listelendi {{date}}", + listingCountOne: "{{count}} ilan · {{age}} günlük", + listingCountMany: "{{count}} ilan · {{age}} günlük", + relistActive: "Aktif olarak yeniden listele", + markSold: "Satıldı olarak işaretle", + deleteListing: "İlanı sil", + makeOffer: "Teklif ver", + shareListing: "İlanı paylaş", + unknown: "Bilinmeyen", + linkCopied: "Bağlantı kopyalandı", + linkCopiedBody: "Bir patenciyle paylaş.", + copyFailed: "Bağlantı kopyalanamadı", + relisted: "Yeniden listelendi", + relistedBody: "İlanın tekrar aktif.", + couldNotUpdate: "Güncellenemedi", + somethingWrong: "Bir şeyler ters gitti", + }, + create: { + imageUploaded: "Görsel yüklendi", + uploadFailed: "Yükleme başarısız", + failed: "Başarısız", + cooldownActive: "Bekleme süresi aktif", + cooldownWait: "Yeni bir ilan oluşturmadan önce lütfen {{time}} bekle", + limitReached: "İlan limitine ulaşıldı", + limitReachedBody: "Aylık {{limit}} ilan limitine ulaştın", + feeRequired: "Ücret gerekli", + feeRequiredBody: "Devam etmek için lütfen anti-spam ücretini öde", + titleRequired: "Başlık gerekli", + categoryRequired: "Kategori gerekli", + photoRequired: "Fotoğraf gerekli", + photoRequiredBody: "Gear satarken en az bir fotoğraf gereklidir", + nip05Required: "NIP-05 doğrulaması gerekli", + nip05RequiredBody: "Gear listelemek için doğrulanmış bir Nostr adresine ihtiyacın var", + priceRequired: "Sabit fiyatlı ilanlar için fiyat gerekli", + sizeRequired: "Beden gerekli", + sizeRequiredBody: "Lütfen {{category}} için bir beden seç", + conditionRequired: "Durum gerekli", + conditionRequiredBody: "Lütfen {{category}} durumunu seç", + wtbPosted: "Satın alma talebi yayınlandı!", + wtbPostedBody: "Satıcılar talebini bulabilecek.", + listingCreated: "İlan oluşturuldu!", + listingCreatedBody: "Gear'ın artık listelendi.", + publishFailed: "Yayımlanamadı", + loginRequired: "Giriş Gerekli", + loginRequiredBody: "Gear listelemek için giriş yapmalısın.", + backToStash: "Stash'e Dön", + backToSpot: "{{title}} sayfasına dön", + backToMarketplace: "Marketplace'e Dön", + backToMap: "Haritaya Dön", + wantToBuy: "Satın Almak İstiyorum", + listYourGear: "Gear'ını Listele", + wtbSubtitle: "Topluluğa hangi Gear'ı aradığını anlat", + sellSubtitle: "Topluluğa kaykay Gear'ı sat", + fromStashTitle: "Stash'inden Listeleme", + fromStashBody: "Stash öğenin ayrıntılarıyla önceden dolduruldu. Gözden geçir ve bir buluşma spot'u seç!", + nip05Banner: "Spam'i önlemek ve alıcıları korumak için Gear listelemek üzere doğrulanmış bir Nostr adresine (NIP-05) ihtiyacın var.", + verifiedLabel: "Doğrulanmış:", + checkingTrust: "Güven seviyen kontrol ediliyor...", + trustLevel: "Güven Seviyesi:", + trusted: "Güvenilir", + active: "Aktif", + newcomer: "Yeni katılan", + newUser: "Yeni Kullanıcı", + remaining: "Bu ay {{limit}} ilandan {{remaining}} kaldı", + cooldownBody: "Yeni kullanıcılar için ilanlar arasında 24 saatlik bekleme süresi vardır.", + timeRemaining: "Kalan süre: {{time}}", + monthlyLimitTitle: "Aylık Limite Ulaşıldı", + monthlyLimitBody: "Bu ay {{limit}} ilan limitine ulaştın. Spot oluşturarak veya satışları tamamlayarak itibarını inşa et ve limitini artır.", + powAccepted: "Proof of work kabul edildi!", + feePaid: "Ücret Ödendi!", + canCreateNow: "Artık ilanını oluşturabilirsin.", + whatDoTitle: "Ne yapmak istiyorsun?", + sellGear: "GEAR SAT", + categoryTitle: "Kategori *", + categoryHint: "Ne tür Gear?", + detailsTitle: "Gear Ayrıntıları", + detailsWtbHint: "Ne aradığını açıkla", + detailsSellHint: "Alıcılara ürününü anlat", + titleLabel: "Başlık *", + titlePlaceholderWtb: "8.0\" deck arıyorum", + titlePlaceholderSell: "Neredeyse Yeni Palace Deck 8.25\"", + summaryLabel: "Kısa Özet", + summaryPlaceholderWtb: "Her marka olur, minimal grafik tercih edilir", + summaryPlaceholderSell: "Harika durumda, neredeyse hiç kullanılmadı", + descriptionLabel: "Açıklama", + descriptionPlaceholderWtb: "Tam olarak ne aradığını açıkla - marka tercihleri, durum gereksinimleri vb.", + descriptionPlaceholderSell: "Bu deck'i Noel'de aldım ama daha küçük bir beden tercih ediyorum. Satın almadan önce denemene memnuniyetle izin veririm!", + fulfilmentLabel: "Nasıl teslim edilir?", + pickup: "Elden teslim", + pickupHint: "Yerelde buluş", + ships: "Kargo", + shipsHint: "Gönder", + both: "Her ikisi", + bothHint: "Fark etmez", + addressNote: "Adresini asla toplamıyoruz — kargo için özel takas sohbetinde paylaş.", + postageLabel: "Kargo ücretini kim öder?", + requireEscrow: "escrow gerekli", + requireEscrowHint: "Alıcıdan Cashu escrow ile ödeme yapmasını iste.", + postageBuyer: "Alıcı öder", + postageSeller: "Ben öderim", + postageSplit: "Paylaş", + sizeLabel: "Beden", + selectSize: "Beden seç", + truckHeight: "Trucks Yüksekliği", + selectHeight: "Yükseklik seç", + wheelHardness: "Wheels Sertliği", + selectHardness: "Sertlik seç", + pricingTitle: "Fiyatlandırma", + pricingWtbHint: "Nasıl ödemek istersin?", + pricingSellHint: "Nasıl satmak istersin?", + priceLabel: "Fiyat *", + currencyLabel: "Para birimi", + photosTitle: "Fotoğraflar", + photosSellHint: "En az bir fotoğraf gereklidir", + photosWtbHint: "İsteğe bağlı - referans görselleri ekle", + productPhoto: "Ürün {{n}}", + upload: "Yükle", + photosNote: "En fazla 5 fotoğraf ekle. İlk görsel ana fotoğraf olacak.", + pickupLocationTitle: "Buluşma Yeri", + pickupLocationHint: "Kolay buluşmalar için bir kaykay spot'una bağla", + searchSpots: "Spot ara...", + noSpotsFound: "Spot bulunamadı. Farklı bir arama dene.", + availabilityLabel: "Genellikle ne zaman müsaitsin?", + availabilityPlaceholder: "Hafta sonları 10:00-14:00, Sal/Per akşamları", + availabilityHint: "Alıcıların seninle buluşma ayarlamasına yardımcı olur", + durationTitle: "İlan Süresi", + durationHint: "Bu ilan ne kadar aktif kalsın?", + publishing: "Yayımlanıyor...", + checkingEligibility: "Uygunluk kontrol ediliyor...", + cooldownButton: "BEKLEME: {{time}}", + limitReachedButton: "LİMİTE ULAŞILDI", + payFeeButton: "DEVAM ETMEK İÇİN ÜCRET ÖDE", + postWtbButton: "SATIN ALMA TALEBİ YAYINLA", + listForSaleButton: "GEAR'I SATIŞA ÇIKAR", + }, + trades: { + title: "Takaslarım", + loginBody: "Marketplace takaslarını ve itibarını yönetmek için giriş yap.", + subtitle: "Onaylar, istekler ve inşa ettikleri itibar. Ödeme diğer patenciyle ayarlanır — uygulama sadece anlaşmayı kaydeder.", + actionNeeded: "İşlem gerekli", + askedToConfirmSale: "bir satışı onaylamanı istedi", + recordedSale: "bir satış kaydetti — kendi tarafını onayla", + confirmSale: "Satışı onayla", + confirm: "Onayla", + nothingWaiting: "Şu anda seni bekleyen bir şey yok. 🛹", + yourRecords: "Takas kayıtların", + noTrades: "Henüz takas yok. Bir anlaşma yap ve itibar oluşturmaya başlamak için onayla.", + browseGearSwap: "Gear Swap'e Göz At", + roleSold: "Satıldı", + roleBought: "Alındı", + roleTrade: "Takas", + with: "ile", + viewListing: "İlanı görüntüle", + revoke: "Geri al", + revokeTitle: "Bu takas kaydı geri alınsın mı?", + revokeBody: "İtibarına sayılmaya son verir. Karşı taraf kendi onayını korur. Bunu tartışmalı veya hatalı bir anlaşma için kullan.", + revokeNote: "Yazar tarafından geri çekildi.", + revoked: "Takas kaydı geri alındı", + revokedBody: "Artık itibarına sayılmıyor.", + revokeFailed: "Takas geri alınamadı", + saleConfirmed: "Satış onaylandı", + saleConfirmedBody: "Artık kendi taraflarını onaylayabilirler.", + saleConfirmFailed: "Satış onaylanamadı", + tradeConfirmed: "Takas onaylandı", + tradeConfirmedBody: "İkinizin itibarı güncellendi.", + tradeConfirmFailed: "Takas onaylanamadı", + somethingWrong: "Bir şeyler ters gitti.", + }, + card: { + listingDeleted: "İlan silindi", + listingRemoved: "İlan kaldırıldı", + listingDeletedBody: "İlanın kaldırıldı. Silmeleri destekleyen relay'ler sunmayı bırakacak.", + listingRemovedBody: "Bu ilan kaldırıldı ve SkateSpots genelinde gizlenecek.", + removeFailed: "Kaldırma başarısız", + somethingWrong: "Bir şeyler ters gitti", + markedSold: "Satıldı olarak işaretlendi", + markedSoldBody: "İlanın artık satıldı olarak gösteriliyor.", + couldNotUpdate: "Güncellenemedi", + relisted: "Yeniden listelendi", + relistedBody: "İlanın tekrar aktif.", + listingOptions: "İlan seçenekleri", + report: "Bildir", + removeAdmin: "Kaldır (yönetici)", + postage: "kargo", + newSeller: "Yeni satıcı", + saleOne: "{{count}} satış", + saleMany: "{{count}} satış", + iHaveThis: "Bende Var!", + deleteTitle: "\"{{title}}\" silinsin mi?", + adminRemoveTitle: "Bu ilan kaldırılsın mı? (yönetici)", + deleteBody: "Bu, relay'lerden \"{{title}}\" ilanını kaldırmasını ister. Buradan geri alınamaz — yeni bir tane oluşturman gerekir.", + adminRemoveBody: "SkateSpots yöneticisi olarak \"{{title}}\" ilanını kaldırıyorsun. Herkes için uygulama genelinde gizlenecek ve relay'lere silme isteği gönderilecek.", + deleting: "Siliniyor…", + removing: "Kaldırılıyor…", + deleteListing: "İlanı Sil", + removeListing: "İlanı Kaldır", + reportCount: "{{count}} bildirim", + reports: "{{count}} bildirim", + viewTitle: "{{title}} görüntüle", + reportListing: "İlanı Bildir", + manageListing: "İlanı yönet", + trusted: "Güvenilir", + daysOld: "{{n}}g önce", + monthsOld: "{{n}}a önce", + yearsOld: "{{n}}y önce", + listingsCount: "{{count}} ilan", + postageBuyer: "kargo: alıcı", + postageSeller: "kargo: satıcı", + postageSplit: "kargo: paylaşımlı", + powTitle: "NIP-13 proof of work — ücretsiz anti-spam", + verifiedTradeOne: "{{count}} doğrulanmış takas", + verifiedTrades: "{{count}} doğrulanmış takas", + reportSubmitted: "Bildirim gönderildi", + reportSubmittedBody: "Marketplace'i güvende tutmaya yardımcı olduğun için teşekkürler.", + reportFailed: "Bildirim gönderilemedi", + selectReason: "Lütfen bir neden seç", + reportDialogBody: "Uygunsuz veya yanıltıcı ilanları bildirerek marketplace'i güvende tutmaya yardımcı ol.", + reasonLabel: "Bildirim nedeni *", + detailsLabel: "Ek ayrıntılar (isteğe bağlı)", + detailsPlaceholder: "Yardımcı olabilecek ek bağlam sağla...", + reportNote: "Bildirimler Nostr'da yayımlanır ve topluluğun sorunlu ilanları belirlemesine yardımcı olur. Birden çok bildirim alan ilanlar otomatik olarak gizlenebilir.", + submitting: "Gönderiliyor...", + submitReport: "Bildirimi Gönder", + }, + tradeActions: { + tradeConfirmed: "Takas onaylandı", + tradeConfirmedWithProof: "Doğrulanabilir bir makbuz eklendi — bu doğrulanmış takaslara sayılır.", + tradeConfirmedBody: "İkinizin itibarı güncellendi.", + tradeConfirmFailed: "Takas onaylanamadı", + somethingWrong: "Bir şeyler ters gitti.", + requestNote: "Lütfen \"{{title}}\" için takasımızı onayla.", + requestSent: "Onay istendi", + requestSentBody: "Satıcı artık satışı onaylayabilir ve iki tarafın da itibarını oluşturabilir.", + requestFailed: "İstek gönderilemedi", + escrowRefunded: "escrow geri ödendi", + escrowRefundedBody: "Fonlar Cashu cüzdanına geri döndü.", + escrowRefundFailed: "escrow geri ödenemedi", + confirmThisTrade: "Bu takası onayla", + escrowAndRequest: "escrow ve istek", + shipsEscrowHint: "Kargolu anlaşma — hiçbir taraf boşluğa göndermesin diye escrow kullan. Adresini özel takas sohbetinde paylaş, asla burada değil.", + shipsHint: "Kargolu anlaşma — satıcı sunuyorsa escrow'u tercih et ve adresini yalnızca sohbette paylaş.", + askSeller: "Satıcıdan onaylamasını iste", + waitingSeller: "Onay istendi — satıcı bekleniyor.", + refundEscrow: "escrow'u geri öde", + buyWithSats: "sats ile satın al", + depositTitle: "İyi niyet depozitosu (isteğe bağlı)", + payDeposit: "Depozito öde", + depositBefore: "Bir takasın faturası yoktur, bu yüzden şu şekilde bir", + verifiableCost: "doğrulanabilir maliyet", + depositAfter: " elde eder. Teslimatta geri ödenir (veya otomatik geri ödeme için Cashu escrow kullan). ⚠️ Taahhüdü kanıtlar, teslimi değil.", + depositPaid: "Depozito ödendi", + depositPaidBody: "Kaydedildi — takas onaylandığında eklenecek.", + paid: "Ödendi ⚡", + paidWithProof: "Doğrulanabilir bir makbuz kaydedildi — sayılması için takası onayla.", + paidBody: "Satıcıdan takası onaylamasını iste, böylece ikiniz için de sayılsın.", + }, + offers: { + accepted: "Kabul edildi", + declined: "Reddedildi", + withdrawn: "Geri çekildi", + open: "Açık", + noAmount: "tutar yok", + titleOwner: "Teklifler ({{count}})", + titleBuyer: "Pazarlıkların", + you: "Sen", + them: "Onlar", + paidAskConfirm: "Ödendi — satıcıdan takası onaylamasını iste.", + payWithSats: "sats ile öde", + accept: "Kabul et", + decline: "Reddet", + counter: "Karşı teklif", + counterPlaceholder: "Karşı teklifin (sats)", + send: "Gönder", + counterItemPlaceholder: "…veya takas edilecek bir eşyayla karşı teklif ver (isteğe bağlı)", + waitingOn: "Bekleniyor:", + waitingOnSuffix: "— karşı teklif verirlerse sıra sana geri gelir.", + withdraw: "Geri çek", + dmAccepted: "✅ Teklifin kabul edildi! Teslimi ayarlamak için mesaj gönder.", + dmDeclined: "❌ Teklifin reddedildi.", + offerAccepted: "Teklif kabul edildi", + offerDeclined: "Teklif reddedildi", + respondFailed: "Yanıt verilemedi", + somethingWrong: "Bir şeyler ters gitti.", + offerWithdrawn: "Teklif geri çekildi", + withdrawFailed: "Geri çekilemedi", + enterAmountOrItem: "Bir tutar veya takas edilecek bir eşya gir", + counterDm: "Karşı teklif", + counterSent: "Karşı teklif gönderildi", + counterSentBody: "Artık sıra onlarda.", + counterFailed: "Karşı teklif gönderilemedi", + }, + offer: { + validAmount: "Geçerli bir tutar gir", + describeOffer: "Teklifini tanımla", + describeOfferBody: "Bir tutar, takas edilecek bir eşya veya bir mesaj ekle.", + dmAmount: " {{amount}} sats karşılığında", + dmItem: " (teklif: {{item}})", + dmBody: "🛹 \"{{title}}\" ilanına yeni teklif{{amount}}{{item}}.{{note}}", + sent: "Teklif gönderildi", + sentBody: "{{sellerName}} kabul edebilir veya reddedebilir.", + sendFailed: "Teklif gönderilemedi", + somethingWrong: "Bir şeyler ters gitti.", + title: "Teklif ver", + description: "sats teklif et veya bir şeyle takas et — {{sellerName}} kabul edebilir, reddedebilir veya karşı teklif verebilir. Teslimi kendi aranızda ayarlarsınız.", + amountLabel: "Tutar (sats, isteğe bağlı)", + amountPlaceholder: "örn. 45000", + itemLabel: "Veya takas edilecek bir şey (isteğe bağlı)", + itemPlaceholder: "örn. 8.25 deck'im + yedek wheels", + itemHint: "Takas mı yapıyorsun? Sunduğun şeyi buraya yaz — sats ile birleştirebilirsin.", + messageLabel: "Mesaj (isteğe bağlı)", + messagePlaceholder: "Satıcının bilmesi gereken bir şey…", + send: "Teklif gönder", + }, + markSold: { + enterBuyer: "Alıcının npub'unu gir", + dealClosed: "Anlaşma tamamlandı 🎉", + dealClosedBody: "İlan satıldı olarak işaretlendi ve itibar için takas yayımlandı.", + closeFailed: "Anlaşma kapatılamadı", + somethingWrong: "Bir şeyler ters gitti.", + title: "Anlaşmayı kapat", + description: "Bu ilanı satıldı olarak işaretler ve seninle alıcı için imzalı bir takas onayı kaydeder.", + buyerLabel: "Alıcının npub'u", + methodLabel: "Nasıl ödendi? (kendi beyanı)", + amountLabel: "sats cinsinden tutar (isteğe bağlı)", + submit: "Satıldı olarak işaretle", + }, + handoff: { + title: "Teslimi ayarla", + suggest: "Bir zaman ve yer öner", + suggestDm: "Merhaba! \"{{title}}\" satın almak istiyorum. Buluşmak için bir zaman ve yer öner — halka açık bir kaykay spot'unda buluşmaya hazırım.", + orMeetAt: "Veya yakındaki halka açık bir spot'ta buluş:", + spotDm: "Merhaba! \"{{title}}\" satın almak istiyorum. {{spot}}'ta buluşmak ister misin? {{url}}", + shareDelivery: "Teslimat bilgilerini paylaş", + deliveryDm: "Merhaba! \"{{title}}\" satın almak istiyorum. Teslimat bilgilerim:\n\nİsim:\nAdres:\n\n(Sadece kuryenin ihtiyacı olanı paylaş.)", + useLocker: "Kilitli dolap / teslim noktası kullan", + lockerDm: "Merhaba! \"{{title}}\" satın almak istiyorum. Ev adresi yerine bir kargo dolabı / teslim noktası kullanabilir miyiz?", + noteBefore: "Bu bilgiler özel sohbette kalır — SkateSpots onları asla görmez. Kargolu anlaşmalar için tercih et:", + escrow: "escrow", + noteMiddle: ", ve", + neverPay: "asla uygulamanın ödeme yolları dışında ödeme yapma", + noteAfter: ". Halka açık bir yerde buluş.", + }, + shipping: { + noCounterparty: "Henüz karşı taraf yok", + noCounterpartyBody: "Satıcı önce satışı kaydetmeli (alıcıyı adlandırarak).", + markedShipped: "Kargoya verildi olarak işaretlendi", + markedReceived: "Teslim alındı olarak işaretlendi", + issueReported: "Sorun bildirildi", + receivedBody: "Teşekkürler — bu escrow'u serbest bırakmaz; satıcıyla doğrudan anlaş.", + notifiedBody: "Karşı tarafa bildirildi.", + updateFailed: "Güncellenemedi", + somethingWrong: "Bir şeyler ters gitti.", + title: "Kargo", + shipped: "kargoda", + received: "teslim alındı", + issue: "sorun", + trackingPlaceholder: "Takip numarası (isteğe bağlı)", + iShipped: "Kargoya verdim", + iReceived: "Teslim aldım", + reportIssue: "Sorun bildir", + noteBefore: "Kendi beyanı — bir lojistik notu,", + notProof: "kanıt değil", + noteAfter: ". \"teslim alındı\" olarak işaretlemek escrow'u serbest bırakmaz. ⚠️ Adresi görünen bir koli fotoğrafı çekme ve takip numarasını yalnızca herkese açık olması senin için sorun değilse paylaş.", + }, + pay: { + sent: "Ödeme gönderildi ⚡", + sentWithProof: "Doğrulanabilir bir ödeme makbuzu kaydedildi — ödeme-doğrulanmış olarak sayılacak.", + sentBody: "Satıcıya haber ver — ikiniz için de sayılması için takası onaylayabilir.", + failed: "Ödeme başarısız", + title: "sats ile öde", + descSendPrefix: "Gönder:", + descSendSuffix: "bu anlaşmayı kapatmak için {{sellerName}} kişisine.", + descSettle: "Bu anlaşmayı {{sellerName}} ile doğrudan kapat.", + paid: "Ödendi!", + paidBody: "Satıcıdan takası onaylamasını iste — iki onay iki itibarı da oluşturur.", + noMethod: "{{sellerName}} bir ödeme yöntemi belirlememiş (Lightning faturası veya adresi yok). Ödemeyi ayarlamak için mesaj gönder.", + ownListing: "Bu senin kendi ilanın.", + paying: "Ödeniyor…", + pay: "Öde", + payAmount: "{{amount}} sats öde", + footnote: "Bağlı cüzdanından (NWC, WebLN veya Cashu) doğrudan {{sellerName}} kişisine öder — SkateSpots fonları asla elinde tutmaz.", + }, + spamFee: { + invoiceComment: "SkateSpots ilan ücreti", + generateFailed: "Fatura oluşturulamadı", + paymentSuccess: "Ödeme başarılı!", + satsSent: "{{name}} kişisine {{amount}} sats gönderildi", + autoPayFailed: "Otomatik ödeme başarısız", + autoPayFailedBody: "Lütfen QR kodu veya faturayı kullanarak manuel öde", + invoiceCopied: "Fatura kopyalandı!", + copyFailed: "Kopyalanamadı", + received: "Ödeme Alındı!", + receivedBody: "{{amount}} sat ücretin ödendi. Artık ilanını oluşturabilirsin.", + title: "Tek Seferlik İlan Ücreti", + subtitle: "Yeni bir üye olarak ilk ilanın için küçük bir ücret gerekir.", + whyTitle: "Neden ödemem gerekiyor?", + spamLabel: "Spam önleme:", + spamBody: "Bu ücret, botların ve dolandırıcıların marketplace'i sahte ilanlarla doldurmasını engeller.", + trustLabel: "Güven oluşturma:", + trustBody: "Yeni hesapların listelemeden önce taahhüt göstermesi gerekir. Birkaç başarılı ilandan sonra bu ücret kaldırılır.", + supportsLabel: "Topluluğu destekler:", + supportsPrefix: "Ücret şuraya gider:", + supportsSpotOwner: " — bu spot'u oluşturan kişiye!", + supportsPlatform: " — SkateSpots'u çalışır tutmaya yardımcı olur.", + oneTimeFee: "~${{usd}} USD • Tek seferlik ücret", + payToContinue: "Devam etmek için {{amount}} sats öde", + proveWork: "Bunun yerine iş kanıtla — ücretsiz", + proveWorkBody: "{{amount}} sats yerine birkaç saniye CPU harca. Para yok, cüzdan yok — bir ödeme değil, spam vergisi.", + generating: "Fatura oluşturuluyor...", + processing: "Ödeme işleniyor...", + qrAlt: "Ödeme QR Kodu", + copyInvoice: "Faturayı Kopyala", + openWallet: "Cüzdanı Aç", + payWithWallet: "Bağlı Cüzdanla Öde", + scanHint: "QR kodu bir Lightning cüzdanıyla tara veya yukarıdaki düğmeleri kullan", + skipTitle: "Gelecekte bu ücreti nasıl atlarsın:", + skip1: "Haritaya bir kaykay spot'u ekle", + skip2: "2-3 başarılı ilanı tamamla", + skip3: "Topluluk itibarını inşa et", + skipNote: "Güvenilir üyeler sınırsız ücretsiz ilan alır!", + }, + reputation: { + highlyTrusted: "Son derece güvenilir takasçı", + building: "İtibar oluşturuluyor", + newTrader: "Yeni takasçı", + title: "Takaslar", + verified: "Doğrulanmış", + sales: "Satışlar", + purchases: "Alımlar", + tradeConfirmedOne: "karşılıklı onaylanmış takas", + tradeConfirmedMany: "karşılıklı onaylanmış takas", + with: "ile", + personOne: "kişi", + personMany: "kişi", + awaiting: "Karşılıklı onay bekleniyor", + withPaymentProof: "ekli bir ödeme kanıtıyla", + selfReported: "(kendi beyanı — doğrulanmadı)", + paymentVerified: "ödeme-doğrulanmış", + zapReceipt: "(Zap makbuzu)", + singlePartnerWarning: "Her onay aynı hesapla. Karşılıklı onay kendi beyanıdır, bu kayda dikkatle yaklaş.", + lowDiversityWarning: "Onayların çoğu çok az hesaptan geliyor. Birbirini destekleyen küçük bir grup yoğun görünebilir — bu kayda dikkatle yaklaş.", + ringWarning: "Bu hesaplar çoğunlukla birbirleriyle takas yapıyor — kapalı bir küme. Bir halka içindeki karşılıklı onay zayıf bir kanıttır.", + weighted: "Güven ve etkinliğe göre ağırlıklandırılmış", + footnote: "Kendi beyanı ve karşılıklı imzalı — bir ödeme kanıtı değil, bir sinyal.", + }, + reputationPanel: { + reviewOfYou: "Senin hakkındaki değerlendirme", + yourRecord: "kaydın", + listing: "İlan", + averageOne: "{{count}} değerlendirmeden ortalama", + averageMany: "{{count}} değerlendirmeden ortalama", + reviewsTitle: "Değerlendirmeler ve takas kayıtları", + fromOthers: "{{count}} başkalarından", + emptyBefore: "Henüz takas kaydı yok. Bir anlaşma tamamla ve şurada onayla:", + emptyAfter: "— her onay iki profilde de bir değerlendirmeye dönüşür.", + }, + recommendations: { + published: "Tavsiye yayımlandı", + publishedBody: "Desteklediğin için teşekkürler.", + failed: "Tavsiye edilemedi", + somethingWrong: "Bir şeyler ters gitti.", + title: "Güvenilir takasçı", + recommendedBy: "Tavsiye eden", + skaterOne: "patenci", + skaterMany: "patenci", + none: "Henüz tavsiye yok.", + youRecommend: "Bu takasçıyı tavsiye ediyorsun ✓", + recommend: "Güvenilir takasçı olarak tavsiye et", + }, + notification: { + newOffer: "Yeni teklif", + counterOffer: "Karşı teklif", + offerAccepted: "Teklif kabul edildi", + offerDeclined: "Teklif reddedildi", + offerWithdrawn: "Teklif geri çekildi", + confirmTrade: "Bir takası onayla", + tradeConfirmed: "Takas onaylandı", + reviewOffer: "Teklifi incele", + openListing: "İlanı aç", + }, + confirmRow: { + rateTrade: "Takası puanla:", + }, + deckRating: { + title: "{{value}}/10 deck", + aria: "10 üzerinden {{n}}", + }, + clink: { + tip: "Bitcoin ile bahşiş", + copiedBody: "CLINK kodu panoya kopyalandı.", + copyFailed: "Kopyalama başarısız", + copyFailedBody: "Panoya erişilemedi.", + whatIs: "CLINK nedir?", + tooltipTitle: "Nostr üzerinden doğrudan Bitcoin ile öde", + tooltipBody: "CLINK, kendi saklamalı bir ödeme kodudur — uygulama hesabı yok, aracı yok. Uyumlu bir Lightning cüzdanıyla tara ve bahşiş doğrudan onlara gider.", + descRecipient: "{{recipientName}} kişisine kendi saklamalı bir Bitcoin (Lightning) ödemesi gönder — aracı yok.", + descGeneric: "Nostr üzerinden kendi saklamalı bir Bitcoin (Lightning) ödemesi gönder — aracı yok.", + qrAlt: "CLINK Offer QR kodu", + copyCode: "CLINK kodunu kopyala", + openWallet: "CLINK cüzdanında aç", + copyToWallet: "Kodu cüzdanın için kopyala", + priceFixed: "Sabit — {{amount}} sats", + priceFixedShort: "Sabit fiyat", + priceVariable: "Değişken fiyat", + priceVariableCurrency: "{{currency}} cinsinden fiyatlandırıldı", + priceSpontaneous: "Tutarı sen seç", + footnote: "CLINK uyumlu bir cüzdanla (örn. ShockWallet) tara. Hiçbir şey açılmazsa yukarıdaki kodu kopyala — CLINK uyumlu bir cüzdanın yüklü olmayabilir. Saklayıcı yok, web sunucusu yok: fatura doğrudan Nostr üzerinden istenir.", + }, + paymentReadiness: { + ready: "Ödeme alabilirsin", + notReady: "Ödeme almak için ödemeleri ayarla", + readyBefore: "Lightning adresin", + readyAfter: " profilinde — insanlar sana doğrudan Zap gönderebilir ve ödeme yapabilir.", + silentSet: " Bir Bitcoin Silent Payment adresi de ayarlandı.", + notReadyBefore: "Sana ödeme yapabilmeleri için şuna bir Lightning adresi (ve isteğe bağlı olarak bir Bitcoin Silent Payment adresi) ekle:", + nostrProfile: "Nostr profili", + notReadyAfter: "Böylece patenciler sana ödeme yapabilir. Bir kez ayarlanır ve buradaki her profilinde çalışır.", + }, + seller: { + trade: "Takas", + active: "Aktif", + markSold: "Satıldı olarak işaretle", + yourListings: "İlanların", + activeCount: "{{count}} aktif", + listItem: "Bir ürün listele", + loading: "İlanların yükleniyor…", + empty: "Henüz ilanın yok.", + listFirst: "İlk ürününü listele", + }, + noffer: { + label: "CLINK Offer Kodu", + optional: "(isteğe bağlı, gelişmiş)", + offerId: "Offer: {{id}}", + relay: "Relay: {{relay}}", + invalidBefore: "Bu geçerli bir", + invalidAfter: "kodu gibi görünmüyor.", + valid: "Geçerli CLINK kodu — profilinde bir \"CLINK ile Öde\" düğmesi görünecek.", + help: "Nostr-native Lightning ödemelerini kabul etmek için kendi saklamalı bir CLINK ödeme kodu (örn. ShockWallet / Lightning.Pub'dan) yapıştır — web sunucusu veya saklayıcı yok.", + learnSpecs: "Özellikleri öğren", + }, + escrowPanel: { + escrowed: "{{amount}} sats escrow'da", + mint: "Mint", + refundSinceBefore: "Alıcı şu tarihten itibaren geri alabilir:", + redeemBefore: "Satıcı şimdi kullanabilir · alıcı şu tarihten sonra geri alır:", + noExpiry: "Bu token'da son kullanma tarihi belirlenmemiş.", + }, + escrowRequest: { + enterAmount: "Bir escrow tutarı gir", + minLock: "En az {{days}} gün kilitle", + requestNote: "Takasımız için {{amount}} sats escrow'ya alındı — lütfen satışı onayla.", + created: "escrow oluşturuldu 🎉", + createdBody: "{{days}} gün için {{amount}} sats kilitlendi. {{sellerName}} teslimat üzerine kullanabilir.", + createFailed: "escrow oluşturulamadı", + somethingWrong: "Bir şeyler ters gitti.", + title: "Bu takası escrow'ya al", + description: "Fonlar {{sellerName}} için kilitlenir ve anlaşma son tarihten sonra bozulursa senin tarafından geri alınabilir. Bağlı bir Lightning cüzdanı gerektirir.", + amountLabel: "Tutar (sats)", + daysLabel: "Alıcı şu kadar gün sonra geri alır", + daysHint: "Bu kadar gün sonra, satıcı teslim etmediyse fonları geri alabilirsin.", + nativeOnly: "Cashu escrow yalnızca SkateSpots uygulamasında kullanılabilir (web sürümünde değil).", + lockAndRequest: "Kilitle ve iste", + }, + }, + labOptions: { + coach: { + skill: { + basics: "Temeller", + ollies: "Ollie'ler", + kickflips: "Kickflip'ler", + grinds: "Grind'ler ve Slide'lar", + manuals: "Manual'lar", + inverts: "Invert'ler", + vert: "Vert/Ramp", + bowl: "Bowl", + street: "Street", + freestyle: "Freestyle", + safety: "Güvenlik", + diy: "DIY Skate Modülleri", + }, + skillDesc: { + basics: "İtme, duruş, denge, dönme", + ollies: "Ollie ve varyasyonları (nollie, fakie)", + kickflips: "Kickflip, heelflip ve varyasyonları", + grinds: "50-50, 5-0, boardslide ve daha fazlası", + manuals: "Manual, nose manual, kombinasyonlar", + inverts: "Invert, handplant, eggplant, andrecht", + vert: "Half-pipe, quarter-pipe, drop-in'ler", + bowl: "Bowl carving, pumping, line'lar", + street: "Street engelleri ve yaratıcılık", + freestyle: "Düz zeminde trick'ler ve akış", + safety: "Nasıl düşülür, koruyucu ekipman, sakatlanma önleme", + diy: "Ramp, rail, ledge ve diğer kaykay engelleri inşa etme", + }, + }, + filmer: { + service: { + miniclips: "Mini Klipler", + longparts: "Uzun Video Part'ları", + koth: "King of the Road Tarzı", + documentaries: "Belgeseller", + contests: "Yarışma Çekimi", + raw: "Ham Görüntü", + followlines: "Takip / Line Çekimi", + lines: "Line ve B-Roll Çekimi", + }, + serviceDesc: { + miniclips: "Sosyal medya için 15-60 saniyelik klipler", + longparts: "Müzikli 3-10 dakikalık tam video part'ları", + koth: "Macera/mücadele tarzı kaykay videoları", + documentaries: "Kaykay kültürü ve hikaye odaklı içerik", + contests: "Profesyonel yarışma ve müsabaka çekimi", + raw: "Kurgulanmamış çok açılı görüntü", + followlines: "Line'lar için fisheye takip kamerası", + lines: "Uzun lens line'lar ve sinematik b-roll", + }, + skill: { + vx1000: "VX1000", + hvx: "HVX / HPX", + cinema: "Sinema Kamerası", + dslr: "DSLR / Aynasız", + actioncam: "GoPro / Aksiyon Kamerası", + phone: "Telefonla Çekim", + drone: "Drone / Hava Çekimi", + gimbal: "Gimbal / Stabilizatör", + fisheye: "Fisheye Lens", + longlens: "Uzun Lens", + "4k": "4K / Yüksek Kare Hızı", + editing: "Video Kurgu", + color: "Renk Düzenleme", + }, + skillDesc: { + vx1000: "Klasik VX1000 kaykay estetiği", + hvx: "Panasonic HVX/HPX standart çözünürlük / HD görünümü", + cinema: "Sinema kamerası (FX3, C-serisi, RED, BMPCC)", + dslr: "Yüksek kaliteli DSLR veya aynasız kamera", + actioncam: "GoPro / aksiyon kamerası POV ve bağlantıları", + phone: "Modern akıllı telefonlarla mobil çekim", + drone: "Hava ve drone görüntüsü", + gimbal: "Stabilize gimbal hareketi", + fisheye: "Geniş açılı fisheye lens çekimleri", + longlens: "Detaylı çekimler için uzun lens", + "4k": "4K çözünürlük ve yüksek kare hızlı ağır çekim", + editing: "Profesyonel video kurgu ve post-prodüksiyon", + color: "Renk düzeltme ve renk düzenleme", + }, + }, + editor: { + service: { + parts: "Video Part'ları", + montages: "Montajlar", + reels: "Reels / Kısa Klipler", + documentaries: "Belgeseller", + contest: "Yarışma Kurguları", + brand: "Marka / Tanıtım Videoları", + motion: "Motion Graphics", + colorgrade: "Sadece Renk Düzenleme", + }, + serviceDesc: { + parts: "Soundtrack'li tam kaykay video part'ları", + montages: "Ham görüntüden derleme kurgular", + reels: "15–60 sn sosyal medya klipleri ve reels", + documentaries: "Hikaye odaklı kaykay kültürü filmleri", + contest: "Yarışma ve event'ler için özet kurgular", + brand: "Markalar ve Shop'lar için tanıtım içeriği", + motion: "Başlıklar, geçişler, efektler ve grafikler", + colorgrade: "Renk düzeltme ve LUT tabanlı renk düzenleme", + }, + skill: { + premiere: "Adobe Premiere", + resolve: "DaVinci Resolve", + finalcut: "Final Cut Pro", + aftereffects: "After Effects", + luts: "Özel LUT'lar", + vhs: "VHS / Retro Estetik", + "4k": "4K ve RAW İş Akışları", + sound: "Ses Tasarımı / Mix", + }, + skillDesc: { + premiere: "Adobe Premiere Pro kurgu", + resolve: "DaVinci Resolve kurgu ve renk düzenleme", + finalcut: "Final Cut Pro kurgu", + aftereffects: "Motion graphics ve kompozitleme", + luts: "Özel renk görünümü geliştirme", + vhs: "VHS glitch, super-8, retro film görünümleri", + "4k": "Yüksek çözünürlüklü RAW/LOG kamera iş akışları", + sound: "Müzik senkronu, SFX, ses mastering", + }, + }, + photo: { + service: { + action: "Aksiyon / Trick Çekimleri", + sequence: "Sekans Çekimleri", + portraits: "Portreler", + editorial: "Editoryal / Dergi", + product: "Ürün / Shop Fotoğrafçılığı", + events: "Event Çekimi", + lifestyle: "Yaşam Tarzı / Belgesel", + prints: "Baskılar ve Zineler", + }, + serviceDesc: { + action: "Trick'lerin ve line'ların zirve anı fotoğrafları", + sequence: "Çok kareli trick sekansları", + portraits: "Rider portreleri ve takım çekimleri", + editorial: "Dergiye hazır editoryal sayfalar", + product: "Deck, Gear ve Shop ürün fotoğrafçılığı", + events: "Yarışma, jam ve prömiyer çekimi", + lifestyle: "Kulis arkası ve kültür belgeseli", + prints: "Fiziksel baskılar, zineler ve foto kitap", + }, + camera: { + dslr: "DSLR", + mirrorless: "Aynasız", + medium: "Orta Format", + film35: "35mm Film", + filmmedium: "Orta Format Film", + point: "Kompakt", + phone: "Telefon", + }, + lens: { + fisheye: "Fisheye", + wide: "Geniş Açı", + standard: "Standart / Prime", + telephoto: "Telefoto / Uzun Lens", + macro: "Makro", + zoom: "Zoom", + }, + lighting: { + strobes: "Stüdyo Flaşları", + speedlights: "Speedlight / Flaşlar", + profoto: "Profoto", + elinchrom: "Elinchrom", + godox: "Godox", + triggers: "Uzaktan Tetikleyiciler", + continuous: "Sürekli / LED", + reflectors: "Reflektörler / Difüzörler", + naturallight: "Sadece Doğal Işık", + }, + support: { + tripod: "Tripod", + monopod: "Monopod", + lightstands: "Işık Standları", + gimbal: "Gimbal", + bag: "Mobil Rig / Çanta", + laptop: "Yerinde Tethering", + }, + style: { + flashfisheye: "Flaş Fisheye", + natural: "Doğal Işık", + bw: "Siyah Beyaz", + film: "Film Estetiği", + longlens: "Uzun Lens", + studio: "Stüdyo / Işıklı", + street: "Street / Belgesel", + }, + }, + builder: { + service: { + diy: "DIY Spot'lar", + concrete: "Beton Parklar", + wood: "Ahşap Ramp'lar", + bowls: "Bowl'lar ve Pool'lar", + transitions: "Geçişler ve Quarter'lar", + rails: "Rail'ler ve Ledge'ler", + boxes: "Manny Pad'ler ve Box'lar", + minis: "Mini Ramp'lar", + pumptrack: "Pump Track'ler", + foam: "Köpük Havuzlar / Kapalı Alan", + repairs: "Onarım ve Yüzey Yenileme", + design: "Tasarım ve Danışmanlık", + }, + serviceDesc: { + diy: "Topluluk DIY spot'ları ve gerilla yapımlar", + concrete: "Dökme beton kaykay parkları ve öğeler", + wood: "Ahşap ramplar, launch box'lar ve engeller", + bowls: "Bowl'lar, pool'lar ve derin geçiş", + transitions: "Quarterpipe'lar, bank'ler ve geçiş", + rails: "Çelik rail'ler, ledge'ler ve grind öğeleri", + boxes: "Manny pad'ler, funbox'lar ve street öğeleri", + minis: "Mini ramplar ve arka bahçe kurulumları", + pumptrack: "Pump track'ler ve akış line'ları", + foam: "Köpük havuzlar, resi ve kapalı antrenman öğeleri", + repairs: "Mevcut spot'ları tamir, yama ve yüzey yenileme", + design: "Planlar, çizimler ve inşa danışmanlığı", + }, + skill: { + concretework: "Beton / Püskürtme Beton", + welding: "Kaynak / Çelik İmalat", + carpentry: "Marangozluk / Ahşap İşleri", + formwork: "Kalıp ve Donatı", + masonry: "Duvar İşleri / Blok Örgü", + coping: "Coping (pool / çelik)", + surfacing: "Skatelite / Yüzey Kaplama", + earthworks: "Hafriyat / Kazı", + }, + scale: { + backyard: "Arka Bahçe / Mini", + diycommunity: "Topluluk DIY", + publicpark: "Tam Halka Açık Park", + indoor: "Kapalı Tesis", + event: "Event / Yarışma Parkuru", + }, + }, + artist: { + service: { + boardart: "Deck Grafikleri", + logos: "Logo ve Marka Kimliği", + posters: "Afişler ve El İlanları", + merch: "Merch ve Giyim", + zines: "Zineler ve Baskı", + illustration: "İllüstrasyon", + stickers: "Çıkartmalar ve Decal'ler", + webdesign: "Web / Dijital", + typography: "Tipografi / Harf Çizimi", + animation: "Animasyon / Motion", + }, + serviceDesc: { + boardart: "Deck grafikleri ve griptape sanatı", + logos: "Marka kimliği, logolar ve wordmark'lar", + posters: "Event afişleri, el ilanları ve konser sanatı", + merch: "Tişört, hoodie ve giyim grafikleri", + zines: "Zineler, editoryal ve baskı düzeni", + illustration: "Özel illüstrasyon ve karakter çalışması", + stickers: "Çıkartma paketleri, decal'ler ve sticker'lar", + webdesign: "Web siteleri, dijital ve arayüz", + typography: "El harf çizimi ve özel yazı tipi", + animation: "Motion graphics ve animasyon", + }, + medium: { + digital: "Dijital / Vektör", + handdrawn: "El Çizimi", + screenprint: "Serigrafi", + paint: "Boya / Akrilik", + collage: "Kolaj / Karışık", + photo: "Fotoğraf / Photoshop", + "3d": "3D / Render", + }, + tool: { + illustrator: "Adobe Illustrator", + photoshop: "Adobe Photoshop", + procreate: "Procreate", + affinity: "Affinity", + figma: "Figma", + blender: "Blender", + aftereffects: "After Effects", + clipstudio: "Clip Studio", + }, + }, + graffiti: { + style: { + throwups: "Throw-up'lar", + pieces: "Piece'ler / Burner'lar", + murals: "Duvar Resimleri", + characters: "Karakterler", + lettering: "Harf Çizimi / Wildstyle", + stencil: "Şablon", + handstyles: "Handstyle'lar / Tag'ler", + "3dstyle": "3D Stil", + abstract: "Soyut", + }, + styleDesc: { + throwups: "Hızlı iki renkli dolgular", + pieces: "Tam renkli piece'ler ve burner'lar", + murals: "Büyük ölçekli duvar resimleri ve prodüksiyonlar", + characters: "Karakter ve figür çalışması", + lettering: "Wildstyle ve harf yapısı", + stencil: "Şablon ve sokak sanatı", + handstyles: "Tag'ler ve handstyle'lar", + "3dstyle": "3D ve anamorfik harf çizimi", + abstract: "Soyut ve serbest stil", + }, + medium: { + spray: "Sprey Boyalar", + rollers: "Rulolar / Emülsiyon", + markers: "Marker'lar / Mürekkepler", + brush: "Fırça / Boya", + digital: "Dijital / Procreate", + }, + context: { + legalwalls: "Yasal Duvarlar", + commissions: "Siparişler", + liveart: "Canlı Boyama", + skateparks: "Kaykay Parkı Duvarları", + interiors: "İç Mekanlar / Shop'lar", + workshops: "Atölyeler", + }, + }, + tattoo: { + style: { + traditional: "Traditional / Old School", + neotraditional: "Neo-Traditional", + fineline: "Fine Line", + blackwork: "Blackwork", + realism: "Realizm", + lettering: "Harf Çizimi / Script", + illustrative: "İllüstratif", + skateflash: "Kaykay Flash", + ignorant: "Ignorant / Handpoke Tarzı", + japanese: "Japon / Irezumi", + }, + styleDesc: { + traditional: "Kalın çizgiler, klasik Americana", + neotraditional: "Modern detaylı traditional", + fineline: "Narin tek iğne çalışması", + blackwork: "Dolu siyah ve desen", + realism: "Fotogerçekçi ve portreler", + lettering: "Script, harf çizimi ve alıntılar", + illustrative: "İllüstratif ve grafik", + skateflash: "Kaykay kültürü flash tasarımları", + ignorant: "Ignorant / naif handpoke tarzı", + japanese: "Geleneksel Japon / irezumi", + }, + method: { + machine: "Makine", + handpoke: "Hand-Poke / Stick & Poke", + flash: "Hazır Flash Mevcut", + custom: "Özel Tasarımlar", + coverup: "Cover-up'lar", + }, + }, + trainer: { + focus: { + strength: "Güç ve Kondisyon", + mobility: "Hareketlilik ve Esneklik", + injuryprevention: "Sakatlanma Önleme", + rehab: "Rehab / Fizyoterapi", + recovery: "Toparlanma ve Vücut Bakımı", + balance: "Denge ve Stabilite", + cardio: "Kardiyo / Dayanıklılık", + nutrition: "Beslenme Rehberliği", + }, + focusDesc: { + strength: "Kaykay için güç ve kuvvet geliştirme", + mobility: "Hareket açıklığı ve esneklik", + injuryprevention: "Önleyici egzersiz ve sakatlanma riskini azaltma", + rehab: "Sakatlık sonrası fizyoterapi ve rehabilitasyon", + recovery: "Masaj, vücut bakımı ve toparlanma", + balance: "Propriyosepsiyon, denge ve stabilite", + cardio: "Kondisyon ve dayanıklılık", + nutrition: "Beslenme ve yakıt önerileri", + }, + injury: { + ankles: "Ayak Bilekleri", + knees: "Dizler", + wrists: "El Bilekleri", + hips: "Kalçalar", + back: "Sırt / Omurga", + shoulders: "Omuzlar", + heelbruise: "Topuk Çürükleri", + concussion: "Beyin Sarsıntısı Protokolü", + }, + credential: { + physio: "Lisanslı Fizyoterapist", + osteo: "Osteopat", + certtrainer: "Sertifikalı Antrenör", + sportstherapist: "Spor Terapisti", + massage: "Masaj Terapisti", + inperson: "Yüz Yüze", + remote: "Uzaktan / Çevrimiçi", + }, + }, + musician: { + genre: { + punk: "Punk", + hardcore: "Hardcore", + metal: "Metal", + rock: "Rock", + indie: "Indie / Alt", + hiphop: "Hip-Hop / Rap", + electronic: "Elektronik", + lofi: "Lo-Fi / Beats", + reggae: "Reggae / Dub", + ska: "Ska", + jazz: "Caz", + funk: "Funk / Soul", + flamenco: "Flamenko", + folk: "Folk / Akustik", + experimental: "Deneysel", + grunge: "Grunge", + }, + instrument: { + vocals: "Vokal", + guitar: "Gitar", + bass: "Bas", + drums: "Davul", + keys: "Klavye / Synth", + dj: "DJ / Pikap", + producer: "Prodüktör / Beats", + sax: "Saksafon / Nefesli", + strings: "Yaylılar", + other: "Diğer", + }, + act: { + solo: "Solo Sanatçı", + band: "Grup", + dj: "DJ", + producer: "Prodüktör", + collective: "Kolektif", + }, + }, + judge: { + format: { + game_of_skate: "Game of S.K.A.T.E.", + best_trick: "Best Trick", + jam: "Jam Formatı", + contest: "Yarışma / Comp", + street_league: "Street League Tarzı", + bowl: "Bowl / Vert", + mini_ramp: "Mini Ramp", + park: "Park", + street: "Street", + freestyle: "Freestyle", + world_tour: "World Destruction Tour", + am_series: "Am Serisi / Elemeler", + local_jam: "Yerel Jam / Taban", + online: "Çevrimiçi / IG Yarışması", + }, + specialty: { + head_judge: "Baş Jüri", + scoring: "Puanlama / Tablo", + mc: "MC / Anonsçu", + format_design: "Format Tasarımı", + rules: "Kurallar / Hakemlik", + brackets: "Eşleşmeler / Isınmalar", + livestream: "Canlı Yayın Jüriliği", + am_scout: "Am Keşfi", + }, + level: { + local: "Yerel", + regional: "Bölgesel", + national: "Ulusal", + international: "Uluslararası", + pro: "Pro Circuit", + }, + }, + organizer: { + event: { + street_jam: "Street Jam", + best_trick: "Best Trick", + game_of_skate: "Game of S.K.A.T.E.", + contest: "Yarışma / Comp", + bowl: "Bowl / Vert", + mini_ramp: "Mini Ramp", + park: "Park Oturumu", + demo: "Pro Demo", + clinic: "Klinik / Atölye", + meetup: "Buluşma / Cruise", + downhill: "Downhill / Yarış", + slalom: "Slalom", + kids: "Çocuklar / Gençler", + charity: "Hayır / Bağış", + tour_stop: "Tour Durağı", + premiere: "Video Prömiyeri", + market: "Pazar / Sanat Gösterisi", + }, + service: { + organizing: "Tam Organizasyon", + hosting: "Ev Sahipliği / MC", + permits: "İzinler ve Belediye", + sponsorship: "Sponsorluk / Marka Anlaşmaları", + promotion: "Tanıtım ve Pazarlama", + livestream: "Canlı Yayın / Kapsam", + sound: "Ses ve Müzik", + ramps: "Ramp'lar ve Engeller", + safety: "Güvenlik ve İlk Yardım", + vendors: "Yemek ve Satıcılar", + media: "Fotoğraf / Video Kapsamı", + registration: "Kayıtlar ve Eşleşmeler", + }, + scale: { + grassroots: "Taban", + local: "Yerel", + regional: "Bölgesel", + national: "Ulusal", + international: "Uluslararası", + pro: "Pro Circuit", + }, + }, + barber: { + service: { + haircut: "Saç Kesimi", + fade: "Fade", + beard: "Sakal Tıraşı", + lineup: "Line-up / Şekillendirme", + colour: "Renk ve Boya", + kids: "Çocuk Kesimleri", + }, + serviceDesc: { + haircut: "Klasik bir kesim — makine ve makas.", + fade: "Kademeli fade — düşük, orta veya yüksek.", + beard: "Sakal tıraşı, şekillendirme ve düzeltme.", + lineup: "Saç çizgisi ve ense çevresinde temiz kenarlar.", + colour: "Renk, açıcı, boya ve tonlama.", + kids: "Genç patenciler için sabırlı kesimler.", + }, + style: { + skin_fade: "Skin Fade", + taper: "Taper", + buzz: "Buzz Cut", + mohawk: "Mohawk", + mullet: "Mullet", + curly: "Kıvırcık / Afro", + long: "Uzun Saç / Katmanlar", + classic: "Klasik Makas Kesimi", + }, + setting: { + shop: "Shop / Berber Dükkanı", + mobile: "Mobil / Eve Servis", + event: "Kaykay Event'leri ve Yarışmalar", + }, + }, + tour: { + skill: { + beginner: { + label: "Başlangıç", + description: "Kaykayda yeni veya temel trick'ler", + }, + intermediate: { + label: "Orta Seviye", + description: "Çoğu zeminde rahat", + }, + advanced: { + label: "İleri Seviye", + description: "Deneyimli patenci, çetin spot'lar", + }, + all: { + label: "Tüm Seviyeler", + description: "Herkes için uygun", + }, + }, + }, + }, +}; export default trBatch6; diff --git a/src/i18n/tr/batch7.ts b/src/i18n/tr/batch7.ts index 9560e59..b974ae9 100644 --- a/src/i18n/tr/batch7.ts +++ b/src/i18n/tr/batch7.ts @@ -1,4 +1,907 @@ -/** tr — batch 7. Filled by the translation pass; empty until then. */ -const trBatch7 = {}; - +/** tr — batch 7. Turkish translations. */ +export const trBatch7 = { + events: { + title: 'Skate Etkinlikleri', + createEvent: 'Etkinlik Oluştur', + editEvent: 'Etkinliği Düzenle', + eventDetails: 'Etkinlik Detayları', + eventName: 'Etkinlik Adı', + eventType: 'Etkinlik Türü', + date: 'Tarih', + time: 'Saat', + startDate: 'Başlangıç Tarihi', + endDate: 'Bitiş Tarihi', + venue: 'Mekan', + organizer: 'Düzenleyen', + attendees: 'Katılımcılar', + going: 'Gidiyorum', + interested: 'İlgileniyorum', + rsvp: 'RSVP', + ticketPrice: 'Bilet Fiyatı', + freeEntry: 'Ücretsiz Giriş', + register: 'Kaydol', + moreInfo: 'Daha Fazla Bilgi', + upcomingEvents: 'Yaklaşan', + pastEvents: 'Geçmiş', + noEvents: 'Etkinlik bulunamadı', + findEvents: 'Yarışmaları, demoları, seansları ve daha fazlasını bul', + searchPlaceholder: 'Etkinlik ara...', + loginToCreate: 'Etkinlik oluşturmak için giriş yap', + noEventsMatch: 'Filtrelerine uyan yaklaşan etkinlik yok.', + noUpcoming: 'Yaklaşan etkinlik bulunamadı.', + noPast: 'Geçmiş etkinlik bulunamadı.', + types: { + contest: 'Yarışma', + session: 'Seans', + meetup: 'Buluşma', + premiere: 'Video Prömiyeri', + workshop: 'Atölye', + demo: 'Demo', + jam: 'Jam', + }, + }, + wallet: { + title: 'Cüzdan', + balance: 'Bakiye', + send: 'Gönder', + receive: 'Al', + transactions: 'İşlemler', + history: 'Geçmiş', + noTransactions: 'Henüz işlem yok', + sendSats: 'Sats Gönder', + receiveSats: 'Sats Al', + amount: 'Tutar', + recipient: 'Alıcı', + lightning: 'Lightning', + onChain: 'On-chain', + invoice: 'Fatura', + address: 'Adres', + scanQR: 'QR Tara', + paste: 'Yapıştır', + payInvoice: 'Faturayı Öde', + createInvoice: 'Fatura Oluştur', + copied: 'Panoya kopyalandı!', + insufficientFunds: 'Yetersiz bakiye', + paymentSent: 'Ödeme gönderildi!', + paymentReceived: 'Ödeme alındı!', + cashu: { + title: 'Cashu Cüzdanı', + tokens: 'Tokenlar', + mint: 'Mint', + mints: 'Mintler', + manageMints: 'Mintleri Yönet', + addMint: 'Mint Ekle', + removeMint: 'Mint Kaldır', + defaultMint: 'Varsayılan Mint', + backup: 'Yedekle', + restore: 'Geri Yükle', + recoveryPhrase: 'Kurtarma İfadesi', + viewRecoveryPhrase: 'Kurtarma İfadesini Görüntüle', + seedWarning: 'Bu senin Nostr nsec’in gibidir — gizli tut ve yedekle!', + }, + }, + spots: { + addSpot: 'Spot Ekle', + editSpot: 'Spot Düzenle', + spotDetails: 'Spot Detayları', + spotName: 'Spot Adı', + spotType: 'Spot Türü', + description: 'Açıklama', + location: 'Konum', + address: 'Adres', + photos: 'Fotoğraflar', + addPhotos: 'Fotoğraf Ekle', + obstacles: 'Engeller', + features: 'Özellikler', + bustLevel: 'Risk Seviyesi', + bestTime: 'En İyi Zaman', + tips: 'İpuçları', + reviews: 'Değerlendirmeler', + addReview: 'Değerlendirme Ekle', + reportSpot: 'Spot Bildir', + directions: 'Yol Tarifi', + shareSpot: 'Spot Paylaş', + createdBy: 'Oluşturan', + lastUpdated: 'Son güncelleme', + types: { + park: 'Kaykay Parkı', + street: 'Sokak Spotu', + diy: 'DIY Spot', + plaza: 'Meydan', + indoor: 'Kapalı Alan', + bowl: 'Bowl', + vert: 'Vert', + miniramp: 'Mini Ramp', + }, + bustLevels: { + chill: 'Rahat', + moderate: 'Orta', + sketchy: 'Riskli', + heavy: 'Yoğun', + }, + }, + settings: { + title: 'Ayarlar', + profile: 'Profil', + editProfile: 'Profili Düzenle', + account: 'Hesap', + security: 'Güvenlik', + relays: 'Relay’ler', + appearance: 'Görünüm', + language: 'Dil', + notifications: 'Bildirimler', + privacy: 'Gizlilik', + about: 'Hakkında', + help: 'Yardım', + feedback: 'Geri Bildirim', + version: 'Sürüm', + displayName: 'Görünen Ad', + username: 'Kullanıcı Adı', + bio: 'Biyografi', + website: 'Web Sitesi', + lightningAddress: 'Lightning Adresi', + profilePicture: 'Profil Resmi', + banner: 'Kapak', + saveProfile: 'Profili Kaydet', + backupKeys: 'Anahtarları Yedekle', + exportKeys: 'Anahtarları Dışa Aktar', + secretKey: 'Gizli Anahtar', + publicKey: 'Genel Anahtar', + showSecretKey: 'Gizli Anahtarı Göster', + hideSecretKey: 'Gizli Anahtarı Gizle', + copyKey: 'Anahtarı Kopyala', + keysBackedUp: 'Anahtarlarının güvenle yedeklendiğini onayladın.', + keysNotBackedUp: 'Kurtarma ifadeni veya gizli anahtarını yedeklediğinden emin ol!', + selectLanguage: 'Dil Seç', + english: 'İngilizce', + spanish: 'İspanyolca', + }, + createSpot: { + title: 'Kaykay Spotu Ekle', + subtitle: 'Toplulukla bir kaykay spotu paylaş', + backToMap: 'Haritaya Dön', + namePlaceholder: 'örn., Hollywood High School', + descriptionPlaceholder: 'Spotu, engelleri, kaymak için en iyi zamanları, güvenlik bilgilerini vb. tanımla.', + addressPlaceholder: 'örn., 1521 N Highland Ave, Los Angeles, CA', + selectType: 'Spot türünü seç', + selectBustLevel: 'Risk seviyesini seç', + uploadPhotos: 'Yükle', + dragDrop: 'Sürükle bırak veya yüklemek için tıkla', + maxPhotos: 'En fazla 5 fotoğraf', + publishing: 'Yayınlanıyor...', + success: 'Spot başarıyla yayınlandı!', + error: 'Spot yayınlanamadı', + locationRequired: 'Lütfen haritada bir konum seç', + useCurrentLocation: 'Mevcut konumumu kullan', + pickOnMap: 'Haritada Konum Seç', + loginToAdd: 'Bir kaykay spotu eklemek için giriş yapmalısın.', + locationLabel: 'Konum', + tapToPlace: 'Pini yerleştirmek için haritaya dokun veya ince ayar için sürükle.', + manualCoords: 'Koordinatları manuel gir', + moreDetails: 'Daha fazla detay (isteğe bağlı)', + photoHint: 'yayınlamak için bir fotoğraf gerekli', + nameRequired: 'Lütfen bu spot için bir ad gir.', + descriptionRequired: 'Lütfen bu spotu tanımla.', + addressRequired: 'Lütfen bir adres veya bölge adı ekle.', + photoRequired: 'Lütfen en az bir fotoğraf ekle.', + draftTitle: 'Kaydedilmemiş bir taslağın var', + draftBody: 'Kaldığın yerden devam et veya taslağı sil.', + draftResume: 'Devam Et', + draftDiscard: 'Taslağı sil', + requiredFields: 'Bize bu spotu anlat. * ile işaretli tüm alanlar zorunludur.', + coordinates: 'Koordinatlar', + latitudePlaceholder: 'Enlem (örn., 34.1012)', + longitudePlaceholder: 'Boylam (örn., -118.3389)', + gettingLocation: 'Konum alınıyor...', + accessType: 'Erişim Türü', + publicTitle: 'Herkese Açık', + publicDesc: 'Kaykay parkları, halka açık meydanlar, sokak spotları', + privateTitle: 'Özel Mülk - İzin Gerekli', + privateDesc: 'Arka bahçe rampaları, özel arazi, kapalı spotlar', + localsTitle: 'Önce Yerlilere Sor', + localsDesc: 'Spota saygı göster, mahvetme', + contactInfo: 'İletişim Bilgileri', + contactPlaceholder: 'örn., Telefon numarası, Instagram, e-posta...', + contactHintPrivate: 'İzin için insanlar sana nasıl ulaşmalı?', + contactHintLocals: 'İnsanlar spot hakkında sormak için sana nasıl ulaşmalı?', + }, + marketplace: { + title: 'Pazar Yeri', + subtitle: 'Kaykay Gear al, sat ve takas et', + addListing: 'İlan Ekle', + condition: 'Durum', + conditions: { + new: 'Yeni', + likeNew: 'Yeni Gibi', + good: 'İyi', + fair: 'Orta', + poor: 'Kötü', + }, + categories: { + all: 'Tümü', + decks: 'Deck’ler', + trucks: 'Truck’lar', + wheels: 'Tekerlekler', + bearings: 'Rulmanlar', + shoes: 'Ayakkabılar', + clothing: 'Giyim', + protection: 'Koruma', + other: 'Diğer', + }, + priceRange: 'Fiyat Aralığı', + location: 'Konum', + seller: 'Satıcı', + contact: 'Satıcıyla İletişime Geç', + makeOffer: 'Teklif Ver', + sold: 'Satıldı', + available: 'Mevcut', + gear: 'Gear', + sellGear: 'Gear Sat', + wantToBuy: 'Satın Almak İstiyorum', + }, + auth: { + login: 'Giriş yap', + logout: 'Çıkış yap', + signUp: 'Kaydol', + signUpTitle: 'Nostr’da yeni misin?', + signUpDesc: 'Başlamak için yeni bir hesap oluştur. Ücretsiz ve açık.', + orLogIn: 'Veya giriş yap', + loginWithExtension: 'Uzantı ile Giriş Yap', + loginWithAmber: 'Amber ile Giriş Yap (Android)', + loginWithKey: 'Gizli Anahtar (nsec) veya Kurtarma İfadesi', + loginWithBunker: 'Nostr Connect ile Giriş Yap', + bunkerUri: 'Bunker Bağlantı Dizesi', + openAmber: 'Amber’ı Aç', + connectToBunker: 'Bunker’a Bağlan', + noExtension: 'Uzantı bulunamadı.', + extensionHelp: 'Yukarıdaki Kaydol düğmesini kullanarak yeni bir hesap oluşturmayı dene veya mevcut kimlik bilgilerin varsa Amber, Anahtar ya da Bunker sekmelerini kullan.', + amberDesc: 'Amber, Android cihazlar için güvenli bir Nostr imzalayıcı uygulamasıdır. Amber’ı açmak ve erişim yetkisi vermek için aşağıdaki düğmeye tıkla.', + bunkerDesc: 'Uzak bir imzalayıcı (bunker) kullanarak hesabına herhangi bir cihazdan eriş. Anahtarların sunucuda güvende kalır, asla web sitelerine açılmaz.', + keyPlaceholder: 'nsec1... veya 12 kelimelik kurtarma ifaden', + keyHint: 'nsec anahtarını veya 12 kelimelik kurtarma ifadeni yapıştırabilirsin', + uploadKeyFile: 'Anahtar Dosyanı Yükle', + loggingIn: 'Giriş yapılıyor...', + connecting: 'Bağlanıyor...', + verifying: 'Doğrulanıyor...', + }, + createEvent: { + title: 'Etkinlik Oluştur', + subtitle: 'Topluluk için bir kaykay etkinliği düzenle', + backToEvents: 'Etkinliklere Dön', + namePlaceholder: 'örn., Yaz Kaykay Seansı', + descriptionPlaceholder: 'Etkinliği, neler bekleneceğini, kuralları, ödülleri vb. tanımla.', + selectType: 'Etkinlik türünü seç', + venuePlaceholder: 'örn., Venice Beach Skatepark, CA', + selectDate: 'Tarih seç', + selectTime: 'Saat seç', + ticketPricePlaceholder: 'Ücretsiz etkinlikler için boş bırak', + publishing: 'Yayınlanıyor...', + success: 'Etkinlik başarıyla yayınlandı!', + error: 'Etkinlik yayınlanamadı', + loginToCreate: 'Etkinlik oluşturmak için giriş yapmalısın.', + requiredFields: 'Bize bu etkinliği anlat. * ile işaretli tüm alanlar zorunludur.', + startDateTime: 'Başlangıç Tarihi ve Saati', + endDateTime: 'Bitiş Tarihi ve Saati (isteğe bağlı)', + coordinatesOptional: 'Koordinatlar (isteğe bağlı)', + coverImage: 'Kapak Görseli', + uploadCover: 'Kapak görseli yükle', + nip05Recommended: 'NIP-05 Doğrulaması Önerilir', + nip05Desc: 'Kimliğini doğrulamak ve katılımcılarla güven oluşturmak için profiline bir NIP-05 tanımlayıcısı ekle.', + addNip05: 'Ayarlar’da NIP-05 Ekle', + }, + labPage: { + title: 'The Lab', + subtitle: 'Trick öğren. Anları yakala. Diğer kaykaycılarla bağlantı kur', + coachesTab: 'Koçluk', + filmersTab: 'Çekim', + offerCoaching: 'KOÇLUK SUN', + offerFilming: 'ÇEKİM SUN', + loginToOffer: 'Hizmet sunmak için giriş yap', + whatToLearn: 'NE ÖĞRENMEK İSTİYORSUN?', + whatContent: 'NE TÜR İÇERİK?', + selectSkillsDesc: 'Yetenekleri seç, seni koçlarla eşleştirelim', + selectFilmingDesc: 'Aradığın çekim hizmetlerini seç', + searchPlaceholder: 'İsim, konum veya yetenekle ara...', + noServicesYet: 'HENÜZ HİZMET YOK', + beFirstToOffer: 'Topluluğa koçluk veya çekim hizmeti sunan ilk kişi ol!', + skills: 'Yetenekler', + rate: 'Ücret', + perHour: '/saat', + contact: 'İletişim', + viewProfile: 'Profili Görüntüle', + noProfilesYet: 'Henüz profil yok', + beFirstCoach: 'Koç olarak kaydolan ilk kişi ol!', + beFirstFilmer: 'Filmer olarak kaydolan ilk kişi ol!', + yearsExperience: 'yıllık deneyim', + }, + skills: { + kickflip: 'Kickflip', + heelflip: 'Heelflip', + ollie: 'Ollie', + treflip: '360 Flip', + shuvit: 'Shuvit', + hardflip: 'Hardflip', + varial: 'Varial', + nollie: 'Nollie', + fakie: 'Fakie', + switch: 'Switch', + grind: 'Grind', + slide: 'Slide', + manual: 'Manual', + transition: 'Transition', + bowl: 'Bowl', + vert: 'Vert', + street: 'Street', + flatground: 'Flatground', + }, + lab: { + title: 'The Lab', + subtitle: 'Kaykayını bir üst seviyeye taşı', + coaches: 'Koçlar', + filmers: 'Filmerlar', + findCoach: 'Koç Bul', + becomeCoach: 'Koç Ol', + findFilmer: 'Filmer Bul', + becomeFilmer: 'Filmer Ol', + hourlyRate: 'Saatlik Ücret', + experience: 'Deneyim', + specialties: 'Uzmanlıklar', + availability: 'Uygunluk', + bookSession: 'Seans Ayırt', + contactCoach: 'Koçla İletişime Geç', + noCoaches: 'Bölgende koç bulunamadı', + noFilmers: 'Bölgende filmer bulunamadı', + }, + shops: { + title: 'Kaykay Shop’ları', + addShop: 'Shop Ekle', + editShop: 'Shop Düzenle', + shopDetails: 'Shop Detayları', + shopName: 'Shop Adı', + hours: 'Saatler', + phone: 'Telefon', + website: 'Web Sitesi', + services: 'Hizmetler', + brands: 'Markalar', + supportLocal: 'Yerlileri Destekle', + nip05: 'Shop NIP-05', + nip05Hint: 'Bu Shop için kontrol ettiğin isteğe bağlı bir tanıtıcı (örn. shop@yourdomain.com), anahtarınla doğrulanır. En fazla 5 tane ekle.', + }, + becomeFilmer: { + title: 'Filmer Ol', + subtitle: 'Topluluk için en iyi klipleri yakala', + bioPlaceholder: 'Bize çekim deneyiminden ve ekipmanından bahset...', + specialtiesPlaceholder: 'örn., balık gözü, uzun lens, drone, kurgu', + selectSpecialties: 'Uzmanlıklarını seç', + hourlyRate: 'Saatlik Ücret (sats)', + ratePlaceholder: 'örn., 5000', + locationPlaceholder: 'Şehrin veya bölgen', + portfolioUrl: 'Portfolyo URL’si', + portfolioPlaceholder: 'Çalışmalarına bağlantı (YouTube, Instagram, vb.)', + publishing: 'Profil yayınlanıyor...', + success: 'Filmer profili oluşturuldu!', + error: 'Profil oluşturulamadı', + }, + food: { + title: 'Yemek Spotları', + subtitle: 'Seansından önce veya sonra enerji topla', + addFood: 'Yemek Spotu Ekle', + categories: { + all: 'Tümü', + burgers: 'Burger', + pizza: 'Pizza', + tacos: 'Taco', + coffee: 'Kahve', + drinks: 'İçecekler', + snacks: 'Atıştırmalıklar', + }, + skaterFriendly: 'Kaykaycı Dostu', + nearSpots: 'Kaykay Spotlarına Yakın', + }, + profile: { + posts: 'Gönderiler', + spots: 'Spotlar', + events: 'Etkinlikler', + following: 'Takip Edilen', + followers: 'Takipçiler', + editProfile: 'Profili Düzenle', + follow: 'Takip Et', + unfollow: 'Takibi Bırak', + noPostsYet: 'Henüz gönderi yok', + noBio: 'Henüz biyografi yok', + zapProfile: 'Bu kaykaycıyı Zap’la', + }, + becomeCoach: { + title: 'Koç Ol', + subtitle: 'Yeteneklerini paylaş ve diğer kaykaycıların gelişmesine yardımcı ol', + bioPlaceholder: 'Bize kaykay geçmişinden ve öğretme tarzından bahset...', + skillsPlaceholder: 'örn., kickflip, heelflip, grind’ler, bowl’lar', + selectSkills: 'Öğretebileceğin yetenekleri seç', + hourlyRate: 'Saatlik Ücret (sats)', + ratePlaceholder: 'örn., 5000', + locationPlaceholder: 'Şehrin veya bölgen', + publishing: 'Profil yayınlanıyor...', + success: 'Koç profili oluşturuldu!', + error: 'Profil oluşturulamadı', + }, + weather: { + title: 'Hava Durumu', + current: 'Mevcut Koşullar', + forecast: 'Tahmin', + humidity: 'Nem', + wind: 'Rüzgar', + feelsLike: 'Hissedilen', + goodForSkating: 'Kaymak için harika!', + notIdeal: 'İdeal olmayan koşullar', + allWeather: 'Tüm Hava', + goodWeather: 'İyi Hava', + perfectWeather: 'Mükemmel Hava', + }, + errors: { + somethingWentWrong: 'Bir şeyler ters gitti', + tryAgainLater: 'Lütfen daha sonra tekrar dene', + notFound: 'Bulunamadı', + pageNotFound: 'Sayfa bulunamadı', + unauthorized: 'Yetkisiz', + loginRequired: 'Devam etmek için lütfen giriş yap', + networkError: 'Ağ hatası', + checkConnection: 'Lütfen internet bağlantını kontrol et', + invalidInput: 'Geçersiz giriş', + requiredField: 'Bu alan zorunludur', + }, + time: { + today: 'Bugün', + yesterday: 'Dün', + tomorrow: 'Yarın', + thisWeek: 'Bu hafta', + nextWeek: 'Gelecek hafta', + thisMonth: 'Bu ay', + justNow: 'Az önce', + minutesAgo: '{{count}} dakika önce', + hoursAgo: '{{count}} saat önce', + daysAgo: '{{count}} gün önce', + }, + spotDetail: { + postedBy: 'Paylaşan', + getDirections: 'Yol Tarifi Al', + reviews: 'Değerlendirmeler', + noReviews: 'Henüz değerlendirme yok', + beFirstReview: 'Bu spotu değerlendiren ilk kişi ol!', + writeReview: 'Değerlendirme Yaz', + submitReview: 'Değerlendirmeyi Gönder', + rating: 'Puan', + reviewPlaceholder: 'Bu spottaki deneyimini paylaş...', + relatedSpots: 'Yakındaki Spotlar', + }, + eventDetail: { + organizedBy: 'Düzenleyen', + eventInfo: 'Etkinlik Bilgileri', + location: 'Konum', + dateTime: 'Tarih ve Saat', + price: 'Fiyat', + attendeeCount: '{{count}} katılıyor', + interested: 'İlgileniyor', + going: 'Katılıyor', + notGoing: 'Katılmıyor', + share: 'Etkinliği Paylaş', + }, + venueAccess: { + title: 'Erişim kartları', + desc: 'Bir biniciye kapıda erişimini kanıtlaması için imzalı bir kart ver — kartını gösterir ve doğrulamak için herkes QR’ı tarayabilir.', + active: '{{count}} aktif', + revoked: '{{count}} iptal edildi', + issue: 'Kart ver', + verifyHint: 'Tarayarak doğrulandı — kontrol etmek için uygulama veya hesap gerekmez.', + publicTitle: 'Erişim kartları', + publicDesc: 'Bu mekan erişim kartları düzenler. Doğrulamak için kapıda binicinin kartını tarayın.', + badge: 'Kartlar', + sellerHint: 'Bu satıcının mekanı erişim kartları düzenler', + }, + zaps: { + zapButton: 'Zap', + sendZap: 'Zap Gönder', + zapAmount: 'Zap Tutarı', + customAmount: 'Özel Tutar', + addMessage: 'Bir mesaj ekle (isteğe bağlı)', + sending: 'Gönderiliyor...', + sent: 'Zap gönderildi!', + failed: 'Zap başarısız', + received: 'Bir zap aldın!', + }, + rewards: { + title: 'Ödüller', + yourPoints: 'Puanların', + earnPoints: 'Puan Kazan', + redeemPoints: 'Puan Kullan', + leaderboard: 'Liderlik Tablosu', + achievements: 'Başarılar', + dailyTasks: 'Günlük Görevler', + weeklyTasks: 'Haftalık Görevler', + }, + errorsUi: { + slammedTitle: 'Slam!', + slammedBody: 'Bu ekranda bir şeyler ters gitti. Hesabın ve verilerin güvende — hadi tekrar yola koyalım.', + tryAgain: 'Tekrar dene', + reloadApp: 'Uygulamayı yenile', + pageSlammedTitle: 'Bu sayfa slam yedi', + pageSlammedBody: 'Bu ekranda bir şeyler ters gitti. Hesabın ve verilerin güvende. Genelde hızlı bir yenileme sorunu çözer.', + reload: 'Yenile', + goBack: 'Geri dön', + }, + backup: { + title: 'Girişini kaydet', + subtitle: '10 saniye sürer — bir kez yap', + message: 'Kurtarma kodun hesabına geri dönmenin tek yolu. Kaydet ve herhangi bir cihazda giriş yapabilirsin.', + warning: 'Kaybedersen sıfırlama yok — e-posta yok, şifre kurtarma yok.', + backupNow: 'Şimdi kaydet', + confirmed: 'Kaydettim', + remindLater: 'Sonra', + }, + bootUi: { + ariaLoading: 'SkateSpots yükleniyor', + ariaReady: 'SkateSpots hazır', + ready: 'Hazır', + statusWaking: 'Ağ uyandırılıyor', + statusTuning: 'Relay’ler ayarlanıyor', + statusPulling: 'Spotlar çekiliyor', + statusDropping: 'Dropping in', + }, + footer: { + vibedWith: 'Vibe’landı', + poweredBy: 'Altyapı', + openSource: 'Açık Kaynak', + contribute: 'Katkıda Bulun', + decentralized: 'Merkeziyetsiz', + communityOwned: 'Topluluğa Ait', + }, + role: { + owner: 'Sahip', + admin: 'Yönetici', + organiser: 'Organizatör', + verifiedOwner: 'Doğrulanmış sahip', + }, + nfc: { + write: 'NFC etiketine yaz', + written: 'Etiket yazıldı', + writtenDesc: 'Doğrulama sayfasını açmak için etiketi bir telefona dokundur.', + failed: 'Etiket yazılamadı', + }, + collectionUi: { + namePlaceholder: 'Barselona Gezisi 2024', + descriptionPlaceholder: 'Barselona gezimden en sevdiğim spotlar...', + }, + toastsUi: { + followingSuccess: 'Başarıyla takip edildi', + followingSuccessDesc: 'Bu kullanıcı artık ağında', + followFailed: 'Takip edilemedi', + unfollowSuccess: 'Takip bırakıldı', + unfollowSuccessDesc: 'Ağından çıkarıldı', + unfollowFailed: 'Takip bırakılamadı', + reportThanks: 'Teşekkürler — incelemeye gönderildi', + reportFailed: 'Rapor gönderilemedi', + savedOffline: 'Çevrimdışı kaydedildi', + savedOfflineDesc: 'Tekrar çevrimiçi olduğunda otomatik olarak yayınlayacağız.', + cacheCleaned: 'Önbellek temizlendi', + cacheCleanedDesc: 'Önbellekten {{count}} eski spot kaldırıldı', + cacheCleared: 'Önbellek silindi', + cacheClearedDesc: 'Önbelleğe alınmış tüm spotlar kaldırıldı', + backOnline: 'Tekrar çevrimiçi', + backOnlineDesc: '{{count}} kayıtlı işlem gönderildi.', + postQueued: 'Gönderi kuyruğa alındı', + postQueuedDesc: 'Gönderin tekrar çevrimiçi olduğunda yayınlanacak', + invalidIdentifier: 'Geçersiz tanımlayıcı. npub1..., user@domain.com veya hex pubkey kullan', + notASpotThanks: 'Teşekkürler — incelemeye gönderildi', + notASpotThanksDesc: 'Alınma yok: bu, pini konu dışı olarak işaretler, böylece insanlar kendileri karar verebilir.', + notASpotFailed: 'Rapor gönderilemedi', + pleaseTryAgain: 'Lütfen tekrar dene.', + relayUnreachable: 'Hiçbir Relay’e ulaşılamadı — bağlantını kontrol et ve tekrar dene.', + loginToReport: 'Bir spot bildirmek için giriş yap.', + zapLoginRequired: 'Giriş gerekli', + zapLoginRequiredDesc: 'Zap göndermek için giriş yapmalısın.', + zapEventNotFound: 'Etkinlik bulunamadı', + zapEventNotFoundDesc: 'Zap’lanacak etkinlik bulunamadı.', + zapAuthorNotFound: 'Yazar bulunamadı', + zapAuthorNotFoundDesc: 'Bu öğenin yazarı bulunamadı.', + zapSuccess: 'Zap başarılı!', + zapSuccessNwcDesc: 'NWC aracılığıyla yazara {{amount}} sats gönderdin.', + zapSuccessDesc: 'Yazara {{amount}} sats gönderdin.', + zapStatusUnknown: 'Ödeme durumu bilinmiyor', + zapStatusUnknownDesc: 'Cüzdanın bu zapı hâlâ işliyor olabilir. Tekrar denemeden önce cüzdanını kontrol et — iki kez ödeme yapma.', + zapNwcFailed: 'NWC ödemesi başarısız', + zapWeblnFailed: 'WebLN ödemesi başarısız', + zapFallingBack: '{{error}}. Diğer ödeme yöntemlerine geçiliyor...', + zapFailed: 'Zap başarısız', + zapUnknownNwcError: 'Bilinmeyen NWC hatası', + zapUnknownWeblnError: 'Bilinmeyen WebLN hatası', + nwcInvalidUri: 'Geçersiz NWC URI', + nwcInvalidUriDesc: 'Lütfen bağlantı dizesini kontrol et ve tekrar dene.', + nwcExists: 'Bağlantı zaten mevcut', + nwcExistsDesc: 'Bu cüzdan zaten bağlı.', + nwcConnected: 'Cüzdan bağlandı', + nwcConnectedDesc: '{{alias}} ile başarıyla bağlantı kuruldu.', + nwcFailed: 'Bağlantı başarısız', + nwcFailedDesc: 'Cüzdana bağlanılamadı: {{error}}', + nwcUnknownError: 'Bilinmeyen bir hata oluştu', + nwcDisconnected: 'Cüzdan bağlantısı kesildi', + nwcDisconnectedDesc: 'Cüzdan bağlantısı kaldırıldı.', + deleteApproveAmber: 'Amber’da Onayla', + deleteApproveAmberDesc: 'Amber açılacak — silmeyi onaylamak için Onayla’ya dokun.', + deleteCancelled: 'İptal edildi', + deleteCancelledDesc: 'İsteği Amber’da reddettin.', + deleteCouldntSign: 'İmzalanamadı', + deletePublishing: 'Adım 2/2: Yayınlanıyor…', + deletePublishingDesc: 'Silme işlemi Relay’lere gönderiliyor.', + deleteStuck: 'YAYINLAMA’da takıldı', + deleteStuckDesc: 'Relay adımı başarısız oldu: {{error}}. İmzalama tamamdı; Relay onaylamadı.', + stashMerged: 'Başka bir cihazdan değişiklikler birleştirildi', + stashMergedDesc: 'Stash’in başka bir yerde düzenlendi — her iki değişiklik seti de korundu.', + statusUpdated: 'Durum güncellendi!', + statusUpdatedDesc: 'Kaykay durumun artık başkaları tarafından görülebilir.', + statusFailed: 'Durum ayarlanamadı', + statusCleared: 'Durum temizlendi', + statusClearedDesc: 'Durumun kaldırıldı.', + statusClearFailed: 'Durum temizlenemedi', + nutzapEnabled: 'Nutzap alma etkinleştirildi', + nutzapEnabledDesc: 'Artık ecash zap alabilirsin!', + nutzapSetupFailed: 'Kurulum başarısız', + nutzapUnavailable: 'Nutzap gönderme kullanılamıyor', + tokenReceived: 'Token alındı', + tokenReceivedDesc: 'Cashu token başarıyla kullanıldı!', + receiveFailed: 'Alma başarısız', + invalidAmount: 'Geçersiz tutar', + invalidAmountDesc: 'Lütfen geçerli bir tutar gir', + tokenCreated: 'Token oluşturuldu', + sendFailed: 'Gönderme başarısız', + mintAdded: 'Mint eklendi', + mintAddedDesc: 'Mint başarıyla eklendi ve güvenildi', + mintAddFailed: 'Mint eklenemedi', + mintRemoved: 'Mint kaldırıldı', + mintRemoveFailed: 'Mint kaldırılamadı', + paymentReceived: 'Ödeme alındı', + paymentReceivedDesc: '{{amount}} sats başarıyla alındı!', + paymentSent: 'Ödeme gönderildi', + paymentSentDesc: 'Lightning ödemesi başarıyla tamamlandı', + loginRequired: 'Giriş Gerekli', + loginToFollowFounder: 'Kurucuyu takip etmek için lütfen giriş yap', + alreadyFollowing: 'Zaten Takip Ediliyor', + alreadyFollowingDesc: '{{name}} kullanıcısını zaten takip ediyorsun!', + couldNotComplete: 'Bu tamamlanamadı', + tryAgainLower: 'Tekrar dene.', + couldNotLoadProfile: 'Profil yüklenemedi', + couldNotLoadProfileDesc: 'İnternet bağlantını kontrol et ve yenilemeyi dene.', + undone: 'Geri alındı', + undoneDesc: 'Nötre dönüldü — ne gizli ne kefil.', + confirmed: 'Onaylandı', + confirmedDesc: 'Kefil olundu — bu kuyruktan düşer.', + hiddenToast: 'Gizlendi', + couldNotUndo: 'Geri alınamadı', + couldNotConfirm: 'Onaylanamadı', + deleteFailed: 'Silme başarısız', + somethingWentWrong: 'Bir şeyler ters gitti', + }, + seoUi: { + becomeBuilderTitle: 'Builder Ol - SkateSpots', + becomeBuilderDesc: 'Rampa, park ve DIY yapım hizmetlerini listele — ne yaptığını, malzemeleri ve ölçeği.', + tradesTitle: 'Takaslarım — SkateSpots', + tradesDesc: 'Pazar yeri takaslarını, onaylarını ve itibarını yönet.', + eventsTitle: 'Skate Etkinlikleri ve Turları - SkateSpots', + eventsDesc: 'Yakınındaki kaykay etkinliklerini, yarışmaları, turları ve seansları keşfet.', + editShopDesc: 'Kaykay Shop’ını düzenle.', + createTourDesc: 'Kaykay turları düzenle - yerel gizli cevher turları, ulusal yol gezileri, uluslararası maceralar veya KOTR tarzı yıkım yarışmaları.', + deckDesignerTitle: 'Deck Tasarımcısı — SkateSpots DIY', + deckDesignerDesc: 'Bir kaykay veya longboard dış hattı tasarla, ardından yazdırılabilir 1:1 şablon, SVG veya DXF olarak dışa aktar — concave, kick, aks mesafesi ve truck delikleri dahil.', + createEventTitle: 'Bir Skate Etkinliği Oluştur - SkateSpots', + createEventDesc: 'Topluluk için yeni bir kaykay etkinliği oluştur.', + editTourDesc: 'Kaykay turunu düzenle — durakları, tarihleri ve detayları güncelle.', + walletTitle: 'Cüzdan - SkateSpots', + walletDesc: 'Kaykaycılara ve spot oluşturuculara zap göndermek için Lightning cüzdanını bağla.', + becomePhotographerTitle: 'Fotoğrafçı Ol - SkateSpots', + becomePhotographerDesc: 'Kaykay fotoğrafçılığı profilini oluştur — kameralar, lensler, ışıklandırma ve hizmetler.', + newsletterTitle: 'Bülten - SkateSpots', + newsletterDesc: 'SkateSpots topluluğundan haftalık paylaşımlar. Uygulama güncellemeleri, yeni spotlar, etkinlikler ve kaykayı hayatta tutan insanlar.', + homeTitle: 'SkateSpots - Dünya Çapında Kaykay Yerlerini Keşfet', + zapLeaderboardTitle: 'Zap Liderlik Tabloları - SkateSpots', + zapLeaderboardDesc: 'En çok zap alan kaykay spotları ve onları destekleyen topluluk üyeleri.', + adminReviewTitle: 'İnceleme kuyruğu — SkateSpots', + gearSwapTitle: 'Gear Takası - SkateSpots', + gearSwapDesc: 'Diğer kaykaycılarla kullanılmış kaykay Gear’ı al ve sat. Deck’ler, truck’lar, tekerlekler, ayakkabılar ve daha fazlası.', + donateTitle: 'Bağış Yap — SkateSpots', + donateDesc: 'SkateSpots’u destekle — Lightning, özel on-chain (sessiz ödemeler) veya Angor’da yapımı fonla.', + verifyCardTitle: 'Doğrula — SkateSpots', + verifyCardDesc: 'Bir SkateSpots kartını veya erişim kartını doğrula.', + mapTitle: 'Kaykay Spotları Haritası - SkateSpots', + mapDesc: 'Etkileşimli haritamızda dünya çapındaki kaykay spotlarını keşfet.', + diyTitle: 'DIY — Kendin Yap | SkateSpots', + diyDesc: 'Kendi kaykaylarını, rampalarını ve beton spotlarını yapmak için rehberler, açık araçlar ve planlar — ve bunu birlikte yapacağın insanlar ve yerler.', + appShopTitle: 'Uygulama Shop’ı — SkateSpots', + becomeSkaterTitle: 'Kaykaycı Dizinine Katıl - SkateSpots', + becomeSkaterDesc: 'Topluluğun seni bulabilmesi için kaykaycı profilini oluştur.', + marketplaceTitle: 'Pazar Yeri - SkateSpots', + marketplaceDesc: 'Merkeziyetsiz Plebeian Market’te kaykay Gear’ı al ve sat.', + becomeEditorTitle: 'Video Editörü Ol - SkateSpots', + becomeEditorDesc: 'SkateSpots’ta kaykay video editörü profilini oluştur.', + amberCallbackTitle: 'Amber ile Giriş Yapılıyor - SkateSpots', + amberCallbackDesc: 'Amber (NIP-55) girişini tamamlıyorsun.', + supportersTitle: 'Destekçiler - SkateSpots', + supportersDesc: 'SkateSpots’u ayakta tutan topluluk — destekçiler, iş birlikçiler, ortaklar ve arkadaşlar.', + becomeCoachTitle: 'Koç Ol - SkateSpots', + becomeCoachDesc: 'Kaykay koçluk profilini oluştur.', + riderCardTitle: 'Kaykaycı Kartı — SkateSpots', + riderCardDesc: 'Yazdırılabilir SkateSpots Kaykaycı Lisansını veya Park Erişim Kartını oluştur.', + editEventDesc: 'Kaykay etkinliğini düzenle.', + createShopTitle: 'Bir Kaykay Shop’ı Ekle - SkateSpots', + createShopDesc: 'Kaykay Shop’ını topluluğa ekle.', + deckCostTitle: 'Deck Maliyet Hesaplayıcısı — SkateSpots DIY', + deckCostDesc: 'Bir deck yapmanın maliyetini hesapla — işçilik, ekipman, malzemeler, süreç zamanı, paketleme ve marj — ve adil bir satış fiyatı.', + pyramidTitle: 'Piramit Sıralamaları - SkateSpots', + pyramidDesc: 'En iyi katkıda bulunanlar ve topluluk liderleri.', + foodTitle: 'Spotlara Yakın Yemek - SkateSpots', + foodDesc: 'Kaykay spotlarının yakınındaki restoranları, kafeleri ve yemek seçeneklerini bul.', + createListingTitle: 'Gear İlan Et - SkateSpots', + createListingDesc: 'Satılık kaykay Gear’ı ilan et veya satın almak istediğin Gear’ı bul.', + becomeFilmerTitle: 'Filmer Ol - SkateSpots', + becomeFilmerDesc: 'Kaykay çekim profilini oluştur.', + skatersTitle: 'Kaykaycılar - SkateSpots', + skatersDesc: 'SkateSpots topluluğundaki kaykaycıları keşfet. Stile, duruşa, seviyeye ve konuma göre göz at.', + communityStatsTitle: 'Topluluk İstatistikleri — SkateSpots', + communityStatsDesc: 'SkateSpots için canlı topluluk metrikleri — spotlar, etkinlikler, koçlar, filmerlar, editörler, turlar ve zaman içindeki büyüme. Doğrudan Nostr’dan çekilir.', + labTitle: 'The Lab - SkateSpots', + labDesc: 'Kaykay koçlarını, filmerları, fotoğrafçıları ve video editörlerini bul.', + stashTitle: 'Stash’im - SkateSpots', + stashDesc: 'Özel Gear envanterini yönet. Neye sahip olduğunu, neyi satmak veya takas etmek istediğini takip et.', + bountyLeaderboardTitle: 'Haritala ve Kazan - SkateSpots', + bountyLeaderboardDesc: 'Kaykay spotlarını ve Shop’ları haritala, topluluktan zap kazan. En iyi katkıda bulunanları gör.', + spotCollectionsTitle: 'Spot Koleksiyonlarım - SkateSpots', + spotCollectionsDesc: 'En sevdiğin kaykay spotlarını kişiselleştirilmiş koleksiyonlarda düzenle', + mintsTitle: 'Cashu Mintleri — SkateSpots', + mintsDesc: 'Cashu mintlerine göz at, sağlıklarını kontrol et ve cüzdanına bir tane ekle.', + }, + miscUi: { + openingCamera: 'Kamera açılıyor…', + usePhoneCamera: 'Telefon kamerasını kullan, sonra buraya dön', + startingCamera: 'Kamera başlatılıyor...', + cameraAccessRequired: 'Kamera Erişimi Gerekli', + cameraAccessHint: 'Tarayıcı ayarlarından kamera erişimine izin ver veya aşağıdaki dosya seçiciyi kullan.', + cameraErrorTitle: 'Kamera hatası', + cameraErrorDesc: 'Kamera açılamadı. Lütfen Ayarlar’dan uygulama izinlerini kontrol et.', + cameraDeniedTitle: 'Kamera erişimi reddedildi', + cameraDeniedDesc: 'Lütfen tarayıcı ayarlarından kamera erişimine izin ver.', + uploadFromGallery: 'Galeriden Yükle', + uploading: 'Yükleniyor...', + usePhoto: 'Fotoğrafı Kullan', + earningPotential: 'Kazanç Potansiyeli', + qualityExcellent: 'Mükemmel!', + qualityGood: 'İyi', + qualityBasic: 'Temel', + qualityGettingStarted: 'Başlangıç seviyesi', + qualityLocationAdded: 'Konum eklendi', + qualityOnePhoto: 'En az 1 fotoğraf', + qualityThreePhotos: '3+ fotoğraf', + qualityMoreAngles: 'Daha fazla açı = daha iyi', + qualityDescription: 'Açıklama', + qualityDetailedDesc: 'Detaylı açıklama (100+ karakter)', + qualityContact: 'İletişim bilgisi', + qualityPhoneOrWebsite: 'Telefon veya web sitesi', + qualityHours: 'Açılış saatleri', + qualitySpotType: 'Spot türü seçildi', + failedToLoadComments: 'Yorumlar yüklenemedi', + commentsTitle: 'Yorumlar', + noCommentsYet: 'Henüz yorum yok', + beFirstComment: 'Düşüncelerini paylaşan ilk kişi ol!', + removeMember: 'Üyeyi çıkar', + whoIsThisFor: 'Bu profil kimin için?', + individual: 'Bireysel', + individualDesc: 'Tek bir kişi', + collective: 'Kolektif', + collectiveDesc: 'Crew, stüdyo veya şirket', + membersLabel: 'Üyeler', + dismissReport: 'Bildirimi yoksay', + reportedBy: 'bildiren', + completingLoginAmber: 'Amber ile giriş tamamlanıyor...', + entityMembersHint: 'Crew’inin Nostr hesaplarını ekle. Her üye kendi spotunu kendi anahtarıyla onaylar — o zamana kadar “beklemede” görünürler.', + entityVerifiedHint: 'Üyelik her üye için ayrı doğrulanır — kimse kendi hesabından onaylamadan crew’ine eklenemez.', + entityInvalidPubkey: 'Geçerli bir npub, nprofile veya 64 karakterlik hex pubkey gir.', + entityAlreadyAdded: 'Bu üye zaten ekli.', + offline: 'Çevrimdışı', + connected: 'Bağlı', + offlineMode: 'Çevrimdışı Mod', + allFeaturesAvailable: 'Tüm özellikler mevcut', + browsingCachedSpots: 'Önbelleğe alınmış spotlara göz atılıyor', + queuedActions: '{{count}} kuyruğa alınmış işlem', + syncing: 'Eşitleniyor', + publishingWhenStable: 'Bağlantı sabitlendiğinde yayınlanacak...', + willPublishOnline: 'Tekrar çevrimiçi olunca yayınlanacak', + availableOffline: 'Çevrimdışı kullanılabilir:', + offlineBrowseSpots: 'Daha önce görüntülenen spotlara göz at', + offlineViewDetails: 'Önbelleğe alınmış spot detaylarını görüntüle', + offlineKeepActing: 'İşlemeye devam et — gönderiler, RSVP’ler, ilanlar ve mesajlar kuyruğa alınır ve tekrar bağlandığında gönderilir', + }, + sasquatchGuide: { + homeTitle: 'SkateSpots’a Hoş Geldin! 🦧', + homeMessage: 'Yo, ben The Sasquatch. Board’ların, patikaların ve çılgın sürüşlerin bekçisi. Nostr’daki evcilleşmemiş kaykay dünyasına hoş geldin — takım elbise yok, reklam yok, sadece kendi yolunu çizen kaykaycılar. Burada trick’lerin, verilerin sana ait ve izini bıraktığın için hatta Bitcoin kazanırsın. Mahallendeki ya da dünyanın öbür ucundaki kaykaycılarla bağlantı kur. Shreding dışında kural yok, kendi izinden başka ayak izi yok.', + homeQ1: 'Barselona’da bana 3 günlük plan yap', + homeQ2: 'Başlangıç spotları bul', + homeQ3: 'Yaklaşan etkinlik var mı?', + homeQ4: 'Topluluk istatistikleri', + homeQ5: 'Yakınımdaki koçları bul', + homeQ6: 'Satılık Gear var mı?', + homeQ7: 'Nostr nedir?', + homeQ8: 'Bu ücretsiz mi?', + homeLearnMore: 'Daha Fazla Bilgi', + onboardingTitle: 'Başlarken 🚀', + onboardingMessage: 'Temelleri anlamana yardımcı olayım! Nostr kimliğindir, Bitcoin Lightning katkılar için sats kazanmanı sağlar ve zap’lar anında bahşiştir. Başlamakla ilgili bana her şeyi sor!', + onboardingQ1: 'Nasıl giriş yapılır?', + onboardingQ2: 'Nostr nedir?', + onboardingQ3: 'Nostr nasıl çalışır?', + onboardingQ4: 'Cashu nedir?', + onboardingQ5: 'Cashu cüzdanı nasıl kullanılır?', + onboardingQ6: 'Mintler nedir?', + onboardingQ7: 'Zap’lar nedir?', + onboardingQ8: 'NWC nedir?', + onboardingStart: 'Keşfetmeye başla', + onboardingLogin: 'Başlamak için giriş yap', + labTitle: 'The Lab’e Hoş Geldin! 🎓', + labMessage: 'Büyünün gerçekleştiği yer burası! Kickflip’ten darkslide’a kadar her şeyi öğretebilecek koçlar bul veya en iyi seanslarını yakalamak için filmerlarla bağlantı kur. Yeteneklere göre filtrele, deneyimlerini kontrol et ve bir seans ayırt. Unutma - herkes bir yerden başladı!', + labQ1: 'Koçları bul', + labQ2: 'Filmerları bul', + labQ3: 'Fotoğrafçıları bul', + labQ4: 'Video editörlerini bul', + labQ5: 'Bir rampa ustası bul', + labQ6: 'The Lab nedir?', + labQ7: 'Builder nedir?', + labQ8: 'Nasıl koçluk sunulur?', + labLogin: 'Hizmet Sunmak için Giriş Yap', + crewsTitle: 'Crew’ler 🤘', + crewsMessage: 'Crew’ler haritaya bağlı kaykay ailendir — birlikte kaydığın insanlar, para için tuttuğun değil. Her crew’un haritada ana bölgesi, ana spotları, üyeleri ve bir manifestosu vardır. Üyeler kendi anahtarlarıyla onaylar, böylece kadro sağlam olur. Kendini kur veya halkını bul!', + crewsQ1: 'Crew’ler nedir?', + crewsQ2: 'Nasıl crew kurulur?', + crewsQ3: 'Bir crew The Lab’den nasıl farklıdır?', + crewsQ4: 'Üyeler nasıl onaylar?', + crewsQ5: 'Nostr nedir?', + crewsQ6: 'Zap’lar nasıl çalışır?', + crewsLogin: 'Crew Oluşturmak için Giriş Yap', + }, + supportUi: { + keepMapFree: 'Haritayı ücretsiz tut', + keepMapFreeDesc: 'Reklam yok, izleme yok, VC yok. Sats’ların barındırma, AI düğümü ve Relay için ödeme yapar.', + thankYou: 'Teşekkürler! ⚡', + satsKeepMapFree: 'Sats’ların haritayı ücretsiz tutar.', + keptFreeNext: 'SkateSpots’u bir sonraki kaykaycı için ücretsiz tuttun.', + scanToPay: 'Ödemek için tara', + zapSkateSpots: 'SkateSpots’u Zap’la', + payQuietly: 'Sessizce öde', + pickAmount: 'Bir tutar seç', + enterAmount: 'Kaç sats göndermek istediğini gir.', + couldNotStartPayment: 'Ödeme başlatılamadı.', + customAmountAria: 'Sats cinsinden özel tutar', + commentPlaceholder: 'Bir şey söyle (isteğe bağlı — yalnızca herkese açık zap’lar)', + publicZapTitle: 'Yorumunla herkese açık zap', + loginToZapTitle: 'Herkese açık zap göndermek için giriş yap', + anonymousTitle: 'Anonim — giriş yok, kayıt yok', + copyLightningTitle: 'Lightning adresini kopyala', + copiedSuffix: '{{label}} kopyalandı', + invoiceLabel: 'Fatura', + addressLabel: 'Adres', + notAPurchase: 'Destek, satın alma değil — hiçbir şey satın almaz ve iade yoktur. Ürünler ve Sasquatch Pro ayrıdır. Konumun ve kimliğin sessiz bir ödemeye asla dahil edilmez.', + }, + statusUi: { + quickStatus: 'Hızlı Durum', + skating: 'Kayıyor', + skatingDesc: 'Şu anda kayıyor', + filming: 'Çekim yapıyor', + filmingDesc: 'Trick çekiyor', + lookingForSesh: 'Sesh Arıyor', + lookingForSeshDesc: 'Başkalarıyla kaymak istiyor', + coaching: 'Koçluk', + coachingDesc: 'Öğretiyor/koçluk yapıyor', + chilling: 'Takılıyor', + chillingDesc: 'Spotta vakit geçiriyor', + onMyWay: 'Yoldayım', + onMyWayDesc: 'Bir spota gidiyor', + takingABreak: 'Mola Veriyor', + takingABreakDesc: 'Dinleniyor/su içiyor', + doneForToday: 'Bugünlük Bitti', + doneForTodayDesc: 'Kaymayı bitirdi', + }, +}; export default trBatch7; diff --git a/src/i18n/tr/batch8.ts b/src/i18n/tr/batch8.ts index 866bd1c..d267869 100644 --- a/src/i18n/tr/batch8.ts +++ b/src/i18n/tr/batch8.ts @@ -1,4 +1,622 @@ -/** tr — batch 8. Filled by the translation pass; empty until then. */ -const trBatch8 = {}; +/** tr — batch 8. */ +const trBatch8 = { + deckCostUi: { + presetPrompt: "Bu ön ayara ad ver", + presetDefaultName: "Ön ayar {{n}}", + summaryCopied: "Özet kopyalandı", + couldNotCopy: "Kopyalanamadı", + resetConfirm: "Her şey örnek değerlere sıfırlansın mı?", + logoTooLarge: "Logo çok büyük (en fazla 500 KB)", + loginToFill: "Nostr profilinden doldurmak için giriş yap", + filledFromProfile: "Nostr profilinden dolduruldu", + warnRetailBelowOne: "Perakende kâr marjı 1×'in altında — zararına satarsın.", + warnWholesaleAboveRetail: "Toptan kâr marjı perakende kâr marjından düşük olmalı.", + warnZeroBoards: "{{count}} satır 0 board kullanıyor — o satırın maliyeti yoksayılır.", + warnFixedNoBoards: "Aylık sabit maliyetler ayarlı ama board/ay 0, bu yüzden işletme maliyeti yoksayılır.", + warnNoMaterials: "Malzeme maliyeti yok — en az bir malzeme ekle.", + warnEquipmentOverhead: "Ekipman + genel giderler maliyetin %60'ını aşıyor — bu model yüksek hacim varsayar; board sayılarını kontrol et.", + warnOneBoard: "Bazı ekipmanlar tek bir board'a yayılıyor — amorti etmek için board sayısını artır.", + templateStarterName: "Hobi başlangıcı", + templateStarterBlurb: "Birkaç satır, sabit maliyet yok", + templateShopName: "Küçük atölye", + templateShopBlurb: "Kira ve genel giderlerle tam tablo", + currency: "Para birimi", + noCurrencyMatches: "Eşleşen para birimi yok.", + ratesUnavailable: "Canlı kurlar kullanılamıyor — değiştirmek yalnızca etiketi değiştirir.", + liveRates: "canlı BTC kurları · sats dahil", + chipCost: "maliyet", + chipSell: "satış", + chipTotal: "toplam", + startFrom: "Şununla başla", + advancedToggleHint: "İşlem başına oranları ve ıskartayı, parti kurulumunu, vergiyi ve maliyet-adet eğrisini göster", + advanced: "Gelişmiş", + simple: "Basit", + sectionLabor: "İşçilik", + sectionEquipment: "Ekipman", + sectionOperations: "İşletme giderleri", + sectionMaterials: "Malzemeler", + sectionProcesses: "Süreç maliyetleri", + sectionPackaging: "Paketleme", + sectionMargins: "Kâr marjları", + subtotalLoaded: "{{value}}/saat tam yük", + subtotalPerBoard: "{{value}}/board", + hourlyRate: "Saatlik ücret ({{unit}})", + labourBurden: "İşçilik yükü (×)", + loadedRate: "Tam yüklü ücret", + loadedRateHintBefore: "Tam yüklü ücret = ücret × yük (işveren vergileri ve işçilik sigortası). Kira ve faturalar şu başlığın altına gider: ", + loadedRateHintAfter: " — ikisinde birden sayma.", + colEquipment: "Ekipman", + colCostUnit: "Maliyet ({{unit}})", + colCost: "Maliyet", + colSetupH: "Kurulum (sa)", + colLifetimeBoards: "Kullanım ömrü board", + colPerBoard: "Board başına", + colMaterial: "Malzeme", + colOrderUnit: "Sipariş ({{unit}})", + colShipUnit: "Kargo ({{unit}})", + colBoardsOrder: "Board / sipariş", + colOrderM: "Sipariş (d)", + colUnloadM: "Boşaltma (d)", + colOrder: "Sipariş", + colShipping: "Kargo", + colOrderMin: "Sipariş (dk)", + colUnloadMin: "Boşaltma (dk)", + colProcess: "Süreç", + colTimeM: "Süre (d)", + colBoardsRun: "Board / parti", + colRateHr: "Ücret/sa (0 = atölye)", + colRateHrShort: "Ücret/sa", + colScrapPct: "Iskarta %", + colTimeMin: "Süre (dk)", + colPackaging: "Paketleme", + colTimeBoardM: "Süre/board (d)", + colTimeBoardMin: "Süre/board (dk)", + colMaterialsBoardUnit: "Malzeme/board ({{unit}})", + colMaterialsBoard: "Malzeme/board", + equipmentPerBoard: "Board başına ekipman:", + materialsPerBoard: "Board başına malzeme:", + processesPerBoard: "Board başına süreç:", + packagingPerBoard: "Board başına paketleme:", + perBoard: "Board başına:", + addEquipment: "Ekipman ekle", + addMaterial: "Malzeme ekle", + addProcess: "Süreç ekle", + addPackagingStep: "Paketleme adımı ekle", + duplicate: "Çoğalt", + remove: "Kaldır", + boardsPerMonth: "Board / ay", + rentPerMonth: "Kira / ay", + utilitiesPerMonth: "Faturalar / ay", + subscriptionsPerMonth: "Abonelikler / ay", + markup: "Kâr marjı (×)", + wholesaleMarkup: "Toptan kâr marjı (×)", + scrapWaste: "Iskarta / fire (%)", + quantityDecks: "Adet (deck)", + targetMonthlyProfit: "Hedef aylık kâr ({{unit}})", + costNoPackaging: "Maliyet / board (paketlemesiz)", + costWithPackaging: "Maliyet / board (paketlemeli)", + batchSetupHours: "Parti kurulumu (sa / parti)", + batchSetupCost: "Parti kurulum maliyeti ({{unit}} / parti)", + taxVat: "Vergi / KDV (%)", + quoteTax: "Teklif vergisi", + includedInPrice: "Fiyata dahil", + addedOnTop: "Üzerine eklenir", + setupPerBoard: "Kurulum / board", + marginNoteBefore: "Kâr marjı {{markup}}× ≈ ", + grossMargin: "%{{pct}} brüt marj", + marginNoteAfter: " · fire %{{waste}} sağlam board'lara dağıtılır.", + sellingPriceNoPackaging: "Satış fiyatı · paketlemesiz", + sellingPriceWithPackaging: "Satış fiyatı · paketlemeli", + profitPerDeck: "Kâr / deck", + wholesalePerDeck: "Toptan / deck", + orderTotalQty: "Sipariş toplamı ({{qty}})", + orderTotal: "Sipariş toplamı", + breakeven: "Başabaş noktası", + breakevenPerMonth: "{{count}}/ay", + targetDecksHint: "Sabit maliyetlerin üzerine ayda {{amount}} kazanmak için ayda {{decks}} deck sat.", + priceIncludesTax: "Fiyata %{{pct}} vergi dahil: toplamın {{amount}} kadarı.", + plusTax: "Artı %{{pct}} vergi: {{amount}} → toplam {{total}}.", + costVsQuantity: "Maliyet / adet (kurulum amorti edilmiş)", + deckOne: "deck", + deckOther: "deck", + perDeckSuffix: "/ deck", + orderSuffix: "sipariş {{amount}}", + shippingNotIncluded: "Alıcıya kargo dahil değildir.", + clientQuoteDetails: "Müşteri teklifi ayrıntıları (PDF için)", + fillFromProfileTitle: "Ad, web sitesi, NIP-05, Lightning ve npub'u Nostr profilinden doldur", + fillFromProfile: "Profilden doldur", + businessName: "İşletme / dükkân adı", + email: "E-posta", + phone: "Telefon", + website: "Web sitesi", + address: "Adres", + quoteNumber: "Teklif no.", + nextNumber: "Sonraki numara", + validDays: "Geçerlilik (gün)", + nip05: "NIP-05", + lightningAddress: "Lightning adresi", + nostrNpub: "Nostr (npub)", + depositPct: "Peşin ön ödeme (%)", + deliveryTerms: "Teslimat koşulları (Incoterm, isteğe bağlı)", + paymentMethods: "Ödeme yöntemleri", + paymentTerms: "Ödeme koşulları", + paymentDetails: "Ödeme ayrıntıları", + notesTerms: "Notlar / koşullar", + changeLogo: "Logoyu değiştir", + addLogo: "Logo ekle", + incotermNone: "Yok", + incotermExw: "EXW — satıcıdan teslim al", + incotermFca: "FCA — alıcının taşıyıcısına teslim edilir", + incotermDap: "DAP — alıcının adresine teslim edilir", + incotermDdp: "DDP — teslim edilir, gümrük ödenir", + payMethodCash: "Nakit", + payMethodLightning: "Lightning", + payMethodCashu: "Cashu", + payMethodBank: "Banka havalesi", + payMethodCard: "Kart", + payMethodOther: "Diğer", + listDeckAtPrice: "Bir deck'i bu fiyattan listele", + getItMade: "Yaptır — bir yapımcı bul", + savePreset: "Ön ayarı kaydet", + load: "Yükle", + export: "Dışa aktar", + import: "İçe aktar", + reset: "Sıfırla", + deletePreset: "Ön ayarı sil", + exportPdfFull: "PDF — tam tablo", + exportPdfQuote: "PDF — müşteri teklifi", + exportPng: "PNG görüntü", + exportXlsx: "XLSX çalışma kitabı", + exportCsv: "CSV (hesap tablosu)", + exportMarkdown: "Markdown", + exportJson: "JSON (yedek)", + exportCopySummary: "Özeti kopyala" + }, + becomeRolesUi: { + artist: { + seoTitle: "Tasarımcı / Sanatçı Ol - SkateSpots", + seoDescription: "Kaykay tasarımını ve sanatını listele — board grafikleri, logolar, posterler, ürünler ve daha fazlası.", + heading: "Tasarımcı / Sanatçı", + tagline: "Board grafikleri, logolar, posterler, ürünler — sanatını sahneye koy", + noun: "sanatçı", + rateLabel: "Ücret", + portfolioLabel: "Portföy / Dükkân bağlantısı", + sectionWhatYouMake: "Ne Üretiyorsun", + sectionMedium: "Ortam", + sectionSoftwareTools: "Yazılım ve Araçlar", + deliverablesPlaceholder: "örn. baskıya hazır dosyalar, kaynak dosyalar, deck grafikleri", + turnaroundPlaceholder: "örn. 3–5 gün" + }, + graffiti: { + seoTitle: "Grafiti / Duvar Resmi Sun - SkateSpots", + seoDescription: "Grafiti ve duvar resmi işlerini listele — işler, duvar resimleri, kaykay parkı sanatı ve daha fazlası.", + heading: "Grafiti / Duvar Ressamı", + tagline: "İşler, duvar resimleri, kaykay parkı sanatı — sahneyi boya", + noun: "grafiti sanatçısı", + rateLabel: "Ücret", + portfolioLabel: "Portföy bağlantısı (IG, site)", + sectionStyle: "Stil", + sectionMedium: "Ortam", + sectionWorkContext: "Çalışma Bağlamı", + crewLabel: "Grafiti Ekibi", + crewPlaceholder: "Yazı ekibin (isteğe bağlı)", + crewHelper: "Kaykay ekibinden ayrı — birlikte boyadığın yazıcılar.", + surfacesPlaceholder: "örn. beton, tuğla, izinli duvarlar", + maxSizePlaceholder: "örn. 10 m'ye kadar" + }, + musician: { + seoTitle: "Müzik Profili Ekle - SkateSpots", + seoDescription: "Kaykay yapıp müzik mi yapıyorsun? Grubunu veya solo projeni listele — türler, enstrümanlar ve bağlantılar.", + heading: "Müzisyen / Grup", + tagline: "Kaykay yapıp müzik mi yapıyorsun? Demolar, jam'ler ve after-party'ler için yerini al", + noun: "müzisyen", + rateLabel: "Konser Ücreti", + portfolioLabel: "Web sitesi / EPK bağlantısı", + sectionGenre: "Tür", + sectionInstruments: "Enstrümanlar ve Rol", + actLabel: "Performans Türü", + actPlaceholder: "solo / grup / dj / prodüktör", + spotifyLabel: "Spotify", + spotifyPlaceholder: "https://open.spotify.com/…", + bandcampLabel: "Bandcamp", + bandcampPlaceholder: "https://…bandcamp.com", + soundcloudLabel: "SoundCloud", + soundcloudPlaceholder: "https://soundcloud.com/…", + youtubeLabel: "YouTube", + youtubePlaceholder: "https://youtube.com/…", + setLengthPlaceholder: "örn. 30–45 dk", + techRiderPlaceholder: "örn. PA, mikrofonlar, backline" + }, + judge: { + seoTitle: "Kaykay Etkinliklerinde Jüri Ol - SkateSpots", + seoDescription: "Kendini kaykay etkinliği jürisi olarak listele — Game of S.K.A.T.E., en iyi hareket jam'leri, yarışmalar, am serileri ve dünya turu durakları. Adil, güvenilir etkinlikler yönetmek için yerini al.", + heading: "Kaykay Etkinliği Jürisi", + tagline: "Düz zemindeki Game of S.K.A.T.E.'ten World Destruction Tour'a — adil yönet, güvenilir yönet", + noun: "jüri", + rateLabel: "Günlük Ücret", + portfolioLabel: "Sonuç arşivi / profil bağlantısı", + sectionEventFormats: "Etkinlik Formatları", + sectionSpecialty: "Uzmanlık", + sectionLevelCircuit: "Seviye / Devre", + eventsJudgedLabel: "Jürilik Yapılan Etkinlikler", + eventsJudgedPlaceholder: "örn. 40+ yarışma, 3 Dünya Turu durağı", + eventsJudgedHelper: "Görev aldığın önemli etkinlikler, yarışmalar veya turlar.", + travelPlaceholder: "örn. bölgesel / ülke çapında / uluslararası", + certificationsPlaceholder: "örn. ulusal jürilik kursu" + }, + organizer: { + seoTitle: "Kaykay Etkinlikleri Düzenle - SkateSpots", + seoDescription: "Kendini kaykay etkinliği düzenleyicisi olarak listele — sokak jam'leri, en iyi hareket, yarışmalar, buluşmalar, demolar ve tur durakları. Keşfedilmek ve oturumu yönetmek için yerini al.", + heading: "Etkinlik Düzenleyicisi", + tagline: "Jam'ler, yarışmalar, buluşmalar ve demolar — oturumu düzenle ve sahneyi bir araya getir", + noun: "düzenleyici", + rateLabel: "Etkinlik Ücreti / Bütçesi", + portfolioLabel: "Geçmiş etkinlikler / sonuçlar bağlantısı", + sectionEventTypes: "Etkinlik Türleri", + sectionWhatYouHandle: "Nelerle İlgilenirsin", + sectionScale: "Ölçek", + eventsHostedLabel: "Düzenlenen Etkinlikler", + eventsHostedPlaceholder: "örn. 25 jam, 3 şehir yarışması", + eventsHostedHelper: "Düzenlediğin önemli etkinlikler, yarışmalar veya buluşmalar.", + insurancePlaceholder: "örn. kamu sorumluluk sigortası dahil", + permitsPlaceholder: "örn. belediye izinleri halledildi" + }, + tattoo: { + seoTitle: "Dövme Sanatçısı Ol - SkateSpots", + seoDescription: "Dövme işlerini kaykay sahnesi için listele — stiller, flash, özel tasarım ve daha fazlası.", + heading: "Dövme Sanatçısı", + tagline: "Sahne için mürekkep — flash, özel tasarım, ince çizgi ve daha fazlası", + noun: "dövme sanatçısı", + rateLabel: "Ücret / Saatlik", + portfolioLabel: "Portföy bağlantısı (IG, site)", + sectionStyles: "Stiller", + sectionMethod: "Yöntem", + studioLabel: "Stüdyo / Dükkân", + studioPlaceholder: "Stüdyo adı (isteğe bağlı)", + booksOpenLabel: "Randevu Açık", + booksOpenHelper: "Şu anda randevu alıyor musun?", + depositPlaceholder: "örn. 50 EUR iade edilmez", + minimumPlaceholder: "örn. 80 EUR" + }, + trainer: { + seoTitle: "Antrenör / Fizyoterapist Ol - SkateSpots", + seoDescription: "Kaykaycıların güçlenmesine ve sağlıklı kalmasına yardım et — güç, hareketlilik, sakatlanma önleme ve iyileşme.", + heading: "Antrenör / Fizyoterapist", + tagline: "Kaykaycılar için güç, hareketlilik, sakatlanma önleme ve iyileşme", + noun: "antrenör", + rateLabel: "Ücret / Seans", + portfolioLabel: "Profil / randevu bağlantısı", + sectionFocus: "Odak", + sectionInjuries: "Çalıştığın Sakatlanmalar", + sectionCredentialsSetting: "Yeterlilikler ve Ortam", + credentialsPlaceholder: "örn. Fizyoterapi lisansı, CSCS…", + credentialsHelper: "Gerçek yeterliliklerini listele — kaykaycılar doğrulanabilir belgelere güvenir.", + remoteLabel: "Uzaktan / Çevrimiçi", + remoteHelper: "Çevrimiçi koçluk veya danışmanlık sunuyor musun?", + modalitiesPlaceholder: "örn. manuel terapi, kuvvet-kondisyon, kuru iğneleme" + }, + barber: { + seoTitle: "Berber / Kuaför Ol - SkateSpots", + seoDescription: "Berber dükkânını veya koltuğunu kaykay sahnesi için listele — kesimler, fadeler, sakal tıraşı, boya ve daha fazlası. Kaykaycılar tarafından randevu al.", + heading: "Berber / Kuaför", + tagline: "Sahne için kesimler, fadeler ve sakal tıraşı — dükkân koltuğu veya mobil", + noun: "berber", + rateLabel: "Fiyat / Kesim", + portfolioLabel: "Kesim galerisi / IG bağlantısı", + sectionWhatYouOffer: "Neler Sunuyorsun", + sectionSignatureStyles: "İmza Stilleri", + sectionSetting: "Ortam", + studioLabel: "Dükkân / Stüdyo", + studioPlaceholder: "Dükkân veya stüdyo adı (isteğe bağlı)", + booksOpenLabel: "Randevu Açık", + booksOpenHelper: "Şu anda randevu alıyor musun?", + durationPlaceholder: "örn. 30–45 dk" + } + }, + weatherUi: { + condition: { + clearSky: "Açık gökyüzü", + mainlyClear: "Çoğunlukla açık", + partlyCloudy: "Parçalı bulutlu", + overcast: "Kapalı", + foggy: "Sisli", + depositingRimeFog: "Kırağı bırakan sis", + lightDrizzle: "Hafif çisenti", + moderateDrizzle: "Orta çisenti", + denseDrizzle: "Yoğun çisenti", + lightFreezingDrizzle: "Hafif donan çisenti", + denseFreezingDrizzle: "Yoğun donan çisenti", + slightRain: "Hafif yağmur", + moderateRain: "Orta yağmur", + heavyRain: "Şiddetli yağmur", + lightFreezingRain: "Hafif donan yağmur", + heavyFreezingRain: "Şiddetli donan yağmur", + slightSnow: "Hafif kar", + moderateSnow: "Orta kar", + heavySnow: "Yoğun kar", + snowGrains: "Kar taneleri", + slightRainShowers: "Hafif sağanak", + moderateRainShowers: "Orta sağanak", + violentRainShowers: "Şiddetli sağanak", + slightSnowShowers: "Hafif kar sağanağı", + heavySnowShowers: "Yoğun kar sağanağı", + thunderstorm: "Gök gürültülü fırtına", + thunderstormSlightHail: "Hafif dolulu gök gürültülü fırtına", + thunderstormHeavyHail: "Yoğun dolulu gök gürültülü fırtına", + unknown: "Bilinmiyor" + }, + aqi: { + good: "İyi", + moderate: "Orta", + unhealthySensitive: "Hassas Gruplar için Sağlıksız", + unhealthy: "Sağlıksız", + veryUnhealthy: "Çok Sağlıksız", + hazardous: "Tehlikeli" + }, + skateability: { + perfect: "Mükemmel", + good: "İyi", + okay: "İdare eder", + poor: "Kötü", + bad: "Berbat", + unrideable: "Kayılamaz" + }, + reason: { + currentlyRaining: "Şu anda yağıyor", + raining: "Yağmurlu", + snowing: "Kar yağışlı", + thunderstorm: "Gök gürültülü fırtına", + freezingTemperature: "Dondurucu sıcaklık", + veryCold: "Çok soğuk", + extremelyHot: "Aşırı sıcak", + veryHot: "Çok sıcak", + veryStrongWind: "Çok şiddetli rüzgar", + strongWind: "Şiddetli rüzgar", + moderateWind: "Orta rüzgar", + veryUnhealthyAir: "Çok sağlıksız hava", + unhealthyAir: "Sağlıksız hava", + moderateAirQuality: "Orta hava kalitesi", + veryHumid: "Çok nemli", + humid: "Nemli", + extremeUv: "Aşırı UV - güneş kremi kullan", + highUv: "Yüksek UV - güneş koruması önerilir", + perfectConditions: "Mükemmel kaykay koşulları" + } + }, + skaterLabelsUi: { + stance: { + regular: "Regular", + goofy: "Goofy" + }, + style: { + street: "Street", + park: "Park", + vert: "Vert", + transition: "Transition", + bowl: "Bowl", + cruising: "Cruising", + downhill: "Downhill", + freestyle: "Freestyle", + ledges: "Ledges", + stairs: "Stairs", + diy: "DIY" + }, + level: { + grom: "Grom", + intermediate: "Orta", + advanced: "İleri", + ripper: "Ripper" + }, + sponsor: { + title: "İsim Sponsoru", + gold: "Altın", + silver: "Gümüş", + partner: "Partner" + } + }, + notifyUi: { + activity: { + zappedWithAmount: "{{sats}} sats ile zap aldın", + zapped: "Zap aldın", + liked: "Biri gönderini beğendi", + reposted: "Biri seni yeniden paylaştı", + mentioned: "Biri senden bahsetti", + replied: "Biri sana yanıt verdi", + rsvp: "Biri etkinliğine katılım bildirdi", + eventUpdated: "Gideceğin bir etkinlik güncellendi", + newActivity: "Yeni etkinlik", + tapToOpen: "SkateSpots'u açmak için dokun" + }, + crew: { + inviteTitle: "Crew daveti", + inviteBody: "{{crew}} için davetlisin", + addedTitle: "Bir crew'ye eklendin", + addedBody: "{{crew}} — katılmak için onayla", + joinRequestTitle: "Katılma isteği", + joinRequestBody: "Biri {{name}} ekibine katılmak istiyor" + }, + dm: { + title: "Yeni doğrudan mesaj", + body: "Okumak için dokun" + }, + trade: { + confirm: "Bir takası onayla", + confirmed: "Takas onaylandı", + newOffer: "İlanına yeni teklif", + counter: "Karşı teklif", + accepted: "Teklif kabul edildi 🎉", + declined: "Teklif reddedildi", + withdrawn: "Teklif geri çekildi" + }, + newsletter: { + drop: "Yeni SkateSpots drop'u" + }, + summary: { + moreUpdates: "{{count}} güncelleme daha", + openToCatchUp: "Yetişmek için SkateSpots'u aç" + } + }, + legacyMiscUi: { + hostingGoing: "{{count}} katılıyor", + hostingInterested: "{{count}} ilgili", + hostingPostUpdate: "Güncelleme paylaş", + hostingEdit: "Düzenle", + hostingLoginToSee: "Düzenlediğin etkinlikleri görmek için giriş yap.", + hostingEmptyTitle: "Henüz bir etkinlik düzenlemiyorsun", + hostingEmptyBody: "Bir jam, yarışma veya oturum düzenle. Bir etkinlik oluştur; kaykaycılar katılım bildirebilir, güncelleme alabilir ve uğrayabilir.", + hostingCreateEvent: "Etkinlik oluştur", + hostingUpcoming: "Yaklaşan · {{count}}", + hostingPast: "Geçmiş · {{count}}", + sponsorPartners: "Partnerler", + sponsorTitleSponsor: "İsim Sponsoru", + sponsorPlatformPartners: "Platform Partnerleri", + reportsUntitled: "(başlıksız)", + reportsResolveFailed: "Bildirilen etkinlik çözümlenemedi (silinmiş olabilir ya da bildirim bir gönderi yerine bir profili hedefliyor).", + reportsLookAtIt: "İncele", + reportsNoReports: "Henüz bildirim yok. Ya her şey yolunda ya da kimse düğmeyi bulamadı.", + statusSetYourStatus: "Durumunu Ayarla", + statusSetDesc: "Başkaları ne yaptığını bilsin. Durumun profilinde ve bağlantılı Spot'larda görünür.", + statusClear: "Temizle", + statusOrWriteOwn: "Veya kendininkini yaz", + statusCustomPlaceholder: "Ne yapıyorsun?", + statusLinkToSpot: "Bir Spot'a bağla (isteğe bağlı)", + statusSpotSelected: "Spot seçildi", + statusSearchSpots: "Spot ara...", + statusNoSpotsFound: "Spot bulunamadı.", + statusSelectSpot: "Bir spot seç", + statusAutoClearAfter: "Şu süreden sonra otomatik temizle: {{time}}", + statusExpMin: "{{count}} dk", + statusExpOneHour: "1 saat", + statusExpHours: "{{count}} saat", + statusExpOneDay: "1 gün", + statusExpDays: "{{count}} gün", + statusSlider15: "15 dk", + statusSlider1h: "1 sa", + statusSlider4h: "4 sa", + statusSlider24h: "24 sa", + statusSetting: "Durum Ayarlanıyor...", + statusSet: "Durumu Ayarla", + statusSomethingWrong: "Bir şeyler ters gitti", + seoProfileTitle: "Profil - SkateSpots", + seoViewProfile: "Profili görüntüle.", + bannerAlt: "Banner", + openInCordn: "Cordn'da aç", + modHelp: "Gizle, org.skatespots.moderation / hidden yayınlar; Onayla, … / verified yayınlar; Geri Al, … / cleared yayınlar (nötre döner). Üçü de herkese açık, geri alınabilir etiketlerdir — relay'lerden hiçbir şey asla silinmez.", + zapNoActiveMint: "Etkin Cashu mint bulunamadı.", + altProfile: "Profil", + altCardPreview: "Kart önizlemesi", + altCard: "Kart", + altCaptured: "Yakalandı", + ariaPrevPhoto: "Önceki fotoğraf", + ariaNextPhoto: "Sonraki fotoğraf", + ariaCommentOptions: "Yorum seçenekleri", + ariaMessageConversation: "Mesaj konuşması", + exportTitle: "SkateSpots — Deck maliyet hesaplayıcısı", + exportQuoteTitle: "TEKLİF", + exportPngTitle: "Deck maliyeti", + exportMarkdownTitle: "Deck maliyet hesaplayıcısı", + exportSectionLabor: "İşçilik", + exportSectionEquipment: "Ekipman", + exportSectionOperations: "İşletme giderleri", + exportSectionMaterials: "Malzemeler", + exportSectionProcesses: "Süreç maliyetleri", + exportSectionPackaging: "Paketleme", + exportSectionResult: "Sonuç", + exportLabelOperations: "İşletme", + exportLabelProcesses: "Süreçler", + exportKvHourlyRate: "Saatlik ücret", + exportKvLabourBurden: "İşçilik yükü", + exportKvLoadedRate: "Tam yüklü ücret", + exportKvEquipmentPerBoard: "Board başına ekipman", + exportKvBoardsPerMonth: "Board / ay", + exportKvRentPerMonth: "Kira / ay", + exportKvUtilitiesPerMonth: "Faturalar / ay", + exportKvSubscriptionsPerMonth: "Abonelikler / ay", + exportKvPerBoard: "Board başına", + exportKvMaterialsPerBoard: "Board başına malzeme", + exportKvProcessesPerBoard: "Board başına süreç", + exportKvPackagingPerBoard: "Board başına paketleme", + exportKvMarkup: "Kâr marjı", + exportMarkupValue: "{{markup}}× (≈ %{{pct}} brüt marj)", + exportKvWasteEffective: "Fire (efektif)", + exportKvCostNoPack: "Maliyet / board (paketlemesiz)", + exportKvCostWithPack: "Maliyet / board (paketlemeli)", + exportKvBatchSetupPerBoard: "Parti kurulumu / board", + exportKvTax: "Vergi (%{{pct}})", + exportKvTaxIncluded: "Vergi (%{{pct}}, dahil)", + exportKvSellingNoPack: "Satış fiyatı (paketlemesiz)", + exportKvSellingWithPack: "Satış fiyatı (paketlemeli)", + exportShippingNote: "Alıcıya kargo dahil değildir.", + exportGeneratedBy: "SkateSpots ile oluşturuldu · skate-spots.org", + exportGeneratedWith: "SkateSpots ile oluşturuldu · skate-spots.org", + exportDetailSetup: "+ {{hours}} sa kurulum", + exportDetailBoards: "{{boards}} board", + exportDetailShip: "+ {{amount}} kargo", + exportDetailMinutes: "{{minutes}} dk", + exportDetailPerBoards: "/ {{boards}} board", + exportDetailScrap: "%{{pct}} ıskarta", + exportDetailMaterials: "{{materials}} malzeme", + exportQuoteRef: "Ref {{ref}}", + exportQuoteLineItem: "Özel kaykay deck'i", + exportQuoteLineItemQty: "Özel kaykay deck'i × {{qty}}", + exportQuoteLineDesc: "El yapımı, tamamlanmış ve paketlenmiş. Adet 1.", + exportQuoteLineDescQty: "El yapımı, tamamlanmış ve paketlenmiş. Tanesi {{price}}.", + exportQuoteSubtotal: "Ara toplam", + exportQuoteSubtotalQty: "Ara toplam ({{qty}} deck)", + exportQuoteTax: "Vergi / KDV (%{{pct}})", + exportQuoteTotal: "Toplam", + exportQuoteTotalQty: "Toplam ({{qty}} deck)", + exportQuoteIncludesTax: "%{{pct}} vergi dahil ({{amount}})", + exportQuoteDeposit: "Şimdi ödenecek ön ödeme (%{{pct}})", + exportQuoteBalance: "Tamamlanınca kalan bakiye", + exportQuotePayment: "Ödeme: {{value}}", + exportQuoteLightning: "Lightning: {{value}}", + exportQuoteDetails: "Ayrıntılar: {{value}}", + exportQuoteTerms: "Koşullar: {{value}}", + exportQuoteDelivery: "Teslimat: {{value}}", + exportQuoteValidUntil: "Kargo dahil değildir. Teklif {{date}} tarihine kadar geçerlidir.", + exportPngSellingWith: "SATIŞ FİYATI · PAKETLEMELİ", + exportPngSellingNo: "SATIŞ FİYATI · PAKETLEMESİZ", + exportPngCostWith: "MALİYET / BOARD (PAKETLEMELİ)", + exportPngDeposit: "Ön ödeme %{{pct}}: {{amount}}", + exportXlsxSummary: "Özet", + exportXlsxCurrency: "Para birimi", + exportXlsxDate: "Tarih", + exportXlsxOperationsPerBoard: "Board başına işletme", + exportColCost: "Maliyet", + exportColSetupH: "Kurulum (sa)", + exportColBoards: "Board", + exportColPerBoard: "Board başına", + exportColMaterial: "Malzeme", + exportColOrderCost: "Sipariş maliyeti", + exportColShipping: "Kargo", + exportColOrderMin: "Sipariş (dk)", + exportColUnloadMin: "Boşaltma (dk)", + exportColProcess: "Süreç", + exportColTimeMin: "Süre (dk)", + exportColTimeBoardMin: "Süre/board (dk)", + exportColMaterialsBoard: "Malzeme/board", + exportCopyTitle: "Deck maliyeti — {{currency}}", + exportCopyCostWith: "Maliyet / board (paketlemeli): {{amount}}", + exportCopySellingNo: "Satış fiyatı (paketlemesiz): {{amount}}", + exportCopySellingWith: "Satış fiyatı (paketlemeli): {{amount}}", + exportCopyBreakdown: "Ekipman {{equipment}} · İşletme {{operations}} · Malzemeler {{materials}} · Süreçler {{processes}} · Paketleme {{packaging}}", + exportMdHourlyRate: "Saatlik ücret: {{value}}", + exportMdLabourBurden: "İşçilik yükü: {{value}}", + exportMdLoadedRate: "Tam yüklü ücret: {{value}}", + exportMdBoardsPerMonth: "Board/ay: {{value}}", + exportMdRent: "Kira: {{value}}", + exportMdUtilities: "Faturalar: {{value}}", + exportMdSubscriptions: "Abonelikler: {{value}}", + exportMdPerBoard: "Board başına: {{value}}", + exportMdMarkupWaste: "Kâr marjı: {{markup}}× (≈ %{{pct}} brüt marj) · Fire: %{{waste}}", + exportMdCostNoPack: "Maliyet/board (paketlemesiz): {{value}}", + exportMdCostWithPack: "Maliyet/board (paketlemeli): {{value}}", + exportMdBatchSetup: "Parti kurulumu/board: {{value}}", + exportMdSellingNo: "Satış fiyatı (paketlemesiz): {{value}}", + exportMdSellingWith: "Satış fiyatı (paketlemeli): {{value}}", + exportMdDisclaimer: "Alıcıya kargo dahil değildir. SkateSpots ile oluşturuldu." + } +}; export default trBatch8; diff --git a/src/pages/CreateTourPage.tsx b/src/pages/CreateTourPage.tsx index 224213d..c56c656 100644 --- a/src/pages/CreateTourPage.tsx +++ b/src/pages/CreateTourPage.tsx @@ -38,6 +38,7 @@ const COMMON_LANGUAGES = [ { code: 'ja', label: 'Japanese', flag: '🇯🇵' }, { code: 'zh-CN', label: 'Chinese (Simplified)', flag: '🇨🇳' }, { code: 'zh-TW', label: 'Chinese (Traditional)', flag: '🇹🇼' }, + { code: 'tr', label: 'Turkish', flag: '🇹🇷' }, { code: 'zh', label: 'Chinese', flag: '🇨🇳' }, ];