From fa108126bbc12e3bdba321dfd40968d34bb96ac7 Mon Sep 17 00:00:00 2001 From: ManishMadan2882 Date: Sun, 5 Jan 2025 03:39:33 +0530 Subject: [PATCH] (feat:settings) sync with locales --- frontend/src/locale/en.json | 28 +++++++++++++++++++------ frontend/src/locale/es.json | 26 ++++++++++++++++++----- frontend/src/locale/jp.json | 6 +++++- frontend/src/locale/ru.json | 6 +++++- frontend/src/locale/zh-TW.json | 6 +++++- frontend/src/locale/zh.json | 6 +++++- frontend/src/settings/Documents.tsx | 20 +++++++++--------- frontend/src/settings/General.tsx | 32 +++++++---------------------- frontend/src/settings/Logs.tsx | 12 +++++++---- 9 files changed, 88 insertions(+), 54 deletions(-) diff --git a/frontend/src/locale/en.json b/frontend/src/locale/en.json index c6ae8023..730b6d3d 100644 --- a/frontend/src/locale/en.json +++ b/frontend/src/locale/en.json @@ -41,16 +41,16 @@ "selectLanguage": "Select Language", "chunks": "Chunks processed per query", "prompt": "Active Prompt", - "deleteAllLabel": "Delete all Conversation", - "deleteAllBtn": "Delete all", + "deleteAllLabel": "Delete All Conversations", + "deleteAllBtn": "Delete All", "addNew": "Add New", - "convHistory": "Conversational history", + "convHistory": "Conversation History", "none": "None", "low": "Low", "medium": "Medium", "high": "High", "unlimited": "Unlimited", - "default": "default" + "default": "Default" }, "documents": { "label": "Documents", @@ -58,7 +58,19 @@ "date": "Vector Date", "type": "Type", "tokenUsage": "Token Usage", - "noData": "No existing Documents" + "noData": "No existing Documents", + "searchPlaceholder": "Search...", + "addNew": "Add New", + "addNewTitle": "Add New Document", + "preLoaded": "Pre-loaded", + "private": "Private", + "sync": "Sync", + "syncFrequency": { + "never": "Never", + "daily": "Daily", + "weekly": "Weekly", + "monthly": "Monthly" + } }, "apiKeys": { "label": "Chatbots", @@ -72,7 +84,11 @@ "label": "Analytics" }, "logs": { - "label": "Logs" + "label": "Logs", + "filterByChatbot": "Filter by chatbot", + "none": "None", + "selectChatbotPlaceholder": "Select chatbot", + "apiGeneratedConversations": "API generated / chatbot conversations" }, "tools": { "label": "Tools" diff --git a/frontend/src/locale/es.json b/frontend/src/locale/es.json index b7cc056e..a91f179a 100644 --- a/frontend/src/locale/es.json +++ b/frontend/src/locale/es.json @@ -1,5 +1,5 @@ { - "language": "Spanish", + "language": "Español", "chat": "Chat", "chats": "Chats", "newChat": "Nuevo Chat", @@ -41,7 +41,7 @@ "selectLanguage": "Seleccionar Idioma", "chunks": "Trozos procesados por consulta", "prompt": "Prompt Activo", - "deleteAllLabel": "Eliminar toda la Conversación", + "deleteAllLabel": "Eliminar todas las conversaciones", "deleteAllBtn": "Eliminar todo", "addNew": "Agregar Nuevo", "convHistory": "Historial de conversaciones", @@ -50,7 +50,7 @@ "medium": "Medio", "high": "Alto", "unlimited": "Ilimitado", - "default": "predeterminado" + "default": "Predeterminado" }, "documents": { "label": "Documentos", @@ -58,7 +58,19 @@ "date": "Fecha Vector", "type": "Tipo", "tokenUsage": "Uso de Tokens", - "noData": "No hay documentos existentes" + "noData": "No hay documentos existentes", + "searchPlaceholder": "Buscar...", + "addNew": "Agregar Nuevo", + "addNewTitle": "Agregar Nuevo Documento", + "preLoaded": "Precargado", + "private": "Privado", + "sync": "Sincronizar", + "syncFrequency": { + "never": "Nunca", + "daily": "Diario", + "weekly": "Semanal", + "monthly": "Mensual" + } }, "apiKeys": { "label": "Chatbots", @@ -72,7 +84,11 @@ "label": "Analítica" }, "logs": { - "label": "Registros" + "label": "Registros", + "filterByChatbot": "Filtrar por chatbot", + "none": "Ninguno", + "selectChatbotPlaceholder": "Seleccionar chatbot", + "apiGeneratedConversations": "Conversaciones generadas por API / chatbot" }, "tools": { "label": "Herramientas" diff --git a/frontend/src/locale/jp.json b/frontend/src/locale/jp.json index 2b4d8ba1..29343a55 100644 --- a/frontend/src/locale/jp.json +++ b/frontend/src/locale/jp.json @@ -72,7 +72,11 @@ "label": "分析" }, "logs": { - "label": "ログ" + "label": "ログ", + "filterByChatbot": "チャットボットでフィルタ", + "none": "なし", + "selectChatbotPlaceholder": "チャットボットを選択", + "apiGeneratedConversations": "API生成/チャットボット会話" }, "tools": { "label": "ツール" diff --git a/frontend/src/locale/ru.json b/frontend/src/locale/ru.json index 98bfaf07..b16c2140 100644 --- a/frontend/src/locale/ru.json +++ b/frontend/src/locale/ru.json @@ -72,7 +72,11 @@ "label": "Аналитика" }, "logs": { - "label": "Журналы" + "label": "Регистры", + "filterByChatbot": "Фильтр по чат-боту", + "none": "Нет", + "selectChatbotPlaceholder": "Выберите чат-бота", + "apiGeneratedConversations": "Разговоры, сгенерированные API / чат-ботом" }, "tools": { "label": "Инструменты" diff --git a/frontend/src/locale/zh-TW.json b/frontend/src/locale/zh-TW.json index 46c645de..952a4df1 100644 --- a/frontend/src/locale/zh-TW.json +++ b/frontend/src/locale/zh-TW.json @@ -72,7 +72,11 @@ "label": "分析" }, "logs": { - "label": "日誌" + "label": "日誌", + "filterByChatbot": "按聊天機器人篩選", + "none": "無", + "selectChatbotPlaceholder": "選擇聊天機器人", + "apiGeneratedConversations": "API生成/聊天機器人對話" }, "tools": { "label": "工具" diff --git a/frontend/src/locale/zh.json b/frontend/src/locale/zh.json index 12a2ec65..4edccfb8 100644 --- a/frontend/src/locale/zh.json +++ b/frontend/src/locale/zh.json @@ -72,7 +72,11 @@ "label": "分析" }, "logs": { - "label": "日志" + "label": "日志", + "filterByChatbot": "按聊天机器人筛选", + "none": "无", + "selectChatbotPlaceholder": "选择聊天机器人", + "apiGeneratedConversations": "API生成/聊天机器人对话" }, "tools": { "label": "工具" diff --git a/frontend/src/settings/Documents.tsx b/frontend/src/settings/Documents.tsx index 8e68f226..71ba63f6 100644 --- a/frontend/src/settings/Documents.tsx +++ b/frontend/src/settings/Documents.tsx @@ -54,10 +54,10 @@ const Documents: React.FC = ({ const [totalPages, setTotalPages] = useState(1); const currentDocuments = paginatedDocuments ?? []; const syncOptions = [ - { label: 'Never', value: 'never' }, - { label: 'Daily', value: 'daily' }, - { label: 'Weekly', value: 'weekly' }, - { label: 'Monthly', value: 'monthly' }, + { label: t('settings.documents.syncFrequency.never'), value: 'never' }, + { label: t('settings.documents.syncFrequency.daily'), value: 'daily' }, + { label: t('settings.documents.syncFrequency.weekly'), value: 'weekly' }, + { label: t('settings.documents.syncFrequency.monthly'), value: 'monthly' }, ]; const refreshDocs = useCallback( @@ -153,7 +153,7 @@ const Documents: React.FC = ({
= ({
{loading ? ( ) : ( -
+
@@ -270,7 +270,7 @@ const Documents: React.FC = ({ {document.type !== 'remote' && ( Delete { @@ -282,7 +282,7 @@ const Documents: React.FC = ({ {document.syncFrequency && (
{ handleManageSync(document, value); diff --git a/frontend/src/settings/General.tsx b/frontend/src/settings/General.tsx index 4868d252..227b0a6e 100644 --- a/frontend/src/settings/General.tsx +++ b/frontend/src/settings/General.tsx @@ -21,33 +21,15 @@ export default function General() { t, i18n: { changeLanguage, language }, } = useTranslation(); - const themes = ['Light', 'Dark']; + const themes = [t('settings.general.light'), t('settings.general.dark')]; const languageOptions = [ - { - label: 'English', - value: 'en', - }, - { - label: 'Spanish', - value: 'es', - }, - { - label: 'Japanese', - value: 'jp', - }, - { - label: 'Mandarin', - value: 'zh', - }, - { - label: 'Traditional Chinese', - value: 'zhTW', - }, - { - label: 'Russian', - value: 'ru', - }, + { label: 'English', value: 'en' }, + { label: 'Español', value: 'es' }, + { label: '日本語', value: 'jp' }, + { label: '普通话', value: 'zh' }, + { label: '繁體中文(臺灣)', value: 'zhTW' }, + { label: 'Русский', value: 'ru' }, ]; const chunks = ['0', '2', '4', '6', '8', '10']; const token_limits = new Map([ diff --git a/frontend/src/settings/Logs.tsx b/frontend/src/settings/Logs.tsx index 1e248d46..0f452e97 100644 --- a/frontend/src/settings/Logs.tsx +++ b/frontend/src/settings/Logs.tsx @@ -1,4 +1,5 @@ import React, { useState, useEffect, useRef, useCallback } from 'react'; +import { useTranslation } from 'react-i18next'; import userService from '../api/services/userService'; import ChevronRight from '../assets/chevron-right.svg'; @@ -8,6 +9,7 @@ import { APIKeyData, LogData } from './types'; import CoppyButton from '../components/CopyButton'; export default function Logs() { + const { t } = useTranslation(); const [chatbots, setChatbots] = useState([]); const [selectedChatbot, setSelectedChatbot] = useState(); const [logs, setLogs] = useState([]); @@ -66,7 +68,7 @@ export default function Logs() {

- Filter by chatbot + {t('settings.logs.filterByChatbot')}

{loadingChatbots ? ( @@ -78,9 +80,9 @@ export default function Logs() { label: chatbot.name, value: chatbot.id, })), - { label: 'None', value: '' }, + { label: t('settings.logs.none'), value: '' }, ]} - placeholder="Select chatbot" + placeholder={t('settings.logs.selectChatbotPlaceholder')} onSelect={(chatbot: { label: string; value: string }) => { setSelectedChatbot( chatbots.find((item) => item.id === chatbot.value), @@ -120,6 +122,7 @@ type LogsTableProps = { }; function LogsTable({ logs, setPage }: LogsTableProps) { + const { t } = useTranslation(); const observerRef = useRef(); const firstObserver = useCallback((node: HTMLDivElement) => { if (observerRef.current) { @@ -134,7 +137,7 @@ function LogsTable({ logs, setPage }: LogsTableProps) {

- API generated / chatbot conversations + {t('settings.logs.apiGeneratedConversations')}