RSS Git Download  Clone
Raw Blame History 24kB 420 lines
const strings = {
    error: {
        cleared_license: 'Очищенная лицензия',
        invalid_license: 'Неверная лицензия',
        server_error: 'Серверная ошибка, пожалуйсто попробуйте снова',
    },
    title: {
        donate: 'Донат',
        jsonRecursive: 'Расширяем все листья',
        name: 'P3X Redis UI',
        nameDonated: 'P3X Redis UI+',
        main: 'Вы можете выбрать Redis коннектор для соединения из меню снизу слева.',
        statistics: 'Статистика',
        error: 'Ошибка',
        connectingRedis: 'Подключаемся к Redis ...',
        socketioConnectError: 'Ошибка Socket.IO',

        db: 'База данных',
        server: 'Сервер',
        clients: 'Клиент',
        memory: 'Память',
        persistence: 'Постоянность',
        stats: 'Статистика',
        replication: 'Репликация',
        cpu: 'ЦПУ',
        cluster: 'Кластер',
    },
    confirm: {
        title: 'Подтвердить',
        alert: 'Внимание',
        info: 'Информация',
        deleteListItem: 'Вы точно хотите удалить этот список?',
        deleteHashKey: 'Вы точно хотите удалить этот хэш?',
        deleteStreamTimestamp: 'Вы точно хотите удалить эту временную отметку потока?',
        deleteSetMember: 'Вы точно хотите удалить этого члена набора?',
        deleteZSetMember: 'Вы точно хотите удалить этого члена сортированного набора?',
        deleteConnection: 'Подтвердить',
        deleteConnectionText: 'Вы точно хотите удалить это подключение Redis?',
        deleteNode: 'Вы точно хотите удалить эту ноду Redis?',
        deleteAllKeys: (opts) => {
            return `Удалить это дерево и все его ключи (${opts.key})?`
        },
        socketioConnectError: 'Socket.IO не может подключится к серверу, вы можете перезагрузить и решить проблему с соединением самостоятельно, клиент не знает как решить это.',
        deleteKey: 'Вы точно хотите удалить этот ключ?',
        rename: {
            title: 'Вы точно хотите переименовать этот ключ?',
            textContent: 'Если вы нажмёте кнопку \"Переименоват\" вы навсегда переименуете этот ключ.',
            placeholder: 'Ключ Redis (обязательно)',

        },
        ttl: {
            title: 'Вы точно хотите изменить TTL этого ключа?',
            textContent: 'Если вы нажмёте \"Изменить\" вы измените TTL этого ключа, пустой TTL равен вечному.',
            placeholder: 'TTL ключа Redis (цельная цифра или ничего)',
            placeholderPlaceholder: 'Пустота означает вечность, для других случаев используйте целое число.',
            convertTextToTime: 'Конвертировать текст во время',
            convertTextToTimePlaceholder: 'Например, 1d равен 86400',
        },
        license: {
            title: 'Включить лицензию донатера?',
            textContent: 'Если вы хотите использовать функции для донатеров, пожалуйсто запросите лицензию у alabard@gmail.com . Донат стоит $1/месяц.',
            placeholder: 'Ключ лицензии',
        },
    },
    language: {
        // When you translate the english name, keep the Language in English
        // eg. Inglés / English
        en: 'Английский / English',
        zn: '中文 / Chinese',
        ru: 'Русский / Russian'
    },
    intention: {
        copy: 'Копировать',
        saveWithFormatJson: 'Сохранить с форматом',
        formatJson: 'Форматировать Json',
        pubsubMonitor: 'Мониторинг PubSub',
        // When you translate the language, keep the Language in English
        // eg. Idioma / Language
        language: 'Язык / Language',
        ok: 'ОК',
        addKey: 'Добавить к этому ключу',
        addKeyRoot: 'Добавить к корневому ключу',
        reloadKey: 'Кнопка перезагрузки',
        reload: 'Перезагрузить',
        close: 'Закрыть',
        commands: 'Команды',
        view: 'Вид',
        statistics: 'Статистика',
        refresh: 'Обновить',
        clear: 'Очистить',
        rename: 'Переименовать',
        main: 'Домой',
        cancel: 'Отмена',
        theme: 'Тема',
        github: 'GitHub',
        githubRepo: 'Репозиторий',
        githubRelease: 'Релизы',
        githubChangelog: 'Изменения',
        settings: 'Настройки',
        connect: 'Подключиться',
        disconnect: 'Отключится',
        overview: 'Обзор',
        console: 'Консоль',
        noConnections: 'Подключения отсутствуют, добавьте подключение в меню настроек.',
        noConnectionsInSettings: 'Подключения отсутствуют, вы можете добавить НОВОЕ ПОДКЛЮЧЕНИЕ выше.',
        connectionAdd: 'Новое подключение',
        extend: 'Расширить',
        collapse: 'Схлопнуть',
        add: 'Добавить',
        edit: 'Редактировать',
        save: 'Сохранить',
        ttl: 'Выбрать TTL',
        license: 'Выбрать лицензию',
        'delete': 'Удалить',
        remove: 'Убрать',
        'sure': 'Хорошо',
        testConnection: 'Проверка соединения',
        getKey: 'Загрузка ключа Redis и асоциированных данных ...',
        jsonViewShow: 'Показать JSON',
        jsonViewEditor: 'Редактировать JSON',
        quickConsole: 'Быстрый',
    },
    label: {
        streamValue: `Поле и значение потока это однополосник. Например: поле1 значение1 "поле 2" "значение 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: `Сортировка (природное сравнение) выполняется в клиенте (он же браузер), что замедляет большие сортировки, например больше чем 10k ключей, это может добавить немного задержки к прогрузке страницы. В самом Redis нету сортировки ключей, это можно делать только так.`,
        socketIoTimeout: (options) => {
            return `Socket.IO не успел ответить на запрос (максимум ${options.timeout / 1000} секунд) ...`;
        },
        resizerInfo: (options) => {
            return `Минимальная ширина левой или правой панели это ${options.width}px`
        },
        jsonViewNotParsable: 'Это значение не подобно JSON',
        ttlTitle: 'Выбрать TTL в секундах',
        passwordSecure: 'Пароль может быть пустым, но он всё ещё будет отображать символы, это фича для безопасности.',
        tlsWithoutCert: 'Включить TLS без дополнительного сертификата',
        tlsRejectUnauthorized: 'Reject unauthorized certificate',
        tlsSecure: 'Если вы видите TLS конфигурацию которая начинается с P3X или все настройки TLS выглядят одинаково, это фича для безопасности. Для изминения настроек надо заменить эти настройки пустыми или чем либо ещё, и они сохранятся. Если вы ек измените настройки TLS, настройки останутся такими же как и на самом сервере.',
        treeSeparatorEmpty: 'Если разделитель дерева пуст, в дереве вместо вложенных нод будет лишь чистый список',
        treeSeparatorEmptyNote: 'Никаких вложенных нод, только чистый список',
        welcomeConsole: 'Добро пожаловать в консоль Redis',
        welcomeConsoleInfo: 'История по нажатию ВВЕРХ или ВНИЗ кллючена',
        redisListIndexInfo: 'Пустое для добавления, -1 что бы сделать вид или сохранить в указанную позицию.',
        console: 'Консоль',
        connectiondAdd: 'Добавить соединение',
        connectiondEdit: 'Изменить соединение',
        connectiondView: 'Осмотреть соединение',
        connections: 'Соединения',
        keysSort: {
            on: 'Сортировка ключей включена',
            off: 'Сортировка ключей выключена'
        },
        cluster: {
            on: 'Кластеризация активирована',
            off: 'Кластеризация деактивирована',
        },
        readonly: {
            on: 'Режим \"только чтение\"',
            off: 'Режим \"редактирование\"',
        },
        theme: {
            light: 'Светлая',
            dark: 'Тёмная корпоративная',
            darkNeu: 'Тёмная',
            darkoBluo: 'Тёмное синево',
            enterprise: 'Корпоративная',
            redis: 'Redis',
            matrix: 'Матрица',
        },
        connected: (opts) => {
            return `Подключено: ${opts.name}`
        },
        tree: 'Дерево',
        dragSlowly: 'Перетащите медленно',
        askAuth: 'Запросить авторизацию',
    },
    status: {
        dataCopied: 'Данные скопированы в буфер обмена',
        licenseSaved: 'Лицензия сохранена',
        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 `Выбран индекс базы данных ${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': 'Индекс этого списка вышел за границы',
        'donation-ware-feature': 'Эта функция доступна в донатерской версии.',
        'auto-connection-failed': 'Вероятно, соединение было удалено и авто-соединение провалилось по таковой причине.',
        invalid_console_command: 'Эта команда не работает через GUI.',
    },
    form: {
        error: {
            required: 'Обязательно',
            port: 'Порт в границах 1-65535',
            invalid: 'Форма заполнена неверно'
        },
        connection: {
            label: {
                name: 'Название',
                host: 'Имя хоста',
                port: 'Порт',
                password: 'Пароль',
                username: 'Имя пользователя',
            },
        },
        treeSettings: {
            maxValueDisplay: 'Длинна видимой строки',
            maxValueDisplayInfo: 'Если значение длинны показа равно нулю, будет показано всё, если же оно больше - вывод будет урезан. Если он равен минус одному, вывод будет скрыт до начала редактирования для строк, для других же типов будет показано всё.',
            maxKeys: 'Максимум символов',
            maxKeysInfo: 'Максимум ключей ограничен что бы GUI не падал.',
            keyCount: () => {
                return `Количество ключей: ${p3xr.state.keysRaw.length}`
            },
            label: {
                animation: 'Использовать анимацию',
                noAnimation: 'Выключить анимацию',
                jsonFormatTwoSpace: 'Форматировать JSON двумя пробелами',
                jsonFormatFourSpace: 'Форматировать JSON четырьмя пробелами',
                formName: 'Настройки Redis',
                searchModeClient: 'Клиентский режим поиска',
                searchModeServer: 'Серверный режим поиска',
                searchModeStartsWith: 'Поиск начала',
                searchModeIncludes: 'Поиск содержимого',
            },
            field: {
                treeSeparator: 'Разделитель дерева',
                treeSeparatorSelector: 'Избиратель разделителя дерева',
                page: 'Счётчик количества страниц',
                keyPageCount: 'Счётчик количества ключей',
                keysSort: 'Сортировка ключей',
                searchMode: 'Режим поиска',
                searchModeStartsWith: 'Поиск начинается с / содержит'
            },
            error: {
                keyPageCount: 'Ограничитель показа ключей на странице должен быть цельным числом в границах 5 - 100',
                page: 'Ограничитель показа страниц должен быть цельным числом в границах 10 - 1000',
                maxValueDisplay: 'Максимальное количество показываемых значений должен быть цельным числом между -1 и 32768',
                maxKeys: 'Максимальное количество показываемых ключей должен быть цельным числом между 100 и 100000',
            },

        },
        key: {
            label: {
                formName: {
                    add: 'Добавить новый ключ Redis',
                    edit: 'Редактировать ключ Redis',
                    append: 'Добавить к существующему ключу Redis',
                }
            },
            field: {
                streamTimestamp: 'Временная отметка',
                key: 'Ключ',
                type: 'Тип',
                index: 'Индекс',
                hashKey: 'Хэш',
                score: 'Очки',
                value: 'Значение',
            },
            error: {
                streamTimestamp: 'Временная отметка обязательна, либо в формате Redis либо как *',
                key: 'Ключ должен иметь длинну минимум одного символа',
                hashKey: 'Стол хэшей ключей должен иметь длинну минимум одного символа',
                score: 'Очки сортировки набора обязательны',
                value: 'Значение обязательно',
            }
        },
        main: {
            label: {
                database: 'База данных',
            }
        }
    },
    page: {
        overview: {
            noConnected: 'Нету подключения к Redis.',
            overviewClients: 'Показать подключения по количеству клиентов',
            connectedCount: (opt) => {
                if (opt.length === 1) {
                    return '1 клиент'
                }
                return `${opt.length} клиентов`

            }
        },
        key: {
            label: {
                key: 'Ключ',
                encoding: 'Кодировка',
                length: 'Размер',
                ttl: 'TTL',
                ttlTitle: 'Время На Жизнь (TTL)',
                type: 'Тип',
                ttlNotExpire: 'не истекает',
                lengthString: 'символы',
                lengthItem: 'обьекты',
                actions: 'Действия',
            },
            list: {
                table: {
                    index: 'Индекс',
                    value: 'Значение',
                }
            },
            hash: {
                table: {
                    hashkey: 'Хэш',
                    value: 'Значение',
                }
            },
            set: {
                table: {
                    value: 'Член'
                }
            },
            zset: {
                table: {
                    value: 'Член',
                    score: 'Очки',
                }
            },
            stream: {
              table:{
                  timestamp: 'Идентификатор временной отметки',
                  field: 'Поле',
                  value: 'Значение',
              }
            },
        },
        treeControls: {
            settings: 'Настройки дерева',
            expandAll: 'Развернуть все',
            collapseAll: 'Свернуть все',
            search: {
                search: 'Поиск ключа',
                clear: 'Очистить теперешний поиск',
                placeholderClient: 'Искать в клиенте',
                placeholderServer: 'Искать на сервере',
                largeSetInfo: 'In a large set, client side searching is disabled. so right now only server side searching is possible.',
                info: 'Поиск в клиенте означает совпадание с содержимым поля поиска. Серверный поиск означает поиск паттерном на подобие *{искомый-текст}*. Для поиска больших наборов лучше использовать серверный поиск. Для меньших поисковых наборов лучше использовать поиск клиентом.' + ` Если количество ключей превышает ${p3xr.settings.maxLightKeysCount}, можно будет искать только серверным поиском.`,
                infoDetails: 'Что бы понять как поиск работает, изучите настройки'
            },
            pager: {
                next: 'Следующий',
                prev: 'Предыдущий',
                first: 'Первый',
                last: 'Последний'
            }
        }
    },
    time: {
        years: 'года',
        months: 'месяца',
        days: 'дни',
        year: 'год',
        month: 'месяц',
        day: 'день',
    },
    redisTypes: {
        string: 'Строка',
        list: 'Список',
        hash: 'Стол хэшей',
        set: 'Набор',
        zset: 'Сортированный набор - zset',
        stream: 'Поток',
    }
}


module.exports = strings;