Files
TREK/shared/src/i18n/tr/settings.ts
T
Maurice e11ae6f056 feat(roadtrip): shape the drive — vias, alternatives and stops along the way
The road-trip addon's second half: the parts that let a planned drive be
argued with rather than only read.

Reshaping. A via records which stop it follows by position, and that position
is resolved fresh every time the day is routed — so inserting, reordering or
removing a stop moved the ground under every via after it, and the drive
silently snapped back to the road it had been steered away from while the
handle still sat on the map where it was left. The correction is computed
against the day as it stands and written with the same change, in one
transaction: a half-applied re-anchoring mixes two numbering schemes in one
day. The one judgement that needs geometry — which half of a split leg a via
belongs to when a stop lands in the middle of it — is measured on the road
actually driven, so a fuel stop added to a bent leg keeps the bend on the side
it belongs to.

Alternatives. OSRM answers most long legs with exactly one route, which read as
"there is no other way" when a perfectly good slower road existed. When it
offers nothing, the same drive is asked for again without the motorway, and
failing that without the tolls — one question at a time, stopping as soon as
one lands. The offer says what it is rather than how much slower.

Stops along the way. Everything the corridor search can find is a pause, not a
destination: fuel, charging, rest areas, campsites, food and sights all sit
inside the leg they were found on, carry their own colour and icon, and are
left out of every stop count. That colour is defined once and read by the rail,
the corridor list, the map pin and the picker — and it replaced the chains'
logos, which turned a corridor full of petrol stations into a row of
advertisements and left the brands with no logo on file looking like something
else entirely.

How long a stop takes was readable in the rail and writable nowhere; new places
were given an invented hour that nobody had entered. It is now set from the
rail, cleared as a zero because the update statement folds a null into "leave
it alone", and new places start with nothing.

Both columns are rebuilt on one type scale, anchored to the day plan's own
sizes so switching tabs does not change the size of the text beside it. The
rail reads as trip totals, day cards and a chain of stops with the drives
between them; the corridor column as what to look for, how the search is
getting on, and what it found. Six category pills over three lines became one
dropdown, which is the space the results wanted.

Also: the offered routes are framed on the map when the picker opens (`fitKey`
carries no coordinates and each renderer reads it as "the selected day"), road
trip mode does not cluster at all so the whole drive stays readable zoomed out,
and the drive-time labels finally render in the app's own typeface instead of
Leaflet's Helvetica. All of it in both renderers.
2026-09-07 18:36:54 +02:00

