i18n(tr): complete Turkish (100%) + add to picker

This commit is contained in:
SkateSpots 2026-10-08 17:17:34 +07:00
parent 8e98a43949
commit 69d04469f5
10 changed files with 9421 additions and 17 deletions

View file

@ -32,6 +32,7 @@ const languages: LanguageOption[] = [
{ code: 'ja', name: 'Japanese', nativeName: '日本語', flag: '🇯🇵' }, { code: 'ja', name: 'Japanese', nativeName: '日本語', flag: '🇯🇵' },
{ code: 'zh-CN', name: 'Chinese (Simplified)', nativeName: '简体中文', flag: '🇨🇳' }, { code: 'zh-CN', name: 'Chinese (Simplified)', nativeName: '简体中文', flag: '🇨🇳' },
{ code: 'zh-TW', name: 'Chinese (Traditional)', nativeName: '繁體中文', flag: '🇹🇼' }, { code: 'zh-TW', name: 'Chinese (Traditional)', nativeName: '繁體中文', flag: '🇹🇼' },
{ code: 'tr', name: 'Turkish', nativeName: 'Türkçe', flag: '🇹🇷' },
]; ];
interface LanguageToggleProps { interface LanguageToggleProps {

View file

@ -1,4 +1,290 @@
/** tr — batch 1. Filled by the translation pass; empty until then. */ /** tr — batch 1 (common, nav, chromeUi, desktopNav, navSheet, pwa, home, about, faq, onboarding). */
const trBatch1 = {}; 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; export default trBatch1;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,907 @@
/** tr — batch 7. Filled by the translation pass; empty until then. */ /** tr — batch 7. Turkish translations. */
const trBatch7 = {}; 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; export default trBatch7;

View file

@ -1,4 +1,622 @@
/** tr — batch 8. Filled by the translation pass; empty until then. */ /** tr — batch 8. */
const trBatch8 = {}; 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; export default trBatch8;

View file

@ -38,6 +38,7 @@ const COMMON_LANGUAGES = [
{ code: 'ja', label: 'Japanese', flag: '🇯🇵' }, { code: 'ja', label: 'Japanese', flag: '🇯🇵' },
{ code: 'zh-CN', label: 'Chinese (Simplified)', flag: '🇨🇳' }, { code: 'zh-CN', label: 'Chinese (Simplified)', flag: '🇨🇳' },
{ code: 'zh-TW', label: 'Chinese (Traditional)', flag: '🇹🇼' }, { code: 'zh-TW', label: 'Chinese (Traditional)', flag: '🇹🇼' },
{ code: 'tr', label: 'Turkish', flag: '🇹🇷' },
{ code: 'zh', label: 'Chinese', flag: '🇨🇳' }, { code: 'zh', label: 'Chinese', flag: '🇨🇳' },
]; ];