# temel hatalar
ErrInvalidParams: 'İstek geçersiz: {{ .detail }}'
ErrTokenParse: 'Token hatası: {{ .detail }}'
ErrInitialPassword: 'Orijinal şifre yanlış'
ErrInternalServer: 'Sunucu hatası: {{ .detail }}'
ErrInternalServerKey: "İç sunucu hatası:"
ErrRecordExist: 'Kayıt zaten var'
ErrRecordNotFound: 'Kayıt bulunamadı'
ErrStructTransform: 'Dönüşüm hatası: {{ .detail }}'
ErrNotSupportType: 'Bu tür desteklenmiyor: {{ .name }}'
ErrDemoEnvironment: 'Demo modunda yok'
ErrCmdTimeout: 'Komut zaman aşımına uğradı'
ErrPortInUsed: "{{ .name }} portu zaten kullanımda"
ErrFileNotFound: "{{ .name }} dosyası mevcut değil"
ErrReqFailed: "{{.name}} istek başarısız: {{ .err }}"

# istek ve güvenlik girişi
ErrNoSuchHost: "İstenen sunucu bulunamıyor {{ .err }}"
ErrHttpReqNotFound: "İstenen kaynak bulunamıyor {{ .err }}"
ErrHttpReqFailed: "İstek başarısız {{ .err }}"
ErrHttpReqTimeOut: "İstek zaman aşımına uğradı {{ .err }}"
ErrCreateHttpClient: "İstek oluşturma başarısız {{ .err }}"
ErrProxy: 'İstek başarısız: {{ .detail }}'
ErrProxySetting: "Proxy sunucu bilgisi kullanılamıyor {{ .err }}, lütfen kontrol edip tekrar deneyin"
ErrEntrance: "Güvenlik girişi bilgi hatası, lütfen kontrol edip tekrar deneyin"
ErrEntranceFormat: "{{ .name }} güvenlik girişi şu anda desteklenmiyor. Lütfen kontrol edip tekrar deneyin"

# oturum açma ve güvenlik
ErrNotLogin: 'Oturum açılmamış: {{ .detail }}'
ErrSessionDataNotFound: "Mevcut oturumun süresi doldu"
ErrSessionDataFormat: "Mevcut oturum verisi biçimi anormal"
ErrPasswordExpired: 'Şifre süresi doldu: {{ .detail }}'
ErrLoginLocked: "Çok fazla başarısız deneme yapıldı. Giriş 5 dakika boyunca geçici olarak kilitlendi."
ErrApiConfigStatusInvalid: 'API kapalı: {{ .detail }}'
ErrApiConfigKeyInvalid: 'Geçersiz API anahtarı: {{ .detail }}'
ErrApiConfigIPInvalid: 'IP izinli değil: {{ .detail }}'
ErrApiConfigDisable: 'API erişimi kapalı: {{ .detail }}'
ErrApiConfigKeyTimeInvalid: 'Zaman damgası hatalı: {{ .detail }}'
ErrPasskeyDisabled: "Passkey kullanmak için HTTPS etkinleştirilmelidir"
ErrPasskeyNotConfigured: "Passkey yapılandırılmamış"
ErrPasskeyLimit: "Passkey sınırına ulaşıldı (en fazla 5)"
ErrPasskeySession: "Passkey oturumu süresi dolmuş veya geçersiz"
ErrPasskeyDuplicate: "Passkey zaten mevcut"
ErrPasskeyVerify: "Passkey doğrulaması başarısız"
ErrOIDCNotEnabled: "OIDC kimlik doğrulaması etkin değil"
ErrOIDCConfigInvalid: "OIDC yapılandırması geçersiz"
ErrOIDCConfigChanged: "OIDC yapılandırması değişti; kimlik doğrulamayı yeniden başlatın"
ErrOIDCDiscoveryFailed: "OIDC Provider yapılandırması keşfedilemedi"
ErrOIDCIssuerMismatch: "OIDC Issuer, yapılandırılan Issuer ile eşleşmiyor"
ErrOIDCUnsupportedPKCE: "OIDC Provider gerekli PKCE yöntemini desteklemiyor"
ErrOIDCUnsupportedSigningAlgorithm: "OIDC imza algoritması desteklenmiyor"
ErrOIDCInvalidState: "OIDC oturum açma durumu geçersiz veya daha önce kullanılmış"
ErrOIDCLoginExpired: "OIDC oturum açma isteğinin süresi doldu; tekrar deneyin"
ErrOIDCTokenExchange: "OIDC yetkilendirme kodu değişimi başarısız oldu"
ErrOIDCTokenValidation: "OIDC Token doğrulaması başarısız oldu"
ErrOIDCUserInfoValidation: "OIDC kullanıcı bilgileri doğrulanamadı"
ErrOIDCNameClaimMissing: "Yapılandırılan OIDC kullanıcı adı Claim alanı eksik veya geçersiz"
ErrOIDCNameConflictLocal: "OIDC kullanıcı adı yerel bir kullanıcıyla çakışıyor"
ErrOIDCNameConflictLDAP: "OIDC kullanıcı adı bir LDAP kullanıcısıyla çakışıyor"
ErrOIDCNameConflictOIDC: "OIDC kullanıcı adı başka bir OIDC kimliğiyle çakışıyor"
ErrOIDCDefaultRoleInvalid: "OIDC için yapılandırılan varsayılan rol kullanılamıyor"
ErrOIDCPrivateAddressDenied: "OIDC Endpoint adresine ağ güvenliği ilkesi tarafından izin verilmiyor"
ErrOIDCTLSValidation: "OIDC TLS sertifikası doğrulanamadı"
ErrOIDCTestExpired: "OIDC tarayıcı testinin süresi doldu; testi yeniden çalıştırın"
ErrOIDCLocalCredentialsReadonly: "OIDC kullanıcı adları ve parolaları kimlik Provider tarafından yönetilir ve yerel olarak değiştirilemez."
ErrOIDCPasswordExpirationUnsupported: "OIDC kullanıcıları yerel parola sona erme ilkesini kullanmaz."
ErrOIDCInternal: "OIDC kimlik doğrulamasında dahili bir hata oluştu. Lütfen daha sonra tekrar deneyin."

