Fix localisation (#3125)

* fix localised errors

* fix locales

* fix locales
This commit is contained in:
Andrey Babushkin 2025-03-10 16:43:53 +01:00 committed by GitHub
parent eab2d3a2cf
commit 6ab3c80985
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 55 additions and 31 deletions

View file

@ -1,6 +1,7 @@
import React, { useState, useRef, useEffect } from 'react'; import React, { useState, useRef, useEffect } from 'react';
import { Input, Tooltip } from 'antd'; import { Input, Tooltip } from 'antd';
import cn from 'classnames'; import cn from 'classnames';
import { useTranslation } from 'react-i18next';
interface Props { interface Props {
name: string; name: string;
@ -10,6 +11,7 @@ interface Props {
} }
function WidgetName(props: Props) { function WidgetName(props: Props) {
const { t } = useTranslation();
const { canEdit = true } = props; const { canEdit = true } = props;
const [editing, setEditing] = useState(false); const [editing, setEditing] = useState(false);
const [name, setName] = useState(props.name); const [name, setName] = useState(props.name);

View file

@ -9,6 +9,7 @@ import { Eye, Link } from 'lucide-react';
import { toast } from 'react-toastify'; import { toast } from 'react-toastify';
import { resentOrDate } from 'App/date'; import { resentOrDate } from 'App/date';
import { noNoteMsg } from 'App/mstore/notesStore'; import { noNoteMsg } from 'App/mstore/notesStore';
import { useTranslation } from 'react-i18next';
function HighlightClip({ function HighlightClip({
note = 'Highlight note', note = 'Highlight note',
@ -33,6 +34,7 @@ function HighlightClip({
onDelete: (id: any) => any; onDelete: (id: any) => any;
canEdit: boolean; canEdit: boolean;
}) { }) {
const { t } = useTranslation();
const noteMsg = note || noNoteMsg; const noteMsg = note || noNoteMsg;
const copyToClipboard = () => { const copyToClipboard = () => {
const currUrl = window.location.href; const currUrl = window.location.href;
@ -44,24 +46,24 @@ function HighlightClip({
{ {
key: 'copy', key: 'copy',
icon: <Link size={14} strokeWidth={1} />, icon: <Link size={14} strokeWidth={1} />,
label: 'Copy Link', label: t('Copy Link'),
}, },
{ {
key: 'edit', key: 'edit',
icon: <EditOutlined />, icon: <EditOutlined />,
label: 'Edit', label: t('Edit'),
disabled: !canEdit, disabled: !canEdit,
}, },
{ {
key: 'visibility', key: 'visibility',
icon: <Eye strokeWidth={1} size={14} />, icon: <Eye strokeWidth={1} size={14} />,
label: 'Visibility', label: t('Visibility'),
disabled: !canEdit, disabled: !canEdit,
}, },
{ {
key: 'delete', key: 'delete',
icon: <DeleteOutlined />, icon: <DeleteOutlined />,
label: 'Delete', label: t('Delete'),
disabled: !canEdit, disabled: !canEdit,
}, },
]; ];
@ -72,14 +74,14 @@ function HighlightClip({
return openEdit(); return openEdit();
case 'copy': case 'copy':
copyToClipboard(); copyToClipboard();
toast.success('Highlight link copied to clipboard'); toast.success(t('Highlight link copied to clipboard'));
return; return;
case 'delete': case 'delete':
const res = await confirm({ const res = await confirm({
header: 'Are you sure delete this Highlight?', header: t('Are you sure delete this Highlight?'),
confirmation: confirmation:
'Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.', t('Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.'),
confirmButton: 'Yes, Delete', confirmButton: t('Yes, Delete'),
}); });
if (res) { if (res) {
onDelete(); onDelete();

View file

@ -1486,5 +1486,9 @@
"above": "above", "above": "above",
"above or equal to": "above or equal to", "above or equal to": "above or equal to",
"below": "below", "below": "below",
"below or equal to": "below or equal to" "below or equal to": "below or equal to",
"Highlight link copied to clipboard": "Highlight link copied to clipboard",
"Are you sure delete this Highlight?": "Are you sure delete this Highlight?",
"Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.": "Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.",
"Yes, Delete": "Yes, Delete"
} }

View file

@ -1486,5 +1486,9 @@
"above": "por encima de", "above": "por encima de",
"above or equal to": "por encima o igual a", "above or equal to": "por encima o igual a",
"below": "por debajo de", "below": "por debajo de",
"below or equal to": "por debajo o igual a" "below or equal to": "por debajo o igual a",
"Highlight link copied to clipboard": "Enlace resaltado copiado al portapapeles",
"Are you sure delete this Highlight?": "¿Estás seguro de que deseas eliminar este Resaltado?",
"Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.": "Eliminar un Resaltado solo eliminará esta instancia y su nota asociada. No afectará a la sesión original.",
"Yes, Delete": "Sí, eliminar"
} }

View file

@ -1486,5 +1486,9 @@
"above": "au-dessus de", "above": "au-dessus de",
"above or equal to": "supérieur ou égal à", "above or equal to": "supérieur ou égal à",
"below": "en dessous de", "below": "en dessous de",
"below or equal to": "inférieur ou égal à" "below or equal to": "inférieur ou égal à",
"Highlight link copied to clipboard": "Lien de mise en avant copié dans le presse-papiers",
"Are you sure delete this Highlight?": "Êtes-vous sûr de vouloir supprimer cette mise en avant ?",
"Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.": "La suppression d'une mise en avant ne supprimera que cette instance et sa note associée. Cela n'affectera pas la session d'origine.",
"Yes, Delete": "Oui, supprimer"
} }

View file

@ -69,8 +69,8 @@
"You don't have the permissions to perform this action.": "У вас нет прав для выполнения этого действия.", "You don't have the permissions to perform this action.": "У вас нет прав для выполнения этого действия.",
"End": "Завершить", "End": "Завершить",
"Join Call": "Присоединиться к звонку", "Join Call": "Присоединиться к звонку",
"Live Sessions": "Живые сессии", "Live Sessions": "Онлайн сессии",
"No live sessions found.": "Живые сессии не найдены.", "No live sessions found.": "Онлайн сессии не найдены.",
"TAB": "ВКЛАДКА", "TAB": "ВКЛАДКА",
"Agent": "Агент", "Agent": "Агент",
"Total Live Duration": "Общая Live продолжительность", "Total Live Duration": "Общая Live продолжительность",
@ -254,7 +254,7 @@
"Co-Browse": "Совместный просмотр", "Co-Browse": "Совместный просмотр",
"Enable live session replay, remote control, annotations and webRTC call/video.": "Включите воспроизведение сессий в реальном времени, удалённое управление, аннотации и звонки/видео через WebRTC.", "Enable live session replay, remote control, annotations and webRTC call/video.": "Включите воспроизведение сессий в реальном времени, удалённое управление, аннотации и звонки/видео через WebRTC.",
"Recordings": "Записи", "Recordings": "Записи",
"Record live sessions while co-browsing with users and share it with your team for training purposes.": "Записывайте живые сессии при совместном просмотре с пользователями и делитесь ими с командой для обучения.", "Record live sessions while co-browsing with users and share it with your team for training purposes.": "Записывайте онлайн сессии при совместном просмотре с пользователями и делитесь ими с командой для обучения.",
"Cobrowsing Reports": "Отчёты по совместному просмотру", "Cobrowsing Reports": "Отчёты по совместному просмотру",
"Keep an eye on cobrowsing metrics across your team and generate reports.": "Отслеживайте метрики совместного просмотра по всей команде и создавайте отчёты.", "Keep an eye on cobrowsing metrics across your team and generate reports.": "Отслеживайте метрики совместного просмотра по всей команде и создавайте отчёты.",
"Highlights": "Хайлайты", "Highlights": "Хайлайты",
@ -870,7 +870,7 @@
"You will have access to all OpenReplay features regardless of your choice.": "Вы получите доступ ко всем функциям OpenReplay независимо от вашего выбора.", "You will have access to all OpenReplay features regardless of your choice.": "Вы получите доступ ко всем функциям OpenReplay независимо от вашего выбора.",
"Your preference will simply help us tailor your onboarding experience.": "Ваш выбор поможет нам адаптировать процесс вашей настройки.", "Your preference will simply help us tailor your onboarding experience.": "Ваш выбор поможет нам адаптировать процесс вашей настройки.",
"Session Replay with DevTools, Co-browsing and Product Analytics": "Повтор сессии с DevTools, совместным просмотром и аналитикой продукта", "Session Replay with DevTools, Co-browsing and Product Analytics": "Повтор сессии с DevTools, совместным просмотром и аналитикой продукта",
"Bug reporting via Spot": "Сообщение об ошибках через Spot", "Bug reporting via Spot": "Сообщение об ошибках через Спот",
"Continue": "Продолжить", "Continue": "Продолжить",
"Autoplaying next clip in": "Следующий клип начнется через", "Autoplaying next clip in": "Следующий клип начнется через",
"seconds": "секунд", "seconds": "секунд",
@ -1091,8 +1091,8 @@
"terms of service": "условиями использования", "terms of service": "условиями использования",
"privacy policy": "политикой конфиденциальности", "privacy policy": "политикой конфиденциальности",
"Already having an account?": "Уже есть аккаунт?", "Already having an account?": "Уже есть аккаунт?",
"OpenReplay Spot": "OpenReplay Spot", "OpenReplay Spot": "OpenReplay Спот",
"The Spot link has expired.": "Ссылка Spot истекла.", "The Spot link has expired.": "Ссылка на Спот истекла.",
"Contact the person who shared it to re-spot.": "Свяжитесь с человеком, который поделился ссылкой, чтобы получить новую.", "Contact the person who shared it to re-spot.": "Свяжитесь с человеком, который поделился ссылкой, чтобы получить новую.",
"1 Hour": "1 час", "1 Hour": "1 час",
"3 Hours": "3 часа", "3 Hours": "3 часа",
@ -1102,7 +1102,7 @@
"Copied!": "Скопировано!", "Copied!": "Скопировано!",
"Copy Link": "Скопировать ссылку", "Copy Link": "Скопировать ссылку",
"Enable Public Sharing": "Включить публичный доступ", "Enable Public Sharing": "Включить публичный доступ",
"Anyone with the following link can access this Spot": "Любой, у кого есть эта ссылка, сможет получить доступ к этому Spot", "Anyone with the following link can access this Spot": "Любой, у кого есть эта ссылка, сможет получить доступ к этому Споту",
"Link expires in": "Ссылка истекает через", "Link expires in": "Ссылка истекает через",
"Disable Public Sharing": "Отключить публичный доступ", "Disable Public Sharing": "Отключить публичный доступ",
"Comments": "Комментарии", "Comments": "Комментарии",
@ -1113,19 +1113,19 @@
"No Data": "Нет данных", "No Data": "Нет данных",
"Activity": "Активность", "Activity": "Активность",
"Download Video": "Скачать Видео", "Download Video": "Скачать Видео",
"All Spots": "Все Spots", "All Spots": "Все Споты",
"Spot": "Spot", "Spot": "Spot",
"by OpenReplay": "от OpenReplay", "by OpenReplay": "от OpenReplay",
"Manage Access": "Управление доступом", "Manage Access": "Управление доступом",
"Edit Spot": "Редактировать Spot", "Edit Spot": "Редактировать Спот",
"Spot is designed for Chrome. Please install Chrome and navigate to this page to start using Spot.": "Spot создан для Chrome. Пожалуйста, установите Chrome и перейдите на эту страницу, чтобы начать использовать Spot.", "Spot is designed for Chrome. Please install Chrome and navigate to this page to start using Spot.": "Спот создан для Chrome. Пожалуйста, установите Chrome и перейдите на эту страницу, чтобы начать использовать Спот.",
"It looks like you havent installed the Spot extension yet.": "Похоже, расширение Spot еще не установлено.", "It looks like you havent installed the Spot extension yet.": "Похоже, расширение Спот еще не установлено.",
"Get Chrome Extension": "Установить расширение для Chrome", "Get Chrome Extension": "Установить расширение для Chrome",
"Spot List": "Список Spots", "Spot List": "Список Спотов",
"My Spots": "Мои Spots", "My Spots": "Мои Споты",
"deleted successfully.": "успешно удалено.", "deleted successfully.": "успешно удалено.",
"No Matching Results.": "Нет совпадающих результатов.", "No Matching Results.": "Нет совпадающих результатов.",
"spots.": "spots.", "spots.": "споты.",
"Live Participants": "Участники в реальном времени", "Live Participants": "Участники в реальном времени",
"Filter by participant ID or name": "Фильтровать по ID участника или имени", "Filter by participant ID or name": "Фильтровать по ID участника или имени",
"ongoing tests.": "текущие тесты.", "ongoing tests.": "текущие тесты.",
@ -1266,8 +1266,8 @@
"Lucy": "Люси", "Lucy": "Люси",
"Scatter Chart": "Диаграмма рассеяния", "Scatter Chart": "Диаграмма рассеяния",
"Integrate Slack or MS Teams": "Интеграция со Slack или MS Teams", "Integrate Slack or MS Teams": "Интеграция со Slack или MS Teams",
"No live sessions found": "Живые сессии не найдены", "No live sessions found": "Онлайн сессии не найдены",
"Support users with live sessions, cobrowsing, and video calls.": "Поддерживайте пользователей с помощью живых сессий, совместного просмотра и видеозвонков.", "Support users with live sessions, cobrowsing, and video calls.": "Поддерживайте пользователей с помощью онлайн сессий, совместного просмотра и видеозвонков.",
"Refresh": "Обновить", "Refresh": "Обновить",
"Remove Tag": "Удалить тег", "Remove Tag": "Удалить тег",
"Remove": "Удалить", "Remove": "Удалить",
@ -1416,7 +1416,7 @@
"Show Menu": "Показать меню", "Show Menu": "Показать меню",
"Hide Menu": "Скрыть меню", "Hide Menu": "Скрыть меню",
"Replays": "Повторы", "Replays": "Повторы",
"Spots": "Spots", "Spots": "Споты",
"Analytics": "Аналитика", "Analytics": "Аналитика",
"Product Optimization": "Оптимизация продукта", "Product Optimization": "Оптимизация продукта",
"Preferences": "Настройки", "Preferences": "Настройки",
@ -1443,7 +1443,7 @@
"Dashboard": "Дашборд", "Dashboard": "Дашборд",
"Assist (Live)": "Assist (Live)", "Assist (Live)": "Assist (Live)",
"Assist (Call)": "Assist (Call)", "Assist (Call)": "Assist (Call)",
"Change Spot Visibility": "Изменить видимость Spot", "Change Spot Visibility": "Изменить видимость Спота",
"Clear Drilldown": "Очистить детализацию", "Clear Drilldown": "Очистить детализацию",
"Select Series": "Выбрать серию", "Select Series": "Выбрать серию",
"Integrate Github": "Интеграция с Github", "Integrate Github": "Интеграция с Github",
@ -1486,5 +1486,9 @@
"above": "выше", "above": "выше",
"above or equal to": "выше или равно", "above or equal to": "выше или равно",
"below": "ниже", "below": "ниже",
"below or equal to": "ниже или равно" "below or equal to": "ниже или равно",
"Highlight link copied to clipboard": "Ссылка на хайлайт скопирована в буфер обмена",
"Are you sure delete this Highlight?": "Вы уверены, что хотите удалить этот хайлайт?",
"Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.": "Удаление хайлайта приведет к удалению только этого экземпляра и связанной с ним заметки. Оригинальная сессия не пострадает.",
"Yes, Delete": "Да, удалить"
} }

View file

@ -1486,5 +1486,9 @@
"above": "大于", "above": "大于",
"above or equal to": "大于或等于", "above or equal to": "大于或等于",
"below": "小于", "below": "小于",
"below or equal to": "小于或等于" "below or equal to": "小于或等于",
"Highlight link copied to clipboard": "突出显示链接已复制到剪贴板",
"Are you sure delete this Highlight?": "确定要删除此突出显示吗?",
"Deleting a Highlight will only remove this instance and its associated note. It will not affect the original session.": "删除突出显示仅会删除此实例及其关联的备注。不会影响原始会话。",
"Yes, Delete": "是的,删除"
} }