diff --git a/locales/en/index.ts b/locales/en/index.ts index 6d56e31..0558f93 100644 --- a/locales/en/index.ts +++ b/locales/en/index.ts @@ -174,6 +174,279 @@ export const enCatalog = { }, settings: { "title": "Settings", + "navigation.general": "General", + "navigation.appearance": "Appearance", + "navigation.profile": "Profile", + "navigation.security": "Security", + "navigation.ai": "Artificial intelligence", + "navigation.language": "Language preference", + "navigation.languages": "Languages and translations", + "shell.errorTitle": "Settings could not be loaded", + "shell.errorDescription": "Something went wrong while loading this settings section.", + "shell.retry": "Try again", + "shell.notFoundTitle": "Settings section not found", + "shell.notFoundDescription": "The settings page you requested does not exist or may have moved.", + "shell.backToGeneral": "Back to general settings", + "localized.defaultBadge": "Default", + "localized.missingRequired": "A required field is missing for this language", + "general.title": "General settings", + "general.description": "Manage your workspace identity and the text used in the client portal.", + "general.sections.identity": "Workspace identity", + "general.sections.portalContent": "Portal content", + "general.fields.workspaceName": "Workspace name", + "general.fields.metaTitle": "Browser title", + "general.fields.shortName": "Short application name", + "general.fields.portalWelcome": "Portal welcome message", + "general.fields.portalFooter": "Portal footer message", + "general.help.workspaceName": "Your company, freelance brand or workspace name.", + "general.help.metaTitle": "Used in browser tabs and application metadata.", + "general.help.shortName": "The short name used by mobile applications and home-screen installation.", + "general.help.portalContent": "Enter the client portal text separately for each active language.", + "general.placeholders.portalWelcome": "Write a short message that welcomes your client.", + "general.placeholders.portalFooter": "Write the text displayed at the bottom of the portal.", + "general.actions.save": "Save general settings", + "general.messages.saved": "General settings were updated.", + "general.errors.workspaceName": "The workspace name must be between 1 and 120 characters.", + "general.errors.metaTitle": "The browser title must be between 1 and 80 characters.", + "general.errors.shortName": "The short application name must be between 1 and 24 characters.", + "general.errors.saveFailed": "General settings could not be saved.", + "appearance.theme.title": "Theme appearance", + "appearance.theme.description": "Choose light, dark or system theme for your account.", + "appearance.theme.ariaLabel": "Theme appearance", + "appearance.theme.light.label": "Light", + "appearance.theme.light.description": "Always display the interface with the light theme.", + "appearance.theme.dark.label": "Dark", + "appearance.theme.dark.description": "Always display the interface with the dark theme.", + "appearance.theme.system.label": "System", + "appearance.theme.system.description": "Follow your device appearance preference.", + "appearance.brand.title": "Brand appearance", + "appearance.brand.description": "Manage the primary color, theme logos and browser icon used across the instance.", + "appearance.color.title": "Primary color", + "appearance.color.picker": "Primary color picker", + "appearance.color.help": "Accent, focus and subtle surface tones are derived from this color automatically.", + "appearance.assets.lightLogo": "Light theme logo", + "appearance.assets.darkLogo": "Dark theme logo", + "appearance.assets.favicon": "Browser icon", + "appearance.assets.faviconHelp": "Use a square PNG up to 5 MB.", + "appearance.assets.previewAlt": "{asset} preview", + "appearance.actions.remove": "Remove", + "appearance.actions.save": "Save brand appearance", + "appearance.messages.themeSaved": "Appearance preference was saved.", + "appearance.messages.brandSaved": "Brand appearance was updated.", + "appearance.messages.assetRemoved": "Brand asset was removed.", + "appearance.errors.primaryColor": "The primary color must use the #RRGGBB format.", + "appearance.errors.colorMode": "The theme preference could not be saved.", + "appearance.errors.invalidAsset": "The brand asset is invalid.", + "appearance.errors.removeFailed": "The brand asset could not be removed.", + "appearance.errors.saveFailed": "Brand appearance could not be saved. Check the file type and size.", + "profile.title": "Profile", + "profile.description": "Manage the personal information displayed in your account and throughout the application.", + "profile.avatarAlt": "Profile photo", + "profile.fields.avatar": "Profile photo", + "profile.fields.firstName": "First name", + "profile.fields.lastName": "Last name", + "profile.fields.email": "Email", + "profile.help.avatar": "PNG, JPEG, WebP or GIF up to 5 MB.", + "profile.help.email": "The sign-in email cannot be changed from this page.", + "profile.actions.save": "Save profile", + "profile.messages.saved": "Profile was updated.", + "profile.errors.firstName": "First name is required and can contain at most 80 characters.", + "profile.errors.lastName": "Last name is required and can contain at most 120 characters.", + "profile.errors.updateFailed": "Profile could not be updated. Check the details and image file.", + "security.title": "Security", + "security.description": "Manage your account password and active session security.", + "security.sessions.title": "Other sessions will be signed out", + "security.sessions.description": "When your password changes, active sessions other than this device are revoked for your security.", + "security.fields.currentPassword": "Current password", + "security.fields.newPassword": "New password", + "security.fields.confirmPassword": "Confirm new password", + "security.help.password": "Your new password must contain between 8 and 128 characters.", + "security.actions.save": "Change password", + "security.messages.saved": "Your password was updated and other sessions were signed out.", + "security.errors.currentRequired": "Enter your current password.", + "security.errors.newLength": "The new password must contain between 8 and 128 characters.", + "security.errors.confirmMismatch": "The new passwords do not match.", + "security.errors.samePassword": "The new password must be different from the current password.", + "security.errors.changeFailed": "The current password could not be verified or the password could not be updated.", + "ai.title": "Artificial intelligence", + "ai.description": "Manage the provider, model and connection key used by artificial intelligence features.", + "ai.provider.title": "Provider", + "ai.provider.description": "Choose the provider that matches your self-hosted environment and service.", + "ai.provider.ariaLabel": "Artificial intelligence provider", + "ai.providers.gemini.name": "Google Gemini", + "ai.providers.gemini.description": "Uses Google AI models with an API key.", + "ai.providers.gemini.defaultModel": "Default: gemini-1.5-pro-latest", + "ai.providers.openai.name": "OpenAI", + "ai.providers.openai.description": "Uses OpenAI-compatible models with an API key.", + "ai.providers.openai.defaultModel": "Default: gpt-4o", + "ai.providers.groq.name": "Groq", + "ai.providers.groq.description": "Uses fast open models hosted by Groq.", + "ai.providers.groq.defaultModel": "Default: llama-3.1-8b-instant", + "ai.providers.ollama.name": "Ollama", + "ai.providers.ollama.description": "Uses Ollama locally or on your own server.", + "ai.providers.ollama.defaultModel": "Default: llama3.2", + "ai.fields.model": "Model name", + "ai.fields.apiKey": "API key", + "ai.help.model": "Leave this empty to use the default model for the selected provider.", + "ai.help.apiKeyExisting": "The saved key remains unchanged unless you enter a new value.", + "ai.help.apiKeyNew": "The key is stored encrypted and is never displayed again in the interface.", + "ai.apiKey.configured": "Key configured", + "ai.apiKey.masked": "••••••••••••••••", + "ai.apiKey.placeholder": "Enter the API key", + "ai.ollama.title": "No API key required", + "ai.ollama.description": "The connection address comes from the Ollama configuration in your self-hosted environment variables.", + "ai.actions.save": "Save artificial intelligence settings", + "ai.messages.saved": "Artificial intelligence settings were updated.", + "ai.errors.provider": "Choose a valid artificial intelligence provider.", + "ai.errors.model": "The model name can contain at most 200 characters.", + "ai.errors.apiKey": "The API key can contain at most 4096 characters.", + "ai.errors.apiKeyRequired": "Enter an API key for the selected provider.", + "ai.errors.saveFailed": "Artificial intelligence settings could not be saved. Check the provider and connection details.", + "languagePreference.title": "Language preference", + "languagePreference.description": "Choose the interface language used only for your account.", + "languagePreference.default.title": "Instance default language", + "languagePreference.default.value": "{language} ({code}) is used for new accounts and fallback behavior.", + "languagePreference.default.badge": "Instance default", + "languagePreference.fallback.title": "Choose your language preference again", + "languagePreference.fallback.description": "Your previous preference is no longer active. The interface is using a fallback language; choose an active language below.", + "languagePreference.listAriaLabel": "Active interface languages", + "languagePreference.actions.save": "Save language preference", + "languagePreference.messages.saved": "Your language preference was updated.", + "languagePreference.errors.saveFailed": "The language preference could not be saved. Only active languages can be selected.", + "languages.title": "Languages", + "languages.description": "Manage instance languages, the default language, completion and usage impact.", + "languages.actions.add": "Add language", + "languages.actions.manage": "Manage", + "languages.actions.makeDefault": "Make default", + "languages.columns.language": "Language", + "languages.columns.status": "Status", + "languages.columns.fallback": "Fallback", + "languages.columns.completion": "Completion", + "languages.columns.usage": "Usage", + "languages.columns.actions": "Actions", + "languages.filters.ariaLabel": "Language status filter", + "languages.filters.all": "All", + "languages.filters.draft": "Draft", + "languages.filters.active": "Active", + "languages.filters.archived": "Archived", + "languages.status.draft": "Draft", + "languages.status.active": "Active", + "languages.status.archived": "Archived", + "languages.status.test": "Test", + "languages.badges.builtIn": "Built-in", + "languages.badges.default": "Default", + "languages.values.none": "None", + "languages.values.usage": "{count} uses", + "languages.empty.title": "No language matches this filter", + "languages.empty.description": "Choose another status filter or add a new language.", + "languages.defaultDialog.title": "Change the instance default", + "languages.defaultDialog.description": "{language} will become the default for new accounts and fallback behavior. Existing personal preferences will not change.", + "languages.defaultDialog.cancel": "Cancel", + "languages.defaultDialog.confirm": "Make default", + "languages.messages.defaultSaved": "The instance default language was updated.", + "languages.errors.defaultFailed": "The default language could not be updated. Only an active language can be the default.", + "languageNew.title": "Add a new language", + "languageNew.description": "Create a new interface language and begin its translation process as a draft.", + "languageNew.draftNotice": "New languages are always created as drafts. They cannot be exposed to end users until critical translations are complete.", + "languageNew.fields.code": "Locale code", + "languageNew.fields.name": "Management name", + "languageNew.fields.nativeName": "Native language name", + "languageNew.fields.fallback": "Fallback language", + "languageNew.fields.direction": "Text direction", + "languageNew.placeholders.code": "fr or pt-BR", + "languageNew.placeholders.name": "French", + "languageNew.placeholders.nativeName": "Français", + "languageNew.placeholders.fallback": "Choose a fallback language", + "languageNew.help.code": "Use a short language or language-region code in BCP 47 format.", + "languageNew.help.nativeName": "The native name users will see in language selectors.", + "languageNew.help.fallback": "Missing translations are filled from this language's catalog chain.", + "languageNew.direction.ltr": "Left to right", + "languageNew.direction.rtl": "Right to left", + "languageNew.actions.back": "Back to languages", + "languageNew.actions.create": "Create draft language", + "languageNew.messages.created": "The draft language was created.", + "languageNew.errors.code": "Enter a valid BCP 47 locale code. For example: fr or pt-BR.", + "languageNew.errors.name": "The management name is required and can contain at most 80 characters.", + "languageNew.errors.nativeName": "The native language name is required and can contain at most 80 characters.", + "languageNew.errors.direction": "Choose a valid text direction.", + "languageNew.errors.duplicate": "This locale code has already been added.", + "languageNew.errors.selfFallback": "A language cannot use itself as fallback.", + "languageNew.errors.fallback": "Choose an active or draft fallback language.", + "languageNew.errors.fallbackLoop": "The selected fallback chain creates a loop.", + "languageNew.errors.createFailed": "The language could not be created. Check the locale and fallback details.", + "languageDetail.actions.back": "Back to languages", + "languageDetail.actions.translations": "Review translation progress", + "languageDetail.actions.save": "Save metadata", + "languageDetail.actions.activate": "Activate", + "languageDetail.actions.makeDefault": "Make default", + "languageDetail.actions.archive": "Archive", + "languageDetail.fields.name": "Management name", + "languageDetail.fields.nativeName": "Native language name", + "languageDetail.fields.fallback": "Fallback language", + "languageDetail.fields.direction": "Text direction", + "languageDetail.builtIn.title": "Protected built-in language", + "languageDetail.builtIn.description": "Turkish and English cannot be deleted, archived or have their core metadata changed. You can customize their text with translation overrides.", + "languageDetail.readiness.title": "Publishing readiness", + "languageDetail.readiness.description": "Check the required conditions before lifecycle operations.", + "languageDetail.readiness.critical": "{count} missing critical interface strings", + "languageDetail.readiness.active": "Language is active for end users", + "languageDetail.readiness.references": "{count} usages blocking archival", + "languageDetail.readiness.blockedTitle": "Activation is not ready yet", + "languageDetail.readiness.blockedDescription": "Complete {count} critical translations before activating this language.", + "languageDetail.usage.title": "Usage impact", + "languageDetail.usage.description": "Records linked to this language can affect lifecycle operations.", + "languageDetail.usage.defaultSettings": "Instance default", + "languageDetail.usage.fallbacks": "Fallback dependencies", + "languageDetail.usage.userPreferences": "User preferences", + "languageDetail.usage.clients": "Client defaults", + "languageDetail.usage.portalInvitations": "Portal invitations", + "languageDetail.usage.contentTranslations": "Content translations", + "languageDetail.completion.title": "Namespace completion", + "languageDetail.completion.description": "Review interface catalog translation progress by module.", + "languageDetail.completion.value": "{translated}/{total} translated", + "languageDetail.namespaces.common": "Common", + "languageDetail.namespaces.auth": "Authentication", + "languageDetail.namespaces.navigation": "Navigation", + "languageDetail.namespaces.dashboard": "Dashboard", + "languageDetail.namespaces.clients": "Clients", + "languageDetail.namespaces.projects": "Projects", + "languageDetail.namespaces.tasks": "Tasks", + "languageDetail.namespaces.calendar": "Calendar", + "languageDetail.namespaces.finance": "Finance", + "languageDetail.namespaces.journal": "Journal", + "languageDetail.namespaces.chat": "Chat", + "languageDetail.namespaces.settings": "Settings", + "languageDetail.namespaces.portal": "Client portal", + "languageDetail.namespaces.status": "Statuses", + "languageDetail.namespaces.validation": "Validation", + "languageDetail.namespaces.api": "API", + "languageDetail.dialog.cancel": "Cancel", + "languageDetail.dialog.activate.title": "Activate language", + "languageDetail.dialog.activate.description": "{language} will be shown in active language selectors and content forms.", + "languageDetail.dialog.activate.confirm": "Activate", + "languageDetail.dialog.default.title": "Change default language", + "languageDetail.dialog.default.description": "{language} will become the new instance default. Existing personal preferences will be preserved.", + "languageDetail.dialog.default.confirm": "Make default", + "languageDetail.dialog.archive.title": "Archive language", + "languageDetail.dialog.archive.description": "{language} will be removed from user selectors and new content forms. Existing translations will be preserved.", + "languageDetail.dialog.archive.confirm": "Archive", + "languageDetail.messages.metadataSaved": "Language metadata was updated.", + "languageDetail.messages.activate": "The language was activated.", + "languageDetail.messages.default": "The instance default language was updated.", + "languageDetail.messages.archive": "The language was archived.", + "languageDetail.errors.name": "The management name is required and can contain at most 80 characters.", + "languageDetail.errors.nativeName": "The native language name is required and can contain at most 80 characters.", + "languageDetail.errors.direction": "Choose a valid text direction.", + "languageDetail.errors.selfFallback": "A language cannot use itself as fallback.", + "languageDetail.errors.fallbackLoop": "The selected fallback chain creates a loop.", + "languageDetail.errors.notFound": "Language not found.", + "languageDetail.errors.builtInMetadata": "Built-in language metadata cannot be changed.", + "languageDetail.errors.metadataFailed": "Language metadata could not be updated. Check the fallback chain.", + "languageDetail.errors.notReady": "The language cannot be activated; {count} critical translations are missing.", + "languageDetail.errors.activateFailed": "The language could not be activated.", + "languageDetail.errors.defaultFailed": "Only an active language can be made default.", + "languageDetail.errors.archiveBlocked": "The language cannot be archived because it is in use, is the default or is built-in.", + "languageDetail.errors.archiveFailed": "The language could not be archived.", "language.title": "Languages and translations", "language.default": "Default language", }, diff --git a/locales/tr/index.ts b/locales/tr/index.ts index 2f9a425..1b71b68 100644 --- a/locales/tr/index.ts +++ b/locales/tr/index.ts @@ -174,6 +174,279 @@ export const trCatalog = { }, settings: { "title": "Ayarlar", + "navigation.general": "Genel", + "navigation.appearance": "Görünüm", + "navigation.profile": "Profil", + "navigation.security": "Güvenlik", + "navigation.ai": "Yapay zekâ", + "navigation.language": "Dil tercihi", + "navigation.languages": "Diller ve çeviriler", + "shell.errorTitle": "Ayarlar yüklenemedi", + "shell.errorDescription": "Bu ayar bölümü yüklenirken bir sorun oluştu.", + "shell.retry": "Tekrar dene", + "shell.notFoundTitle": "Ayar bölümü bulunamadı", + "shell.notFoundDescription": "Aradığınız ayar sayfası mevcut değil veya taşınmış olabilir.", + "shell.backToGeneral": "Genel ayarlara dön", + "localized.defaultBadge": "Varsayılan", + "localized.missingRequired": "Bu dilde zorunlu alan eksik", + "general.title": "Genel ayarlar", + "general.description": "Çalışma alanı kimliğini ve müşteri portalında kullanılan metinleri yönetin.", + "general.sections.identity": "Çalışma alanı kimliği", + "general.sections.portalContent": "Portal metinleri", + "general.fields.workspaceName": "Workspace adı", + "general.fields.metaTitle": "Tarayıcı başlığı", + "general.fields.shortName": "Kısa uygulama adı", + "general.fields.portalWelcome": "Portal karşılama metni", + "general.fields.portalFooter": "Portal alt bilgi metni", + "general.help.workspaceName": "Firma, freelance marka veya çalışma alanı adı.", + "general.help.metaTitle": "Tarayıcı sekmelerinde ve uygulama metadata bilgisinde kullanılır.", + "general.help.shortName": "Mobil uygulama ve ana ekrana ekleme alanlarında kullanılan kısa ad.", + "general.help.portalContent": "Müşteri portalında gösterilecek metinleri aktif diller için ayrı ayrı girin.", + "general.placeholders.portalWelcome": "Müşterinizi karşılayan kısa bir metin yazın.", + "general.placeholders.portalFooter": "Portalın alt bölümünde gösterilecek metni yazın.", + "general.actions.save": "Genel ayarları kaydet", + "general.messages.saved": "Genel ayarlar güncellendi.", + "general.errors.workspaceName": "Workspace adı 1-120 karakter arasında olmalıdır.", + "general.errors.metaTitle": "Tarayıcı başlığı 1-80 karakter arasında olmalıdır.", + "general.errors.shortName": "Kısa uygulama adı 1-24 karakter arasında olmalıdır.", + "general.errors.saveFailed": "Genel ayarlar kaydedilemedi.", + "appearance.theme.title": "Tema görünümü", + "appearance.theme.description": "Kendi hesabınız için açık, koyu veya sistem temasını seçin.", + "appearance.theme.ariaLabel": "Tema görünümü", + "appearance.theme.light.label": "Açık", + "appearance.theme.light.description": "Arayüzü her zaman açık temada gösterir.", + "appearance.theme.dark.label": "Koyu", + "appearance.theme.dark.description": "Arayüzü her zaman koyu temada gösterir.", + "appearance.theme.system.label": "Sistem", + "appearance.theme.system.description": "Cihazınızın görünüm tercihini takip eder.", + "appearance.brand.title": "Marka görünümü", + "appearance.brand.description": "Instance genelinde kullanılan ana rengi, tema logolarını ve tarayıcı ikonunu yönetin.", + "appearance.color.title": "Ana renk", + "appearance.color.picker": "Ana renk seçici", + "appearance.color.help": "Vurgu, focus ve yumuşak yüzey tonları bu renkten otomatik türetilir.", + "appearance.assets.lightLogo": "Açık tema logosu", + "appearance.assets.darkLogo": "Koyu tema logosu", + "appearance.assets.favicon": "Tarayıcı ikonu", + "appearance.assets.faviconHelp": "Kare PNG kullanın; en fazla 5 MB.", + "appearance.assets.previewAlt": "{asset} önizlemesi", + "appearance.actions.remove": "Kaldır", + "appearance.actions.save": "Marka görünümünü kaydet", + "appearance.messages.themeSaved": "Görünüm tercihi kaydedildi.", + "appearance.messages.brandSaved": "Marka görünümü güncellendi.", + "appearance.messages.assetRemoved": "Marka görseli kaldırıldı.", + "appearance.errors.primaryColor": "Ana renk #RRGGBB formatında olmalıdır.", + "appearance.errors.colorMode": "Tema tercihi kaydedilemedi.", + "appearance.errors.invalidAsset": "Marka görseli geçersiz.", + "appearance.errors.removeFailed": "Marka görseli kaldırılamadı.", + "appearance.errors.saveFailed": "Marka görünümü kaydedilemedi. Dosya türü ve boyutunu kontrol edin.", + "profile.title": "Profil", + "profile.description": "Hesabınızda ve uygulama içinde görünen kişisel bilgilerinizi yönetin.", + "profile.avatarAlt": "Profil fotoğrafı", + "profile.fields.avatar": "Profil fotoğrafı", + "profile.fields.firstName": "Ad", + "profile.fields.lastName": "Soyad", + "profile.fields.email": "E-posta", + "profile.help.avatar": "PNG, JPEG, WebP veya GIF; en fazla 5 MB.", + "profile.help.email": "Giriş e-postası bu ekrandan değiştirilemez.", + "profile.actions.save": "Profili kaydet", + "profile.messages.saved": "Profil güncellendi.", + "profile.errors.firstName": "Ad zorunludur ve en fazla 80 karakter olabilir.", + "profile.errors.lastName": "Soyad zorunludur ve en fazla 120 karakter olabilir.", + "profile.errors.updateFailed": "Profil güncellenemedi. Bilgileri ve görsel dosyasını kontrol edin.", + "security.title": "Güvenlik", + "security.description": "Hesabınızın şifresini ve aktif oturum güvenliğini yönetin.", + "security.sessions.title": "Diğer oturumlar kapatılacak", + "security.sessions.description": "Şifreniz değiştirildiğinde bu cihaz dışındaki aktif oturumlar güvenliğiniz için sonlandırılır.", + "security.fields.currentPassword": "Mevcut şifre", + "security.fields.newPassword": "Yeni şifre", + "security.fields.confirmPassword": "Yeni şifre tekrarı", + "security.help.password": "Yeni şifreniz 8-128 karakter arasında olmalıdır.", + "security.actions.save": "Şifreyi değiştir", + "security.messages.saved": "Şifreniz güncellendi ve diğer oturumlar kapatıldı.", + "security.errors.currentRequired": "Mevcut şifrenizi girin.", + "security.errors.newLength": "Yeni şifre 8-128 karakter arasında olmalıdır.", + "security.errors.confirmMismatch": "Yeni şifreler eşleşmiyor.", + "security.errors.samePassword": "Yeni şifre mevcut şifreden farklı olmalıdır.", + "security.errors.changeFailed": "Mevcut şifre doğrulanamadı veya şifre güncellenemedi.", + "ai.title": "Yapay zekâ", + "ai.description": "Yapay zekâ özelliklerinde kullanılacak sağlayıcıyı, modeli ve bağlantı anahtarını yönetin.", + "ai.provider.title": "Sağlayıcı", + "ai.provider.description": "Self-host ortamınıza ve kullandığınız servise uygun sağlayıcıyı seçin.", + "ai.provider.ariaLabel": "Yapay zekâ sağlayıcısı", + "ai.providers.gemini.name": "Google Gemini", + "ai.providers.gemini.description": "Google AI modellerini API anahtarıyla kullanır.", + "ai.providers.gemini.defaultModel": "Varsayılan: gemini-1.5-pro-latest", + "ai.providers.openai.name": "OpenAI", + "ai.providers.openai.description": "OpenAI uyumlu modelleri API anahtarıyla kullanır.", + "ai.providers.openai.defaultModel": "Varsayılan: gpt-4o", + "ai.providers.groq.name": "Groq", + "ai.providers.groq.description": "Groq üzerindeki hızlı açık modelleri kullanır.", + "ai.providers.groq.defaultModel": "Varsayılan: llama-3.1-8b-instant", + "ai.providers.ollama.name": "Ollama", + "ai.providers.ollama.description": "Yerel veya kendi sunucunuzdaki Ollama servisini kullanır.", + "ai.providers.ollama.defaultModel": "Varsayılan: llama3.2", + "ai.fields.model": "Model adı", + "ai.fields.apiKey": "API anahtarı", + "ai.help.model": "Boş bırakırsanız seçili sağlayıcının varsayılan modeli kullanılır.", + "ai.help.apiKeyExisting": "Yeni bir değer girmediğiniz sürece kayıtlı anahtar değiştirilmez.", + "ai.help.apiKeyNew": "Anahtar şifrelenerek saklanır ve arayüzde tekrar gösterilmez.", + "ai.apiKey.configured": "Anahtar kayıtlı", + "ai.apiKey.masked": "••••••••••••••••", + "ai.apiKey.placeholder": "API anahtarını girin", + "ai.ollama.title": "API anahtarı gerektirmez", + "ai.ollama.description": "Bağlantı adresi self-host ortam değişkenlerindeki Ollama yapılandırmasından alınır.", + "ai.actions.save": "Yapay zekâ ayarlarını kaydet", + "ai.messages.saved": "Yapay zekâ ayarları güncellendi.", + "ai.errors.provider": "Geçerli bir yapay zekâ sağlayıcısı seçin.", + "ai.errors.model": "Model adı en fazla 200 karakter olabilir.", + "ai.errors.apiKey": "API anahtarı en fazla 4096 karakter olabilir.", + "ai.errors.apiKeyRequired": "Seçili sağlayıcı için bir API anahtarı girin.", + "ai.errors.saveFailed": "Yapay zekâ ayarları kaydedilemedi. Sağlayıcı ve bağlantı bilgilerini kontrol edin.", + "languagePreference.title": "Dil tercihi", + "languagePreference.description": "Yalnız kendi hesabınızda kullanılacak arayüz dilini seçin.", + "languagePreference.default.title": "Instance varsayılan dili", + "languagePreference.default.value": "{language} ({code}) yeni hesaplar ve fallback davranışı için kullanılır.", + "languagePreference.default.badge": "Instance varsayılanı", + "languagePreference.fallback.title": "Dil tercihinizi yeniden seçin", + "languagePreference.fallback.description": "Önceki tercihiniz artık aktif değil. Arayüz fallback diliyle gösteriliyor; aşağıdan aktif bir dil seçin.", + "languagePreference.listAriaLabel": "Aktif arayüz dilleri", + "languagePreference.actions.save": "Dil tercihini kaydet", + "languagePreference.messages.saved": "Dil tercihiniz güncellendi.", + "languagePreference.errors.saveFailed": "Dil tercihi kaydedilemedi. Yalnız aktif diller seçilebilir.", + "languages.title": "Diller", + "languages.description": "Instance dillerini, varsayılan dili, tamamlanma durumunu ve kullanım etkilerini yönetin.", + "languages.actions.add": "Dil ekle", + "languages.actions.manage": "Yönet", + "languages.actions.makeDefault": "Varsayılan yap", + "languages.columns.language": "Dil", + "languages.columns.status": "Durum", + "languages.columns.fallback": "Fallback", + "languages.columns.completion": "Tamamlanma", + "languages.columns.usage": "Kullanım", + "languages.columns.actions": "İşlemler", + "languages.filters.ariaLabel": "Dil durumu filtresi", + "languages.filters.all": "Tümü", + "languages.filters.draft": "Taslak", + "languages.filters.active": "Aktif", + "languages.filters.archived": "Arşivlenmiş", + "languages.status.draft": "Taslak", + "languages.status.active": "Aktif", + "languages.status.archived": "Arşivlenmiş", + "languages.status.test": "Test", + "languages.badges.builtIn": "Built-in", + "languages.badges.default": "Varsayılan", + "languages.values.none": "Yok", + "languages.values.usage": "{count} kullanım", + "languages.empty.title": "Bu filtrede dil bulunamadı", + "languages.empty.description": "Başka bir durum filtresi seçin veya yeni bir dil ekleyin.", + "languages.defaultDialog.title": "Instance varsayılanını değiştir", + "languages.defaultDialog.description": "{language}, yeni hesaplar ve fallback davranışı için varsayılan dil olacak. Mevcut kişisel tercihler değiştirilmeyecek.", + "languages.defaultDialog.cancel": "Vazgeç", + "languages.defaultDialog.confirm": "Varsayılan yap", + "languages.messages.defaultSaved": "Instance varsayılan dili güncellendi.", + "languages.errors.defaultFailed": "Varsayılan dil güncellenemedi. Yalnız aktif bir dil varsayılan yapılabilir.", + "languageNew.title": "Yeni dil ekle", + "languageNew.description": "Yeni bir arayüz dili oluşturun ve çeviri sürecine taslak olarak başlayın.", + "languageNew.draftNotice": "Yeni diller her zaman taslak oluşturulur. Kritik çeviriler tamamlanmadan son kullanıcılara açılamaz.", + "languageNew.fields.code": "Locale kodu", + "languageNew.fields.name": "Yönetim adı", + "languageNew.fields.nativeName": "Yerel dil adı", + "languageNew.fields.fallback": "Fallback dili", + "languageNew.fields.direction": "Yazı yönü", + "languageNew.placeholders.code": "fr veya pt-BR", + "languageNew.placeholders.name": "French", + "languageNew.placeholders.nativeName": "Français", + "languageNew.placeholders.fallback": "Fallback dili seçin", + "languageNew.help.code": "BCP 47 biçiminde kısa dil veya dil-bölge kodu kullanın.", + "languageNew.help.nativeName": "Dil seçim alanlarında kullanıcıların göreceği yerel ad.", + "languageNew.help.fallback": "Eksik çeviriler bu dilin katalog zincirinden tamamlanır.", + "languageNew.direction.ltr": "Soldan sağa", + "languageNew.direction.rtl": "Sağdan sola", + "languageNew.actions.back": "Dil listesine dön", + "languageNew.actions.create": "Taslak dili oluştur", + "languageNew.messages.created": "Taslak dil oluşturuldu.", + "languageNew.errors.code": "Geçerli bir BCP 47 locale kodu girin. Örnek: fr veya pt-BR.", + "languageNew.errors.name": "Yönetim adı zorunludur ve en fazla 80 karakter olabilir.", + "languageNew.errors.nativeName": "Yerel dil adı zorunludur ve en fazla 80 karakter olabilir.", + "languageNew.errors.direction": "Geçerli bir yazı yönü seçin.", + "languageNew.errors.duplicate": "Bu locale kodu zaten eklenmiş.", + "languageNew.errors.selfFallback": "Bir dil kendisini fallback olarak kullanamaz.", + "languageNew.errors.fallback": "Aktif veya taslak bir fallback dili seçin.", + "languageNew.errors.fallbackLoop": "Seçilen fallback zinciri bir döngü oluşturuyor.", + "languageNew.errors.createFailed": "Dil oluşturulamadı. Locale ve fallback bilgilerini kontrol edin.", + "languageDetail.actions.back": "Dil listesine dön", + "languageDetail.actions.translations": "Çeviri durumunu incele", + "languageDetail.actions.save": "Metadata bilgilerini kaydet", + "languageDetail.actions.activate": "Aktifleştir", + "languageDetail.actions.makeDefault": "Varsayılan yap", + "languageDetail.actions.archive": "Arşivle", + "languageDetail.fields.name": "Yönetim adı", + "languageDetail.fields.nativeName": "Yerel dil adı", + "languageDetail.fields.fallback": "Fallback dili", + "languageDetail.fields.direction": "Yazı yönü", + "languageDetail.builtIn.title": "Korumalı built-in dil", + "languageDetail.builtIn.description": "Türkçe ve İngilizce silinemez, arşivlenemez veya temel metadata bilgileri değiştirilemez. Metinleri çeviri override'larıyla özelleştirebilirsiniz.", + "languageDetail.readiness.title": "Yayın hazırlığı", + "languageDetail.readiness.description": "Lifecycle işlemlerinden önce gereken koşulları kontrol edin.", + "languageDetail.readiness.critical": "{count} eksik kritik arayüz metni", + "languageDetail.readiness.active": "Dil son kullanıcılar için aktif", + "languageDetail.readiness.references": "{count} arşivlemeyi engelleyen kullanım", + "languageDetail.readiness.blockedTitle": "Aktifleştirme henüz hazır değil", + "languageDetail.readiness.blockedDescription": "{count} kritik çeviriyi tamamladıktan sonra bu dili aktifleştirebilirsiniz.", + "languageDetail.usage.title": "Kullanım etkisi", + "languageDetail.usage.description": "Bu dile bağlı kayıtlar lifecycle işlemlerini etkileyebilir.", + "languageDetail.usage.defaultSettings": "Instance varsayılanı", + "languageDetail.usage.fallbacks": "Fallback bağımlılığı", + "languageDetail.usage.userPreferences": "Kullanıcı tercihleri", + "languageDetail.usage.clients": "Müşteri varsayılanları", + "languageDetail.usage.portalInvitations": "Portal davetleri", + "languageDetail.usage.contentTranslations": "İçerik çevirileri", + "languageDetail.completion.title": "Namespace tamamlanması", + "languageDetail.completion.description": "Arayüz kataloglarının modül bazlı çeviri durumunu inceleyin.", + "languageDetail.completion.value": "{translated}/{total} çevrildi", + "languageDetail.namespaces.common": "Ortak", + "languageDetail.namespaces.auth": "Kimlik doğrulama", + "languageDetail.namespaces.navigation": "Navigasyon", + "languageDetail.namespaces.dashboard": "Dashboard", + "languageDetail.namespaces.clients": "Müşteriler", + "languageDetail.namespaces.projects": "Projeler", + "languageDetail.namespaces.tasks": "Görevler", + "languageDetail.namespaces.calendar": "Takvim", + "languageDetail.namespaces.finance": "Finans", + "languageDetail.namespaces.journal": "Günlük", + "languageDetail.namespaces.chat": "Sohbet", + "languageDetail.namespaces.settings": "Ayarlar", + "languageDetail.namespaces.portal": "Müşteri portalı", + "languageDetail.namespaces.status": "Durumlar", + "languageDetail.namespaces.validation": "Doğrulama", + "languageDetail.namespaces.api": "API", + "languageDetail.dialog.cancel": "Vazgeç", + "languageDetail.dialog.activate.title": "Dili aktifleştir", + "languageDetail.dialog.activate.description": "{language} aktif dil seçimlerinde ve içerik formlarında gösterilecek.", + "languageDetail.dialog.activate.confirm": "Aktifleştir", + "languageDetail.dialog.default.title": "Varsayılan dili değiştir", + "languageDetail.dialog.default.description": "{language}, instance için yeni varsayılan dil olacak. Mevcut kişisel tercihler korunacak.", + "languageDetail.dialog.default.confirm": "Varsayılan yap", + "languageDetail.dialog.archive.title": "Dili arşivle", + "languageDetail.dialog.archive.description": "{language}, kullanıcı seçimlerinden ve yeni içerik formlarından kaldırılacak. Mevcut çeviriler korunacak.", + "languageDetail.dialog.archive.confirm": "Arşivle", + "languageDetail.messages.metadataSaved": "Dil metadata bilgileri güncellendi.", + "languageDetail.messages.activate": "Dil aktifleştirildi.", + "languageDetail.messages.default": "Instance varsayılan dili güncellendi.", + "languageDetail.messages.archive": "Dil arşivlendi.", + "languageDetail.errors.name": "Yönetim adı zorunludur ve en fazla 80 karakter olabilir.", + "languageDetail.errors.nativeName": "Yerel dil adı zorunludur ve en fazla 80 karakter olabilir.", + "languageDetail.errors.direction": "Geçerli bir yazı yönü seçin.", + "languageDetail.errors.selfFallback": "Bir dil kendisini fallback olarak kullanamaz.", + "languageDetail.errors.fallbackLoop": "Seçilen fallback zinciri bir döngü oluşturuyor.", + "languageDetail.errors.notFound": "Dil bulunamadı.", + "languageDetail.errors.builtInMetadata": "Built-in dil metadata bilgileri değiştirilemez.", + "languageDetail.errors.metadataFailed": "Dil metadata bilgileri güncellenemedi. Fallback zincirini kontrol edin.", + "languageDetail.errors.notReady": "Dil aktifleştirilemiyor; {count} kritik çeviri eksik.", + "languageDetail.errors.activateFailed": "Dil aktifleştirilemedi.", + "languageDetail.errors.defaultFailed": "Yalnız aktif bir dil varsayılan yapılabilir.", + "languageDetail.errors.archiveBlocked": "Dil kullanımda, varsayılan veya built-in olduğu için arşivlenemez.", + "languageDetail.errors.archiveFailed": "Dil arşivlenemedi.", "language.title": "Diller ve çeviriler", "language.default": "Varsayılan dil", },