# kullanıcı ve izin
ErrNoSuchUser: "Kullanıcı bilgisi bulunamadı, lütfen kontrol edip tekrar deneyin"
ErrToMaster: "Bu kullanıcının ana düğümde bu işlemi yapma izni yok, lütfen kontrol edip tekrar deneyin"
ErrToNode: "Bu kullanıcının bu düğümde bu işlemi yapma izni yok, lütfen kontrol edip tekrar deneyin"
ErrRBAC: "Kullanıcı izinleri yetersiz, bu işlem yapılamaz. Lütfen kontrol edip tekrar deneyin"
ErrNoneNode: "Bu kullanıcının hiçbir düğüm izni yok. Lütfen yöneticiyle iletişime geçin veya kontrol edip tekrar deneyin"
ErrOnlySuperAdmin: "Bu özellik yalnızca süper yöneticiler tarafından kullanılabilir"
ErrRolePresetCannotDelete: "Sistem ön tanımlı rolleri silinemez"
ErrRolePresetCannotUpdate: "Sistem ön tanımlı rolleri güncellenemez"
ErrRoleBoundToUser: "Bu rol zaten kullanıcılara bağlı ve silinemez"
ErrRolePresetCannotBind: "Sistem ön tanımlı rolleri kullanıcılara atanamaz"
ErrNodeAdminMasterForbidden: "Ana düğüme düğüm yöneticisi izni eklenemez"
ErrSuperAdminCannotDelete: "Süper yönetici kullanıcılar silinemez"
ErrGroupIsDefault: "Varsayılan grup, silinemez"
ErrGroupIsInUse: "Grup kullanımda ve silinemez."

# lisans
LicenseCheck: 'Lisansın mevcut olup olmadığını kontrol et'
ErrLicenseInUsed: 'Lisans zaten bağlı. Lütfen kontrol edip tekrar deneyin'
ErrLicenseExpired: 'Lisansın süresi dolmuş. Lütfen kontrol edip tekrar deneyin'
ErrLicense: "Lisans format hatası, lütfen kontrol edip tekrar deneyin"
ErrLicenseCheck: "Lisans doğrulama başarısız, lütfen kontrol edip tekrar deneyin"
ErrXpackVersion: "Lisans doğrulama başarısız, bu lisans sürüm sınırlıdır, içe aktarılamıyor, lütfen kontrol edip tekrar deneyin"
ErrLicenseSave: "Lisans bilgilerini kaydetme başarısız, hata {{ .err }}, lütfen tekrar deneyin"
ErrLicenseSync: "Lisans senkronizasyonu başarısız, veritabanında lisans bilgisi tespit edilmedi"
ErrLicenseExist: "Bu lisans kaydı zaten mevcut. Düğüm bağlama için doğrudan lisans sayfasına gidebilirsiniz."
ErrXpackNotFound: "Bu bölüm Business Sürüm gerektirir. Lisansı Panel Ayarları > Lisans bölümünden içe aktarın"
ErrXpackExceptional: "Bu bölüm Business Sürüm gerektirir. Lisans durumunu Panel Ayarları > Lisans bölümünden senkronize edin"
ErrXpackLost: "Lisans yeniden deneme sınırına ulaştı. Panel Ayarları > Lisans bölümüne gidip manuel senkronizasyon çalıştırın"
ErrEnterpriseLicenseRequired: "Enterprise Edition lisansı içe aktarılmamış. Önce bir lisans içe aktarın."
ErrDeviceLost: "Lisans doğrulama için gerekli dosyalar eksik, lütfen kontrol edip tekrar deneyin"
ErrDeviceErr: "Mevcut ortam lisans içe aktarma ortamıyla eşleşmiyor. Lütfen lisansı düzenleyip yeniden içe aktarın."
ErrXpackTimeout: "İstek zaman aşımı, ağ bağlantısı kararsız olabilir, lütfen daha sonra tekrar deneyin"
ErrUnbindMaster: "Düğüm yönetiminde düğümler tespit edildi, mevcut lisansın bağı çözülemiyor, lütfen önce düğümleri kaldırın ve tekrar deneyin"
ErrFreeNodeLimit: "Eklenebilecek düğüm sayısı sınırına ulaşıldı. Satın aldıktan sonra tekrar deneyin."
ErrNodeBound: "Bu lisans başka bir düğüme bağlı, lütfen kontrol edip tekrar deneyin"
ErrNodeBoundDelete: "Bu lisans bağlı ve silme işlemlerini desteklemiyor. Lütfen kontrol edip tekrar deneyin"
ErrNodeBoundLimit: "Mevcut ücretsiz düğüm limitine ulaştı, lütfen kontrol edip tekrar deneyin"
ErrLicenseFree: "Ücretsiz düğümler yalnızca lisans bir düğüme düzgün şekilde bağlandığında kullanılabilir. Lütfen doğrulayın ve tekrar deneyin"
ErrLicenseUnbind: "Bu lisansa hala Community Sürümü düğümleri bağlı. Panel Ayarları > Lisans bölümünden bağlantıyı kaldırıp tekrar deneyin"
ErrLicenseBindCount: "Yeni lisansın ücretsiz düğüm sayısı mevcut bağlı Community Sürümü düğüm sayısından az. Lütfen kontrol edip tekrar deneyin"
ErrNoSuchNode: "Düğüm bilgisi bulunamadı, lütfen kontrol edip tekrar deneyin"
ErrNodeUnbind: "Bu düğüm lisans bağlama aralığında değil, lütfen kontrol edip tekrar deneyin"
ErrNodeBind: "Bu düğüm zaten bir lisansa bağlı, lütfen kontrol edip tekrar deneyin"
ErrNodeLocalRollback: "Ana düğüm doğrudan rollback'i desteklemez. Rollback için '1pctl restore' komutunu manuel çalıştırın"
ErrIntlLicense: "Mevcut sürüm uluslararası sürüm lisansının içe aktarılmasını henüz desteklemiyor. Yakında"
InvalidRequestBodyType: "Geçersiz istek gövdesi formatı, lütfen içeriğin format gereksinimlerine uygun olduğunu kontrol edip tekrar deneyin"
InvalidLicenseCodeType: "Sağlanan lisans kodu formatı geçersiz, lütfen kontrol edip tekrar deneyin"
LicenseNotFoundType: "Lisans bulunamadı, sistemde sağlanan lisansla eşleşen bir kayıt yok. Lütfen kontrol edip tekrar deneyin"
LicenseRevokedType: "İstenen lisans iptal edilmiş ve artık kullanılamaz. Lütfen kontrol edip tekrar deneyin"
LicenseExpiredType: "Lisansın süresi doldu. Lütfen yenileyin veya Panel Ayarları - Lisans bölümünden yeniden içe aktarın"
LicenseProductMismatchType: "Lisans, istenen ürün veya hizmetle eşleşmiyor"
InvalidAssigneeType: "Lisans ataması için hedef kullanıcı veya cihaz bilgisi geçersiz. Lütfen kontrol edip tekrar deneyin"
LicenseUsageNotFoundType: "Kullanım kaydı bulunamadı. Bu lisans henüz etkinleştirilmemiş veya kullanılmamış. Lütfen kontrol edip tekrar deneyin"
LicenseUsageLimitExceededType: "Bu lisans zaten başka bir düğüme bağlı. Lütfen kontrol edip tekrar deneyin"

