i18n: complete Turkish (tr) translation (#1075)

Fill in the remaining ~2100 UI strings in shared/src/i18n/tr so Turkish
matches the English catalog. Brand names, URLs, and technical placeholders
are left untranslated by design.
This commit is contained in:
Ahmet Yılmaz
2026-05-27 18:31:37 +03:00
committed by GitHub
parent 831a4fd478
commit 8bda980028
41 changed files with 2144 additions and 2472 deletions
+280 -338
View File
@@ -1,70 +1,56 @@
import type { TranslationStrings } from '../types';
const admin: TranslationStrings = {
'admin.notifications.title': 'Notifications',
'admin.notifications.hint':
'Choose one notification channel. Only one can be active at a time.',
'admin.notifications.none': 'Disabled',
'admin.notifications.email': 'Email (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.title': 'Bildirimler',
'admin.notifications.hint': 'Bir bildirim kanalı seçin. Aynı anda yalnızca biri etkin olabilir.',
'admin.notifications.none': 'Kapalı',
'admin.notifications.email': 'E-posta (SMTP)',
'admin.notifications.webhook': 'Web kancası',
'admin.notifications.ntfy': 'Ntfy',
'admin.ntfy.hint':
'Allow users to configure their own ntfy topics for push notifications. Set the default server below to pre-fill user settings.',
'admin.notifications.save': 'Save notification settings',
'admin.notifications.saved': 'Notification settings saved',
'admin.notifications.testWebhook': 'Send test webhook',
'admin.notifications.testWebhookSuccess': 'Test webhook sent successfully',
'admin.notifications.testWebhookFailed': 'Test webhook failed',
'admin.notifications.testNtfy': 'Send test ntfy',
'admin.notifications.testNtfySuccess': 'Test ntfy sent successfully',
'admin.notifications.testNtfyFailed': 'Test ntfy failed',
'admin.notifications.emailPanel.title': 'Email (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.inappPanel.title': 'In-App',
'admin.notifications.inappPanel.hint':
'In-app notifications are always active and cannot be disabled globally.',
'admin.notifications.adminWebhookPanel.title': 'Admin Webhook',
'admin.notifications.adminWebhookPanel.hint':
'This webhook is used exclusively for admin notifications (e.g. version alerts). It is separate from per-user webhooks and always fires when set.',
'admin.notifications.adminWebhookPanel.saved': 'Admin webhook URL saved',
'admin.notifications.adminWebhookPanel.testSuccess':
'Test webhook sent successfully',
'admin.notifications.adminWebhookPanel.testFailed': 'Test webhook failed',
'admin.notifications.adminWebhookPanel.alwaysOnHint':
'Admin webhook always fires when a URL is configured',
'admin.notifications.adminNtfyPanel.title': 'Admin Ntfy',
'admin.notifications.adminNtfyPanel.hint':
'This ntfy topic is used exclusively for admin notifications (e.g. version alerts). It is separate from per-user topics and always fires when configured.',
'admin.notifications.adminNtfyPanel.serverLabel': 'Ntfy Server URL',
'admin.notifications.adminNtfyPanel.serverHint':
'Also used as the default server for user ntfy notifications. Leave blank to default to ntfy.sh. Users can override this in their own settings.',
'admin.ntfy.hint': 'Kullanıcıların kendi ntfy konularını yapılandırmasına izin verin. Aşağıdaki varsayılan sunucu kullanıcı ayarlarında ön doldurma için kullanılır.',
'admin.notifications.save': 'Bildirim ayarlarını kaydet',
'admin.notifications.saved': 'Bildirim ayarları kaydedildi',
'admin.notifications.testWebhook': 'Test webhook gönder',
'admin.notifications.testWebhookSuccess': 'Test webhook gönderildi',
'admin.notifications.testWebhookFailed': 'Test webhook başarısız',
'admin.notifications.testNtfy': 'Test ntfy gönder',
'admin.notifications.testNtfySuccess': 'Test ntfy gönderildi',
'admin.notifications.testNtfyFailed': 'Test ntfy başarısız',
'admin.notifications.emailPanel.title': 'E-posta (SMTP)',
'admin.notifications.webhookPanel.title': 'Web kancası',
'admin.notifications.inappPanel.title': 'Uygulama içi',
'admin.notifications.inappPanel.hint': 'Uygulama içi bildirimler her zaman açıktır ve genel olarak kapatılamaz.',
'admin.notifications.adminWebhookPanel.title': 'Yönetici Webhook',
'admin.notifications.adminWebhookPanel.hint': 'Bu webhook yalnızca yönetici bildirimleri için kullanılır (örn. sürüm uyarıları). Kullanıcı webhook\'larından ayrıdır ve ayarlıysa her zaman tetiklenir.',
'admin.notifications.adminWebhookPanel.saved': 'Yönetici webhook URL kaydedildi',
'admin.notifications.adminWebhookPanel.testSuccess': 'Test webhook gönderildi',
'admin.notifications.adminWebhookPanel.testFailed': 'Test webhook başarısız',
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'URL yapılandırıldığında yönetici webhook her zaman tetiklenir',
'admin.notifications.adminNtfyPanel.title': 'Yönetici Ntfy',
'admin.notifications.adminNtfyPanel.hint': 'Bu ntfy konusu yalnızca yönetici bildirimleri için kullanılır. Kullanıcı konularından ayrıdır ve yapılandırıldığında her zaman tetiklenir.',
'admin.notifications.adminNtfyPanel.serverLabel': 'Ntfy Sunucu URL\'si',
'admin.notifications.adminNtfyPanel.serverHint': 'Kullanıcı ntfy bildirimleri için varsayılan sunucu olarak da kullanılır. Boş bırakırsanız ntfy.sh olur. Kullanıcılar kendi ayarlarında geçersiz kılabilir.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Admin Topic',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.notifications.adminNtfyPanel.tokenLabel': 'Access Token (optional)',
'admin.notifications.adminNtfyPanel.tokenCleared':
'Admin access token cleared',
'admin.notifications.adminNtfyPanel.saved': 'Admin ntfy settings saved',
'admin.notifications.adminNtfyPanel.test': 'Send test ntfy',
'admin.notifications.adminNtfyPanel.testSuccess':
'Test ntfy sent successfully',
'admin.notifications.adminNtfyPanel.testFailed': 'Test ntfy failed',
'admin.notifications.adminNtfyPanel.alwaysOnHint':
'Admin ntfy always fires when a topic is configured',
'admin.notifications.adminNotificationsHint':
'Configure which channels deliver admin-only notifications (e.g. version alerts).',
'admin.notifications.tripReminders.title': 'Trip Reminders',
'admin.notifications.tripReminders.hint':
'Send a reminder notification before a trip starts (requires reminder days to be set on the trip).',
'admin.notifications.tripReminders.enabled': 'Trip reminders enabled',
'admin.notifications.tripReminders.disabled': 'Trip reminders disabled',
'admin.smtp.title': 'Email & Notifications',
'admin.smtp.hint': 'SMTP configuration for sending email notifications.',
'admin.smtp.testButton': 'Send test email',
'admin.webhook.hint':
'Allow users to configure their own webhook URLs for notifications (Discord, Slack, etc.).',
'admin.smtp.testSuccess': 'Test email sent successfully',
'admin.smtp.testFailed': 'Test email failed',
'admin.notifications.adminNtfyPanel.topicLabel': 'Yönetici Konusu',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'yürüyüş-yönetici-uyarıları',
'admin.notifications.adminNtfyPanel.tokenLabel': 'Erişim anahtarı (isteğe bağlı)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Yönetici erişim anahtarı temizlendi',
'admin.notifications.adminNtfyPanel.saved': 'Yönetici ntfy ayarları kaydedildi',
'admin.notifications.adminNtfyPanel.test': 'Test ntfy gönder',
'admin.notifications.adminNtfyPanel.testSuccess': 'Test ntfy gönderildi',
'admin.notifications.adminNtfyPanel.testFailed': 'Test ntfy başarısız',
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Konu yapılandırıldığında yönetici ntfy her zaman tetiklenir',
'admin.notifications.adminNotificationsHint': 'Yalnızca yönetici bildirimlerinin hangi kanallardan iletileceğini yapılandırın.',
'admin.notifications.tripReminders.title': 'Seyahat Hatırlatıcıları',
'admin.notifications.tripReminders.hint': 'Seyahat başlamadan önce hatırlatma gönderir (seyahatte hatırlatma günü ayarlı olmalıdır).',
'admin.notifications.tripReminders.enabled': 'Seyahat hatırlatıcıları açık',
'admin.notifications.tripReminders.disabled': 'Seyahat hatırlatıcıları kapalı',
'admin.smtp.title': 'E-posta ve Bildirimler',
'admin.smtp.hint': 'E-posta bildirimleri için SMTP yapılandırması.',
'admin.smtp.testButton': 'Test e-postası gönder',
'admin.webhook.hint': 'Kullanıcıların bildirimler için kendi webhook URL\'lerini (Discord, Slack vb.) yapılandırmasına izin verin.',
'admin.smtp.testSuccess': 'Test e-postası gönderildi',
'admin.smtp.testFailed': 'Test e-postası başarısız',
'admin.title': 'Yönetim',
'admin.subtitle': 'Kullanıcı yönetimi ve sistem ayarları',
'admin.tabs.users': 'Kullanıcılar',
@@ -72,287 +58,243 @@ const admin: TranslationStrings = {
'admin.tabs.backup': 'Yedekleme',
'admin.tabs.notifications': 'Bildirimler',
'admin.tabs.audit': 'Denetim',
'admin.stats.users': 'Kullanıcı',
'admin.stats.trips': 'Gezi',
'admin.stats.places': 'Yer',
'admin.stats.photos': 'Fotoğraf',
'admin.stats.files': 'Dosya',
'admin.table.user': 'User',
'admin.table.email': 'Email',
'admin.table.role': 'Role',
'admin.table.created': 'Created',
'admin.table.lastLogin': 'Last Login',
'admin.table.actions': 'Actions',
'admin.you': '(You)',
'admin.editUser': 'Edit User',
'admin.newPassword': 'New Password',
'admin.newPasswordHint': 'Leave empty to keep current password',
'admin.deleteUser':
'Delete user "{name}"? All trips will be permanently deleted.',
'admin.deleteUserTitle': 'Delete user',
'admin.newPasswordPlaceholder': 'Enter new password…',
'admin.toast.loadError': 'Failed to load admin data',
'admin.toast.userUpdated': 'User updated',
'admin.toast.updateError': 'Failed to update',
'admin.toast.userDeleted': 'User deleted',
'admin.toast.deleteError': 'Failed to delete',
'admin.toast.cannotDeleteSelf': 'Cannot delete your own account',
'admin.toast.userCreated': 'User created',
'admin.toast.createError': 'Failed to create user',
'admin.toast.fieldsRequired': 'Username, email and password are required',
'admin.createUser': 'Create User',
'admin.invite.title': 'Invite Links',
'admin.invite.subtitle': 'Create one-time registration links',
'admin.invite.create': 'Create Link',
'admin.invite.createAndCopy': 'Create & Copy',
'admin.invite.empty': 'No invite links created yet',
'admin.invite.maxUses': 'Max. Uses',
'admin.invite.expiry': 'Expires after',
'admin.invite.uses': 'used',
'admin.invite.expiresAt': 'expires',
'admin.invite.createdBy': 'by',
'admin.invite.active': 'Active',
'admin.invite.expired': 'Expired',
'admin.invite.usedUp': 'Used up',
'admin.invite.copied': 'Invite link copied to clipboard',
'admin.invite.copyLink': 'Copy link',
'admin.invite.deleted': 'Invite link deleted',
'admin.invite.createError': 'Failed to create invite link',
'admin.invite.deleteError': 'Failed to delete invite link',
'admin.stats.users': 'Kullanıcılar',
'admin.stats.trips': 'Seyahatler',
'admin.stats.places': 'Yerler',
'admin.stats.photos': 'Fotoğraflar',
'admin.stats.files': 'Dosyalar',
'admin.table.user': 'Kullanıcı',
'admin.table.email': 'E-posta',
'admin.table.role': 'Rol',
'admin.table.created': 'Oluşturulma',
'admin.table.lastLogin': 'Son Giriş',
'admin.table.actions': 'İşlemler',
'admin.you': '(Siz)',
'admin.editUser': 'Kullanıcıyı Düzenle',
'admin.newPassword': 'Yeni Şifre',
'admin.newPasswordHint': 'Mevcut şifreyi korumak için boş bırakın',
'admin.deleteUser': '"{name}" kullanıcısı silinsin mi? Tüm geziler kalıcı olarak silinecek.',
'admin.deleteUserTitle': 'Kullanıcıyı sil',
'admin.newPasswordPlaceholder': 'Yeni şifreyi girin…',
'admin.toast.loadError': 'Yönetici verileri yüklenemedi',
'admin.toast.userUpdated': 'Kullanıcı güncellendi',
'admin.toast.updateError': 'Güncelleme başarısız oldu',
'admin.toast.userDeleted': 'Kullanıcı silindi',
'admin.toast.deleteError': 'Silinemedi',
'admin.toast.cannotDeleteSelf': 'Kendi hesabınızı silemiyorum',
'admin.toast.userCreated': 'Kullanıcı oluşturuldu',
'admin.toast.createError': 'Kullanıcı oluşturulamadı',
'admin.toast.fieldsRequired': 'Kullanıcı adı, e-posta ve şifre gerekli',
'admin.createUser': 'Kullanıcı Oluştur',
'admin.invite.title': 'Bağlantıları Davet Et',
'admin.invite.subtitle': 'Tek seferlik kayıt bağlantıları oluşturun',
'admin.invite.create': 'Bağlantı Oluştur',
'admin.invite.createAndCopy': 'Oluştur ve Kopyala',
'admin.invite.empty': 'Henüz davet bağlantısı oluşturulmadı',
'admin.invite.maxUses': 'Maks. Kullanım Alanları',
'admin.invite.expiry': 'Şu tarihten sonra sona erer:',
'admin.invite.uses': 'kullanılmış',
'admin.invite.expiresAt': 'süresi doluyor',
'admin.invite.createdBy': 'ile',
'admin.invite.active': 'Aktif',
'admin.invite.expired': 'Günü geçmiş',
'admin.invite.usedUp': 'Kullanılmış',
'admin.invite.copied': 'Davet bağlantısı panoya kopyalandı',
'admin.invite.copyLink': 'Bağlantıyı kopyala',
'admin.invite.deleted': 'Davet bağlantısı silindi',
'admin.invite.createError': 'Davet bağlantısı oluşturulamadı',
'admin.invite.deleteError': 'Davet bağlantısı silinemedi',
'admin.tabs.settings': 'Ayarlar',
'admin.allowRegistration': 'Allow Registration',
'admin.allowRegistrationHint': 'New users can register themselves',
'admin.authMethods': 'Authentication Methods',
'admin.passwordLogin': 'Password Login',
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
'admin.passwordRegistration': 'Password Registration',
'admin.passwordRegistrationHint':
'Allow new users to register with email and password',
'admin.oidcLogin': 'SSO Login',
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint':
'Automatically create accounts for new SSO users',
'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': 'Require two-factor authentication (2FA)',
'admin.requireMfaHint':
'Users without 2FA must complete setup in Settings before using the app.',
'admin.apiKeys': 'API Keys',
'admin.apiKeysHint':
'Optional. Enables extended place data like photos and weather.',
'admin.mapsKey': 'Google Maps API Key',
'admin.mapsKeyHint':
'Required for place search. Get at console.cloud.google.com',
'admin.mapsKeyHintLong':
'Without an API key, OpenStreetMap is used for place search. With a Google API key, photos, ratings, and opening hours can be loaded as well. Get one at console.cloud.google.com.',
'admin.recommended': 'Recommended',
'admin.weatherKey': 'OpenWeatherMap API Key',
'admin.weatherKeyHint': 'For weather data. Free at openweathermap.org',
'admin.validateKey': 'Test',
'admin.keyValid': 'Connected',
'admin.keyInvalid': 'Invalid',
'admin.keySaved': 'API keys saved',
'admin.oidcTitle': 'Single Sign-On (OIDC)',
'admin.oidcSubtitle':
'Allow login via external providers like Google, Apple, Authentik or Keycloak.',
'admin.oidcDisplayName': 'Display Name',
'admin.oidcIssuer': 'Issuer URL',
'admin.oidcIssuerHint':
'The OpenID Connect Issuer URL of the provider. e.g. https://accounts.google.com',
'admin.oidcSaved': 'OIDC configuration saved',
'admin.oidcOnlyMode': 'Disable password authentication',
'admin.oidcOnlyModeHint':
'When enabled, only SSO login is permitted. Password-based login and registration are blocked.',
'admin.fileTypes': 'Allowed File Types',
'admin.fileTypesHint': 'Configure which file types users can upload.',
'admin.fileTypesFormat':
'Comma-separated extensions (e.g. jpg,png,pdf,doc). Use * to allow all types.',
'admin.fileTypesSaved': 'File type settings saved',
'admin.placesPhotos.title': 'Place Photos',
'admin.placesPhotos.subtitle':
'Fetch photos from the Google Places API. Disable to save API quota. Wikimedia photos are unaffected.',
'admin.placesAutocomplete.title': 'Place Autocomplete',
'admin.placesAutocomplete.subtitle':
'Use the Google Places API for search suggestions. Disable to save API quota.',
'admin.placesDetails.title': 'Place Details',
'admin.placesDetails.subtitle':
'Fetch detailed place information (hours, rating, website) from the Google Places API. Disable to save API quota.',
'admin.bagTracking.title': 'Bag Tracking',
'admin.bagTracking.subtitle':
'Enable weight and bag assignment for packing items',
'admin.collab.chat.title': 'Chat',
'admin.collab.chat.subtitle': 'Real-time messaging for trip collaboration',
'admin.collab.notes.title': 'Notes',
'admin.collab.notes.subtitle': 'Shared notes and documents',
'admin.collab.polls.title': 'Polls',
'admin.collab.polls.subtitle': 'Group polls and voting',
'admin.allowRegistration': 'Kayda İzin Ver',
'admin.allowRegistrationHint': 'Yeni kullanıcılar kendileri kayıt olabilirler',
'admin.authMethods': 'Kimlik Doğrulama Yöntemleri',
'admin.passwordLogin': 'Şifre Girişi',
'admin.passwordLoginHint': 'Kullanıcıların e-posta ve şifreyle oturum açmasına izin ver',
'admin.passwordRegistration': 'Şifre Kaydı',
'admin.passwordRegistrationHint': 'Yeni kullanıcıların e-posta ve şifreyle kaydolmasına izin ver',
'admin.oidcLogin': 'TOA Girişi',
'admin.oidcLoginHint': 'Kullanıcıların SSO ile oturum açmasına izin Ver',
'admin.oidcRegistration': 'SSO Otomatik Temel Hazırlığı',
'admin.oidcRegistrationHint': 'Yeni SSO kullanıcıları için otomatik olarak hesap oluşturun',
'admin.envOverrideHint': 'Şifre oturum açma ayarları OIDC_ONLY ortam değişkeni tarafından kontrol edilir ve burada değiştirilemez.',
'admin.lockoutWarning': 'En az bir oturum açma yöntemi etkin kalmalıdır',
'admin.requireMfa': 'İki faktörlü kimlik doğrulama (2FA) gerektir',
'admin.requireMfaHint': '2FA\'sı olmayan kullanıcıların uygulamayı kullanmadan önce Ayarlar\'da kurulumu tamamlaması gerekir.',
'admin.apiKeys': 'API Anahtarları',
'admin.apiKeysHint': 'İsteğe bağlı. Fotoğraflar ve hava durumu gibi genişletilmiş yer verilerini etkinleştirir.',
'admin.mapsKey': 'Google Haritalar API Anahtarı',
'admin.mapsKeyHint': 'Yer arama için gereklidir. console.cloud.google.com adresinden erişin',
'admin.mapsKeyHintLong': 'API anahtarı olmadan OpenStreetMap yer arama için kullanılır. Bir Google API anahtarıyla fotoğraflar, derecelendirmeler ve açılış saatleri de yüklenebilir. console.cloud.google.com adresinden bir tane edinin.',
'admin.recommended': 'Tavsiye edilen',
'admin.weatherKey': 'OpenWeatherMap API Anahtarı',
'admin.weatherKeyHint': 'Hava durumu verileri için. openweathermap.org\'da ücretsiz',
'admin.validateKey': 'Test et',
'admin.keyValid': 'Bağlı',
'admin.keyInvalid': 'Geçersiz',
'admin.keySaved': 'API anahtarları kaydedildi',
'admin.oidcTitle': 'Tek Oturum Açma (OIDC)',
'admin.oidcSubtitle': 'Google, Apple, Authentik veya Keycloak gibi harici sağlayıcılar aracılığıyla oturum açmaya izin verin.',
'admin.oidcDisplayName': 'Ekran Adı',
'admin.oidcIssuer': 'Veren URL\'si',
'admin.oidcIssuerHint': 'Sağlayıcının OpenID Connect Veren URL\'si. örneğin https://accounts.google.com',
'admin.oidcSaved': 'OIDC yapılandırması kaydedildi',
'admin.oidcOnlyMode': 'Parola kimlik doğrulamasını devre dışı bırak',
'admin.oidcOnlyModeHint': 'Etkinleştirildiğinde yalnızca SSO girişine izin verilir. Şifre tabanlı oturum açma ve kayıt engellenir.',
'admin.fileTypes': 'İzin Verilen Dosya Türleri',
'admin.fileTypesHint': 'Kullanıcıların hangi dosya türlerini yükleyebileceğini yapılandırın.',
'admin.fileTypesFormat': 'Virgülle ayrılmış uzantılar (ör. jpg,png,pdf,doc). Tüm türlere izin vermek için * kullanın.',
'admin.fileTypesSaved': 'Dosya türü ayarları kaydedildi',
'admin.placesPhotos.title': 'Fotoğrafları Yerleştir',
'admin.placesPhotos.subtitle': 'Fotoğrafları Google Rehber API\'sinden alın. API kotasını kaydetmeyi devre dışı bırakın. Wikimedia fotoğrafları etkilenmez.',
'admin.placesAutocomplete.title': 'Otomatik Tamamlamayı Yerleştir',
'admin.placesAutocomplete.subtitle': 'Arama önerileri için Google Rehber API\'sini kullanın. API kotasını kaydetmeyi devre dışı bırakın.',
'admin.placesDetails.title': 'Yer Detayları',
'admin.placesDetails.subtitle': 'Google Rehber API\'sinden ayrıntılı yer bilgilerini (saat, puan, web sitesi) alın. API kotasını kaydetmeyi devre dışı bırakın.',
'admin.bagTracking.title': 'Çanta Takibi',
'admin.bagTracking.subtitle': 'Paketleme öğeleri için ağırlık ve torba atamasını etkinleştirin',
'admin.collab.chat.title': 'Sohbet',
'admin.collab.chat.subtitle': 'Seyahat işbirliği için gerçek zamanlı mesajlaşma',
'admin.collab.notes.title': 'Notlar',
'admin.collab.notes.subtitle': 'Paylaşılan notlar ve belgeler',
'admin.collab.polls.title': 'Anketler',
'admin.collab.polls.subtitle': 'Grup anketleri ve oylama',
'admin.collab.whatsnext.title': "What's Next",
'admin.collab.whatsnext.subtitle': 'Activity suggestions and next steps',
'admin.tabs.config': 'Personalization',
'admin.tabs.defaults': 'User Defaults',
'admin.defaultSettings.title': 'Default User Settings',
'admin.defaultSettings.description':
'Set instance-wide defaults. Users who have not changed a setting will see these values. Their own changes always take priority.',
'admin.defaultSettings.saved': 'Default saved',
'admin.defaultSettings.reset': 'Reset to built-in default',
'admin.defaultSettings.resetToBuiltIn': 'reset',
'admin.tabs.templates': 'Packing Templates',
'admin.packingTemplates.title': 'Packing Templates',
'admin.packingTemplates.subtitle':
'Create reusable packing lists for your trips',
'admin.packingTemplates.create': 'New Template',
'admin.packingTemplates.namePlaceholder':
'Template name (e.g. Beach Holiday)',
'admin.packingTemplates.empty': 'No templates created yet',
'admin.packingTemplates.items': 'items',
'admin.packingTemplates.categories': 'categories',
'admin.packingTemplates.itemName': 'Item name',
'admin.packingTemplates.itemCategory': 'Category',
'admin.packingTemplates.categoryName': 'Category name (e.g. Clothing)',
'admin.packingTemplates.addCategory': 'Add category',
'admin.packingTemplates.created': 'Template created',
'admin.packingTemplates.deleted': 'Template deleted',
'admin.packingTemplates.loadError': 'Failed to load templates',
'admin.packingTemplates.createError': 'Failed to create template',
'admin.packingTemplates.deleteError': 'Failed to delete template',
'admin.packingTemplates.saveError': 'Failed to save',
'admin.tabs.addons': 'Addons',
'admin.addons.title': 'Addons',
'admin.addons.subtitle':
'Enable or disable features to customize your TREK experience.',
'admin.addons.catalog.packing.name': 'Lists',
'admin.addons.catalog.packing.description':
'Packing lists and to-do tasks for your trips',
'admin.addons.catalog.budget.name': 'Budget',
'admin.addons.catalog.budget.description':
'Track expenses and plan your trip budget',
'admin.addons.catalog.documents.name': 'Documents',
'admin.addons.catalog.documents.description':
'Store and manage travel documents',
'admin.addons.catalog.vacay.name': 'Vacay',
'admin.addons.catalog.vacay.description':
'Personal vacation planner with calendar view',
'admin.collab.whatsnext.subtitle': 'Etkinlik önerileri ve sonraki adımlar',
'admin.tabs.config': 'Kişiselleştirme',
'admin.tabs.defaults': 'Kullanıcı Varsayılanları',
'admin.defaultSettings.title': 'Varsayılan Kullanıcı Ayarları',
'admin.defaultSettings.description': 'Örnek çapında varsayılanları ayarlayın. Herhangi bir ayarı değiştirmemiş olan kullanıcılar bu değerleri görecektir. Kendi değişiklikleri her zaman önceliklidir.',
'admin.defaultSettings.saved': 'Varsayılan kaydedildi',
'admin.defaultSettings.reset': 'Yerleşik varsayılana sıfırla',
'admin.defaultSettings.resetToBuiltIn': 'sıfırlama',
'admin.tabs.templates': 'Paketleme Şablonları',
'admin.packingTemplates.title': 'Paketleme Şablonları',
'admin.packingTemplates.subtitle': 'Seyahatleriniz için yeniden kullanılabilir paketleme listeleri oluşturun',
'admin.packingTemplates.create': 'Yeni Şablon',
'admin.packingTemplates.namePlaceholder': 'Şablon adı (ör. Plaj Tatili)',
'admin.packingTemplates.empty': 'Henüz şablon oluşturulmadı',
'admin.packingTemplates.items': 'öğeler',
'admin.packingTemplates.categories': 'kategoriler',
'admin.packingTemplates.itemName': 'Öğe adı',
'admin.packingTemplates.itemCategory': 'Kategori',
'admin.packingTemplates.categoryName': 'Kategori adı (ör. Giyim)',
'admin.packingTemplates.addCategory': 'Kategori ekle',
'admin.packingTemplates.created': 'Şablon oluşturuldu',
'admin.packingTemplates.deleted': 'Şablon silindi',
'admin.packingTemplates.loadError': 'Şablonlar yüklenemedi',
'admin.packingTemplates.createError': 'Şablon oluşturulamadı',
'admin.packingTemplates.deleteError': 'Şablon silinemedi',
'admin.packingTemplates.saveError': 'Kaydedilemedi',
'admin.tabs.addons': 'Eklentiler',
'admin.addons.title': 'Eklentiler',
'admin.addons.subtitle': 'TREK deneyiminizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
'admin.addons.catalog.packing.name': 'Listeler',
'admin.addons.catalog.packing.description': 'Seyahatleriniz için paket listeleri ve yapılacak işler',
'admin.addons.catalog.budget.name': 'Bütçe',
'admin.addons.catalog.budget.description': 'Harcamaları takip edin ve seyahat bütçenizi planlayın',
'admin.addons.catalog.documents.name': 'Belgeler',
'admin.addons.catalog.documents.description': 'Seyahat belgelerini saklayın ve yönetin',
'admin.addons.catalog.vacay.name': 'Tatil',
'admin.addons.catalog.vacay.description': 'Takvim görünümüne sahip kişisel tatil planlayıcısı',
'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description':
'World map with visited countries and travel stats',
'admin.addons.catalog.collab.name': 'Collab',
'admin.addons.catalog.collab.description':
'Real-time notes, polls, and chat for trip planning',
'admin.addons.catalog.memories.name': 'Photos (Immich)',
'admin.addons.catalog.memories.description':
'Share trip photos via your Immich instance',
'admin.addons.catalog.atlas.description': 'Ziyaret edilen ülkeleri ve seyahat istatistiklerini içeren dünya haritası',
'admin.addons.catalog.collab.name': 'İş birliği',
'admin.addons.catalog.collab.description': 'Seyahat planlaması için gerçek zamanlı notlar, anketler ve sohbet',
'admin.addons.catalog.memories.name': 'Fotoğraflar (Immich)',
'admin.addons.catalog.memories.description': 'Immich örneğiniz aracılığıyla gezi fotoğraflarını paylaşın',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description':
'Model Context Protocol for AI assistant integration',
'admin.addons.subtitleBefore':
'Enable or disable features to customize your ',
'admin.addons.subtitleAfter': ' experience.',
'admin.addons.enabled': 'Enabled',
'admin.addons.disabled': 'Disabled',
'admin.addons.type.trip': 'Trip',
'admin.addons.type.global': 'Global',
'admin.addons.type.integration': 'Integration',
'admin.addons.tripHint': 'Available as a tab within each trip',
'admin.addons.globalHint':
'Available as a standalone section in the main navigation',
'admin.addons.integrationHint':
'Backend services and API integrations with no dedicated page',
'admin.addons.toast.updated': 'Addon updated',
'admin.addons.toast.error': 'Failed to update addon',
'admin.addons.noAddons': 'No addons available',
'admin.weather.title': 'Weather Data',
'admin.weather.badge': 'Since March 24, 2026',
'admin.weather.description':
'TREK uses Open-Meteo as its weather data source. Open-Meteo is a free, open-source weather service — no API key required.',
'admin.weather.forecast': '16-day forecast',
'admin.weather.forecastDesc': 'Previously 5 days (OpenWeatherMap)',
'admin.weather.climate': 'Historical climate data',
'admin.weather.climateDesc':
'Averages from the last 85 years for days beyond the 16-day forecast',
'admin.weather.requests': '10,000 requests / day',
'admin.weather.requestsDesc': 'Free, no API key required',
'admin.weather.locationHint':
'Weather is based on the first place with coordinates in each day. If no place is assigned to a day, any place from the place list is used as a reference.',
'admin.tabs.mcpTokens': 'MCP Access',
'admin.mcpTokens.title': 'MCP Access',
'admin.mcpTokens.subtitle':
'Manage OAuth sessions and API tokens across all users',
'admin.mcpTokens.sectionTitle': 'API Tokens',
'admin.mcpTokens.owner': 'Owner',
'admin.mcpTokens.tokenName': 'Token Name',
'admin.mcpTokens.created': 'Created',
'admin.mcpTokens.lastUsed': 'Last Used',
'admin.mcpTokens.never': 'Never',
'admin.mcpTokens.empty': 'No MCP tokens have been created yet',
'admin.mcpTokens.deleteTitle': 'Delete Token',
'admin.mcpTokens.deleteMessage':
'This will revoke the token immediately. The user will lose MCP access through this token.',
'admin.mcpTokens.deleteSuccess': 'Token deleted',
'admin.mcpTokens.deleteError': 'Failed to delete token',
'admin.mcpTokens.loadError': 'Failed to load tokens',
'admin.oauthSessions.sectionTitle': 'OAuth Sessions',
'admin.oauthSessions.clientName': 'Client',
'admin.oauthSessions.owner': 'Owner',
'admin.oauthSessions.scopes': 'Scopes',
'admin.oauthSessions.created': 'Created',
'admin.oauthSessions.empty': 'No active OAuth sessions',
'admin.oauthSessions.revokeTitle': 'Revoke Session',
'admin.oauthSessions.revokeMessage':
'This will revoke the OAuth session immediately. The client will lose MCP access.',
'admin.oauthSessions.revokeSuccess': 'Session revoked',
'admin.oauthSessions.revokeError': 'Failed to revoke session',
'admin.oauthSessions.loadError': 'Failed to load OAuth sessions',
'admin.addons.catalog.mcp.description': 'Yapay zeka asistanı entegrasyonu için Model Bağlam Protokolü',
'admin.addons.subtitleBefore': 'Kişiselleştirmenizi özelleştirmek için özellikleri etkinleştirin veya devre dışı bırakın.',
'admin.addons.subtitleAfter': 'deneyim.',
'admin.addons.enabled': 'Etkinleştirilmiş',
'admin.addons.disabled': 'Engelli',
'admin.addons.type.trip': 'Seyahat',
'admin.addons.type.global': 'Küresel',
'admin.addons.type.integration': 'Entegrasyon',
'admin.addons.tripHint': 'Her yolculukta bir sekme olarak mevcuttur',
'admin.addons.globalHint': 'Ana navigasyonda bağımsız bir bölüm olarak mevcuttur',
'admin.addons.integrationHint': 'Özel bir sayfa olmadan arka uç hizmetleri ve API entegrasyonları',
'admin.addons.toast.updated': 'Eklenti güncellendi',
'admin.addons.toast.error': 'Eklenti güncellenemedi',
'admin.addons.noAddons': 'Kullanılabilir eklenti yok',
'admin.weather.title': 'Hava Durumu Verileri',
'admin.weather.badge': '24 Mart 2026\'dan beri',
'admin.weather.description': 'TREK, hava durumu veri kaynağı olarak Open-Meteo\'yu kullanıyor. Open-Meteo ücretsiz, açık kaynaklı bir hava durumu hizmetidir; API anahtarı gerekmez.',
'admin.weather.forecast': '16 günlük tahmin',
'admin.weather.forecastDesc': 'Daha önce 5 gün (OpenWeatherMap)',
'admin.weather.climate': 'Geçmiş iklim verileri',
'admin.weather.climateDesc': '16 günlük tahminin ötesindeki günler için son 85 yılın ortalamaları',
'admin.weather.requests': '10.000 istek / gün',
'admin.weather.requestsDesc': 'Ücretsiz, API anahtarı gerekmez',
'admin.weather.locationHint': 'Hava durumu her gün koordinatlarla ilk sırada yer alır. Bir güne herhangi bir yer atanmamışsa, yer listesindeki herhangi bir yer referans olarak kullanılır.',
'admin.tabs.mcpTokens': 'MCP Erişimi',
'admin.mcpTokens.title': 'MCP Erişimi',
'admin.mcpTokens.subtitle': 'Tüm Kullanıcılar genelinde OAuth Oturumlarını ve API belirteçlerini yönetin',
'admin.mcpTokens.sectionTitle': 'API Belirteçleri',
'admin.mcpTokens.owner': 'Mal sahibi',
'admin.mcpTokens.tokenName': 'Jeton Adı',
'admin.mcpTokens.created': 'Oluşturuldu',
'admin.mcpTokens.lastUsed': 'Son Kullanılan',
'admin.mcpTokens.never': 'Asla',
'admin.mcpTokens.empty': 'Henüz MCP tokenı oluşturulmadı',
'admin.mcpTokens.deleteTitle': 'Jetonu Sil',
'admin.mcpTokens.deleteMessage': 'Bu, jetonu anında iptal edecektir. Kullanıcı bu belirteç aracılığıyla MCP erişimini kaybedecektir.',
'admin.mcpTokens.deleteSuccess': 'Jeton silindi',
'admin.mcpTokens.deleteError': 'Jeton silinemedi',
'admin.mcpTokens.loadError': 'Jetonlar yüklenemedi',
'admin.oauthSessions.sectionTitle': 'OAuth Oturumları',
'admin.oauthSessions.clientName': 'Müşteri',
'admin.oauthSessions.owner': 'Mal sahibi',
'admin.oauthSessions.scopes': 'Kapsamlar',
'admin.oauthSessions.created': 'Oluşturuldu',
'admin.oauthSessions.empty': 'Aktif OAuth Oturumu yok',
'admin.oauthSessions.revokeTitle': 'Oturumu İptal Et',
'admin.oauthSessions.revokeMessage': 'Bu, OAuth oturumunu hemen iptal edecektir. İstemci MCP erişimini kaybedecek.',
'admin.oauthSessions.revokeSuccess': 'Oturum iptal edildi',
'admin.oauthSessions.revokeError': 'Oturum iptal edilemedi',
'admin.oauthSessions.loadError': 'OAuth oturumları yüklenemedi',
'admin.tabs.github': 'GitHub',
'admin.audit.subtitle':
'Security-sensitive and administration events (backups, users, MFA, settings).',
'admin.audit.empty': 'No audit entries yet.',
'admin.audit.refresh': 'Refresh',
'admin.audit.loadMore': 'Load more',
'admin.audit.showing': '{count} loaded · {total} total',
'admin.audit.col.time': 'Time',
'admin.audit.col.user': 'User',
'admin.audit.col.action': 'Action',
'admin.audit.col.resource': 'Resource',
'admin.audit.subtitle': 'Güvenlik açısından hassas olaylar ve yönetim olayları (yedeklemeler, kullanıcılar, MFA, ayarlar).',
'admin.audit.empty': 'Henüz denetim girişi yok.',
'admin.audit.refresh': 'Yenile',
'admin.audit.loadMore': 'Daha fazlasını yükle',
'admin.audit.showing': '{count} yüklendi · {total} toplam',
'admin.audit.col.time': 'Zaman',
'admin.audit.col.user': 'Kullanıcı',
'admin.audit.col.action': 'Aksiyon',
'admin.audit.col.resource': 'Kaynak',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Details',
'admin.github.title': 'Release History',
'admin.github.subtitle': 'Latest updates from {repo}',
'admin.github.latest': 'Latest',
'admin.github.prerelease': 'Pre-release',
'admin.github.showDetails': 'Show details',
'admin.github.hideDetails': 'Hide details',
'admin.github.loadMore': 'Load more',
'admin.github.loading': 'Loading...',
'admin.github.error': 'Failed to load releases',
'admin.github.by': 'by',
'admin.github.support': 'Helps me keep building TREK',
'admin.update.available': 'Update available',
'admin.update.text':
'TREK {version} is available. You are running {current}.',
'admin.update.button': 'View on GitHub',
'admin.update.install': 'Install Update',
'admin.update.confirmTitle': 'Install Update?',
'admin.update.confirmText':
'TREK will be updated from {current} to {version}. The server will restart automatically afterwards.',
'admin.update.dataInfo':
'All your data (trips, users, API keys, uploads, Vacay, Atlas, budgets) will be preserved.',
'admin.update.warning':
'The app will be briefly unavailable during the restart.',
'admin.update.confirm': 'Update Now',
'admin.update.installing': 'Updating…',
'admin.update.success': 'Update installed! Server is restarting…',
'admin.update.failed': 'Update failed',
'admin.update.backupHint': 'We recommend creating a backup before updating.',
'admin.update.backupLink': 'Go to Backup',
'admin.update.howTo': 'How to Update',
'admin.update.dockerText':
'Your TREK instance runs in Docker. To update to {version}, run the following commands on your server:',
'admin.update.reloadHint': 'Please reload the page in a few seconds.',
'admin.tabs.permissions': 'Permissions',
'admin.addons.catalog.journey.name': 'Journey',
'admin.addons.catalog.journey.description':
'Trip tracking & travel journal with check-ins, photos, and daily stories',
'admin.audit.col.details': 'Detaylar',
'admin.github.title': 'Sürüm Geçmişi',
'admin.github.subtitle': '{repo}\'dan en son güncellemeler',
'admin.github.latest': 'En sonuncu',
'admin.github.prerelease': 'Ön sürüm',
'admin.github.showDetails': 'Ayrıntıları göster',
'admin.github.hideDetails': 'Ayrıntıları gizle',
'admin.github.loadMore': 'Daha fazlasını yükle',
'admin.github.loading': 'Yükleniyor...',
'admin.github.error': 'Sürümler yüklenemedi',
'admin.github.by': 'ile',
'admin.github.support': 'TREK\'i geliştirmeye devam etmeme yardımcı oluyor',
'admin.update.available': 'Güncelleme mevcut',
'admin.update.text': 'TREK {versiyon} mevcut. {current} çalıştırıyorsunuz.',
'admin.update.button': 'GitHub\'da görüntüle',
'admin.update.install': 'Güncellemeyi Yükle',
'admin.update.confirmTitle': 'Güncelleme Yüklensin mi?',
'admin.update.confirmText': 'TREK, {current} sürümünden {version} sürümüne güncellenecek. Sunucu daha sonra otomatik olarak yeniden başlatılacaktır.',
'admin.update.dataInfo': 'Tüm verileriniz (seyahatler, kullanıcılar, API anahtarları, yüklemeler, Vacay, Atlas, bütçeler) korunacaktır.',
'admin.update.warning': 'Yeniden başlatma sırasında uygulama kısa süreliğine kullanılamayacaktır.',
'admin.update.confirm': 'Şimdi Güncelle',
'admin.update.installing': 'Güncelleniyor…',
'admin.update.success': 'Güncelleme yüklendi! Sunucu yeniden başlatılıyor…',
'admin.update.failed': 'Güncelleme başarısız oldu',
'admin.update.backupHint': 'Güncellemeden önce bir yedek oluşturmanızı öneririz.',
'admin.update.backupLink': 'Yedeklemeye Git',
'admin.update.howTo': 'Nasıl Güncellenir?',
'admin.update.dockerText': 'TREK örneğiniz Docker\'da çalışır. {version} sürümüne güncellemek için sunucunuzda aşağıdaki komutları çalıştırın:',
'admin.update.reloadHint': 'Lütfen birkaç saniye içinde sayfayı yeniden yükleyin.',
'admin.tabs.permissions': 'İzinler',
'admin.addons.catalog.journey.name': 'Seyahat',
'admin.addons.catalog.journey.description': 'Check-in, fotoğraf ve günlük hikâyelerle seyahat takibi ve seyahat günlüğü',
};
export default admin;