Add lokalisation (#3105)

* applied eslint

* add locales and lint the project

* removed error boundary

* updated locales

* fix min files

* fix locales

* fix erorrs

* fix errors

* fix errors

* fix error
This commit is contained in:
Andrey Babushkin 2025-03-07 11:18:12 +01:00 committed by GitHub
parent 5c9a29570c
commit ad9883ceb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 62 additions and 1507 deletions

View file

@ -34,7 +34,7 @@ function AssistSearchActions() {
<h3 className="text-2xl capitalize mr-2">
<span>{t('Co-Browse')}</span>
</h3>
<Tooltip title='Clear Search Filters'>
<Tooltip title={t('Clear Search Filters')}>
<Button
type="text"
disabled={!hasFilters && !hasEvents}
@ -45,7 +45,7 @@ function AssistSearchActions() {
</Button>
</Tooltip>
{!isSaas && isEnterprise && !modules.includes(MODULES.OFFLINE_RECORDINGS)
? <Button size={'small'} onClick={showRecords}>Training Videos</Button> : null
? <Button size={'small'} onClick={showRecords}>{t('Training Videos')}</Button> : null
}
{isEnterprise && userStore.account?.admin && (
<Button size={'small'} onClick={showStats}

View file

@ -47,6 +47,7 @@ const ListView: React.FC<Props> = ({
disableSelection = false,
inLibrary = false
}) => {
const { t } = useTranslation();
const [sorter, setSorter] = useState<{ field: string; order: 'ascend' | 'descend' }>({
field: 'lastModified',
order: 'descend',

View file

@ -118,7 +118,7 @@ function MetricsList({
icon={<PlusOutlined />}
className="btn-create-card mt-3"
>
{t('vCreate Card')}
{t('Create Card')}
</Button>
</Popover>
</div>

View file

@ -46,7 +46,7 @@ function WidgetDateRange({
React.useEffect(() => {
if (presetComparison && presetComparison.length) {
const option = DATE_RANGE_COMPARISON_OPTIONS(t).find((option: any) => option.value === presetComparison[0]);
const option = DATE_RANGE_COMPARISON_OPTIONS.find((option: any) => option.value === presetComparison[0]);
if (option) {
// @ts-ignore
const newPeriod = new Period({

View file

@ -44,17 +44,7 @@ function LanguageSwitcher() {
}}
placement="bottomLeft"
>
<Button>
<Space>
<Typography className="font-medium capitalize">
<div className="flex items-center gap-2">
<Languages size={12} />
{i18n.language}
</div>
</Typography>
<CaretDownOutlined rev={undefined} />
</Space>
</Button>
<Button icon={<Languages size={12} />} />
</Dropdown>
);
}

View file

@ -17,6 +17,7 @@ import Copyright from 'Shared/Copyright';
import stl from './login.module.css';
import { useTranslation } from 'react-i18next';
import { useStore } from 'App/mstore';
import LanguageSwitcher from '../LanguageSwitcher';
const FORGOT_PASSWORD = forgotPassword();
const SIGNUP_ROUTE = signup();
@ -279,6 +280,9 @@ function Login({ location }: LoginProps) {
</div>
<Copyright />
<div className="absolute bottom-0 right-0 p-4">
<LanguageSwitcher />
</div>
</div>
);
}

View file

@ -48,11 +48,11 @@ function SelectDateRange(props: Props) {
? DATE_RANGE_COMPARISON_OPTIONS
: DATE_RANGE_OPTIONS;
const selectedValue = usedPeriod?.rangeName
? dateRangeOptions(t).find(
? dateRangeOptions.find(
(obj: any) => obj.value === usedPeriod?.rangeName,
)
: null;
const options = dateRangeOptions(t).filter((obj: any) =>
const options = dateRangeOptions.filter((obj: any) =>
disableCustom ? obj.value !== CUSTOM_RANGE : true,
);

View file

@ -115,9 +115,9 @@ function CaptureRate(props: Props) {
title={
t(
'Define the percentage of user sessions to be recorded for detailed replay and analysis.',
) +
) + ' ' +
t(
'\nSessions exceeding this specified limit will not be captured or stored.',
'Sessions exceeding this specified limit will not be captured or stored.',
)
}
>

View file

@ -33,14 +33,14 @@ Object.keys(DATE_RANGE_LABELS).forEach((key) => {
export { DATE_RANGE_VALUES };
export const dateRangeValues = Object.keys(DATE_RANGE_VALUES);
export const DATE_RANGE_OPTIONS = (t) =>
export const DATE_RANGE_OPTIONS =
Object.keys(DATE_RANGE_LABELS).map((key) => ({
label: t(DATE_RANGE_LABELS[key]),
label: DATE_RANGE_LABELS[key],
value: key,
}));
export const DATE_RANGE_COMPARISON_OPTIONS = (t) =>
export const DATE_RANGE_COMPARISON_OPTIONS =
Object.keys(COMPARISON_DATE_RANGE_LABELS).map((key) => ({
label: t(COMPARISON_DATE_RANGE_LABELS[key]),
label: COMPARISON_DATE_RANGE_LABELS[key],
value: key,
}));

View file

@ -294,7 +294,6 @@
"You don't have permission to change.": "You don't have permission to change.",
"Define percentage of sessions you want to capture": "Define percentage of sessions you want to capture",
"Define the percentage of user sessions to be recorded for detailed replay and analysis.": "Define the percentage of user sessions to be recorded for detailed replay and analysis.",
"Sessions exceeding this specified limit will not be captured or stored.": "Sessions exceeding this specified limit will not be captured or stored.",
"Conditional": "Conditional",
"Custom": "Custom",
"Capture Rate": "Capture Rate",
@ -553,7 +552,6 @@
"Other": "Other",
"Response End": "Response End",
"Your Library": "Your Library",
"Create Card": "Create Card",
"Following card previews are based on mock data for illustrative purposes only.": "Following card previews are based on mock data for illustrative purposes only.",
"Create Blank": "Create Blank",
"Selected": "Selected",
@ -615,7 +613,7 @@
"Enter new card title": "Enter new card title",
"Unlock insights with data cards": "Unlock insights with data cards",
"Create and customize cards to analyze trends and user behavior effectively.": "Create and customize cards to analyze trends and user behavior effectively.",
"vCreate Card": "vCreate Card",
"Create Card": "Create Card",
"Sessions with selected issue": "Sessions with selected issue",
"All sessions": "All sessions",
"No data!": "No data!",
@ -1312,7 +1310,7 @@
"LAST PLAYED": "LAST PLAYED",
"Sessions Settings": "Sessions Settings",
"The percentage of session you want to capture": "The percentage of session you want to capture",
"nSessions exceeding this specified limit will not be captured or stored.": "nSessions exceeding this specified limit will not be captured or stored.",
"Sessions exceeding this specified limit will not be captured or stored.": "Sessions exceeding this specified limit will not be captured or stored.",
"Condition Set": "Condition Set",
"matching": "matching",
"Capture": "Capture",

View file

@ -294,7 +294,6 @@
"You don't have permission to change.": "No tienes permiso para realizar cambios.",
"Define percentage of sessions you want to capture": "Define el porcentaje de sesiones que deseas capturar",
"Define the percentage of user sessions to be recorded for detailed replay and analysis.": "Define el porcentaje de sesiones de usuario que se grabarán para una reproducción y análisis detallados.",
"Sessions exceeding this specified limit will not be captured or stored.": "Las sesiones que superen este límite especificado no serán capturadas ni almacenadas.",
"Conditional": "Condicional",
"Custom": "Personalizado",
"Capture Rate": "Tasa de Captura",
@ -553,7 +552,6 @@
"Other": "Otro",
"Response End": "Fin de respuesta",
"Your Library": "Tu biblioteca",
"Create Card": "Crear tarjeta",
"Following card previews are based on mock data for illustrative purposes only.": "Las siguientes vistas previas de tarjetas se basan en datos simulados solo con fines ilustrativos.",
"Create Blank": "Crear en blanco",
"Selected": "Seleccionado",
@ -615,7 +613,7 @@
"Enter new card title": "Introduce un nuevo título para la tarjeta",
"Unlock insights with data cards": "Desbloquea insights con tarjetas de datos",
"Create and customize cards to analyze trends and user behavior effectively.": "Crea y personaliza tarjetas para analizar tendencias y el comportamiento de los usuarios de manera efectiva.",
"vCreate Card": "Crear tarjeta",
"Create Card": "Crear tarjeta",
"Sessions with selected issue": "Sesiones con el problema seleccionado",
"All sessions": "Todas las sesiones",
"No data!": "¡Sin datos!",
@ -1312,7 +1310,7 @@
"LAST PLAYED": "ÚLTIMA REPRODUCCIÓN",
"Sessions Settings": "Configuración de Sesiones",
"The percentage of session you want to capture": "El porcentaje de sesiones que deseas capturar",
"nSessions exceeding this specified limit will not be captured or stored.": "Las sesiones que superen este límite especificado no se capturarán ni almacenarán.",
"Sessions exceeding this specified limit will not be captured or stored.": "Las sesiones que superen este límite especificado no se capturarán ni almacenarán.",
"Condition Set": "Conjunto de Condiciones",
"matching": "coincidencia",
"Capture": "Capturar",

View file

@ -294,7 +294,6 @@
"You don't have permission to change.": "Vous navez pas la permission de modifier.",
"Define percentage of sessions you want to capture": "Définir le pourcentage de sessions à capturer",
"Define the percentage of user sessions to be recorded for detailed replay and analysis.": "Définissez le pourcentage de sessions utilisateur à enregistrer pour une relecture et une analyse détaillées.",
"Sessions exceeding this specified limit will not be captured or stored.": "Les sessions dépassant cette limite définie ne seront ni capturées ni stockées.",
"Conditional": "Conditionnel",
"Custom": "Personnalisé",
"Capture Rate": "Taux de capture",
@ -553,7 +552,6 @@
"Other": "Autre",
"Response End": "Fin de la réponse",
"Your Library": "Votre bibliothèque",
"Create Card": "Créer une carte",
"Following card previews are based on mock data for illustrative purposes only.": "Les aperçus suivants sont basés sur des données fictives à titre illustratif uniquement.",
"Create Blank": "Créer une carte vierge",
"Selected": "Sélectionné",
@ -615,7 +613,7 @@
"Enter new card title": "Saisir le nouveau titre de la carte",
"Unlock insights with data cards": "Débloquez des insights avec des cartes de données",
"Create and customize cards to analyze trends and user behavior effectively.": "Créez et personnalisez des cartes pour analyser les tendances et le comportement des utilisateurs efficacement.",
"vCreate Card": "Créer une carte",
"Create Card": "Créer une carte",
"Sessions with selected issue": "Sessions avec le problème sélectionné",
"All sessions": "Toutes les sessions",
"No data!": "Aucune donnée !",
@ -1312,7 +1310,7 @@
"LAST PLAYED": "DERNIÈRE LECTURE",
"Sessions Settings": "Paramètres des sessions",
"The percentage of session you want to capture": "Le pourcentage de sessions que vous souhaitez capturer",
"nSessions exceeding this specified limit will not be captured or stored.": "Les sessions dépassant cette limite ne seront ni capturées ni stockées.",
"Sessions exceeding this specified limit will not be captured or stored.": "Les sessions dépassant cette limite ne seront ni capturées ni stockées.",
"Condition Set": "Ensemble de conditions",
"matching": "correspondant",
"Capture": "Capturer",
@ -1440,4 +1438,4 @@
"Failed to create an alert": "Échec de la création de l'alerte",
"Eg. When Threshold is above 1ms over the past 15mins, notify me through Slack #foss-notifications.": "Ex. Lorsque le seuil dépasse 1ms au cours des 15 dernières minutes, notifiez-moi via Slack #foss-notifications.",
"Alert based on": "Alerte basée sur"
}
}

View file

@ -14,7 +14,7 @@
"Eg. Alert me if memory.avg is greater than 500mb over the past 4 hours.": "Например: Оповестить меня, если memory.avg превысит 500 МБ за последние 4 часа.",
"Eg. Alert me if % change of memory.avg is greater than 10% over the past 4 hours compared to the previous 4 hours.": "Например: Оповестить меня, если % изменения memory.avg превысит 10% за последние 4 часа по сравнению с предыдущими 4 часами.",
"Condition": "Условие",
"Trigger when": "сработать, когда",
"Trigger when": "Сработать, когда",
"of": "из",
"Select Metric": "Выбрать метрику",
"is": "",
@ -355,10 +355,10 @@
"Role created": "Роль создана",
"Ex. Admin": "Например, Админ",
"All Projects": "Все проекты",
"Uncheck to select specific projects": "снимите галочку, чтобы выбрать конкретные проекты",
"Uncheck to select specific projects": "Снимите галочку, чтобы выбрать конкретные проекты",
"Select": "Выбрать",
"Capability Access": "Доступ к возможностям",
"Sessions Listing": "список сессий",
"Sessions Listing": "Список сессий",
"You have reached site limit.": "Вы достигли лимита сайтов.",
"Add a Project": "Добавить проект",
"Session Capture Rate": "Частота записи сессий",
@ -392,7 +392,7 @@
"Role": "Роль",
"Select Role": "Выберите роль",
"Invite": "Пригласить",
"Created On": "создано",
"Created On": "Создано",
"Admin": "Админ",
"Owner": "Владелец",
"Member": "Участник",
@ -428,7 +428,7 @@
"from": "c",
"representing a": "что составляет",
"across all sessions.": "по всем сессиям.",
"Network request to path": "сетевой запрос к пути",
"Network request to path": "Сетевой запрос к пути",
"has": "имеет",
"increased": "увеличился",
"decreased": "уменьшился",
@ -443,7 +443,7 @@
"More": "Подробнее",
"Number of Errors": "Количество ошибок",
"Version:": "Версия:",
"Sessions:": "сессии:",
"Sessions:": "Сессии:",
"ms": "мc",
"Slow": "Медленно",
"Fast": "Быстро",
@ -481,7 +481,7 @@
"Monitors": "Мониторы",
"Web Analytics": "Веб-аналитика",
"What do you want to visualize?": "Что вы хотите визуализировать?",
"Ask AI": "спросить AI",
"Ask AI": "Спросить AI",
"Add existing card": "Добавить существующую карточку",
"Add a card to dashboard": "Добавить карточку на дашборд",
"or": "или",
@ -539,7 +539,7 @@
"Errors": "Ошибки",
"Rage Clicks": "Rage-клики",
"Dead Clicks": "Мёртвые клики",
"4XX Pages": "страницы 4XX",
"4XX Pages": "Страницы 4XX",
"Mouse Trashing": "Беспорядочное движение мыши",
"Excessive Scrolling": "Чрезмерная прокрутка",
"HTTP response status code (404 Not Found)": "Код ответа HTTP (404 Не найдено)",
@ -561,7 +561,7 @@
"Create Metric": "Создать метрику",
"Add metrics to dashboard": "Добавить метрики в дашборд",
"Past 7 days data": "Данные за последние 7 дней",
"Create new dashboard by choosing from the range of predefined metrics that you care about. You can always add your custom metrics later.": "создайте новый дашборд, выбрав из набора предустановленных метрик, которые вам интересны. Позже вы всегда можете добавить свои метрики.",
"Create new dashboard by choosing from the range of predefined metrics that you care about. You can always add your custom metrics later.": "Создайте новый дашборд, выбрав из набора предустановленных метрик, которые вам интересны. Позже вы всегда можете добавить свои метрики.",
"Add Selected to Dashboard": "Добавить выбранные в дашборд",
"Metrics": "Метрики",
"Download Report": "Скачать отчет",
@ -591,7 +591,7 @@
"Custom Error": "Пользовательская ошибка",
"Error": "Ошибка",
"Issue": "Проблема",
"Page / Element": "страница / Элемент",
"Page / Element": "Страница / Элемент",
"# Users Affected": "Количество затронутых пользователей",
"Conversion Impact": "Влияние на конверсии",
"Lost Conversions": "Утраченные конверсии",
@ -606,7 +606,7 @@
"Cards Library": "Библиотека карточек",
"Filter by title or owner": "Фильтровать по названию или владельцу",
"cards": "карточки",
"Today at": "сегодня в",
"Today at": "Cегодня в",
"Yesterday at": "Вчера в",
"days ago at": "дней назад в",
"at": "в",
@ -614,9 +614,8 @@
"Rename Card": "Переименовать карточку",
"Enter new card title": "Введите новое название карточки",
"Unlock insights with data cards": "Откройте аналитические данные с помощью карточек",
"Create and customize cards to analyze trends and user behavior effectively.": "создавайте и настраивайте карточки для анализа тенденций и поведения пользователей.",
"vCreate Card": "создать карточку",
"Sessions with selected issue": "сессии с выбранной проблемой",
"Create and customize cards to analyze trends and user behavior effectively.": "Cоздавайте и настраивайте карточки для анализа тенденций и поведения пользователей.",
"Sessions with selected issue": "Сессии с выбранной проблемой",
"All sessions": "Все сессии",
"No data!": "Нет данных!",
"Processing data...": "Обработка данных...",
@ -651,12 +650,12 @@
"Chart Series": "Серия графика",
"ADD": "ДОБАВИТЬ",
"Cannot save funnel metric without at least 2 events": "Невозможно сохранить метрику воронки без как минимум 2 событий",
"Create & Add to Dashboard": "создать и добавить в дашборд",
"Create & Add to Dashboard": "Создать и добавить в дашборд",
"Undo": "Отменить",
"Maximum of 3 series reached.": "Достигнут максимум из 3 серий.",
"Add Series": "Добавить серию",
"Expand": "Развернуть",
"Collapse": "свернуть",
"Collapse": "Свернуть",
"Custom Events": "Пользовательские события",
"Journeys With": "Пути с",
"Start Point": "Начальная точка",
@ -690,7 +689,7 @@
"Use feature flags to deploy and rollback new functionality with ease.": "Используйте фича-флаги для простого развертывания и отката новой функциональности.",
"Last modified": "Последнее изменение",
"By": "От",
"Status": "статус",
"Status": "Статус",
"Feature Flags.": "Фича-флаги",
"Create Feature Flag": "Создать фича-флаг",
"No flag found": "Флаг не найден",
@ -725,8 +724,8 @@
"Multi-Variant (String)": "Многовариантный (строка)",
"Users will be served": "Пользователи получат",
"if they match one or more rollout conditions.": "если они соответствуют одному или нескольким условиям развертывания.",
"Persist flag across authentication": "сохранить флаг между авторизациями",
"Persist flag to not reset this feature flag status after a user is identified.": "сохранять флаг, чтобы не Сбрасывать его статус после идентификации пользователя.",
"Persist flag across authentication": "Сохранить флаг между авторизациями",
"Persist flag to not reset this feature flag status after a user is identified.": "Сохранять флаг, чтобы не Сбрасывать его статус после идентификации пользователя.",
"Enable this feature flag (Status)?": "Включить этот фича-флаг (статус)?",
"Feature flag will be enabled upon saving it.": "Фича-флаг будет включен после сохранения.",
"Indicate the users for whom you intend to make this flag available. Keep in mind that each set of conditions will be deployed separately from one another.": "Укажите пользователей, для которых этот флаг должен быть доступен. Помните, что каждый набор условий будет развернут отдельно.",
@ -768,11 +767,11 @@
"Lost conversion": "Потерянная конверсия",
"sessions dropped due to issues.": "сессий прервано из-за проблем.",
"Troubleshooting guide": "Руководство по устранению неполадок",
"Ask slack community": "спросить сообщество Slack",
"Ask slack community": "Спросить сообщество Slack",
"Raise an issue": "Сообщить о проблеме",
"Installation Status": "Статус установки",
"Recheck": "Перепроверить",
"Create Account": "создать аккаунт",
"Create Account": "Создать аккаунт",
"Error while fetching data...": "Ошибка при получении данных...",
"All Systems Operational": "Все системы работают нормально",
"Service disruption": "Сбой в работе сервиса",
@ -843,7 +842,7 @@
"Single Page Application (SPA)": "Одностраничное приложение (SPA)",
"use the below code:": "используйте следующий код:",
"Otherwise, if your web app is": "Или, если ваше веб-приложение",
"Server-Side-Rendered (SSR)": "серверное рендеринг (SSR)",
"Server-Side-Rendered (SSR)": "Серверный рендеринг (SSR)",
"(i.e. NextJS, NuxtJS),": "(например, NextJS, NuxtJS),",
"consider async imports": "рассмотрите асинхронный импорт",
"or cjs version of the library:": "или cjs-версию библиотеки:",
@ -855,7 +854,7 @@
"Invite and Collaborate": "Пригласить и сотрудничать",
"Project Key": "Ключ проекта",
"Google Tag Manager (GTM)": "Google Tag Manager (GTM)",
"Below code snippet changes depending on the data recording options chosen.": "следующий фрагмент кода меняется в зависимости от выбранных параметров записи данных.",
"Below code snippet changes depending on the data recording options chosen.": "Следующий фрагмент кода меняется в зависимости от выбранных параметров записи данных.",
"</head>": "</head>",
"Note:": "Примечание:",
"This integration is only available to OpenReplay Cloud customers.": "Эта интеграция доступна только клиентам OpenReplay Cloud.",
@ -873,7 +872,7 @@
"Session Replay with DevTools, Co-browsing and Product Analytics": "Повтор сессии с DevTools, совместным просмотром и аналитикой продукта",
"Bug reporting via Spot": "Сообщение об ошибках через Spot",
"Continue": "Продолжить",
"Autoplaying next clip in": "следующий клип начнется через",
"Autoplaying next clip in": "Следующий клип начнется через",
"seconds": "секунд",
"Play Now": "Воспроизвести сейчас",
"Upload File": "Загрузить файл",
@ -883,7 +882,7 @@
"Play Previous Session": "Воспроизвести предыдущую сессию",
"Play Next Session": "Воспроизвести следующую сессия",
"Elapsed": "Прошло",
"Session not found": "сессия не найдена",
"Session not found": "Сессия не найдена",
"The remote session doesnt exist anymore.": "Удаленная сессия больше не существует.",
"The user may have closed the tab/browser while you were trying to establish a connection.": "Пользователь, возможно, закрыл вкладку/браузер во время установки соединения.",
"Connecting...": "Подключение...",
@ -892,7 +891,7 @@
"If it's taking too much time, it could mean the user is simply inactive.": "Если это занимает слишком много времени, возможно, пользователь просто неактивен.",
"Connected": "Подключено",
"Disconnected": "Отключено",
"The connection was lost with the remote session. The user may have simply closed the tab/browser.": "соединение с удаленной сессией потеряно. Возможно, пользователь просто закрыл вкладку/браузер.",
"The connection was lost with the remote session. The user may have simply closed the tab/browser.": "Соединение с удаленной сессией потеряно. Возможно, пользователь просто закрыл вкладку/браузер.",
"Something wrong just happened. Try refreshing the page.": "Произошла ошибка. Попробуйте обновить страницу.",
"Fullscreen": "Полноэкранный режим",
"Get a quick overview on the issues in this session.": "Получите краткий обзор проблем в этой сессии.",
@ -976,7 +975,7 @@
"Filter by name or type": "Фильтровать по имени или типу",
"Start": "Начать",
"Highlight": "Выделить",
"Save key moments from sessions. Access them anytime on the Highlights page to share with your team.": "сохраняйте ключевые моменты из сессий. Получайте к ним доступ в любое время на странице «Выделенное», чтобы делиться с командой.",
"Save key moments from sessions. Access them anytime on the Highlights page to share with your team.": "Сохраняйте ключевые моменты из сессий. Получайте к ним доступ в любое время на странице «Выделенное», чтобы делиться с командой.",
"/200 characters remaining": "Осталось 200 символов",
"From": "От",
"To": "До",
@ -988,7 +987,7 @@
"Select a user": "Выберите пользователя",
"Issue Title / Summary": "Название / Краткое описание проблемы",
"E.g. Found this issue at 3:29secs": "Например: Обнаружена эта проблема на 3:29 сек.",
"Create Issue": "создать задачу",
"Create Issue": "Создать задачу",
"Add Session": "Добавить сессию",
"Exit to sessions list": "Выйти к списку сессий",
"Watching": "Просмотр",
@ -1022,7 +1021,7 @@
"Framerate": "Частота кадров",
"CPU Load": "Загрузка процессора",
"Nodes count": "Количество узлов",
"Page is not active. User switched the tab or hid the window.": "страница неактивна. Пользователь переключил вкладку или свернул окно.",
"Page is not active. User switched the tab or hid the window.": "Страница неактивна. Пользователь переключил вкладку или свернул окно.",
"App is in the background.": "Приложение находится в фоновом режиме.",
"Used Memory:": "Использованная память:",
"Device Memory Size": "Объем памяти устройства",
@ -1033,9 +1032,9 @@
"Summary AI": "AI-резюме",
"Rewind": "Перемотка",
"Jump": "Переход",
"Secs": "секунды",
"Secs": "Секунды",
"Set default skip duration": "Установить длительность пропуска по умолчанию",
"Playback speed": "скорость воспроизведения",
"Playback speed": "Cкорость воспроизведения",
"Change playback speed": "Изменить скорость воспроизведения",
"Skip Inactivity": "Пропуск бездействия",
"Playback Time Mode": "Режим времени воспроизведения",
@ -1051,7 +1050,7 @@
"Focus Mode:": "Режим фокуса:",
"Autoplaying next session in": "Автовоспроизведение следующего сессии через",
"If it's taking too much time, it could mean the user is simply inactive": "Если это занимает слишком много времени, возможно, пользователь просто неактивен",
"The connection was lost with the remote session. The user may have simply closed the tab/browser": "соединение с удаленной сессией потеряно. Возможно, пользователь просто закрыл вкладку/браузер",
"The connection was lost with the remote session. The user may have simply closed the tab/browser": "Cоединение с удаленной сессией потеряно. Возможно, пользователь просто закрыл вкладку/браузер",
"Record Activity": "Записать активность",
"Stop Recording": "Остановить запись",
"Payload:": "Полезная нагрузка:",
@ -1237,7 +1236,7 @@
"please follow the instructions in it to use OpenReplay uninterruptedly.": "пожалуйста, следуйте инструкциям в письме для беспрерывного использования OpenReplay.",
"Please, verify your email.": "Пожалуйста, подтвердите свою почту.",
"Resend": "Отправить повторно",
"Network Request": "сетевой запрос",
"Network Request": "Cетевой запрос",
"Request Method": "Метод запроса",
"Status Code": "Код статуса",
"Body is empty or not captured.": "Тело запроса пустое или не захвачено.",
@ -1289,10 +1288,10 @@
"Request/Response": "Запрос/Ответ",
"Request Sent": "Запрос отправлен",
"Waiting (TTFB)": "Ожидание (TTFB)",
"Download": "скачать",
"Download": "Cкачать",
"Total": "Итого",
"Updated": "Обновлено",
"Saved": "сохранено",
"Saved": "Cохранено",
"Successfully": "Успешно",
"Are you sure you want to permanently delete this Saved search?": "Вы уверены, что хотите навсегда удалить этот сохраненный поиск?",
"Save Search": "Сохранить поиск",
@ -1312,7 +1311,6 @@
"LAST PLAYED": "ПОсЛЕДНЕЕ ВОсПРОИЗВЕДЕНИЕ",
"Sessions Settings": "Настройки сессий",
"The percentage of session you want to capture": "Процент сессий, которые вы хотите захватывать",
"nSessions exceeding this specified limit will not be captured or stored.": "сессии, превышающие этот лимит, не будут захватываться или сохраняться.",
"Condition Set": "Набор условий",
"matching": "совпадающих",
"Capture": "Захват",
@ -1361,7 +1359,7 @@
"Message": "Сообщение",
"Add Message (Optional)": "Добавить сообщение (необязательно)",
"Send": "Отправить",
"Report Issues": "сообщить о проблемах",
"Report Issues": "Сообщить о проблемах",
"Community Support": "Поддержка сообщества",
"1. Installation": "1. Установка",
"2. Usage": "2. Использование",

View file

@ -294,7 +294,6 @@
"You don't have permission to change.": "您没有权限进行更改。",
"Define percentage of sessions you want to capture": "定义您希望捕获的会话百分比",
"Define the percentage of user sessions to be recorded for detailed replay and analysis.": "定义要记录以进行详细回放和分析的用户会话的百分比。",
"Sessions exceeding this specified limit will not be captured or stored.": "超出此指定限制的会话将不会被捕获或存储。",
"Conditional": "条件式",
"Custom": "自定义",
"Capture Rate": "捕获率",
@ -553,7 +552,6 @@
"Other": "其他",
"Response End": "响应结束",
"Your Library": "您的库",
"Create Card": "创建卡片",
"Following card previews are based on mock data for illustrative purposes only.": "以下卡片预览基于模拟数据,仅供参考。",
"Create Blank": "创建空白卡片",
"Selected": "已选",
@ -615,7 +613,7 @@
"Enter new card title": "输入新卡片标题",
"Unlock insights with data cards": "通过数据卡片解锁洞察",
"Create and customize cards to analyze trends and user behavior effectively.": "创建并自定义卡片,以有效分析趋势和用户行为。",
"vCreate Card": "创建卡片",
"Create Card": "创建卡片",
"Sessions with selected issue": "包含所选问题的会话",
"All sessions": "所有会话",
"No data!": "无数据!",
@ -1312,7 +1310,7 @@
"LAST PLAYED": "上次播放",
"Sessions Settings": "会话设置",
"The percentage of session you want to capture": "您希望捕获的会话百分比",
"nSessions exceeding this specified limit will not be captured or stored.": "超出此指定限制的会话将不会被捕获或存储。",
"Sessions exceeding this specified limit will not be captured or stored.": "超出此指定限制的会话将不会被捕获或存储。",
"Condition Set": "条件集",
"matching": "匹配",
"Capture": "捕获",

File diff suppressed because it is too large Load diff