# düğüm ve küme
MasterNode: "Ana Düğüm"
Node: "Düğüm"
ErrLocalDelete: "Yerel düğüm silinemez"
ErrMasterDelete: "Ana düğümü silinemiyor, lütfen önce alt düğümleri silin."
ClusterNameIsExist: "Küme adı zaten var."
AppStatusUnHealthy: "Uygulama durumu alımı anormal, lütfen düğüm listesindeki yükleme düğümü durumunu kontrol edin."
MasterNodePortNotAvailable: "Düğüm {{ .name }} portu {{ .port }} bağlantı doğrulaması başarısız oldu, lütfen güvenlik duvarı/güvenlik grubu ayarlarını ve ana düğüm durumunu kontrol edin."
ClusterMasterNotExist: "Küme ana düğümü bağlantısı kesildi, lütfen alt düğümleri silin."

# sanal makine
ErrVMNotFound: "Sanal makine mevcut değil"
ErrVMAlreadyExists: "Sanal makine zaten mevcut"
ErrVMImageAlreadyExists: "Sanal makine imaj dosyası zaten mevcut: {{ .detail }}"
ErrVMStoragePathInUse: "Depolama havuzu yolu zaten [{{ .name }}] tarafından kullanılıyor"
ErrVMHelperNotFound: "1panel-kvm bulunamadı"
ErrVMBridgeManaged: "Bridge adı zaten libvirt veya Docker tarafından yönetiliyor"
ErrVMNetworkInUse: "Ağ kullanımda ve silinemez"
ErrVMStorageInUse: "Depolama havuzu kullanımda ve silinemez"
ErrVMStorageNameCannotChange: "Depolama havuzunun adı değiştirilemez"
ErrVMStoragePathCannotChange: "Depolama havuzunun yolu değiştirilemez"
ErrVMRunning: "Sanal makine çalışıyor"
ErrVMLibvirtConnect: "libvirt bağlantısı başarısız: {{ .detail }}"
ErrVMPermission: "Sanal makine işlemi için izin yok: {{ .detail }}"
ErrVMNetworkNotFound: "Sanal makine ağı mevcut değil: {{ .detail }}"
ErrVMInvalidPath: "Geçersiz sanal makine yolu: {{ .detail }}"
ErrVMInvalidInput: "Geçersiz sanal makine parametresi: {{ .detail }}"
ErrVMCommandFailed: "Sanal makine komutu başarısız: {{ .err }}"
VMCreateTask: "Sanal makine [{{ .name }}] oluştur"
VMCreateFromTemplateTask: "Şablondan sanal makine [{{ .name }}] oluştur"
VMUpdateTask: "Sanal makine [{{ .name }}] güncelle"
VMRenameTask: "Sanal makine [{{ .name }}] adını [{{ .newName }}] olarak değiştir"
VMDeleteTask: "Sanal makine [{{ .name }}] sil"
VMTemplateCreateTask: "Sanal makine [{{ .name }}] öğesini şablon [{{ .template }}] olarak kaydet"
VMTemplateDeleteTask: "Sanal makine şablonu [{{ .name }}] sil"
VMForceDeleteMetadataOnly: "1panel-kvm bulunamadı, yalnızca sanal makine [{{ .name }}] meta verileri zorla siliniyor"
VMForceDeleteMetadataAfterLibvirtFailed: "Sanal makine [{{ .name }}] libvirt üzerinden silinemedi, meta veriler zorla siliniyor: {{ .err }}"
VMForceDeleteDiskFailed: "Sanal makine disk dosyası [{{ .path }}] zorla silinemedi: {{ .err }}"
VMForceDeleteDiskSuccess: "Sanal makine disk dosyası [{{ .path }}] zorla silindi"
VMSnapshotCreateTask: "Sanal makine [{{ .vm }}] için anlık görüntü [{{ .snapshot }}] oluştur"
VMSnapshotCreateStep: "Sanal makine anlık görüntüsü [{{ .snapshot }}] oluştur"
VMSnapshotRecoverTask: "Sanal makine [{{ .vm }}] anlık görüntüsü [{{ .snapshot }}] geri yükle"
VMSnapshotRecoverStep: "Sanal makine anlık görüntüsü [{{ .snapshot }}] geri yükle"
VMSnapshotDeleteTask: "Sanal makine [{{ .vm }}] anlık görüntüsü [{{ .snapshot }}] sil"
VMSnapshotDeleteStep: "Sanal makine anlık görüntüsü [{{ .snapshot }}] sil"

# uygulama
CustomAppStoreFileValid: "Uygulama mağazası paketi .tar.gz formatında olmalıdır"
AppBackup: 'Uygulama yedekleme'
AppBackupPush: 'Uygulama yedek dosyası {{.file}} düğüm {{ .name }} a aktar'
ErrSourceTargetSame: 'Kaynak düğüm ve hedef düğüm aynı olamaz'
AppInstall: 'Düğüm {{ .targetNode }} üzerine {{ .name }} uygulamasını yükle'
AppInstallCheck: 'Uygulama kurulum ortamını kontrol et'

