RSS Git Download  Clone
Raw Blame History 24kB 683 lines
const strings = {
  error: {
    server_error: "服务器错误,请重试"
  },
  title: {
    donate: "捐赠",
    jsonRecursive: "展开所有叶子",
    name: "P3X Redis UI",
    nameDonated: "P3X Redis UI+",
    main: "您可以从左下方菜单中选择要连接的Redis进行连接访问",
    statistics: "Statistics",
    error: "错误",
    connectingRedis: "连接到Redis ...",
    socketioConnectError: "Socket.IO 错误",
    db: "DB",
    server: "服务端",
    clients: "客户端",
    memory: "内存",
    persistence: "持久性",
    stats: "统计",
    replication: "同步复制",
    cpu: "CPU",
    cluster: "集群",
    modules: "模块",
    errorstats: "错误统计",
    commandstats: "命令统计",
    latencystats: "延迟统计",
    keysizes: "键大小",
    threads: "线程",
  },
  confirm: {
    dropIndex: "确定要删除此索引吗?",
    uploadBuffer: "您确定上传此二进制数据吗?",
    uploadBufferDone: "二进制数据已上传",
    uploadBufferDoneAndSave: "二进制数据上传并保存在服务器上",
    title: "确认",
    alert: "警告",
    info: "信息",
    deleteListItem: "您确定要删除该列表项吗?",
    deleteHashKey: "您确定要删除该哈希键项吗?",
    deleteStreamTimestamp: "您确定要删除此流时间戳吗?",
    deleteSetMember: "您确定要删除该集合成员?",
    deleteZSetMember: "您确定要删除该有序集合成员?",
    deleteConnection: "确认",
    deleteConnectionText: "您确定要删除此Redis连接吗?",
    deleteNode: "您确定要删除此Redis节点吗?",
    delete: "删除?",
    deleteAllKeys: opts => {
      return `删除此树及其所有键 (${opts.key})?`;
    },
    deleteSearchKeys: opts => {
      return `确定要删除所有匹配 "${opts.pattern}" 的键吗?找到 ${opts.count} 个键。`;
    },
    socketioConnectError: "Socket.IO 无法连接到该服务,请重新加载并尝试解决此错误,客户端无法解决此错误",
    socketioAuthRequired: "Socket.IO 需要授权。请先完成 HTTP Basic Auth(用户名/密码)后再刷新页面。",
    deleteKey: "您确定要删除此键吗?",
    rename: {
      title: "您确定要重命名此键吗?",
      textContent: "如果您点击重命名按钮,它将永久重命名此键。",
      placeholder: "Redis键(必须存在)"
    },
    ttl: {
      title: "您要更改此键的TTL吗?",
      textContent: "如果您点击更改TTL按钮,将更改此键的生存时间,将其设置为空表示永久有效。",
      placeholder: "Redis键的TTL(整数或空)",
      placeholderPlaceholder: "空表示永久存在,否则使用所提供的整数。",
      convertTextToTime: "将文本转换为时间",
      convertTextToTimePlaceholder: "例如,1d 表示 86400"
    },
  },
  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: "复制",
    downloadBuffer: "下載二進位文件",
    setBuffer: "上傳二進位文件",
    exportKeys: "导出键",
    exportAllKeys: (opts) => `导出全部 ${opts.count} 个键`,
    exportSearchResults: (opts) => `导出 ${opts.count} 个结果`,
    deleteAllKeysMenu: (opts) => `删除全部 ${opts.count}`,
    importKeys: "导入键",
    deleteSearchKeys: (opts) => `删除 ${opts.count} 个匹配的键`,
    saveWithFormatJson: "保存格式",
    formatJson: "格式化Json",
    wrap: "自动换行",
    unwrap: "不换行",
    downloadJson: "下载 JSON",
    pubsubMonitor: "PubSub",
    pulse: "Pulse",
    profiler: "Profiler",
    memoryAnalysis: "Analysis",
    language: "语言 / Language",
    ok: "确定",
    addKey: "加入此键",
    addKeyRoot: "加入一个根键",
    reloadKey: "重载键",
    reload: "重载",
    close: "关闭",
    commands: "命令",
    view: "视图",
    statistics: "统计",
    refresh: "刷新",
    pause: "暂停",
    resume: "继续",
    clear: "清除",
    rename: "重命名",
    main: "数据库",
    cancel: "取消",
    theme: "主题",
    github: "GitHub",
    githubRepo: "仓库",
    githubRelease: "发布",
    githubChangelog: "更新日志",
    info: "Info",
    settings: "设置",
    connect: "连接",
    disconnect: "断开",
    overview: "概览",
    console: "控制台",
    noConnections: "没有任何连接,请在设置菜单中添加一个连接。",
    noConnectionsInSettings: "没有连接,您可以在上面添加一个新的连接。",
    connectionAdd: "新连接",
    addGroup: "添加分组",
    extend: "拓展",
    collapse: "折叠",
    add: "添加",
    edit: "编辑",
    save: "保存",
    ttl: "设置 TTL",
    delete: "删除",
    remove: "删除",
    areYouSure: "你确定吗?",
    sure: "确定",
    testConnection: "测试连接",
    getKey: "加载Redis键及相关数据...",
    jsonViewShow: "显示 JSON 树",
    jsonViewEditor: "编辑JSON",
    quickConsole: "快的",
  },
  label: {
    id: {
      nodeId: '节点号',
      id: "连接ID",
      info: "如果您不想更改以下属性:sshPassword、sshPrivateKey、password、tlsCrt、tlsKey、tlsCa,请在这些属性中输入连接 ID 以保持属性值不变。 如果您希望节点密码具有相同的逻辑,则在节点密码中输入节点 ID。"
    },
    secureFeature: '如果您看到以 P3X 开头的值并且看起来相似,则这是一项安全功能。 要更改设置,只需将这些设置替换为空或其他内容即可保存它们。 如果您不更改设置,这些设置将保留在服务器上的原样。',
    aiTranslating: "翻译中...",
    aiSettings: "AI 设置",
    aiGroqApiKey: "Groq API 密钥",
    aiGroqApiKeyInfo: "可选。使用自己的 Groq API 密钥获得更好性能。免费获取密钥",
    aiGroqApiKeyPlaceholder: "gsk_...",
    aiGroqApiKeySaved: "AI API 密钥已保存",
    aiGroqApiKeyInvalid: "无效的 Groq API 密钥",
    aiGroqApiKeyNotSet: "未设置(使用服务器默认)",
    aiEnabled: "AI 已启用",
    aiEnabledYes: "是",
    aiEnabledNo: "否",
    aiRouteViaNetwork: "通过 network.corifeus.com 路由",
    aiRoutingDirect: "使用您自己的 API 密钥直接向 Groq 发送查询,绕过 network.corifeus.com。",
    aiRoutingNetwork: "AI 查询通过 network.corifeus.com 路由。如果您有自己的免费 Groq API 密钥,可以关闭此开关直接使用 Groq。",
    ssh: {
      on: 'SSH 开启',
      off: 'SSH 关闭',
      sshHost: 'SSH 主机',
      sshPort: 'SSH端口',
      sshUsername: 'SSH 用户名',
      sshPassword: 'SSH密码',
      sshPrivateKey: 'SSH 私钥'
    },
    isBuffer: opts => `[object ArrayBuffer] 表示該值是二進位緩衝區或該值大於 ${opts.maxValueAsBuffer}`,
    streamValue: `流字段和值是唯一的。 例如:field1 value1 "field 2" "value 2"`,
    streamTimestampId: `'*'表示自动生成或指定为<millisecondsTime>-<sequenceNumber>`,
    unableToLoadKey: ({
      key
    }) => {
      return `无法加载此密钥:: ${key}。可能,密钥被删除了。确切的错误在控制台中。`;
    },
    bigJson: "此JSON对象超过10 kb,因此请确保您知道自己在做什么,因为某些功能可能会缓慢呈现。",
    addNode: "添加节点",
    validateJson: "验证JSON",
    reducedFunction: `功能限制`,
    tooManyKeys: opts => {
      return `对于最大函数允许的键个数为 ${opts.maxLightKeysCount}. 该数据库允许共超过的键总数为 ${opts.count}.但键的排序及范式树等相关信息会被禁用。搜索仅在服务器上进行,而不是客户端搜索。`;
    },
    redisCommandNotFound: "找不到匹配的Redis命令...",
    treeKeyStore: `该排序(自然排序)运行在客户端的浏览器上, 意味着针对大型集合(例如超过1W个键),渲染的时长开销需要增加.Redis中没有键排序, 就像这样。`,
    socketIoTimeout: options => {
      return `Socket.IO 请求超时,请求时最长(最大 ${options.timeout / 1000}秒) ...`;
    },
    resizerInfo: options => {
      return `面板(左/右)的最小宽度是 ${options.width}像素`;
    },
    jsonViewNotParsable: "该值JSON无法解析",
    ttlTitle: "设置TTL时间(秒)",
    passwordSecure: "密码可能为空,但仍会显示字符,这是一项安全功能。",
    treeSeparatorEmpty: "如果树分隔符为空,则树将没有嵌套节点,只有纯列表",
    tlsWithoutCert: "无需额外证书即可启用 TLS",
    tlsRejectUnauthorized: "拒绝未经授权的证书",
    tlsSecure: "如果您看到以 P3X 开头的 TLS 配置或所有 TLS 设置看起来都相同,则这是一项安全功能。 要更改设置,只需将这些设置替换为空或其他内容即可保存。 如果您不更改 TLS 设置,这些设置将保持在服务器上的原样。",
    treeSeparatorEmptyNote: "没有嵌套节点,只是一个纯列表",
    welcomeConsole: "欢迎来到Redis控制台",
    welcomeConsoleInfo: "上下方向键选择历史记录功能已启用",
    redisListIndexInfo: "空值追加, -1 到前置或保存到光标之处",
    console: "控制台",
    connectiondAdd: "添加连接",
    connectiondEdit: "编辑连接",
    connectiondView: "查看连接",
    connections: "连接",
    keysSort: {
      on: "开启键排序",
      off: "关闭键排序"
    },
    cluster: {
      on: "群集",
      off: "集群关闭"
    },
    sentinel: {
      on: "哨兵開啟",
      off: "哨兵關閉",
      name: '哨兵名称'
    },
    readonly: {
      on: "只读",
      off: "只读关闭"
    },
    theme: {
      light: "浅棕",
      dark: "黑暗企业",
      darkNeu: "暗色",
      darkoBluo: "蓝色",
      enterprise: "企业风",
      redis: "Redis风格",
      matrix: "矩阵"
    },
    connected: opts => {
      return `已连接: ${opts.name}`;
    },
    tree: "树",
    askAuth: "请求授权",
    keyboardShortcuts: "键盘快捷键",
    about: "关于",
    supportedLanguages: "支持的语言",
    version: "版本",
    redisVersion: "Redis 版本",
    modules: "模块",
    shortcutRefresh: "刷新",
    shortcutSearch: "聚焦搜索",
    shortcutNewKey: "新建键",
    shortcutDisconnect: "断开",
    themeAuto: "自动(系统)",
    shortcutCommandPalette: "命令面板",
    commandPalette: "命令面板",
    noResults: "无结果",
    redisCommandsReference: "Redis 命令",
    ungrouped: "未分组",
    grouped: "已分组",
    connectFirst: "请先连接到 Redis 服务器",
    searchLanguage: "搜索语言...",
    exportProgress: "正在导出键...",
    importProgress: "正在导入键...",
    importPreview: "预览",
    importOverwrite: "覆盖",
    importSkip: "跳过",
    importConflict: "如果键已存在:",
    noKeysToExport: "没有键可导出",
    time: "时间",
    type: "类型",
    format: "格式",
    loading: "加载中...",
    autoRefresh: "自动",
    exportSearchHint: "仅导出与当前搜索匹配的键",
    importSearchHint: "导入适用于整个数据库,而不仅仅是搜索结果",
    deleteSearchHint: "删除所有匹配当前搜索的键",
    deletingSearchKeys: "正在删除匹配的键...",
    importNoKeys: "文件中未找到键",
  },
  status: {
    dataCopied: "数据在剪贴板中",
    exportDone: "导出完成",
    deletedSearchKeys: (opts) => `已删除 ${opts.count} 个键`,
    indexCreated: "索引已创建",
    indexDropped: "索引已删除",
    importDone: (opts) => `导入完成:${opts.created} 已创建,${opts.skipped} 已跳过,${opts.errors} 个错误`,
    nodeRemoved: "节点已删除",
    keyIsNotExisting: "此键可能已被删除或过期。",
    keyCount: opts => {
      if (opts.keyCount === 0) {
        return "没有任何键";
      } else if (opts.keyCount === 1) {
        return "1 个键";
      } else {
        return `${opts.keyCount} 键`;
      }
    },
    treeExpandAll: "展开所可能的原因是,连接已删除,自动连接失败有树,该操作的代价就是有点费时...",
    noRedisKeys: "此数据库中没有任何键。",
    redisConnected: "Redis 连接成功",
    reloadingDataInfo: "重新加载Redis数据信息",
    added: "已添加",
    saved: "已更新",
    cancelled: "已取消",
    deleted: "已删除",
    savedRedis: "Redis数据已保存",
    redisDisconnected: opts => {
      return `该连接有一个错误: ${opts.error.message}`;
    },
    dbChanged: opts => {
      return `db索引设置为 ${opts.db}. `;
    },
    treeDeleted: opts => {
      return `该树已删除 (${opts.key}).`;
    },
    deletedKey: opts => {
      return `该键已删除 (${opts.key}).`;
    },
    renamedKey: "该键已重命名",
    ttlChanged: "该键TTL已被更改",
    notInteger: "输入值不是一个整数",
    persisted: "永久键",
    set: "键已设置/添加"
  },
  code: {
    "delete-connection": "此连接已删除,因此您与此Redis实例断开连接。",
    "save-connection": "此连接已更改,因此您与此Redis实例断开连接。 你可以重新连接。",
    "readonly-connections": "连接(添加/保存/删除)只是只读!",
    "readonly-connection-mode": "此连接为只读模式!",
    "list-out-of-bounds": "此列表索引超出范围",
    "invalid-json-value": "The value is not valid JSON.",
    "http_auth_required": "需要授权:请先完成 HTTP Basic Auth 登录后再刷新页面。",
    "auto-connection-failed": "因此,可能导致连接被删除并且自动连接失败。",
    invalid_console_command: "此命令无法通过 GUI 运行。"
  },
  form: {
    error: {
      required: "必填",
      port: "端口号范围是 1-65535",
      invalid: "值无效,请重新输入"
    },
    connection: {
      label: {
        name: "连接名字",
        group: "分组",
        host: "主机名",
        port: "端口",
        password: "密码",
        username: "用户名"
      }
    },
    treeSettings: {
      maxValueDisplay: "最大值显示字符串长度",
      maxValueDisplayInfo: "如果最大值显示为零,则显示所有内容,如果大于0,则将截断。 如果它是-1,它将不显示没有编辑字符串的值,对于其他人,它显示所有内容。",
      maxKeys: "最大密钥数",
      maxKeysInfo: "为了避免GUI崩溃,我们限制了最大密钥数。",
      keyCount: (opts) => {
        return `键数: ${opts?.keyCount ?? 0}`;
      },
      label: {
        animation: "使用动画",
        noAnimation: "没有动画",
        jsonFormatTwoSpace: "用2个空格格式化JSON",
        jsonFormatFourSpace: "用4个空格格式化JSON",
        formName: "Redis设置",
        searchModeClient: "客户端搜索模式",
        searchModeServer: "服务端搜索模式",
        searchModeStartsWith: "以模式启动搜索",
        searchModeIncludes: "搜索包括模式"
      },
      field: {
        treeSeparator: "树分隔符",
        treeSeparatorSelector: "树分隔符选择器",
        page: "树分页数",
        keyPageCount: "按键分页数",
        keysSort: "对键进行排序",
        searchMode: "搜索模式",
        searchModeStartsWith: "搜索以 / 开头"
      },
      error: {
        keyPageCount: "密钥页数必须为5到100之间的整数",
        page: "页数必须是10 - 5000之间的整数",
        maxValueDisplay: "最大显示值必须是介于-1和32768之间的整数",
        maxKeys: "最大密钥计数值必须是100到100000之间的整数"
      }
    },
    key: {
      label: {
        formName: {
          add: "添加新的Redis键",
          edit: "编辑 Redis key",
          append: "添加到现有的Redis键"
        }
      },
      field: {
        streamTimestamp: "时间戳记",
        key: "键",
        type: "类型",
        index: "索引",
        hashKey: "哈希键",
        score: "分数",
        value: "值"
      },
      error: {
        streamTimestamp: "时间戳是必需的,可以是Redis格式,也可以*",
        key: "键至少存在一个字符",
        hashKey: "哈希表键至少是一个字符",
        score: "排序的集合分数是必需的",
        value: "该值是必填的"
      }
    },
    main: {
      label: {
        database: "DB"
      }
    }
  },
  page: {
    search: {
      title: "搜索",
      index: "索引",
      query: "查询",
      results: "结果",
      noIndex: "未找到索引",
      createIndex: "创建索引",
      dropIndex: "删除索引",
      indexInfo: "索引信息",
      indexName: "索引名称",
      prefix: "键前缀(可选)",
      fieldName: "字段名称",
    },
    monitor: {
      title: "监控",
      memory: "内存",
      opsPerSec: "操作/秒",
      clients: "客户端",
      blocked: "已阻塞",
      hitsMisses: "命中率",
      networkIo: "网络 I/O",
      slowLog: "慢查询日志",
      totalCommands: "总计",
      expired: "已过期",
      evicted: "已驱逐",
      clientList: "客户端列表",
      topKeys: "内存最大的键",
      killClient: "终止客户端",
      clientKilled: "客户端已终止",
      confirmKillClient: "确定要终止此客户端吗?",
      noKeys: "没有键",
      rss: "RSS",
      peak: "峰值",
      fragmentation: "碎片化",
      hitsAndMisses: "命中 / 未命中",
      noClients: "没有客户端",
    },
    analysis: {
      title: "内存分析",
      runAnalysis: "运行分析",
      running: "分析中...",
      typeDistribution: "类型分布",
      prefixMemory: "按前缀分内存",
      topKeysByMemory: "按内存排名的键",
      expirationOverview: "键过期",
      memoryBreakdown: "内存明细",
      keysScanned: "已扫描键",
      totalMemory: "总内存",
      rssMemory: "RSS 内存",
      peakMemory: "峰值内存",
      luaMemory: "Lua 内存",
      overheadMemory: "额外开销",
      datasetMemory: "数据集",
      fragmentation: "碎片化",
      allocator: "分配器",
      withTTL: "有 TTL",
      persistent: "永久",
      avgTTL: "平均 TTL",
      prefix: "前缀",
      keyCount: "键数量",
      memoryUsage: "内存使用量",
      noPrefix: "(无前缀)",
      topN: "Top N",
      maxScanKeys: "最大扫描键数",
      type: "类型",
      noData: "无数据。点击运行分析开始。",
      exportAll: "导出全部",
    },

    overview: {
      noConnected: "没有任何连接到Redis",
      overviewClients: "按客户端连接计数展示所有连接",
      connectedCount: opt => {
        if (opt.length === 1) {
          return "1 客户端";
        }
        return `${opt.length} 客户端`;
      }
    },
    key: {
      label: {
        key: "键",
        encoding: "编码",
        compression: "压缩",
        aiRateLimited: "已达到 AI 请求限制。请稍后重试或在设置中使用您自己的 Groq API 密钥。",
        aiError: "AI 查询失败",
        length: "大小",
        ttl: "TTL",
        ttlTitle: "生存时间",
        type: "类型",
        ttlNotExpire: "不会过期",
        lengthString: "位元組",
        lengthItem: "项数",
        actions: "操作"
      },
      list: {
        table: {
          index: "索引",
          value: "值"
        }
      },
      hash: {
        table: {
          hashkey: "哈希",
          value: "值"
        }
      },
      set: {
        table: {
          value: "成员"
        }
      },
      zset: {
        table: {
          value: "成员",
          score: "分数"
        }
      },
      stream: {
        table: {
          timestamp: "时间戳ID",
          field: "领域",
          value: "值"
        }
      },
      timeseries: {
        chart: "图表",
        info: "信息",
        addPoint: "添加数据点",
        from: "起始 (ms 或 -)",
        to: "结束 (ms 或 +)",
        aggregation: "聚合",
        timeBucket: "桶 (ms)",
        none: "无",
        dataPoints: "数据点",
        labels: "标签",
        rules: "规则",
        retention: "保留",
        timestamp: "时间戳",
        value: "值",
        retentionHint: "0 = 不过期,或毫秒",
        duplicatePolicy: "重复策略",
        labelsHint: "键1 值1 键2 值2",
        timestampHint: "'*' 表示自动生成,或毫秒时间戳",
        editAllHint: "每行一个数据点:时间戳 值(时间戳可以用 * 表示自动)",
        autoSpread: "自动 * 分散间隔",
        formula: "公式",
        formulaLinear: "线性",
        formulaRandom: "随机",
        formulaSawtooth: "锯齿波",
        formulaPoints: "点数",
        formulaAmplitude: "振幅",
        formulaOffset: "偏移",
        generate: "生成",
        exportChart: "导出 PNG",
        overlay: "叠加键",
        overlayHint: "逗号分隔的键",
        mrangeFilter: "标签过滤器",
        bulkMode: "批量生成",
        mrangeHint: "例如 sensor=temp"
      }
    },
    treeControls: {
      settings: "树设置",
      expandAll: "展开所有",
      collapseAll: "折叠所有",
      level: "级别",
      search: {
        search: "在键中搜索",
        clear: "清空当前搜索结果",
        placeholderClient: "客户端搜索",
        placeholderServer: "服务端搜索",
        info: (opts) => `客户端搜索是匹配输入的文本,服务端搜索则遵循*{search-text}*模式搜索.对于大量数据的搜索最好在服务端进行搜索,而较小数据量可以考虑客户端搜索。如果键数超过  ${opts?.maxLightKeysCount ?? 110000}个的则只能在服务端搜索`,
        largeSetInfo: "在大型集合中,禁用客户端搜索。 所以现在只能进行服务器端搜索。",
        infoDetails: "要了解搜索的工作原理,请查看设置"
      },
      pager: {
        next: "下一页",
        prev: "上一页",
        first: "首页",
        last: "末页"
      }
    }
  },
  time: {
    type: "类型",
    format: "格式",
    loading: "加载中...",
    years: "年份",
    months: "个月",
    days: "天",
    year: "年",
    month: "月",
    day: "天",
    second: "秒",
    seconds: "秒",
    minute: "分钟",
    minutes: "分钟",
    hour: "小时",
    hours: "小时"
  },
  redisTypes: {
    string: "String",
    list: "List",
    hash: "Hash table",
    set: "Set",
    zset: "Sorted set - zset",
    stream: "Stream",
    json: "JSON",
    timeseries: "Time Series"
  }
};
module.exports = strings;