RSS Git Download  Clone
Raw Blame History 35kB 858 lines
const strings = {
  error: {
    server_error: "Sunucu hatası, lütfen tekrar deneyin",
    aiPromptTooLong: "AI istemi çok uzun (maksimum 4096 karakter)",
  },
  title: {
    donate: "Bağış Yap",
    donateTitle: "P3X Redis UI'yi Destekleyin",
    donateDescription: "P3X Redis UI ücretsiz, açık kaynaklı bir projedir. Uygulamanın, AI özelliklerinin, Docker görüntülerinin, sunucuların ve altyapının bakım maliyetleri geliştiricinin kendi cebinden karşılanmaktadır. Bu aracı faydalı buluyorsanız, lütfen bir bağışla süregelen gelişimini desteklemeyi düşünün. Her katkı projenin yaşamasına ve büyümesine yardımcı olur. Teşekkürler!",
    jsonRecursive: "Tüm yapraklar genişletiliyor",
    name: "P3X Redis UI",
    nameDonated: "P3X Redis UI+",
    main: "Sol alt menüden bağlanmak için bir Redis bağlantısı seçebilirsiniz.",
    statistics: "İstatistikler",
    error: "Hata",
    connectingRedis: "Redis'e bağlanılıyor ...",
    socketioConnectError: "Socket.IO Hatası",
    db: "DB",
    server: "Sunucu",
    clients: "İstemciler",
    memory: "Bellek",
    persistence: "Kalıcılık",
    stats: "İstatistikler",
    replication: "Replikasyon",
    cpu: "CPU",
    cluster: "Cluster",
    modules: "Modüller",
    errorstats: "Hata İstatistikleri",
    commandstats: "Komut İstatistikleri",
    latencystats: "Gecikme İstatistikleri",
    keysizes: "Anahtar Boyutları",
    threads: "İş Parçacıkları"
  },
  confirm: {
    dropIndex: "Bu indeksi silmek istediğinizden emin misiniz?",
    uploadBuffer: "Bu ikili veriyi yüklemek istediğinizden emin misiniz?",
    uploadBufferDone: "İkili veri yüklendi",
    uploadBufferDoneAndSave: "İkili veri yüklendi ve sunucuya kaydedildi",
    title: "Onayla",
    alert: "Uyarı",
    info: "Bilgi",
    deleteListItem: "Bu liste öğesini silmek istediğinizden emin misiniz?",
    deleteHashKey: "Bu hash anahtarını silmek istediğinizden emin misiniz?",
    deleteStreamTimestamp: "Bu stream zaman damgasını silmek istediğinizden emin misiniz?",
    deleteSetMember: "Bu küme üyesini silmek istediğinizden emin misiniz?",
    deleteZSetMember: "Bu sıralı küme üyesini silmek istediğinizden emin misiniz?",
    deleteConnection: "Onayla",
    deleteConnectionText: "Bu Redis bağlantısını silmek istediğinizden emin misiniz?",
    deleteNode: "Bu Redis düğümünü silmek istediğinizden emin misiniz?",
    deleteAllKeys: opts => {
      return `Bu ağacı ve tüm anahtarlarını silmek istiyor musunuz (${opts.key})?`;
    },
    deleteSearchKeys: opts => {
      return `"${opts.pattern}" ile eşleşen tüm anahtarları silmek istediğinizden emin misiniz? ${opts.count} anahtar bulundu.`;
    },
    socketioConnectError: "Socket.IO sunucuya bağlanamıyor, yeniden yükleyip bağlantı hatasını kendiniz çözmeyi deneyebilirsiniz, istemci bunu kendi başına nasıl çözeceğini bilmiyor.",
    socketioAuthRequired: "Socket.IO yetkilendirmesi gerekli. Lütfen HTTP Basic Auth (kullanıcı adı/şifre) ile kimlik doğrulaması yapın ve yeniden yükleyin.",
    invalidCredentials: "Geçersiz kullanıcı adı veya şifre.",
    delete: "Silinsin mi?",
    deleteKey: "Bu anahtarı silmek istediğinizden emin misiniz?",
    rename: {
      title: "Bu anahtarı yeniden adlandırmak istediğinizden emin misiniz?",
      textContent: "Bu işlem anahtarı kalıcı olarak yeniden adlandırır.",
      placeholder: "Redis anahtarı (zorunlu)"
    },
    ttl: {
      title: "Bu anahtarın TTL değerini değiştirmek istediğinizden emin misiniz?",
      textContent: "TTL'yi değiştirmek bu anahtarın yaşam süresini günceller. Anahtarı kalıcı tutmak için boş bırakın.",
      placeholder: "Redis anahtarının TTL değeri (tamsayı veya boş)",
      placeholderPlaceholder: "Boş, kalıcı olduğu anlamına gelir; aksi takdirde bir tamsayı girin.",
      convertTextToTime: "Metni zamana dönüştür",
      convertTextToTimePlaceholder: "Örn. 1d, 86400 olacaktır"
    }
  },
  language: {
    bg: "Български / Bulgarian",
    cs: "Čeština / Czech",
    de: "Deutsch / German",
    el: "Ελληνικά / Greek",
    en: "English",
    es: "Español / Spanish",
    fr: "Français / French",
    hu: "Magyar / Hungarian",
    it: "Italiano / Italian",
    ja: "日本語 / Japanese",
    nl: "Nederlands / Dutch",
    pl: "Polski / Polish",
    "pt-PT": "Português / Portuguese",
    ro: "Română / Romanian",
    ru: "Русский / Russian",
    sk: "Slovenčina / Slovak",
    sr: "Српски / Serbian",
    sv: "Svenska / Swedish",
    tr: "Türkçe / Turkish",
    uk: "Українська / Ukrainian",
    zn: "中文 / Chinese",
    ar: "العربية / Arabic",
    az: "Azərbaycanca / Azerbaijani",
    be: "Беларуская / Belarusian",
    bn: "বাংলা / Bengali",
    da: "Dansk / Danish",
    et: "Eesti / Estonian",
    fi: "Suomi / Finnish",
    fil: "Filipino / Filipino",
    he: "עברית / Hebrew",
    hr: "Hrvatski / Croatian",
    hy: "Հայերեն / Armenian",
    id: "Bahasa Indonesia / Indonesian",
    ka: "ქართული / Georgian",
    kk: "Қазақша / Kazakh",
    km: "ខ្មែរ / Khmer",
    ko: "한국어 / Korean",
    ky: "Кыргызча / Kyrgyz",
    lt: "Lietuvių / Lithuanian",
    mk: "Македонски / Macedonian",
    ms: "Bahasa Melayu / Malay",
    ne: "नेपाली / Nepali",
    no: "Norsk / Norwegian",
    "pt-BR": "Português (Brasil) / Portuguese (Brazil)",
    sl: "Slovenščina / Slovenian",
    tg: "Тоҷикӣ / Tajik",
    th: "ไทย / Thai",
    vi: "Tiếng Việt / Vietnamese",
    "zh-HK": "中文(香港) / Chinese (Hong Kong)",
    "zh-TW": "中文(台灣) / Chinese (Taiwan)",
    bs: 'Bosanski / Bosnian',
    si: 'සිංහල / Sinhala',
    sw: 'Kiswahili / Swahili',
    ta: 'தமிழ் / Tamil'
  },
  intention: {
    copy: "Kopyala",
    downloadBuffer: "İkili indir",
    setBuffer: "İkili yükle",
    exportKeys: "Anahtarları dışa aktar",
    exportAllKeys: (opts) => `Tüm ${opts.count} anahtarı dışa aktar`,
    exportSearchResults: (opts) => `${opts.count} sonucu dışa aktar`,
    deleteAllKeysMenu: (opts) => `Tümünü sil ${opts.count}`,
    importKeys: "Anahtarları içe aktar",
    deleteSearchKeys: (opts) => `${opts.count} eşleşen anahtarı sil`,
    saveWithFormatJson: "Biçimle kaydet",
    formatJson: "Json Biçimle",
    wrap: "Kaydır",
    unwrap: "Kaydırma",
    downloadJson: "JSON indir",
    pubsubMonitor: "PubSub",
    pulse: "Pulse",
    profiler: "Profiler",
    memoryAnalysis: "Analysis",
    language: "Dil / Language",
    ok: "Tamam",
    addKey: "Bu anahtara ekle",
    addKeyRoot: "Kök anahtar ekle",
    reloadKey: "Anahtarı yeniden yükle",
    reload: "Yeniden yükle",
    close: "Kapat",
    commands: "Komutlar",
    view: "Görünüm",
    statistics: "İstatistikler",
    refresh: "Yenile",
    pause: "Duraklat",
    resume: "Devam et",
    clear: "Temizle",
    rename: "Yeniden adlandır",
    main: "Veritabanı",
    cancel: "İptal",
    theme: "Tema",
    github: "GitHub",
    githubRepo: "Depo",
    githubRelease: "Sürümler",
    githubChangelog: "Değişiklik günlüğü",
    info: "Info",
    settings: "Ayarlar",
    connect: "Bağlan",
    disconnect: "Bağlantıyı kes",
    logout: "Çıkış",
    overview: "Genel Bakış",
    console: "Konsol",
    noConnections: "Bağlantı yok, ayarlar menüsünden bir bağlantı ekleyin.",
    noConnectionsInSettings: "Bağlantı yok, yukarıdan YENİ BAĞLANTI ekleyebilirsiniz.",
    connectionAdd: "Yeni bağlantı",
    addGroup: "Grup ekle",
    extend: "Genişlet",
    collapse: "Daralt",
    add: "Ekle",
    edit: "Düzenle",
    save: "Kaydet",
    ttl: "TTL Ayarla",
    fieldTtl: "Alan TTL",
    digest: "Özet",
    delete: "Sil",
    remove: "Kaldır",
    areYouSure: "Emin misiniz?",
    sure: "Emin",
    testConnection: "Bağlantıyı test et",
    getKey: "Redis anahtarı ve ilgili veriler yükleniyor ...",
    jsonViewShow: "JSON Görüntüle",
    jsonViewEditor: "JSON Düzenle",
    quickConsole: "Hızlı Konsol",
    moveUp: "Yukarı taşı",
    moveDown: "Aşağı taşı",
  },
  diff: {
    reviewChanges: "De\u011fi\u015fiklikleri incele",
    inline: "Sat\u0131r i\u00e7i",
    sideBySide: "Yan yana",
    additions: "eklemeler",
    deletions: "silmeler",
    unchangedLines: "de\u011fi\u015fmeyen sat\u0131rlar",
    noChanges: "De\u011fi\u015fiklik alg\u0131lanmad\u0131",
    before: "\u00d6nce",
    after: "Sonra",
  },
  label: {
    id: {
      nodeId: 'Düğüm ID',
      id: "Bağlantı ID",
      info: "sshPassword, sshPrivateKey, password, tlsCrt, tlsKey, tlsCa özelliklerini değiştirmek istemiyorsanız, değerleri korumak için bu özelliklere bağlantı ID'sini girin. Aynı mantığı düğüm şifresi için istiyorsanız, düğüm şifresine düğüm ID'sini girin."
    },
    secureFeature: 'P3X ile başlayan ve aynı görünen bir değer görüyorsanız, bu bir güvenlik özelliğidir. Ayarları değiştirmek için bunları boş veya başka bir şeyle değiştirin, kaydedilecektir. Ayarları değiştirmezseniz sunucudaki haliyle korunacaktır.',
    aiTranslating: "Çevriliyor...",
    aiSettings: "AI Ayarları",
    aiGroqApiKey: "Groq API Anahtarı",
    aiGroqApiKeyInfo: "İsteğe bağlı. Daha iyi performans için kendi Groq API anahtarınız. Ücretsiz anahtar alın",
    aiGroqApiKeyPlaceholder: "gsk_...",
    aiGroqApiKeySaved: "AI API anahtarı kaydedildi",
    aiGroqApiKeyInvalid: "Geçersiz Groq API anahtarı",
    aiGroqApiKeyNotSet: "Ayarlanmamış (sunucu varsayılanı)",
    aiEnabled: "AI etkin",
    aiEnabledYes: "Evet",
    aiEnabledNo: "Hayır",
    aiRouteViaNetwork: "network.corifeus.com üzerinden yönlendir",
    aiRoutingDirect: "Sorgular kendi API anahtarınızla doğrudan Groq'a gider, network.corifeus.com kullanılmaz.",
    aiRoutingNetwork: "AI sorguları network.corifeus.com üzerinden yönlendirilir. Kendi ücretsiz Groq API anahtarınız varsa bu anahtarı kapatabilirsiniz.",
    aiMaxTokens: "AI maksimum jeton sayısı",
    aiMaxTokensInfo: "AI yanıtları için maksimum jeton sayısı. Daha yüksek değerler daha uzun yanıtlar sağlar ancak daha fazla API kredisi kullanabilir.",
    ssh: {
      on: 'SSH açık',
      off: 'SSH kapalı',
      sshHost: 'SSH Ana Bilgisayar',
      sshPort: 'SSH port',
      sshUsername: 'SSH kullanıcı adı',
      sshPassword: 'SSH şifre',
      sshPrivateKey: 'SSH özel anahtar'
    },
    isBuffer: opts => `[object ArrayBuffer] değerin ikili veri olduğu veya değerin ${opts.maxValueAsBuffer} değerinden büyük olduğu anlamına gelir`,
    streamValue: `Stream alanı ve değeri tek satırdır. Örn.: field1 value1 "field 2" "value 2"`,
    streamTimestampId: `'*' otomatik oluşturulmuş anlamına gelir veya <milisaniyeZamanı>-<sıraNumarası> biçiminde belirtim`,
    unableToLoadKey: ({
      key
    }) => {
      return `Bu anahtar yüklenemiyor: ${key}. Muhtemelen anahtar silinmiş. Tam hata konsolda görünür.`;
    },
    bigJson: "Bu JSON nesnesi 10 kb'den büyük, bu yüzden ne yaptığınızı bildiğinizden emin olun, çünkü bazı işlevler yavaş render edebilir.",
    addNode: "Düğüm ekle",
    validateJson: "JSON Doğrula",
    reducedFunction: `Azaltılmış işlevsellik`,
    tooManyKeys: opts => {
      return `Tam işlevsellik için izin verilen maksimum anahtar sayısı ${opts.maxLightKeysCount}. Bu veritabanında toplam ${opts.count} izin verilen üzerinde anahtar var. Anahtar sıralama ve ek ağaç bilgisi devre dışı bırakıldı. Arama istemci araması yerine yalnızca sunucuda yapılıyor.`;
    },
    redisCommandNotFound: "Eşleşen Redis komutu bulunamadı ...",
    treeKeyStore: `Sıralama (doğal karşılaştırma) istemcide yani tarayıcıda yapılır, bu da 10k üzerinde anahtar gibi büyük veri kümeleri için bir performans maliyeti olduğu anlamına gelir, sayfa oluşturmaya biraz zaman ekleyebilir. Redis'te anahtar sıralaması yoktur, yalnızca bu şekilde yapılır.`,
    socketIoTimeout: options => {
      return `Bu istek için Socket.IO zaman aşımına uğradı (maks ${options.timeout / 1000} saniye) ...`;
    },
    resizerInfo: options => {
      return `Sol veya sağ panel minimum genişliği ${options.width}px`;
    },
    jsonViewNotParsable: "Bu değer JSON olarak ayrıştırılamaz  ",
    ttlTitle: "TTL'yi saniye olarak ayarlayın",
    passwordSecure: "Şifre boş olabilir, ancak yine de karakterler gösterecektir, bu bir güvenlik özelliğidir.",
    aclAuthHint: "Kimlik doğrulaması için Redis ACL kullanıcı adını ve şifresini kullanın. Şifresi olmayan varsayılan kullanıcı için boş bırakın.",
    tlsWithoutCert: "Ek sertifika olmadan TLS'yi etkinleştir",
    tlsRejectUnauthorized: "Yetkisiz sertifikayı reddet",
    tlsSecure: "P3X ile başlayan bir TLS yapılandırması görüyorsanız veya tüm TLS ayarları aynı görünüyorsa, bu bir güvenlik özelliğidir. Ayarları değiştirmek için bunları boş veya başka bir şeyle değiştirin, kaydedilecektir. TLS ayarlarını değiştirmezseniz sunucudaki haliyle korunacaktır.",
    treeSeparatorEmpty: "Ağaç ayırıcısı boşsa, ağaçta iç içe düğümler olmaz, sadece düz bir liste olur",
    treeSeparatorEmptyNote: "İç içe düğüm yok, sadece düz bir liste",
    welcomeConsole: "Redis Konsoluna Hoş Geldiniz",
    welcomeConsoleInfo: "İmleç YUKARI veya AŞAĞI geçmişi etkindir",
    redisListIndexInfo: "Sona eklemek için boş bırakın, başa eklemek için -1 veya gösterilen konuma kaydedin.",
    console: "Konsol",
    connectiondAdd: "Bağlantı ekle",
    connectiondEdit: "Bağlantı düzenle",
    connectiondView: "Bağlantı görüntüle",
    connections: "Bağlantılar",
    keysSort: {
      on: "Anahtar sıralama açık",
      off: "Anahtar sıralama kapalı"
    },
    cluster: {
      on: "Cluster açık",
      off: "Cluster kapalı"
    },
    sentinel: {
      on: "Sentinel açık",
      off: "Sentinel kapalı",
      name: "Sentinel adı"
    },
    readonly: {
      on: "Salt okunur açık",
      off: "Salt okunur kapalı"
    },
    theme: {
      light: "Açık",
      dark: "Koyu enterprise",
      darkNeu: "Koyu",
      darkoBluo: "Darko bluo",
      enterprise: "Enterprise",
      redis: "Redis",
      matrix: "Matrix"
    },
    connected: opts => {
      return `Bağlandı: ${opts.name}`;
    },
    tree: "Ağaç",
    askAuth: "Yetkilendirme iste",
    keyboardShortcuts: "Klavye kısayolları",
    about: "Hakkında",
    supportedLanguages: "Desteklenen diller",
    version: "Sürüm",
    redisVersion: "Redis sürümü",
    modules: "Modüller",
    shortcutRefresh: "Yenile",
    shortcutSearch: "Aramaya odaklan",
    shortcutNewKey: "Yeni anahtar",
    shortcutDisconnect: "Bağlantıyı kes",
    themeAuto: "Otomatik (sistem)",
    languageAuto: "Auto (system)",
    shortcutCommandPalette: "Komut paleti",
    commandPalette: "Komut paleti",
    noResults: "Sonuç yok",
    redisCommandsReference: "Redis Komutları",
    ungrouped: "Grupsuz",
    grouped: "Gruplanmış",
    connectFirst: "Önce bir Redis sunucusuna bağlanın",
    searchLanguage: "Dil ara...",
    exportProgress: "Anahtarlar dışa aktarılıyor...",
    importProgress: "Anahtarlar içe aktarılıyor...",
    importPreview: "Önizleme",
    importOverwrite: "Üzerine yaz",
    importSkip: "Atla",
    importConflict: "Anahtar zaten varsa:",
    noKeysToExport: "Dışa aktarılacak anahtar yok",
    time: "Zaman",
    type: "Tür",
    format: "Biçim",
    loading: "Yükleniyor...",
    autoRefresh: "Otomatik",
    exportSearchHint: "Yalnızca mevcut aramayla eşleşen anahtarlar dışa aktarılıyor",
    importSearchHint: "İçe aktarma yalnızca arama sonuçlarına değil, tüm veritabanına uygulanır",
    deleteSearchHint: "Sunucudaki geçerli aramayla eşleşen tüm anahtarları siler",
    deletingSearchKeys: "Eşleşen anahtarlar siliniyor...",
    importNoKeys: "Dosyada anahtar bulunamadı",
    desktopNotifications: "Masaüstü Bildirimleri",
    desktopNotificationsEnabled: "Masaüstü bildirimlerini etkinleştir",
    desktopNotificationsInfo: "Uygulama odakta değilken Redis bağlantı kesintileri ve yeniden bağlantılar için OS bildirimleri alın."
  },
  status: {
    dataCopied: "Veri panoya kopyalandı",
    exportDone: "Dışa aktarma tamamlandı",
    deletedSearchKeys: (opts) => `${opts.count} anahtar silindi`,
    indexCreated: "İndeks oluşturuldu",
    indexDropped: "İndeks silindi",
    importDone: (opts) => `İçe aktarma tamamlandı: ${opts.created} oluşturuldu, ${opts.skipped} atlandı, ${opts.errors} hata`,
    nodeRemoved: "Düğüm kaldırıldı",
    keyIsNotExisting: "Bu anahtar silinmiş veya süresi dolmuş olabilir.",
    keyCount: opts => {
      if (opts.keyCount === 0) {
        return "Anahtar yok";
      } else if (opts.keyCount === 1) {
        return "1 anahtar";
      } else {
        return `${opts.keyCount} anahtar`;
      }
    },
    treeExpandAll: "Tüm ağaç yapraklarını genişlet. Bu işlem maliyetli olabilir ve zaman alabilir ...",
    noRedisKeys: "Bu veritabanında anahtar bulunmuyor.",
    redisConnected: "Redis bağlantısı başarılı",
    reverted: "Geri al\u0131nd\u0131",
    reloadingDataInfo: "Redis veri bilgisi yeniden yükleniyor",
    added: "Eklendi",
    saved: "Güncellendi",
    cancelled: "İptal edildi",
    deleted: "Silindi",
    savedRedis: "Redis verisi kaydedildi",
    redisDisconnected: opts => {
      return `Mevcut bağlantıda bir hata oluştu: ${opts.error.message}`;
    },
    dbChanged: opts => {
      return `DB indeksi ${opts.db} olarak ayarlandı. `;
    },
    treeDeleted: opts => {
      return `Ağaç anahtarı silindi (${opts.key}).`;
    },
    deletedKey: opts => {
      return `Anahtar silindi (${opts.key}).`;
    },
    renamedKey: "Bu anahtar yeniden adlandırıldı",
    ttlChanged: "Bu anahtarın TTL değeri değiştirildi",
    notInteger: "Bu girdi bir tamsayı değil",
    persisted: "Bu anahtar kalıcı olarak saklanıyor",
    set: "Anahtar ayarlandı/eklendi",
    connectionRestored: "Bağlantı yeniden kuruldu",
    socketDisconnected: "Bağlantı kesildi",
    socketError: "Bağlantı hatası",
    deletedHashKey: "Hash anahtarı silindi",
    deletedSetMember: "Set üyesi silindi",
    deletedListElement: "Liste öğesi silindi",
    deletedZSetMember: "Sıralı set üyesi silindi",
    deletedStreamTimestamp: "Stream girişi silindi",
  },
  code: {
    "delete-connection": "Bu bağlantı silindi, bu yüzden bu Redis örneğinden bağlantınız kesildi.",
    "save-connection": "Bu bağlantı değiştirildi, bu yüzden bu Redis örneğinden bağlantınız kesildi. Yeniden bağlanabilirsiniz.",
    "readonly-connections": "Bağlantı ekleme/kaydetme/silme yalnızca salt okunurdur!",
    "readonly-connection-mode": "Bu bağlantı salt okunur modda!",
    "list-out-of-bounds": "Bu liste indeksi sınır dışında",
    "invalid-json-value": "The value is not valid JSON.",
    "http_auth_required": "Yetkilendirme gerekli: lütfen HTTP Basic Auth ile kimlik doğrulaması yapın ve yeniden yükleyin.",
    "auto-connection-failed": "Muhtemelen bağlantı kaldırıldı ve bu nedenle otomatik bağlantı başarısız oldu.",
    invalid_console_command: "Bu komut GUI üzerinden çalışmıyor.",
    "AI_DISABLED": "AI devre dışı. AI Ayarlarında etkinleştirin.",
    "AI_PROMPT_REQUIRED": "AI sorgusu gereklidir.",
    "GROQ_API_KEY_READONLY": "Groq API anahtarı salt okunurdur ve değiştirilemez.",
    "blocked_api_access": "Groq API planınız bu modele erişime izin vermiyor. Groq planınızı yükseltin veya network.corifeus.com proxy kullanın.",
    "rate_limit": "AI hız sınırına ulaşıldı. Daha sonra tekrar deneyin veya Ayarlarda kendi Groq API anahtarınızı kullanın."
  },
  form: {
    error: {
      required: "Zorunlu",
      port: "Port 1-65535 arasında olmalıdır",
      invalid: "Form geçersiz"
    },
    connection: {
      label: {
        name: "Ad",
        group: "Grup",
        host: "Ana bilgisayar adı",
        port: "Port",
        password: "Şifre",
        username: "Kullanıcı adı"
      }
    },
    treeSettings: {
      maxValueDisplay: "Maksimum değer görüntüleme uzunluğu",
      maxValueDisplayInfo: "0 olarak ayarlanırsa tam değerleri gösterir. 0'dan büyükse bu uzunluğa kısaltır. -1 ise: dizeler için düzenlemeye kadar değeri gizler; diğer türler için tam içeriği gösterir.",
      maxKeys: "Maksimum anahtar sayısı",
      maxKeysInfo: "GUI'nin çökmemesi için maksimum anahtar sayısını sınırlıyoruz.",
      keyCount: (opts) => {
        return `Anahtar sayısı: ${opts?.keyCount ?? 0}`;
      },
      label: {
        animation: "Animasyon kullan",
        noAnimation: "Animasyon yok",
        undoEnabled: "Geri alma etkin",
        undoDisabled: "Geri alma devre d\u0131\u015f\u0131",
        diffEnabled: "Kaydetmeden \u00f6nce diff g\u00f6ster",
        diffDisabled: "Kaydetmeden \u00f6nce diff devre d\u0131\u015f\u0131",
        jsonFormatTwoSpace: "JSON'u 2 boşlukla biçimle",
        jsonFormatFourSpace: "JSON'u 4 boşlukla biçimle",
        formName: "Redis ayarları",
        searchModeClient: "İstemci arama modu",
        searchModeServer: "Sunucu arama modu",
        searchModeStartsWith: "İle başlayan modda ara",
        searchModeIncludes: "İçeren modda ara"
      },
      undoHint: "Geri alma yaln\u0131zca string ve JSON anahtar t\u00fcrleri i\u00e7in kullan\u0131labilir",
      field: {
        treeSeparator: "Ağaç ayırıcısı",
        treeSeparatorSelector: "Ağaç ayırıcı seçici",
        page: "Ağaç sayfalama sayısı",
        keyPageCount: "Anahtar sayfalama sayısı",
        keysSort: "Anahtarları sırala",
        searchMode: "Arama modu",
        searchModeStartsWith: "İle başlayan / içeren arama"
      },
      error: {
        keyPageCount: "Anahtar sayfa sayısı 5 - 100 arasında bir tamsayı olmalıdır",
        page: "Sayfa sayısı 10 - 5000 arasında bir tamsayı olmalıdır",
        maxValueDisplay: "Maksimum görüntüleme değeri -1 ile 32768 arasında bir tamsayı olmalıdır",
        maxKeys: "Maksimum anahtar sayısı değeri 100 ile 100000 arasında bir tamsayı olmalıdır"
      }
    },
    key: {
      label: {
        formName: {
          add: "Yeni Redis anahtarı ekle",
          edit: "Redis anahtarını düzenle",
          append: "Mevcut Redis anahtarına ekle"
        }
      },
      field: {
        streamTimestamp: "Zaman damgası",
        key: "Anahtar",
        type: "Tür",
        index: "İndeks",
        hashKey: "Hash anahtarı",
        score: "Puan",
        value: "Değer",
        errorRate: "Hata oranı",
        capacity: "Kapasite",
        topk: "Top K",
        width: "Genişlik",
        depth: "Derinlik",
        decay: "Bozunma",
        compression: "Sıkıştırma",
        increment: "Artış",
        item: "Öğe",
        vectorValues: "Vektör değerleri (virgülle ayrılmış)",
        element: "Eleman adı",
      },
      error: {
        streamTimestamp: "Zaman damgası gereklidir, Redis formatında veya * olarak",
        key: "Anahtar en az bir karakter olmalıdır",
        hashKey: "Hash tablosu anahtarı en az bir karakter olmalıdır",
        score: "Sıralı küme puanı gereklidir",
        value: "Değer gereklidir",
        errorRate: "Hata oranı 0 ile 1 arasında olmalıdır (örn. 0.01)",
        capacity: "Kapasite pozitif bir tamsayı olmalıdır",
        topk: "Top K pozitif bir tamsayı olmalıdır",
        width: "Genişlik pozitif bir tamsayı olmalıdır",
        depth: "Derinlik pozitif bir tamsayı olmalıdır",
        item: "Öğe gereklidir"
      }
    },
    main: {
      label: {
        database: "DB"
      }
    }
  },
  page: {
    search: {
      title: "Arama",
      index: "İndeks",
      query: "Sorgu",
      results: "Sonuçlar",
      noIndex: "İndeks bulunamadı",
      createIndex: "İndeks oluştur",
      dropIndex: "İndeksi sil",
      indexInfo: "İndeks bilgisi",
      indexName: "İndeks adı",
      prefix: "Anahtar ön eki (isteğe bağlı)",
      fieldName: "Alan adı",
      hybridMode: "Hibrit arama (FT.HYBRID)",
      vectorField: "Vektör alanı",
      vectorValues: "Vektör değerleri",
    },
    monitor: {
      title: "İzleme",
      memory: "Bellek",
      opsPerSec: "İşlem/sn",
      clients: "İstemciler",
      blocked: "Engellenen",
      hitsMisses: "İsabet oranı",
      networkIo: "Ağ I/O",
      slowLog: "Yavaş günlük",
      noSlowQueries: "Yavaş sorgu kaydedilmedi.",
      confirmSlowLogReset: "Yavaş günlüğü sıfırlamak istediğinizden emin misiniz?",
      slowLogResetDone: "Yavaş günlük sıfırlandı.",
      totalCommands: "Toplam",
      expired: "Süresi dolan",
      evicted: "Çıkarılan",
      clientList: "İstemci listesi",
      topKeys: "Belleğe göre en büyük anahtarlar",
      killClient: "İstemciyi sonlandır",
      clientKilled: "İstemci sonlandırıldı",
      confirmKillClient: "Bu istemciyi sonlandırmak istediğinizden emin misiniz?",
      noKeys: "Anahtar yok",
      rss: "RSS",
      peak: "Tepe",
      fragmentation: "Parçalanma",
      hitsAndMisses: "İsabet / Kaçırma",
      noClients: "İstemci yok",
      slotStats: "Küme slot istatistikleri",
      serverInfo: "Sunucu Bilgileri",
      os: "İşletim Sistemi",
      port: "Ağ Bağlantı Noktası",
      pid: "İşlem Kimliği",
      configFile: "Yapılandırma Dosyası",
      uptime: "Çalışma süresi",
      keyspace: "Redis anahtar alanı",
      keys: "Redis anahtarları",
      expires: "Süresi doluyor",
      noKeyspace: "Anahtar yok",
      persistence: "Veri Kalıcılığı",
      rdbLastSave: "RDB Son Kaydetme",
      rdbStatus: "RDB Durumu",
      rdbChanges: "Son Kaydetmeden Bu Yana Yapılan Değişiklikler",
      aofEnabled: "AOF Etkin",
      aofSize: "AOF Boyutu",
      replication: "Redis Çoğaltma",
      role: "Çoğaltma Rolü",
      replicas: "Bağlı Kopyalar",
      masterHost: "Birincil Ana Bilgisayar",
      linkStatus: "Çoğaltma Bağlantı Durumu",
      cpu: "CPU Kullanımı",
      cpuSys: "Sistem",
      cpuUser: "Kullanıcı",
      modules: "Yüklü Redis Modülleri",
      noModules: "Redis modülü yüklü değil",
      clusterSlotMap: "Redis küme yuvası haritası",
      slotRange: "Küme yuvası aralığı",
      totalSlots: "Toplam küme yuvaları",
      noClusterData: "Redis kümesi verisi yok.",
    },
    analysis: {
      title: "Bellek Analizi",
      runAnalysis: "Analizi Başlat",
      running: "Analiz ediliyor...",
      typeDistribution: "Tip Dağılımı",
      prefixMemory: "Ön Eke göre Bellek",
      topKeysByMemory: "Belleğe göre En Büyük Anahtarlar",
      expirationOverview: "Anahtar Süresi",
      memoryBreakdown: "Bellek Dağılımı",
      keysScanned: "Taranan Anahtarlar",
      totalMemory: "Toplam Bellek",
      rssMemory: "RSS Bellek",
      peakMemory: "Tepe Bellek",
      luaMemory: "Lua Bellek",
      overheadMemory: "Ek Yük",
      datasetMemory: "Veri Seti",
      fragmentation: "Parçalanma",
      allocator: "Ayırıcı",
      withTTL: "TTL ile",
      persistent: "Kalıcı",
      avgTTL: "Ortalama TTL",
      prefix: "Ön Ek",
      keyCount: "Anahtar Sayısı",
      memoryUsage: "Bellek Kullanımı",
      noPrefix: "(ön ek yok)",
      topN: "Top N",
      maxScanKeys: "Maks. Taranan Anahtarlar",
      type: "Tip",
      noData: "Veri yok. Başlamak için Analizi Başlat'a tıklayın.",
      exportAll: "Tümünü Dışa Aktar",
      memoryDoctor: "Memory Doctor",
      doctorNoData: "Memory Doctor teşhisini çalıştırmak için Yenile'ye tıklayın.",
    },
    acl: {
      title: "ACL kullanıcıları",
      loadUsers: "Kullanıcıları yükle",
      loading: "Yükleniyor...",
      username: "Kullanıcı adı",
      status: "Durum",
      enabled: "Etkin",
      disabled: "Devre dışı",
      commands: "Komutlar",
      commandsHint: "örneğin, +@all or +@read -@dangerous",
      keys: "Redis'in anahtar kalıpları",
      keysHint: "örneğin, ~* or ~user:*",
      channels: "Pub/Sub Kanalları",
      channelsHint: "ör. &* or &notifications:*",
      password: "Şifre",
      noPassword: "Şifre yok (geçiş yok)",
      passwordHint: "Mevcut şifreyi korumak için boş bırakın",
      currentUser: "Mevcut",
      createUser: "Kullanıcı oluştur",
      editUser: "Kullanıcıyı düzenle",
      deleteUser: "Sil",
      confirmDelete: "ACL kullanıcısını silmek istediğinizden emin misiniz?",
      userDeleted: "ACL kullanıcısı silindi.",
      userSaved: "ACL kullanıcısı kaydedildi.",
      cannotDeleteDefault: "Varsayılan kullanıcı silinemiyor.",
      cannotDeleteSelf: "Şu anda bağlı olan kullanıcı silinemiyor.",
      noUsers: "ACL için Redis 6.0+ gereklidir.",
      groupCommon: "Genel",
      groupDataTypes: "Veri Türleri",
      groupOperations: "Operasyonlar",
      rules: "Kurallar",
      rulesHint: "Boşlukla ayrılmış belirteçler (örneğin on >password +@all ~* &*)",
      defaultUserWarning: "Dikkat: Varsayılan kullanıcıyı değiştirmek tüm bağlantıları kilitleyebilir. Böyle bir durumda, erişimi yeniden sağlamak için Redis'yi yeniden başlatmanız veya redis-cli'yi kullanmanız gerekecektir.",
    },
    overview: {
      noConnected: "Redis'e bağlantı yok.",
      overviewClients: "Bağlı olanları istemci sayısına göre listele",
      connectedCount: opt => {
        if (opt.length === 1) {
          return "1 istemci";
        }
        return `${opt.length} istemci`;
      }
    },
    key: {
      label: {
        key: "Anahtar",
        encoding: "Kodlama",
        compression: "Sıkıştırma",
        aiRateLimited: "AI istek sınırına ulaşıldı. Daha sonra tekrar deneyin veya Ayarlarda kendi Groq API anahtarınızı kullanın.",
        aiError: "AI sorgusu başarısız oldu",
        length: "Boyut",
        ttl: "TTL",
        ttlTitle: "Yaşam Süresi",
        type: "Tür",
        ttlNotExpire: "süresi dolmaz",
        lengthString: "bayt",
        lengthItem: "öğe",
        actions: "İşlemler"
      },
      list: {
        table: {
          index: "İndeks",
          value: "Değer"
        }
      },
      hash: {
        table: {
          hashkey: "Hash anahtarı",
          value: "Değer"
        }
      },
      set: {
        table: {
          value: "Üye"
        }
      },
      zset: {
        table: {
          value: "Üye",
          score: "Puan"
        }
      },
      stream: {
        table: {
          timestamp: "Zaman damgası ID",
          field: "Alan",
          value: "Değer"
        }
      },
      timeseries: {
        chart: "Grafik",
        info: "Bilgi",
        addPoint: "Veri Noktası Ekle",
        from: "Başlangıç (ms veya -)",
        to: "Bitiş (ms veya +)",
        aggregation: "Toplama",
        timeBucket: "Zaman Aralığı (ms)",
        none: "Yok",
        dataPoints: "veri noktası",
        labels: "Etiketler",
        rules: "Kurallar",
        retention: "Saklama",
        timestamp: "Zaman damgası",
        value: "Değer",
        retentionHint: "0 = süre sonu yok veya milisaniye",
        duplicatePolicy: "Yineleme politikası",
        labelsHint: "anahtar1 değer1 anahtar2 değer2",
        timestampHint: "'*' otomatik oluşturma anlamına gelir veya milisaniye zaman damgası",
        editAllHint: "Satır başına bir veri noktası: zaman_damgası değer (zaman_damgası otomatik için * olabilir)",
        autoSpread: "Otomatik * yayılma aralığı",
        formula: "Formül",
        formulaLinear: "Doğrusal",
        formulaRandom: "Rastgele",
        formulaSawtooth: "Testere dişi",
        formulaPoints: "Noktalar",
        formulaAmplitude: "Genlik",
        formulaOffset: "Ofset",
        generate: "Oluştur",
        exportChart: "PNG olarak dışa aktar",
        overlay: "Anahtarları üst üste bindirme",
        overlayHint: "Virgülle ayrılmış anahtarlar",
        mrangeFilter: "Etiket filtresi",
        bulkMode: "Toplu oluşturma",
        mrangeHint: "örn. sensor=temp"
      },
      probabilistic: {
        info: "Bilgi",
        addItem: "Öğe Ekle",
        checkItem: "Öğe Kontrol Et",
        item: "Öğe",
        exists: "Mevcut",
        doesNotExist: "Mevcut değil",
        topkList: "En İyi Öğeler",
        topkCount: "Sayı",
        queryCount: "Sorgu Sayısı",
        queryResult: "Sorgu Sonucu",
        addedSuccessfully: "Öğe başarıyla eklendi",
        deletedSuccessfully: "Öğe başarıyla silindi",
        quantile: "Kantil",
        quantileResult: "Sonuç",
        noItems: "Gösterilecek öğe yok",
        resetConfirm: "Bu T-Digest'teki tüm veriler sıfırlansın mı?"
      },
      vectorset: {
        info: "Bilgi",
        elements: "Elemanlar",
        similarity: "Benzerlik Araması",
        searchByElement: "Elemana göre ara",
        searchByVector: "Vektöre göre ara",
        vectorValues: "Vektör değerleri",
        element: "Eleman",
        score: "Puan",
        count: "Sayı",
        addElement: "Eleman Ekle",
        attributes: "Öznitelikler",
        noAttributes: "Öznitelik yok",
        dimensions: "Boyutlar",
        removeConfirm: "Bu eleman VectorSet'ten kaldırılsın mı?",
        noElements: "Eleman yok",
        filter: "Filtre",
        searchComplete: "Arama tamamlandı",
      }
    },
    treeControls: {
      settings: "Ağaç ayarları",
      expandAll: "Tümünü genişlet",
      collapseAll: "Tümünü daralt",
      level: "Seviye",
      search: {
        search: "Anahtarlarda ara",
        clear: "Mevcut aramayı temizle",
        placeholderClient: "İstemci tarafında ara",
        placeholderServer: "Sunucu tarafında ara",
        info: (opts) => "İstemci tarafı araması, arama girişindeki metni eşleştirmek anlamına gelir. Sunucu tarafı araması, anahtar kalıplarında *{arama-metni}* gibi arama yapmak anlamına gelir. Büyük arama kümeleri için sunucu tarafı araması kullanmak daha iyidir. Küçük arama kümeleri için istemci tarafı arama modu kullanmak daha iyidir." + ` Anahtar sayısı ${opts?.maxLightKeysCount ?? 110000} üzerindeyse yalnızca sunucu tarafında arama yapabilirsiniz.`,
        largeSetInfo: "Büyük bir veri kümesinde istemci tarafı araması devre dışıdır, şu anda yalnızca sunucu tarafı araması yapılabilir.",
        infoDetails: "Aramanın nasıl çalıştığını öğrenmek için lütfen ayarları kontrol edin"
      },
      pager: {
        next: "Sonraki",
        prev: "Önceki",
        first: "İlk",
        last: "Son"
      }
    }
  },
  time: {
    years: "yıl",
    months: "ay",
    days: "gün",
    year: "yıl",
    month: "ay",
    day: "gün",
    second: "saniye",
    seconds: "saniye",
    minute: "dakika",
    minutes: "dakika",
    hour: "saat",
    hours: "saat"
  },
  redisTypes: {
    string: "String",
    list: "List",
    hash: "Hash table",
    set: "Set",
    zset: "Sorted set - zset",
    stream: "Stream",
    json: "JSON",
    timeseries: "Time Series",
    bloom: "Bloom filtre",
    cuckoo: "Cuckoo filtre",
    topk: "Top-K",
    cms: "Count-Min Sketch",
    tdigest: "T-Digest",
    vectorset: "VectorSet",
  }
};
module.exports = strings;