# yedekleme
ErrBackupInUsed: 'Yedek hesabı görevde kullanılıyor'
ErrBackupCheck: 'Bağlantı testi başarısız: {{ .err }}'
ErrBackupLocal: "Yerel sunucu yedekleme hesabı bu işlemi desteklemiyor"
ErrBackupPublic: "Bu yedekleme hesabının herkese açık olmadığı tespit edildi, lütfen kontrol edip tekrar deneyin"
ErrOSSConn: "En son sürüm alınamıyor, lütfen sunucunun dış ağ bağlantısını kontrol edin."
MvBackup: "Verileri yedek dizinine taşı"

# uyarı
ErrAlertSync: "Uyarı bilgisi senkronizasyon hatası, lütfen kontrol edip tekrar deneyin"

# AI ağ geçidi
ErrAIProxyUserGroupIsDefault: "Varsayılan kullanıcı grubu silinemez."
ErrAIProxyUserGroupInUse: "Kullanıcı grubu kullanımda ve silinemez."
ErrAIProxyUserGroupExists: "Kullanıcı grubu adı zaten mevcut."
ErrAIProxyBackendAccountExists: "Bu model hesabı AI Gateway hesap havuzuna zaten aktarılmış."
ErrAIProxyModelGroupInUse: "Model grubu kullanımda ve silinemez."
ErrAIProxyModelGroupExists: "Model grubu adı zaten mevcut."
ErrAIProxySensitiveGroupInUse: "Hassas kelime grubu kullanımda ve silinemez."
ErrAIProxySensitiveGroupExists: "Hassas kelime grubu adı zaten mevcut."
AIProxyContentPolicyViolation: "Üzgünüm, içerik politikasına uymayabileceği için bu isteği işleyemiyorum. Lütfen içeriği düzenleyip tekrar deneyin."
AIBenchmarkRun: "AI kıyaslama testini çalıştır"

# görev
TaskStart: "{{ .name }} görevi başladı [BAŞLANGIÇ]"
TaskEnd: "{{ .name }} görevi bitti [TAMAMLANDI]"
TaskFailed: "{{ .name }} görevi başarısız"
TaskTimeout: "{{ .name }} zaman aşımına uğradı"
TaskSuccess: "{{ .name }} görevi başarılı"
TaskRetry: "{{ .name }} yeniden denenmeye başlanıyor"
SubTaskSuccess: "{{ .name }} başarılı"
SubTaskFailed: "{{ .name }} başarısız: {{ .err }}"
TaskInstall: "Kurulum"
TaskUpgrade: "Yükseltme"
TaskSync: 'Senkronize'
TaskSyncForNode: "Düğüm Verilerini Senkronize Et"
TaskBackup: "Yedekleme"
TaskPush: "Gönder"
TaskRsync: "Senkronize"
SuccessStatus: "{{ .name }} başarılı"
FailedStatus: "{{ .name }} başarısız {{ .err }}"
Start: "Başla"
SubTask: "Alt görev"
Skip: "Hataları atla ve devam et..."
Success: "Başarılı"

# AI ağ geçidi akıllı yönlendirme görevleri
AIProxySmartRouteCreateTask: "AI ağ geçidi akıllı yönlendirme örnekleri oluştur"
AIProxySmartRouteCreateSubTask: "Örnekler oluştur ve vektörleri üret"
AIProxySmartRouteCreateStart: "Örnek oluşturma başlatılıyor, toplam {{ .total }}"
AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] Oluşturma başarısız: type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] Oluşturuldu: sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteCreateComplete: "Oluşturma tamamlandı: {{ .success }} başarılı, {{ .failed }} başarısız"
AIProxySmartRouteCreateError: "Örnek oluşturma başarısız: {{ .failed }} başarısız, son hata"
AIProxySmartRouteRebuildTask: "AI ağ geçidi akıllı yönlendirme örnek vektörlerini yeniden oluştur"
AIProxySmartRouteRebuildSubTask: "Örnek vektörlerini yeniden oluştur"
AIProxySmartRouteEmbeddingRequired: "Embedding endpoint ve modeli gereklidir"
AIProxySmartRouteRebuildStart: "Örnek vektörleri yeniden oluşturuluyor, toplam {{ .total }}"
AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] Yeniden oluşturma başarısız: sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] Yeniden oluşturuldu: sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteRebuildComplete: "Yeniden oluşturma tamamlandı: {{ .success }} başarılı, {{ .failed }} başarısız"
AIProxySmartRouteRebuildError: "Örnek vektörlerini yeniden oluşturma başarısız: {{ .failed }} başarısız, son hata"