571 lines
38 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const settings: TranslationStrings = {
'settings.title': 'Ayarlar',
'settings.subtitle': 'Kişisel ayarlarınızı yapılandırın',
'settings.tabs.display': 'Görünüm',
'settings.tabs.map': 'Harita',
'settings.tabs.notifications': 'Bildirimler',
'settings.tabs.integrations': 'Entegrasyonlar',
'settings.plugins.oauth.connected': 'Bağlı',
'settings.plugins.oauth.notConnected': 'Bağlı değil',
'settings.plugins.oauth.connect': 'Bağlan',
'settings.plugins.oauth.disconnect': 'Bağlantıyı kes',
'settings.tabs.plugins': 'Eklentiler',
'settings.plugins.title': 'Eklenti ayarları',
'settings.plugins.subtitle': 'Kullandığın eklentiler için kişisel ayarların (API anahtarları, tercihler).',
'settings.plugins.empty': 'Etkin eklenti yok.',
'settings.plugins.saved': 'Ayarlar kaydedildi',
'settings.plugins.requiredMissing': '"{field}" gerekli',
'settings.tabs.account': 'Hesap',
'settings.tabs.offline': 'Çevrimdışı',
'settings.tabs.about': 'Hakkında',
'settings.map': 'Harita',
'settings.mapTemplate': 'Harita Şablonu',
'settings.mapTemplatePlaceholder.select': 'Şablon seçin...',
'settings.mapDefaultHint': 'OpenStreetMap için boş bırakın (varsayılan)',
'settings.routingBase': 'Kendi rota motoru',
'settings.routingBaseHint': 'Kendi OSRM sunucunuz. Boş bırakılırsa saniyede yaklaşık bir istek veren genel sunucular kullanılır: bir gün için yeter, uzun yolculuk için az. Sunucu yeniden başlatıldığında etkin olur.',
'settings.mapHint': 'Harita kutucukları için URL şablonu',
'settings.mapProvider': 'Harita Sağlayıcısı',
'settings.mapProviderHint': 'Seyahat planlayıcı ve Journey haritalarını etkiler. Atlas her zaman Leaflet kullanır.',
'settings.mapLeafletSubtitle': 'Klasik 2D, herhangi bir raster kutucuk',
'settings.mapMapboxSubtitle': 'Vektör kutucuklar, 3D binalar ve arazi',
'settings.mapMapLibreSubtitle': 'OpenFreeMap vektör kutucuklar, anahtar gerekmez',
'settings.mapExperimental': 'Deneysel',
'settings.mapMapboxToken': 'Mapbox Erişim Anahtarı',
'settings.mapMapboxTokenHint': 'Genel anahtar (pk.*) kaynağı:',
'settings.mapMapboxTokenLink': 'Mapbox.com → Jetonlara erişim',
'settings.mapCartoKey': 'CARTO API anahtarı',
'settings.mapCartoKeyHint':
'CARTO temel haritaları anahtar olmadan filigran gösterir. Ücretsiz, hesap gerekmez, kaynağı:',
'settings.mapCartoKeyLink': 'carto.com temel harita API anahtarı',
'settings.mapCartoKeyMissing':
'Bu şablon bir CARTO temel haritası. Anahtar olmadan CARTO her karoya "API KEY REQUIRED" damgası basar. Anahtar girilene kadar TREK varsayılan temel haritayı gösterir.',
'settings.mapStyle': 'Harita Stili',
'settings.mapStylePlaceholder': 'Bir Mapbox stili seçin',
'settings.mapStyleHint': 'Ön ayar veya kendi mapbox://styles/KULLANICI/ID adresiniz',
'settings.mapOpenFreeMapStylePlaceholder': 'Bir OpenFreeMap stili seçin',
'settings.mapOpenFreeMapStyleHint':
"Ön ayar veya OpenFreeMap stil URL'si. OpenFreeMap stilleri anahtar gerektirmeden çalışır.",
'settings.map3dBuildings': '3D Binalar ve Arazi',
'settings.map3dHint': 'Eğim + gerçek 3D bina çıkıntıları — uydu dahil her stilde çalışır.',
'settings.mapHighQuality': 'Yüksek Kalite Modu',
'settings.mapHighQualityHint': 'Keskin kenarlar ve gerçekçi dünya görünümü için antialiasing + küre projeksiyonu.',
'settings.mapHighQualityWarning': 'Düşük donanımlı cihazlarda performansı etkileyebilir.',
'settings.mapTipLabel': 'İpucu:',
'settings.mapTip':
'Haritayı döndürmek/eğmek için sağ tıklayıp sürükleyin. Yer eklemek için orta tıklama (sağ tık döndürmeye ayrılmıştır).',
'settings.saveMap': 'Haritayı Kaydet',
'settings.apiKeys': 'API Anahtarları',
'settings.mapsKey': 'Google Maps API Anahtarı',
'settings.mapsKeyHint': 'Yer araması için. Places API (New) gerekir. console.cloud.google.com',
'settings.weatherKey': 'OpenWeatherMap API Anahtarı',
'settings.weatherKeyHint': 'Hava verisi için. Ücretsiz: openweathermap.org/api',
'settings.keyPlaceholder': 'Anahtarı girin...',
'settings.configured': 'Yapılandırıldı',
'settings.saveKeys': 'Anahtarları Kaydet',
'settings.display': 'Görünüm',
'settings.colorMode': 'Renk Modu',
'settings.light': 'Açık',
'settings.dark': 'Koyu',
'settings.auto': 'Otomatik',
'settings.language': 'Dil',
'settings.temperature': 'Sıcaklık Birimi',
'settings.distance': 'Mesafe Birimi',
'settings.timeFormat': 'Saat Biçimi',
'settings.bookingLabels': 'Rezervasyon rota etiketleri',
'settings.bookingLabelsHint': 'Haritada istasyon / havalimanı adlarını göster. Kapalıyken yalnızca simge görünür.',
'settings.blurBookingCodes': 'Rezervasyon Kodlarını Bulanıklaştır',
'settings.aiAlwaysRetry': 'Always retry booking imports with AI',
'settings.aiAlwaysRetryHint': 'When a file cannot be read by the standard parser, automatically retry it with AI.',
'settings.optimizeFromAccommodation': 'Rotayı konaklamadan optimize et',
'settings.optimizeFromAccommodationHint':
'Bir günü optimize ederken rotaya o sabah uyandığınız otelden başlayın ve akşam giriş yaptığınız otelde sonlandırın.',
'settings.notifications': 'Bildirimler',
'settings.notifyTripInvite': 'Seyahat davetleri',
'settings.notifyBookingChange': 'Rezervasyon değişiklikleri',
'settings.notifyTripReminder': 'Seyahat hatırlatıcıları',
'settings.notifyTodoDue': 'Yapılacak vadesi yakında',
'settings.notifyVacayInvite': 'Vacay birleştirme davetleri',
'settings.notifyVacayShare': 'Vacay takvim paylaşımları',
'settings.notifyPhotosShared': 'Paylaşılan fotoğraflar (Immich)',
'settings.notifyCollabMessage': 'Sohbet mesajları (Collab)',
'settings.notifyPackingTagged': 'Paket listesi: atamalar',
'settings.notifyWebhook': 'Webhook bildirimleri',
'settings.notifyVersionAvailable': 'Yeni sürüm mevcut',
'settings.notificationPreferences.email': 'E-posta',
'settings.notificationPreferences.webhook': 'Web kancası',
'settings.notificationPreferences.inapp': 'Uygulama içi',
'settings.notificationPreferences.notConfigured': 'Henüz yapılandırılmadı — eklentinin ayarlarından yapılandırın',
'settings.plugins.actions': 'Eylemler',
'settings.plugins.actions.confirm': 'Bu eylem çalıştırılsın mı?',
'settings.notificationPreferences.sendTest': 'Test gönder',
'settings.notificationPreferences.configure': 'Yapılandır',
'settings.notificationPreferences.testSuccess': 'Test bildirimi gönderildi.',
'settings.notificationPreferences.testFailed': 'Test başarısız.',
'settings.notificationPreferences.pluginConfigured':
'Yapılandırıldı. Kimlik bilgilerini eklentinin ayarlar sayfasından yönetin.',
'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.noChannels':
'Bildirim kanalı yapılandırılmadı. Yöneticiden e-posta veya webhook kurmasını isteyin.',
'settings.webhookUrl.label': "Web kancası URL'si",
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
'settings.webhookUrl.hint': "Bildirim almak için Discord, Slack veya özel webhook URL'nizi girin.",
'settings.webhookUrl.saved': 'Webhook URL kaydedildi',
'settings.webhookUrl.test': 'Dene',
'settings.webhookUrl.testSuccess': 'Test webhook başarıyla gönderildi',
'settings.webhookUrl.testFailed': 'Test webhook başarısız',
'settings.ntfyUrl.topicLabel': 'Ntfy Konusu',
'settings.ntfyUrl.topicPlaceholder': 'benim-trek-uyarilari',
'settings.ntfyUrl.serverLabel': "Ntfy sunucu URL'si (isteğe bağlı)",
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint':
'Anlık bildirim için ntfy konusunu girin. Sunucuyu boş bırakırsanız yöneticinin varsayılanı kullanılır.',
'settings.ntfyUrl.tokenLabel': 'Erişim anahtarı (isteğe bağlı)',
'settings.ntfyUrl.tokenHint': 'Parola korumalı konular için gerekli.',
'settings.ntfyUrl.saved': 'Ntfy ayarları kaydedildi',
'settings.ntfyUrl.test': 'Dene',
'settings.ntfyUrl.testSuccess': 'Test ntfy bildirimi gönderildi',
'settings.ntfyUrl.testFailed': 'Test ntfy bildirimi başarısız',
'settings.ntfyUrl.tokenCleared': 'Erişim anahtarı temizlendi',
'settings.notificationsDisabled': 'Bildirimler yapılandırılmadı. Yöneticiden e-posta veya webhook açmasını isteyin.',
'settings.notificationsActive': 'Etkin kanal',
'settings.notificationsManagedByAdmin': 'Bildirim olayları yöneticiniz tarafından yapılandırılır.',
'settings.on': 'Açık',
'settings.off': 'Kapalı',
'settings.mcp.title': 'MCP Yapılandırması',
'settings.mcp.endpoint': 'MCP Uç Noktası',
'settings.mcp.clientConfig': 'İstemci Yapılandırması',
'settings.mcp.clientConfigHint':
"<your_token> öğesini aşağıdaki listeden bir API belirteciyle değiştirin. Npx yolunun sisteminize göre ayarlanması gerekebilir (örn. Windows'ta C:\\\\\\\\PROGRA~1\\\\\\\\nodejs\\\\\\\\npx.cmd).",
'settings.mcp.clientConfigHintOAuth':
"<client_id> ve <client_secret> değerlerini yukarıda oluşturduğunuz OAuth 2.1 istemcisinde gösterilen kimlik bilgileriyle değiştirin. mcp-remote, ilk bağlandığınızda yetkilendirmeyi tamamlamak için tarayıcınızı açacaktır. Npx yolunun sisteminize göre ayarlanması gerekebilir (örn. Windows'ta C:\\PROGRA~1\\nodejs\\npx.cmd).",
'settings.mcp.copy': 'Kopyala',
'settings.mcp.copied': 'Kopyalandı!',
'settings.mcp.apiTokens': 'API Belirteçleri',
'settings.mcp.createToken': 'Yeni Jeton Oluştur',
'settings.mcp.noTokens': 'Henüz jeton yok. MCP istemcilerini bağlamak için bir tane oluşturun.',
'settings.mcp.tokenCreatedAt': 'Oluşturuldu',
'settings.mcp.tokenUsedAt': 'Kullanılmış',
'settings.mcp.deleteTokenTitle': 'Jetonu Sil',
'settings.mcp.deleteTokenMessage':
'Bu jeton hemen çalışmayı durduracak. Bunu kullanan herhangi bir MCP istemcisi erişimi kaybedecektir.',
'settings.mcp.modal.createTitle': 'API Jetonu Oluştur',
'settings.mcp.modal.tokenName': 'Jeton Adı',
'settings.mcp.modal.tokenNamePlaceholder': 'örneğin Claude Masaüstü, İş dizüstü bilgisayarı',
'settings.mcp.modal.creating': 'Oluşturuluyor…',
'settings.mcp.modal.create': 'Jeton Oluştur',
'settings.mcp.modal.createdTitle': 'Jeton Oluşturuldu',
'settings.mcp.modal.createdWarning':
'Bu jeton yalnızca bir kez gösterilecektir. Şimdi kopyalayıp saklayın; kurtarılamaz.',
'settings.mcp.modal.done': 'Tamamlamak',
'settings.mcp.toast.created': 'Jeton oluşturuldu',
'settings.mcp.toast.createError': 'Jeton oluşturulamadı',
'settings.mcp.toast.deleted': 'Jeton silindi',
'settings.mcp.toast.deleteError': 'Jeton silinemedi',
'settings.mcp.apiTokensDeprecated':
'API Belirteçleri kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak. Lütfen bunun yerine OAuth 2.1 İstemcilerini kullanın.',
'settings.oauth.clients': 'OAuth 2.1 İstemcileri',
'settings.oauth.clientsHint':
'Üçüncü taraf MCP uygulamalarının (Claude Web, Cursor vb.) statik belirteçler olmadan bağlanmasına izin vermek için OAuth 2.1 istemcilerini kaydedin.',
'settings.oauth.createClient': 'Yeni Müşteri',
'settings.oauth.noClients': 'Kayıtlı OAuth istemcisi yok.',
'settings.oauth.clientId': 'Müşteri Kimliği',
'settings.oauth.clientSecret': 'Müşteri Sırrı',
'settings.oauth.deleteClient': 'İstemciyi Sil',
'settings.oauth.deleteClientMessage':
'Bu istemci ve tüm aktif oturumlar kalıcı olarak kaldırılacak. Bunu kullanan herhangi bir uygulama erişimi anında kaybedecektir.',
'settings.oauth.rotateSecret': 'Gizli Anahtarı Döndür',
'settings.oauth.rotateSecretMessage':
'Yeni bir istemci sırrı oluşturulacak ve mevcut tüm oturumlar derhal geçersiz kılınacaktır. Bu iletişim kutusunu kapatmadan önce uygulamanızı güncelleyin.',
'settings.oauth.rotateSecretConfirm': 'Döndür',
'settings.oauth.rotateSecretConfirming': 'Dönüyor…',
'settings.oauth.rotateSecretDoneTitle': 'Yeni Gizli Oluşturuldu',
'settings.oauth.rotateSecretDoneWarning':
'Bu sır yalnızca bir kez gösterilir. Şimdi kopyalayın ve uygulamanızı güncelleyin; önceki tüm oturumlar geçersiz kılınmıştır.',
'settings.oauth.activeSessions': 'Aktif OAuth Oturumları',
'settings.oauth.sessionScopes': 'Kapsamlar',
'settings.oauth.sessionExpires': 'Süresi doluyor',
'settings.oauth.revoke': 'Geri çekmek',
'settings.oauth.revokeSession': 'Oturumu İptal Et',
'settings.oauth.revokeSessionMessage': 'Bu, bu OAuth oturumuna erişimi anında iptal edecektir.',
'settings.oauth.modal.createTitle': 'OAuth İstemcisini Kaydedin',
'settings.oauth.modal.presets': 'Hızlı ön ayarlar',
'settings.oauth.modal.clientName': 'Uygulama Adı',
'settings.oauth.modal.clientNamePlaceholder': 'örneğin Claude Web, MCP Uygulamam',
'settings.oauth.modal.redirectUris': "URI'leri Yönlendir",
'settings.oauth.modal.redirectUrisPlaceholder': 'https://uygulamaniz.com/callback\\nhttps://uygulamaniz.com/auth',
'settings.oauth.modal.redirectUrisHint':
'Satır başına bir URI. HTTPS, geri döngü HTTP veya kendi uygulama şeması (myapp://). Geri döngü URI portu dışında tam eşleşme gerekir.',
'settings.oauth.modal.scopes': 'İzin Verilen Kapsamlar',
'settings.oauth.modal.scopesHint':
'list_trips ve get_trip_summary her zaman kullanılabilir; kapsam gerektirmez. Yapay zekanın başka herhangi bir aracı kullanmak için gereken yolculuk kimliklerini keşfetmesine olanak tanıyorlar.',
'settings.oauth.modal.selectAll': 'Tümünü seç',
'settings.oauth.modal.deselectAll': 'Tümünün seçimini kaldır',
'settings.oauth.modal.creating': 'Kaydediliyor…',
'settings.oauth.modal.create': 'Müşteriyi Kaydet',
'settings.oauth.modal.createdTitle': 'Müşteri Kayıtlı',
'settings.oauth.modal.createdWarning': 'İstemci sırrı yalnızca bir kez gösterilir. Şimdi kopyalayın; kurtarılamaz.',
'settings.oauth.toast.createError': 'OAuth istemcisi kaydedilemedi',
'settings.oauth.toast.deleted': 'OAuth istemcisi silindi',
'settings.oauth.toast.deleteError': 'OAuth istemcisi silinemedi',
'settings.oauth.toast.revoked': 'Oturum iptal edildi',
'settings.oauth.toast.revokeError': 'Oturum iptal edilemedi',
'settings.oauth.toast.rotateError': 'İstemci sırrı döndürülemedi',
'settings.account': 'Hesap',
'settings.about': 'Hakkında',
'settings.about.reportBug': 'Hata Bildir',
'settings.about.reportBugHint': 'Bir sorun mu buldunuz? Bize bildirin',
'settings.about.featureRequest': 'Özellik İsteği',
'settings.about.featureRequestHint': 'Yeni bir özellik önerin',
'settings.about.wikiHint': 'Belgeler ve kılavuzlar',
'settings.about.descriptionManaged':
'TREK helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place.',
'settings.about.sourceTitle': 'Source code',
'settings.about.sourceHint': 'TREK is open source, licensed AGPL-3.0',
'settings.about.supporters.badge': 'Aylık Destekçiler',
'settings.about.supporters.title': 'TREK için seyahat Arkadaşları',
'settings.about.supporters.subtitle':
"While you're planning your next route, these folks are helping plan TREK's future. Their monthly contribution goes straight into development and real hours spent — so TREK stays Open Source.",
'settings.about.supporters.since': '{date} tarihinden beri destekçimiz',
'settings.about.supporters.tierEmpty': 'İlk olun',
'settings.about.supporter.tier.noReturnTicket': 'Dönüş Bileti Yok',
'settings.about.supporter.tier.lostLuggageVip': 'Kayıp Bagaj VIP',
'settings.about.supporter.tier.businessClassDreamer': 'Business Class Hayalperest',
'settings.about.supporter.tier.budgetTraveller': 'Bütçe Gezgini',
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Yatakhane Arkadaşı',
'settings.about.description':
'TREK, seyahatlerinizi ilk fikirden son anıya kadar organize etmenize yardımcı olan, kendi kendine barındırılan bir seyahat planlayıcıdır. Gün planlaması, bütçe, paketleme listeleri, fotoğraflar ve çok daha fazlası; hepsi tek bir yerde, kendi sunucunuzda.',
'settings.about.madeWith': 'İle yapıldı',
'settings.about.madeBy': 'Maurice ve büyüyen bir açık kaynak topluluğu tarafından.',
'settings.username': 'Kullanıcı adı',
'settings.email': 'E-posta',
'settings.role': 'Rol',
'settings.roleAdmin': 'Yönetici',
'settings.oidcLinked': 'ile bağlantılı',
'settings.changePassword': 'Şifre Değiştir',
'settings.currentPassword': 'Mevcut Şifre',
'settings.currentPasswordRequired': 'Mevcut şifre gerekli',
'settings.newPassword': 'Yeni Şifre',
'settings.confirmPassword': 'Yeni şifreyi onayla',
'settings.updatePassword': 'Şifreyi güncelle',
'settings.passwordRequired': 'Lütfen mevcut ve yeni şifrenizi giriniz',
'settings.passwordTooShort': 'Şifre en az 8 karakter olmalıdır',
'settings.passwordMismatch': 'Şifreler eşleşmiyor',
'settings.passwordWeak': 'Şifre büyük harf, küçük harf, sayı ve özel karakter içermelidir',
'settings.passwordChanged': 'Şifre başarıyla değiştirildi',
'settings.mustChangePassword':
'Devam etmeden önce şifrenizi değiştirmelisiniz. Lütfen aşağıdan yeni bir şifre belirleyin.',
'settings.deleteAccount': 'Hesabı sil',
'settings.deleteAccountTitle': 'Hesabınız silinsin mi?',
'settings.deleteAccountWarning':
'Hesabınız ve tüm gezileriniz, yerleriniz ve dosyalarınız kalıcı olarak silinecek. Bu eylem geri alınamaz.',
'settings.deleteAccountConfirm': 'Kalıcı olarak sil',
'settings.deleteBlockedTitle': 'Silme mümkün değil',
'settings.deleteBlockedMessage':
'Tek yönetici sizsiniz. Hesabınızı silmeden önce başka bir kullanıcıyı yönetici olarak atayın.',
'settings.roleUser': 'Kullanıcı',
'settings.saveProfile': 'Profili Kaydet',
'settings.toast.mapSaved': 'Harita ayarları kaydedildi',
'settings.toast.keysSaved': 'API anahtarları kaydedildi',
'settings.toast.displaySaved': 'Ekran ayarları kaydedildi',
'settings.toast.profileSaved': 'Profil kaydedildi',
'settings.uploadAvatar': 'Profil Resmini Yükle',
'settings.removeAvatar': 'Profil Resmini Kaldır',
'settings.avatarUploaded': 'Profil resmi güncellendi',
'settings.avatarRemoved': 'Profil resmi kaldırıldı',
'settings.avatarError': 'Yükleme başarısız oldu',
'settings.avatarRemoveError': 'Kaldırma başarısız oldu',
'settings.mfa.title': 'İki faktörlü kimlik doğrulama (2FA)',
'settings.mfa.description':
'E-posta ve şifreyle oturum açtığınızda ikinci bir adım ekler. Bir kimlik doğrulama uygulaması kullanın (Google Authenticator, Authy vb.).',
'settings.mfa.requiredByPolicy':
'Yöneticiniz iki faktörlü kimlik doğrulama gerektiriyor. Devam etmeden önce aşağıdan bir kimlik doğrulama uygulaması kurun.',
'settings.mfa.backupTitle': 'Yedekleme kodları',
'settings.mfa.backupDescription':
'Kimlik doğrulayıcı uygulamanıza erişimi kaybederseniz bu tek seferlik yedek kodları kullanın.',
'settings.mfa.backupWarning': 'Şimdi bu kodları kaydedin. Her kod yalnızca bir kez kullanılabilir.',
'settings.mfa.backupCopy': 'Kodları kopyala',
'settings.mfa.backupDownload': "TXT'yi İndirin",
'settings.mfa.backupPrint': 'Yazdır / PDF',
'settings.mfa.backupCopied': 'Yedek kodlar kopyalandı',
'settings.mfa.enabled': 'Hesabınızda 2FA etkin.',
'settings.mfa.disabled': '2FA etkin değil.',
'settings.mfa.setup': 'Kimlik doğrulayıcıyı ayarla',
'settings.mfa.scanQr': 'Bu QR kodunu uygulamanızla tarayın veya sırrı manuel olarak girin.',
'settings.mfa.secretLabel': 'Gizli anahtar (manuel giriş)',
'settings.mfa.codePlaceholder': '6 haneli kod',
'settings.mfa.enable': "2FA'yı Etkinleştir",
'settings.mfa.cancelSetup': 'İptal etmek',
'settings.mfa.disableTitle': "2FA'yı devre dışı bırak",
'settings.mfa.disableHint': 'Hesap şifrenizi ve kimlik doğrulayıcınızdan aldığınız geçerli kodu girin.',
'settings.mfa.disable': "2FA'yı devre dışı bırak",
'settings.mfa.toastEnabled': 'İki faktörlü kimlik doğrulama etkin',
'settings.mfa.toastDisabled': 'İki faktörlü kimlik doğrulama devre dışı',
'settings.mfa.demoBlocked': 'Demo modunda kullanılamaz',
'settings.oauth.modal.machineClient': 'Makine istemcisi (tarayıcıda oturum açma yok)',
'settings.oauth.modal.machineClientHint':
"client_credentials iznini kullanın — yönlendirme URI'lerine gerek yoktur. Belirteç doğrudan client_id + client_secret ile verilir ve seçilen kapsamlar dahilinde sizin adınıza hareket eder.",
'settings.oauth.modal.machineClientUsage':
'Bir jeton alın: grant_type=client_credentials, client_id ve client_secret ile POST /oauth/token. Tarayıcı yok, yenileme belirteci yok.',
'settings.oauth.badge.machine': 'makine',
'settings.currency': 'Görüntüleme para birimi',
'settings.currencyHint':
'Maliyetler bölümündeki tutarlar yalnızca görüntüleme amacıyla bu para birimine çevrilerek gösterilir — orijinal tutarlar değişmez.',
'settings.currencyTrip': 'Gezi para birimi',
'settings.passkey.title': 'Passkey’ler',
'settings.passkey.description':
'Passkey ile daha hızlı ve kimlik avına dayanıklı şekilde oturum açın — parmak iziniz, yüzünüz, PIN’iniz veya bir donanım anahtarı. Şifreniz yedek olarak kalır.',
'settings.passkey.notConfigured':
'Passkey’ler etkin ancak bu sunucuda henüz tam olarak yapılandırılmadı. WebAuthn alan adını ayarlaması için yöneticinize başvurun.',
'settings.passkey.add': 'Passkey ekle',
'settings.passkey.addTitle': 'Passkey ekle',
'settings.passkey.passwordPrompt': 'Mevcut şifrenizi onaylayın, ardından cihazınızın istemini izleyin.',
'settings.passkey.passwordRequired': 'Mevcut şifreniz gerekli.',
'settings.passkey.namePlaceholder': 'Ad (isteğe bağlı, ör. "iPhone")',
'settings.passkey.addedToast': 'Passkey eklendi',
'settings.passkey.added': 'Eklendi',
'settings.passkey.addError': 'Passkey eklenemedi',
'settings.passkey.cancelled': 'Passkey kurulumu iptal edildi',
'settings.passkey.deleted': 'Passkey kaldırıldı',
'settings.passkey.deleteConfirm': 'Bu passkey kaldırılsın mı? Şifrenizle onaylayın.',
'settings.passkey.rename': 'Yeniden adlandır',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Senkronize edildi',
'settings.passkey.deviceBound': 'Bu cihaz',
'settings.passkey.lastUsed': 'Son kullanım',
'settings.passkey.neverUsed': 'Hiç kullanılmadı',
'settings.mapPoiPill': 'Haritada yerleri keşfet',
'settings.mapPoiPillHint':
"Yakındaki restoranları, otelleri ve daha fazlasını OpenStreetMap'ten bulmak için gezi haritasında bir kategori etiketi göster.",
'settings.airtrail.title': 'AirTrail',
'settings.airtrail.hint':
"Uçuşları içe aktarmak ve senkronize etmek için kendi barındırdığınız AirTrail'i bağlayın. AirTrail'de Ayarlar → Güvenlik altından bir API anahtarı oluşturun.",
'settings.airtrail.url': "Örnek URL'si",
'settings.airtrail.apiKey': 'API anahtarı',
'settings.airtrail.apiKeyPlaceholder': 'Bearer API anahtarı',
'settings.airtrail.apiKeyHint': "AirTrail'de Ayarlar → Güvenlik altında oluşturulur. Şifreli olarak saklanır.",
'settings.airtrail.allowInsecureTls': 'Kendinden imzalı sertifikalara izin ver',
'settings.airtrail.allowInsecureTlsHint': 'Yalnızca kendi ağınızdaki güvenilir bir örnek için etkinleştirin.',
'settings.airtrail.writeBack': 'Değişiklikleri AirTrail’e geri yaz',
'settings.airtrail.writeBackHint':
'Varsayılan olarak kapalı: AirTrail asıl kaynaktır ve TREK yalnızca okur. TREK’te yapılan değişiklikleri AirTrail’e geri göndermek için açın.',
'settings.airtrail.connected': 'Bağlandı',
'settings.airtrail.notConnected': 'Bağlı değil',
'settings.airtrail.toast.saved': 'AirTrail bağlantısı kaydedildi',
'settings.airtrail.toast.saveError': 'Bağlantı kaydedilemedi',
'settings.airtrail.test.button': 'Bağlantıyı test et',
'settings.airtrail.test.success': 'Bağlandı — {count} uçuş bulundu',
'settings.airtrail.test.failed': 'Bağlantı başarısız',
'settings.aiParsing.title': 'Yapay zekâ ayrıştırma',
'settings.aiParsing.hint':
'Yüklenen dosyalardan rezervasyonları çıkarmak için kullanılacak yapay zekâ modelini seç. Bu yalnızca yöneticin tüm uygulama geneli için bir model yapılandırmadığında geçerlidir.',
'settings.aiParsing.provider': 'Sağlayıcı',
'settings.aiParsing.providerLocal': 'Yerel (Ollama)',
'settings.aiParsing.providerOpenai': 'OpenAI',
'settings.aiParsing.providerAnthropic': 'Anthropic',
'settings.aiParsing.localAdminOnly':
'Yerel (Ollama) uç noktası, tüm örnek için bir kez yönetici ayarlarında yapılandırılır. Kendi OpenAI veya Anthropic anahtarını burada kullanmaya devam edebilirsin.',
'settings.aiParsing.model': 'Model',
'settings.aiParsing.baseUrl': 'Temel URL',
'settings.aiParsing.baseUrlHint':
'Modelin çalıştığı yer — yerel bir Ollama sunucusu veya OpenAI uyumlu bir uç nokta.',
'settings.aiParsing.apiKey': 'API anahtarı',
'settings.aiParsing.apiKeyHint': 'Şifrelenmiş olarak saklanır. Mevcut anahtarı korumak için boş bırak.',
'settings.aiParsing.multimodal': 'Belgeleri görsel olarak gönder',
'settings.aiParsing.multimodalHint':
"Görüntü işleyebilen modeller için — çıkarılan metin yerine orijinal PDF'yi gönderir.",
'settings.aiParsing.toast.saved': 'Yapay zekâ ayarları kaydedildi',
'settings.aiParsing.toast.saveError': 'Yapay zekâ ayarları kaydedilemedi',
'settings.tabs.appearance': 'Appearance',
'settings.appearance.theme': 'Theme',
'settings.appearance.scheme': 'Color scheme',
'settings.appearance.scheme.default': 'Default',
'settings.appearance.scheme.highContrast': 'High contrast',
'settings.appearance.scheme.indigo': 'Indigo',
'settings.appearance.scheme.teal': 'Teal',
'settings.appearance.scheme.rose': 'Rose',
'settings.appearance.scheme.amber': 'Amber',
'settings.appearance.scheme.violet': 'Violet',
'settings.appearance.scheme.custom': 'Custom',
'settings.appearance.customAccent': 'Custom accent',
'settings.appearance.contrastOk': 'Good contrast',
'settings.appearance.contrastLow': 'Low contrast',
'settings.appearance.readability': 'Readability',
'settings.appearance.transparency': 'Transparency',
'settings.appearance.transparencyHint':
'Glassy translucent surfaces. Turn off for solid, higher-contrast backgrounds.',
'settings.appearance.reduceMotion': 'Reduce motion',
'settings.appearance.reduceMotionHint': 'Minimize animations and transitions.',
'settings.appearance.density': 'Density',
'settings.appearance.comfortable': 'Comfortable',
'settings.appearance.compact': 'Compact',
'settings.appearance.textSize': 'Text size',
'settings.appearance.advancedTextSizes': 'Advanced text sizes',
'settings.appearance.hideAdvanced': 'Hide advanced',
'settings.appearance.tier.title': 'Titles',
'settings.appearance.tier.subtitle': 'Subtitles',
'settings.appearance.tier.body': 'Body',
'settings.appearance.tier.caption': 'Captions',
'settings.appearance.dashboardWidgets': 'Dashboard widgets',
'settings.appearance.dashboardWidgetsHint': 'Show or hide dashboard widgets independently on desktop and mobile.',
'settings.appearance.desktop': 'Desktop',
'settings.appearance.mobile': 'Mobile',
'settings.appearance.widget.sidebar': 'Right sidebar',
'settings.appearance.widget.currency': 'Currency',
'settings.appearance.widget.collections': 'Koleksiyonlar',
'settings.appearance.widget.timezones': 'Timezones',
'settings.appearance.widget.upcomingReservations': 'Upcoming reservations',
'settings.appearance.widget.atlas': 'Atlas / countries',
'settings.appearance.widget.tripsTotal': 'Trips total',
'settings.appearance.widget.daysTraveled': 'Days traveled',
'settings.appearance.widget.distanceFlown': 'Distance flown',
'settings.appearance.reset': 'Reset to defaults',
'settings.appearance.group.belowHero': 'Below the hero',
'settings.appearance.group.bottomOfPage': 'Bottom of page',
'settings.appearance.sidebarHint': 'The whole right column. Turn off and the dashboard centers.',
'settings.appearance.densityHint':
'Compact tightens spacing and padding for a denser layout that fits more on screen.',
'settings.appearance.textSizeAll': 'Everything',
'settings.appearance.perSize': 'Adjust each size separately',
'settings.appearance.size.large': 'Large',
'settings.appearance.size.medium': 'Medium',
'settings.appearance.size.normal': 'Normal',
'settings.appearance.size.small': 'Small',
'settings.appearance.preview.large': 'Large heading',
'settings.appearance.preview.medium': 'Medium subtitle',
'settings.appearance.preview.normal': 'Normal body text',
'settings.appearance.preview.small': 'Small caption / address',
'settings.appearance.example.large': 'Headings, big numbers',
'settings.appearance.example.medium': 'Sub-headings',
'settings.appearance.example.normal': 'Place names, descriptions',
'settings.appearance.example.small': 'Addresses, labels',
'settings.appearance.experimental': 'Experimental',
'settings.appearance.mobileNav': 'Alt gezinme çubuğu',
'settings.appearance.mobileNav.hint':
'Hangi öğelerin çubukta görüneceğini, hangilerinin “Diğer” altında yer alacağını seçin. Dashboard her zaman ilk sırada kalır.',
'settings.appearance.mobileNav.inBar': 'Çubukta',
'settings.appearance.mobileNav.underMore': '“Diğer” altında',
'settings.appearance.mobileNav.moreEmpty': 'Burada henüz bir şey yok — her şey çubuğa sığıyor.',
'settings.appearance.mobileNav.pinned': 'Sabit',
'settings.appearance.mobileNav.toMore': '“Diğer” altına taşı',
'settings.appearance.mobileNav.toBar': 'Çubuğa taşı',
'settings.appearance.dashOrder': 'Panel sıralaması',
'settings.appearance.dashOrder.hint':
'Gezi listesi ve widget’ların telefon panelinizde nasıl sıralanacağını yeniden düzenleyin. Öne çıkan gezi her zaman en üstte kalır.',
'settings.appearance.dashOrder.trips': 'Geziler',
'settings.appearance.dashOrder.hidden': 'Gizli',
'settings.general.languageRegion': 'Language & region',
'settings.general.travelMap': 'Travel & map',
'settings.general.startup': 'Başlangıç',
'settings.startPage': 'Başlangıç sayfası',
'settings.startPageDashboard': 'Pano',
'settings.startPageActiveTrip': 'Aktif seyahat',
'settings.startPageHint':
'TREK doğrudan devam eden seyahati, yoksa sıradaki seyahati açar. Panonun öne çıkardığı seyahatin aynısı.',
'settings.startTripTab': 'Başlangıç sekmesi',
'settings.startTripTabHint':
'Seyahatin açılacağı sekme. Kapalı bir eklentiye aitse onun yerine plan görünümü açılır.',
// ── Offline (#1135)
'settings.offline.cache.title': 'Çevrimdışı önbellek',
'settings.offline.mode.title': 'Çevrimdışı mod',
'settings.offline.mode.force': 'Çevrimdışı modu zorla',
'settings.offline.mode.forceHint':
'Yalnızca önbelleğe alınmış verilerle çalışın ve değişikliklerinizi sıraya alın. Yeniden bağlanıp senkronize etmek için kapatın.',
'settings.offline.mode.active':
'Çevrimdışı mod açık — değişiklikleriniz sıraya alındı ve kapattığınızda senkronize edilecek.',
'settings.offline.prepare.title': 'Çevrimdışı için hazırlan',
'settings.offline.prepare.hint':
'Bağlantınızı kaybetmeden önce ihtiyacınız olan her şeyi — gezi verileri, belgeler ve harita kutucukları — indirin.',
'settings.offline.prepare.button': 'Çevrimdışı kullanım için indir',
'settings.offline.prepare.running': 'İndiriliyor…',
'settings.offline.prepare.done': 'Çevrimdışı kullanıma hazır',
'settings.offline.prepare.phase.trips': 'Gezi verileri',
'settings.offline.prepare.phase.files': 'Belgeler',
'settings.offline.prepare.phase.tiles': 'Harita kutucukları',
'settings.offline.resync': 'Şimdi yeniden senkronize et',
'settings.offline.resyncing': 'Senkronize ediliyor…',
'settings.offline.storage.title': 'Çevrimdışı olarak ne saklanacak',
'settings.offline.storage.tiles': 'Harita kutucuklarını çevrimdışı sakla',
'settings.offline.storage.tilesHint':
'Harita kutucukları en fazla depolama alanını kullanır. Yalnızca gezi verilerini ve belgeleri çevrimdışı tutmak için bunu kapatın.',
'settings.offline.storage.tripsTitle': 'Geziler',
'settings.offline.storage.tripOn': 'Çevrimdışı saklandı',
'settings.offline.storage.tripOff': 'Saklanmadı',
'settings.offline.storage.tripFinished': 'Tamamlandı. Yalnızca açarsanız saklanır.',
'settings.offline.notice.stored': 'Bu cihaza {count} gezi kaydedildi',
'settings.offline.notice.nothing': 'Kaydedilecek bir şey yok. Saklamak istediğiniz gezileri açın.',
'settings.offline.notice.busy': 'Zaten bir eşitleme sürüyor. Birazdan yeniden deneyin.',
'settings.offline.notice.offline': 'Bağlantı yok. Gezileri çevrimdışı kaydetmek için bağlanın.',
'settings.offline.notice.signedOut': 'Oturumunuz sona erdi. Eşitlemek için tekrar giriş yapın.',
'settings.offline.notice.failed': 'İndirme tamamlanamadı. Bağlantınızı kontrol edip yeniden deneyin.',
'settings.offline.notice.loadFailed': 'Bu cihazın çevrimdışı deposu okunamadı. Genellikle önbelleği temizlemek sorunu çözer.',
'settings.offline.clear': 'Önbelleği temizle',
'settings.offline.clearConfirm':
'Tüm çevrimdışı gezi verileri silinsin mi? Çevrimiçiyken istediğiniz zaman yeniden senkronize edebilirsiniz.',
'settings.offline.stats.trips': 'Önbelleğe alınan geziler',
'settings.offline.stats.pending': 'Bekleyen değişiklikler',
'settings.offline.stats.failed': 'Başarısız değişiklikler',
'settings.offline.stats.conflicts': 'Çakışmalar',
'settings.offline.empty': 'Henüz önbelleğe alınmış gezi yok. Senkronize etmek için internete bağlanın.',
'settings.offline.loading': 'Yükleniyor…',
'settings.offline.conflicts.title': 'Senkronizasyon çakışmaları',
'settings.offline.conflicts.hint':
'Çevrimdışıyken yaptığınız değişiklikler sunucudaki daha yeni değişikliklerle çakışıyor. Hangi sürümün saklanacağını seçin.',
'settings.offline.conflicts.keepMine': 'Benimkini sakla',
'settings.offline.conflicts.keepServer': 'Onlarınkini sakla',
'settings.offline.conflicts.mine': 'Sizin sürümünüz',
'settings.offline.conflicts.server': 'Sunucu sürümü',
'settings.offline.conflicts.item': '“{name}” için değişiklik',
'settings.offline.conflicts.strategyTitle': 'Bir çakışma olduğunda',
'settings.offline.conflicts.strategy.ask': 'Her seferinde bana sor',
'settings.offline.conflicts.strategy.mine': 'Her zaman benim sürümümü sakla',
'settings.offline.conflicts.strategy.server': 'Her zaman sunucu sürümünü sakla',
'settings.offline.banner.offline': 'Çevrimdışı',
'settings.offline.banner.forced': 'Çevrimdışı mod',
'settings.offline.banner.queued': 'Çevrimdışı · {count} sırada',
'settings.offline.banner.syncing': '{count} senkronize ediliyor…',
'settings.offline.banner.failed': 'Senkronize edilemedi: {count}',
'settings.offline.banner.conflicts': 'Çakışmalar: {count}',
'settings.pluginActivity.title': 'Eklenti etkinliği',
'settings.pluginActivity.description': 'Bir eklentinin sizin adınıza gerçekleştirdiği her işlem, en yenisi önce.',
'settings.pluginActivity.empty': 'Henüz eklenti etkinliği yok.',
'settings.pluginActivity.refresh': 'Yenile',
'settings.pluginActivity.columns.plugin': 'Eklenti',
'settings.pluginActivity.columns.action': 'İşlem',
'settings.pluginActivity.columns.resource': 'Kaynak',
'settings.pluginActivity.columns.when': 'Ne zaman',
'settings.pluginActivity.columns.status': 'Sonuç',
'settings.alwaysShowRoutes': 'Rezervasyon rotalarını her zaman göster',
'settings.alwaysShowRoutesHint':
'Haritada her uçuş, tren ve diğer rezervasyonun rotasını, tek tek açmaya gerek kalmadan otomatik olarak gösterir.',
// Public API keys (Settings -> Integrations)
'settings.apiKeys.title': 'API Anahtarları',
'settings.apiKeys.description': 'Genel API için anahtarlar, böylece başka yazılımlar gezilerini okuyabilir. Yalnızca okuma: bir anahtar hiçbir şeyi değiştiremez veya silemez.',
'settings.apiKeys.create': 'Anahtar oluştur',
'settings.apiKeys.empty': 'Henüz anahtar yok. Başka bir yazılımı bağlamak için bir tane oluştur.',
'settings.apiKeys.createdAt': 'oluşturuldu',
'settings.apiKeys.usedAt': 'son kullanım',
'settings.apiKeys.deleteTitle': 'Anahtarı sil',
'settings.apiKeys.deleteMessage': 'Bu anahtarı kullanan her şey hemen çalışmayı durdurur. Bu işlem geri alınamaz.',
'settings.apiKeys.deleted': 'Anahtar silindi',
'settings.apiKeys.deleteFailed': 'Anahtar silinemedi',
'settings.apiKeys.createFailed': 'Anahtar oluşturulamadı',
'settings.apiKeys.copy': 'Kopyala',
'settings.apiKeys.docsHint': 'Anahtarı "Authorization: Bearer ..." veya "X-API-Key: ..." olarak /api/v1 adresine gönder.',
'settings.apiKeys.modal.createTitle': 'API anahtarı oluştur',
'settings.apiKeys.modal.name': 'Ad',
'settings.apiKeys.modal.namePlaceholder': 'örn. Dawarich',
'settings.apiKeys.modal.nameHint': 'Yalnızca senin için, anahtarı sonradan tanıyabilmen için.',
'settings.apiKeys.modal.creating': 'Oluşturuluyor...',
'settings.apiKeys.modal.create': 'Oluştur',
'settings.apiKeys.modal.createdTitle': 'API anahtarı oluşturuldu',
'settings.apiKeys.modal.createdWarning': 'Anahtarı şimdi kopyala. Yalnızca bir kez gösterilir ve sonradan alınamaz.',
'settings.apiKeys.modal.done': 'Tamam',
};
export default settings;