# ajan toplu görevi
BatchInstallAgent: "Aracıları toplu kur"
DispatchAgentInstallTasks: "Aracı kurulum görevlerini gönder"
BatchUpgradeAgent: "Aracıları toplu yükselt"
DispatchAgentUpgradeTasks: "Aracı yükseltme görevlerini gönder"
BatchAgentInstallDispatchFailed: "{{ .node }} düğümü {{ .agentType }} kurulum görevini gönderemedi Message: {{ .err }}"
BatchAgentInstallSubmitted: "{{ .node }} düğümü {{ .agentType }} kurulum görevini başarıyla gönderdi!"
BatchAgentUpgradeDispatchFailed: "{{ .node }} düğümü {{ .agentType }} yükseltme görevini gönderemedi Message: {{ .err }}"
BatchAgentUpgradeAlreadyLatest: "{{ .node }} düğümü {{ .agent }} zaten hedef sürümde, atlandı"
BatchAgentUpgradeSubmitted: "{{ .node }} düğümü {{ .agent }} yükseltme görevini başarıyla gönderdi!"
BatchAgentUpgradeFailed: "{{ .node }} düğümü {{ .agent }} yükseltme görevini gönderemedi Message: {{ .err }}"
BatchInstallAgentSkill: "Skill toplu dağıt"
DispatchAgentSkillInstallTasks: "Skill kurulum görevlerini gönder"
BatchAgentSkillDispatchFailed: "{{ .node }} düğümü {{ .skill }} öğesini {{ .target }} hedefine gönderemedi Message: {{ .err }}"
BatchAgentNoAgentsFound: "{{ .node }} düğümünde {{ .agentType }} aracısı bulunamadı, atlandı"
BatchAgentSkillSkipped: "{{ .node }} düğümü {{ .agent }} atlandı Message: {{ .msg }}"
BatchAgentSkillInstallSubmitted: "{{ .node }} düğümü {{ .skill }} kurulum görevini {{ .agent }} hedefine başarıyla gönderdi!"
BatchAgentSkillInstallFailed: "{{ .node }} düğümü {{ .skill }} kurulum görevini {{ .agent }} hedefine gönderemedi Message: {{ .err }}"
BatchAgentOperateDispatchFailed: "{{ .node }} düğümü {{ .agentType }} {{ .operate }} görevini gönderemedi Message: {{ .err }}"
BatchAgentOperateSkipped: "{{ .node }} düğümü {{ .agent }} atlandı Message: {{ .msg }}"
BatchAgentOperateSubmitted: "{{ .node }} düğümü {{ .agent }} {{ .operate }} görevini başarıyla gönderdi!"
BatchAgentOperateFailed: "{{ .node }} düğümü {{ .agent }} {{ .operate }} görevini gönderemedi Message: {{ .err }}"
BatchStartAgent: "Aracıları toplu başlat"
DispatchAgentStartTasks: "Aracı başlatma görevlerini gönder"
BatchStopAgent: "Aracıları toplu durdur"
DispatchAgentStopTasks: "Aracı durdurma görevlerini gönder"
BatchRestartAgent: "Aracıları toplu yeniden başlat"
DispatchAgentRestartTasks: "Aracı yeniden başlatma görevlerini gönder"
BatchDeleteAgent: "Aracıları toplu sil"
DispatchAgentDeleteTasks: "Aracı silme görevlerini gönder"
AgentOperateStart: "Başlat"
AgentOperateStop: "Durdur"
AgentOperateRestart: "Yeniden başlat"
AgentOperateDelete: "Sil"

# uygulama ve beceri görevi
PushAppInstallTaskToNode: "Uygulama kurulum görevini düğüme [{{ .name }}] gönder"
AppInstallTask: "Uygulama kurulum görevi"
PushAppFailed: "Uygulama kurulum görevi gönderilemedi"
SkillHubInstallTask: "Skill yükle [{{ .name }}]"
SkillHubInstallToTarget: "[{{ .name }}] skillini [{{ .target }}] hedefine yükle"

# betik kitaplığı
ScriptLibrary: "Betik Kütüphanesi"
RemoteScriptLibrary: "Uzak Komut Dosyası Kütüphanesi"
ScriptSyncSkip: "Mevcut betik kütüphanesi zaten en son sürüm"
DownloadData: "Betik kütüphanesi dosyası data.yaml indiriliyor"
DownloadPackage: "Betik kütüphanesi paketi indiriliyor"
AnalyticCompletion: "Analiz tamamlandı, şimdi veritabanına senkronize ediliyor..."

# düğüm senkronizasyonu
SyncNode: "Verileri {{ .name }} düğümüne senkronize et"
LocalName: "'local' adı yalnızca sistem yerel tanımlaması için kullanılır"
SyncPackageData: "Paket senkronizasyon verisi"
SyncPackageEncrypt: "Veri paketi şifreleme"
SyncRequest: "Düğüm senkronizasyon API'si isteği"
SyncFailedRetry: "Düğüm veri senkronizasyonu zaman aşımı (deneme {{ .index }}), yeniden deneniyor..."
SyncFailed: "Senkronizasyon başarısız, lütfen düğüm listesinde manuel senkronize edin"
SyncSystemProxy: "Sistem Vekil Sunucu Ayarları"
SyncScripts: "Komut Dosyası Kütüphanesi"
SyncBackupAccounts: "Yedek Hesaplar"
SyncAlertSetting: "Uyarı Ayarları"
SyncCustomApp: "Özel Uygulama"
SyncLanguage: "Sistem Dili"
SyncEdition: "Çalışma Bölgesi"

# düğüm yükseltme
NodeUpgrade: "Düğümü yükselt {{ .name }}"
UpgradeCheck: "Düğüm güncellemelerini kontrol et"
UpgradeCheckLocal: "Yerel düğümler toplu yükseltmeleri desteklemiyor, atlanıyor..."
UpgradeCheckLatest: "Düğüm zaten en son sürüm, atlanıyor..."
NewSSHClient: "SSH bağlantısı başlatılıyor"
BackupBeforeUpgrade: "Yükseltme öncesi veri yedekleme"
UploadUpgradeFile: "Yükseltme dosyalarını dağıt"
RestartAfterUpgrade: "Yükseltme sonrası servisi başlat"
LoadAutoUpgradeNodesFailed: "Otomatik yükseltme düğümleri yüklenemedi, hata: {{ .err }}"
AutoUpgradeNodes: "Otomatik yükseltme düğümleri: {{ .nodes }}"
UpdateAutoUpgradeNodesStatusFailed: "Otomatik yükseltme düğümlerinin durumu güncellenemedi, hata: {{ .err }}"

# düğüm ekleme
MasterData: "Ana Düğüm Verisi"
LoadSftpClient: "SFTP İstemcisini Yükle"
PackageMasterData: "Ana düğüm yedek paketi oluştur"
UploadBackup: "Yedek verileri yükle"
TaskAddNode: "Düğüm ekle"
LoadNodeArch: "Düğüm mimari bilgilerini al"
LoadNodeArchDetail: "Ana düğüm mimarisi tespit edildi: {{ .local }}, alt düğüm mimarisi: {{ .node }}"
LoadNodeUpgradeDetail: "v1 sürüm geçmiş kurulum dizini kullanılıyor: {{ .baseDir }}, servis dinleme portu: {{ .port }}"
SyncAgentBaseInfo: "Temel düğüm bilgilerini senkronize et"
GenerateSSLInfo: "Düğüm SSL bilgilerini oluştur"
ConnInfoNotMatch: "Bağlantı bilgisi uyuşmuyor"
MakeAgentPackage: "Düğüm kurulum paketini oluştur"
SendAgent: "Düğüm kurulum paketini dağıt"
StartService: "Servisi başlat"
NoBackupNode: "Yedek düğüm şu anda boş. Lütfen kaydetmek için bir yedek düğüm seçin ve tekrar deneyin"

# düğüm dosyası ve imaj senkronizasyonu
LocalNodeIpFailed: "Ana düğüm IP adresi alınamadı. Ana düğümü düzenleyip IP adresini ve SSH kimlik doğrulama bilgilerini ekleyin."
HandlePrivateKey: "Düğüm özel anahtarını işle"
HandlePublicKey: "Düğüm genel anahtarını işle"
ExchangeFile: "{{ .source }} düğümündeki {{ .sourcePath }} yolundan {{ .dest }} düğümündeki {{ .destPath }} yoluna senkronizasyonu başlat"
NodeFile: "Düğüm dosyası"
ImageSyncTaskName: "{{ .count }} imajı senkronize et"
SSLSyncTaskName: "{{ .count }} sertifikayı senkronize et"
AppSyncTaskName: "{{ .name }} uygulamasını senkronize et"
SSLSyncToNode: "[{{ .cert }}] sertifikasını [{{ .node }}] düğümüne gönder"
ImageSyncSave: "{{ .image }} imajını kaydet"
ImageSyncSaveTags: "{{ .tags }} imaj etiketlerini kaydet"
ImageSyncToNode: "{{ .image }} imajını {{ .node }} düğümüne senkronize et"
ImageSyncLoad: "{{ .image }} imajını {{ .node }} düğümüne yükle"
ImageSyncClean: "{{ .image }} imajının geçici dosyalarını temizle"
ImageSyncNoTag: "{{ .image }} imajının etiketi yok; imaj ID'si ile kaydedilecek"
ImageSyncFrontendTagsIgnored: "Kaynak düğümde {{ .image }} imajı için etiket bulunamadı. Frontend etiketleri yok sayıldı."
ImageSyncHandlePrivateKey: "İmaj senkronizasyon düğümünün özel anahtarını işle"
ImageSyncHandlePublicKey: "İmaj senkronizasyon düğümünün genel anahtarını işle"
ImageSyncTransfer: "Geçici imaj dosyasını aktarmaya başla: {{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}"

# komut satırı
SudoHelper: "Lütfen {{ .cmd }} kullanın veya root kullanıcısına geçin"
UsernameNeed: "Enterprise sürümü --username belirtmelidir"
DBConnErr: "Hata: Veritabanı bağlantısını başlatma başarısız, {{ .err }}"
SystemVersion: "sürüm: "
SystemMode: "mod: "

# komut satırı - uygulama
AppVersion: "Uygulama sürümü"
AppCommands: "Uygulama ile ilgili komutlar"
AppInit: "Uygulamayı başlat"
AppKeyVal: "Uygulama anahtarı (sadece İngilizce destekler)"
AppCreateFileErr: "Dosya {{ .name }} oluşturma başarısız {{ .err }}"
AppCreateDirErr: "Klasör {{ .name }} oluşturma başarısız {{ .err }}"
AppMissKey: "Uygulama anahtarı eksik, belirtmek için -k kullanın"
AppMissVersion: "Uygulama sürümü eksik, belirtmek için -v kullanın"
AppVersionExist: "Sürüm zaten mevcut"
AppCreateSuccessful: "Oluşturma başarılı"
AppWriteErr: "Dosya {{ .name }} yazma başarısız {{ .err }}"

# komut satırı - dinleme IP
ListenIPCommands: "Dinleme IP'sini değiştir"
ListenIPv4: "IPv4'te dinle"
ListenIPv6: "IPv6'da dinle"
ListenChangeSuccessful: "Değişiklik başarılı Şimdi {{ .value }} üzerinde dinleniyor"

# komut satırı - sıfırlama
ResetCommands: "Sistem bilgilerini sıfırla"
ResetMFA: "1Panel iki faktörlü kimlik doğrulamayı iptal et"
ResetHttps: "1Panel https girişini iptal et"
ResetEntrance: "1Panel güvenli girişi iptal et"
ResetIPs: "1Panel yetkili IP kısıtlamalarını iptal et"
ResetDomain: "1Panel alan adı bağlamasını iptal et"
ResetPasskey: "1Panel passkey'lerini sıfırla"

# komut satırı - kullanıcı
UserList: "1Panel kullanıcı listesini getir"
UserTableName: "Ad"
UserTableMFAStatus: "MFA Durumu"
UserTableSuperAdmin: "Süper Yönetici"
UserTableCreatedAt: "Oluşturulma"
UserEmptyList: "Kullanıcı bulunamadı"
UserInfo: "Panel bilgilerini al"
UserInfoAddr: "Panel adresi: "
UserInfoPassHelp: "İpucu: Şifreyi değiştirmek için komutu çalıştırabilirsiniz: "

# komut satırı - geri yükleme
RestoreCommands: "1Panel servisini ve verilerini geri al"
RestoreNoSuchFile: "Rollback için dosya bulunamadı"
RestoreStep1: "(1/5) {{ .name }} dizininden 1Panel hizmeti ve verileri geri alınıyor..."
RestoreStep2: "(2/5) 1Panel ikili dosyası için geri alma tamamlandı"
RestoreStep3: "(3/5) 1Panel betikleri için geri alma tamamlandı"
RestoreStep4: "(4/5) 1Panel hizmeti için geri alma tamamlandı"
RestoreStep5: "(5/5) 1Panel verileri için geri alma tamamlandı"
RestoreSuccessful: "Geri alma tamamlandı. {{ .version }} sürümüne dönüldü. Hizmet yeniden başlatılıyor..."

# komut satırı - güncelleme
UpdateCommands: "Panel bilgilerini güncelle"
UpdateUser: "Kullanıcı bilgilerini güncelle"
UpdatePassword: "Kullanıcı şifresini güncelle"
UpdatePort: "Panel portunu güncelle"
UpdateUserNull: "Hata: kullanıcı boş"
UpdateUserBlank: "Hata: kullanıcı boşluk içeriyor"
UpdateUserFormat: "Hata: Geçersiz kullanıcı formatı Sadece İngilizce, Çince, sayılar ve _ destekler, uzunluk 3-30"
UpdateUserErr: "Hata: Kullanıcı güncelleme başarısız, {{ .err }}"
UpdateSuccessful: "Güncelleme başarılı"
UpdateUserResult: "Kullanıcı: {{ .name }}"
UpdatePasswordRead: "Hata: Kullanıcı şifre bilgilerini okuma başarısız, {{ .err }}"
UpdatePasswordNull: "Hata: Kullanıcı şifresi boş"
UpdateUPasswordBlank: "Hata: Kullanıcı şifresi boşluk içeriyor"
UpdatePasswordFormat: "Hata: Kullanıcı şifresi yalnızca harf, sayı ve özel karakter (@#$%*_,.?) içerebilir ve uzunluğu 8-30 olmalıdır."
UpdatePasswordLen: "Hata: Lütfen 6 karakterden uzun bir şifre girin"
UpdatePasswordRe: "Şifreyi onayla:"
UpdatePasswordErr: "Hata: Kullanıcı şifresi güncelleme başarısız, {{ .err }}"
UpdatePasswordSame: "Hata: İki şifre eşleşmiyor, lütfen kontrol edip tekrar deneyin"
UpdatePasswordResult: "Kullanıcı şifresi: {{ .name }}"
UpdatePortFormat: "Hata: Girilen port numarası 1 ile 65535 arasında olmalıdır"
UpdatePortUsed: "Hata: Port numarası zaten kullanımda, lütfen kontrol edip tekrar deneyin"
UpdatePortErr: "Hata: Panel port güncelleme başarısız, {{ .err }}"
UpdatePortResult: "Panel Portu: {{ .name }}"
UpdatePortFirewallAdd: "Güvenlik duvarı port kuralı ekleme başarısız, {{ .err }}, lütfen {{ .name }} portunu güvenlik duvarı kurallarına manuel olarak ekleyin."
UpdatePortFirewallDel: "Hata: Güvenlik duvarı portu silme başarısız, {{ .err }}"
UpdatePortFirewallReload: "Güvenlik duvarını yeniden yükleme başarısız, {{ .err }}, lütfen güvenlik duvarını manuel olarak yeniden yükleyin."

# mobil uygulama
ErrVerifyToken: 'Token doğrulama hatası, lütfen sıfırlayın ve tekrar tarayın.'
ErrInvalidToken: 'Geçersiz token, lütfen sıfırlayın ve tekrar tarayın.'
ErrExpiredToken: 'Token süresi dolmuş, lütfen sıfırlayın ve tekrar tarayın.'

# komut dışa aktarma
Name: "Ad"
Command: "Komut"

# LDAP
ErrLDAPConnectionTest: "LDAP bağlantı testi başarısız oldu. Sunucu adresini, bağlama hesabını ve ağ ayarlarını kontrol edin."
ErrLDAPLoginTest: "LDAP oturum açma testi başarısız oldu. Kullanıcı adını ve parolayı kontrol edin."
LDAPConnectionTestSuccess: "LDAP bağlantı testi başarılı oldu."
ErrLDAPDirectorySearch: "LDAP kullanıcıları okunamadı. Bağlantı ve arama ayarlarını kontrol edin."
ErrLDAPConfigLoad: "LDAP yapılandırması yüklenemedi."
ErrLDAPConfigSave: "LDAP yapılandırması kaydedilemedi."
ErrLDAPURLInvalid: "LDAP sunucu adresi ldap:// veya ldaps:// kullanmalı ve geçerli bir ana bilgisayar içermelidir."
ErrLDAPBindDNRequired: "Bağlama DN'i gereklidir."
ErrLDAPBindPasswordRequired: "Bağlama parolası gereklidir."
ErrLDAPUserOURequired: "Kullanıcı OU'su gereklidir."
ErrLDAPConnectTimeoutRange: "Bağlantı zaman aşımı 1 ile 120 saniye arasında olmalıdır."
ErrLDAPSearchPageSizeRange: "LDAP sorgu sayfası boyutu 1 ile 10000 arasında olmalıdır."
ErrLDAPResultPageSizeRange: "Sonuç sayfası boyutu 200'ü aşamaz."
ErrLDAPAttributeMapOnlyName: "Öznitelik eşlemesi yalnızca name alanını destekler."
ErrLDAPNameAttributeRequired: "name alanına eşlenen LDAP özniteliği gereklidir."
ErrLDAPAttributeNameInvalid: "Öznitelik eşlemesi geçersiz bir LDAP öznitelik adı içeriyor."
ErrLDAPUserFilterRequired: "Kullanıcı filtresi gereklidir."
ErrLDAPUserFilterInvalid: "Kullanıcı filtresi geçerli bir LDAP filtresi değildir."
ErrLDAPAttributeMapObject: "Öznitelik eşlemesi geçerli bir JSON nesnesi olmalıdır."
ErrLDAPImportModeInvalid: "İçe aktarma modu seçili kullanıcılar veya tüm kullanıcılar olmalıdır."
ErrLDAPImportSelectionRequired: "İçe aktarmak için en az bir LDAP kullanıcısı seçin."
ErrLDAPImportSelectionInvalid: "Seçilen LDAP kullanıcıları geçersiz veya artık mevcut değil. Dizini yeniden okuyun."
ErrLDAPConfigChanged: "LDAP yapılandırması değişti. Dizini yeniden okuyun ve içe aktarmayı tekrar önizleyin."
ErrLDAPRoleRequired: "Yeni LDAP kullanıcıları için bir rol seçin."
ErrLDAPImportPlanIncomplete: "Tamamlanmamış bir LDAP içe aktarma planı çalıştırılamaz."
ErrLDAPQueryTokenInvalid: "LDAP sorgu sonucunun süresi doldu. Dizini yeniden okuyun."
ErrLDAPPlanTokenInvalid: "LDAP içe aktarma önizlemesinin süresi doldu. Yeniden önizleyin."
ErrLDAPOperationFailed: "LDAP işlemi başarısız oldu. Tekrar deneyin."
ErrLDAPEntryIdentityMissing: "LDAP girdisinde kararlı bir kimlik veya kullanıcı adı eksik."
ErrLDAPDuplicateExternalID: "LDAP yinelenen kullanıcı kimlikleri döndürdü."
ErrLDAPUsernameConflict: "Kullanıcı adı başka bir kullanıcı tarafından zaten kullanılıyor."
ErrLDAPUsernameSourceConflict: "Kullanıcı adı yerel bir kullanıcı veya başka bir kimlik doğrulama kaynağı tarafından zaten kullanılıyor."
ErrLDAPUsernameConcurrentConflict: "İçe aktarma sırasında kullanıcı adı başka bir kullanıcı tarafından alındı."
ErrLDAPLocalCredentialsReadonly: "LDAP kullanıcı adları ve parolaları LDAP tarafından yönetilir ve yerel olarak değiştirilemez."
ErrLDAPPasswordExpirationUnsupported: "LDAP kullanıcıları yerel parola sona erme politikasını kullanmaz."
ErrLDAPSyncSourceDisabled: "Senkronizasyonu etkinleştirmeden veya çalıştırmadan önce AD/LDAP'yi etkinleştirin."
ErrLDAPSyncConfigSave: "LDAP senkronizasyon ayarları kaydedilemedi."
ErrLDAPSyncSchedule: "LDAP senkronizasyon zamanlaması güncellenemedi."
ErrLDAPSyncCronInvalid: "Geçerli, beş alanlı bir Cron ifadesi girin."
ErrLDAPSyncWeekdayInvalid: "Geçerli bir hafta günü seçin."
ErrLDAPSyncCronRequired: "Bir Cron ifadesi girin."
ErrLDAPSyncScheduleTypeInvalid: "Geçerli bir senkronizasyon zamanlama türü seçin."
ErrLDAPSyncTimeInvalid: "Geçerli bir çalıştırma saati girin."
ErrLDAPSyncRunning: "Bir LDAP senkronizasyon görevi zaten çalışıyor."
ErrLDAPSyncDirectoryIncomplete: "LDAP eksik bir tam sorgu sonucu döndürdü. Hiçbir kullanıcının durumu değiştirilmedi."
ErrLDAPSyncFailed: "LDAP kullanıcı senkronizasyonu başarısız oldu."
LDAPSyncSuccess: "LDAP kullanıcı senkronizasyonu başarıyla tamamlandı."
ErrSAML2NotEnabled: "SAML2 kimlik doğrulaması etkin değil."
ErrSAML2ConfigInvalid: "SAML2 yapılandırması geçersiz."
ErrSAML2ConfigChanged: "SAML2 yapılandırması değişti. Kimlik doğrulamayı yeniden başlatın."
ErrSAML2PanelOriginMissing: "Yalnızca şema, ana bilgisayar ve isteğe bağlı bağlantı noktası içeren geçerli bir 1Panel genel URL’si girin."
ErrSAML2MetadataInvalid: "IdP meta verileri eksik veya geçersiz."
ErrSAML2MetadataURLInvalid: "IdP meta veri URL’sine veya meta verilerdeki bir uç noktaya izin verilmiyor."
ErrSAML2MetadataFetch: "IdP meta verileri yüklenemedi."
ErrSAML2MetadataCertificate: "IdP meta verileri kullanılabilir bir imzalama sertifikası içermiyor."
ErrSAML2KeyPairInvalid: "SP özel anahtarı ve sertifikası geçersiz veya birbiriyle eşleşmiyor."
ErrSAML2NameAttributeMissing: "Yapılandırılmış SAML2 kullanıcı adı özniteliği eksik veya geçersiz."
ErrSAML2DefaultRoleInvalid: "SAML2 için yapılandırılmış varsayılan rol kullanılamıyor."
ErrSAML2SLOUnavailable: "IdP desteklenen bir Single Logout hizmeti sağlamıyor."
ErrSAML2TestExpired: "SAML2 testinin süresi doldu. Yeniden çalıştırın."
ErrSAML2LoginExpired: "SAML2 oturum açma isteğinin süresi doldu. Yeniden deneyin."
ErrSAML2InvalidState: "SAML2 oturum açma durumu geçersiz veya daha önce kullanılmış."
ErrSAML2RequestBuild: "SAML2 isteği oluşturulamadı."
ErrSAML2ResponseInvalid: "SAML2 yanıtı geçersiz."
ErrSAML2SignatureInvalid: "SAML2 imzası geçersiz."
ErrSAML2Replay: "SAML2 mesajı daha önce kullanılmış."
ErrSAML2NameIDMissing: "SAML2 NameID eksik veya geçersiz."
ErrSAML2SessionIndexMissing: "SAML2 SessionIndex eksik veya geçersiz."
ErrSAML2NameConflictLocal: "SAML2 kullanıcı adı yerel bir kullanıcıyla çakışıyor."
ErrSAML2NameConflictLDAP: "SAML2 kullanıcı adı bir LDAP kullanıcısıyla çakışıyor."
ErrSAML2NameConflictOIDC: "SAML2 kullanıcı adı bir OIDC kullanıcısıyla çakışıyor."
ErrSAML2NameConflictSAML2: "SAML2 kullanıcı adı başka bir SAML2 kimliğiyle çakışıyor."
ErrSAML2Internal: "SAML2 kimlik doğrulaması sırasında dahili bir hata oluştu. Daha sonra yeniden deneyin."
ErrSAML2LogoutExpired: "SAML2 oturum kapatma isteğinin süresi doldu."
ErrSAML2LogoutInvalid: "SAML2 oturum kapatma mesajı geçersiz."
ErrSAML2LocalCredentialsReadonly: "SAML2 kullanıcı adları ve parolaları kimlik sağlayıcı tarafından yönetilir ve yerel olarak değiştirilemez."
ErrSAML2PasswordExpirationUnsupported: "SAML2 kullanıcıları yerel parola süresi dolma ilkesini kullanmaz."
