diff --git a/app/layout.tsx b/app/layout.tsx index 66db5da925..ee86f6ecf4 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -60,7 +60,7 @@ export default function RootLayout({ // visual flicker before hydration. Hence the `suppressHydrationWarning` // prop is necessary to avoid the React hydration mismatch warning. // https://github.com/pacocoursey/next-themes?tab=readme-ov-file#with-app - lang="en" + lang="es" suppressHydrationWarning > @@ -69,6 +69,7 @@ export default function RootLayout({ dangerouslySetInnerHTML={{ __html: THEME_COLOR_SCRIPT, }} + /> diff --git a/components/greeting.tsx b/components/greeting.tsx index 6601ef8958..802e02a6d7 100644 --- a/components/greeting.tsx +++ b/components/greeting.tsx @@ -13,7 +13,7 @@ export const Greeting = () => { initial={{ opacity: 0, y: 10 }} transition={{ delay: 0.5 }} > - Hello there! + Hela, mi nombre es Victor! { initial={{ opacity: 0, y: 10 }} transition={{ delay: 0.6 }} > - How can I help you today? + ¿en qué puedo ayudarte? ); diff --git a/components/multimodal-input.tsx b/components/multimodal-input.tsx index f0aaf544b7..f478d81a7e 100644 --- a/components/multimodal-input.tsx +++ b/components/multimodal-input.tsx @@ -190,7 +190,7 @@ function PureMultimodalInput({ const { error } = await response.json(); toast.error(error); } catch (_error) { - toast.error("Failed to upload file, please try again!"); + toast.error("Error al subir imágenes pegadas, intentalo nuevamente!"); } }, []); @@ -219,7 +219,7 @@ function PureMultimodalInput({ ...successfullyUploadedAttachments, ]); } catch (error) { - console.error("Error uploading files!", error); + console.error("Error al subir imágenes pegadas!", error); } finally { setUploadQueue([]); } @@ -245,7 +245,7 @@ function PureMultimodalInput({ // Prevent default paste behavior for images event.preventDefault(); - setUploadQueue((prev) => [...prev, "Pasted image"]); + setUploadQueue((prev) => [...prev, "pegué imagen"]); try { const uploadPromises = imageItems @@ -266,8 +266,8 @@ function PureMultimodalInput({ ...(successfullyUploadedAttachments as Attachment[]), ]); } catch (error) { - console.error("Error uploading pasted images:", error); - toast.error("Failed to upload pasted image(s)"); + console.error("Error al subir imágenes pegadas:", error); + toast.error("Falló la subida de la imagen pegada"); } finally { setUploadQueue([]); } @@ -311,8 +311,8 @@ function PureMultimodalInput({ className="rounded-xl border border-border bg-background p-3 shadow-xs transition-all duration-200 focus-within:border-border hover:border-muted-foreground/50" onSubmit={(event) => { event.preventDefault(); - if (status !== "ready") { - toast.error("Please wait for the model to finish its response!"); + if (status !== "listo") { + toast.error("¡Por favor, espera a que el modelo termine su respuesta!"); } else { submitForm(); } @@ -360,7 +360,7 @@ function PureMultimodalInput({ maxHeight={200} minHeight={44} onChange={handleInput} - placeholder="Send a message..." + placeholder="enviar mensaje..." ref={textareaRef} rows={1} value={input} diff --git a/components/sidebar-history.tsx b/components/sidebar-history.tsx index fa6a1518af..b7cb1748f3 100644 --- a/components/sidebar-history.tsx +++ b/components/sidebar-history.tsx @@ -29,11 +29,11 @@ import { LoaderIcon } from "./icons"; import { ChatItem } from "./sidebar-history-item"; type GroupedChats = { - today: Chat[]; - yesterday: Chat[]; - lastWeek: Chat[]; - lastMonth: Chat[]; - older: Chat[]; + Hoy: Chat[]; + Ayer: Chat[]; + SemanaPasada: Chat[]; + MesPasado: Chat[]; + TiempoAtras: Chat[]; }; export type ChatHistory = { @@ -53,25 +53,25 @@ const groupChatsByDate = (chats: Chat[]): GroupedChats => { const chatDate = new Date(chat.createdAt); if (isToday(chatDate)) { - groups.today.push(chat); + groups.Hoy.push(chat); } else if (isYesterday(chatDate)) { - groups.yesterday.push(chat); + groups.Ayer.push(chat); } else if (chatDate > oneWeekAgo) { - groups.lastWeek.push(chat); + groups.SemanaPasada.push(chat); } else if (chatDate > oneMonthAgo) { - groups.lastMonth.push(chat); + groups.MesPasadp.push(chat); } else { - groups.older.push(chat); + groups.TiempoAtras.push(chat); } return groups; }, { - today: [], - yesterday: [], - lastWeek: [], - lastMonth: [], - older: [], + Hoy: [], + Ayer: [], + SemanaPasada: [], + MesPasado: [], + TiempoAtras: [], } as GroupedChats ); }; @@ -140,9 +140,9 @@ export function SidebarHistory({ user }: { user: User | undefined }) { } }); - return "Chat deleted successfully"; + return "Borrado"; }, - error: "Failed to delete chat", + error: "No se borro", }); setShowDeleteDialog(false); @@ -198,7 +198,7 @@ export function SidebarHistory({ user }: { user: User | undefined }) {
- Your conversations will appear here once you start chatting! + ¡Tus conversaciones aparecerán aquí una vez que comiences a chatear!
@@ -220,12 +220,12 @@ export function SidebarHistory({ user }: { user: User | undefined }) { return (
- {groupedChats.today.length > 0 && ( + {groupedChats.Hoy.length > 0 && (
- Today + Hoy
- {groupedChats.today.map((chat) => ( + {groupedChats.Hoy.map((chat) => ( )} - {groupedChats.yesterday.length > 0 && ( + {groupedChats.Ayer.length > 0 && (
- Yesterday + Ayer
- {groupedChats.yesterday.map((chat) => ( + {groupedChats.Ayer.map((chat) => ( )} - {groupedChats.lastWeek.length > 0 && ( + {groupedChats.SemanaPasada.length > 0 && (
- Last 7 days + Ultimo 7 dias
- {groupedChats.lastWeek.map((chat) => ( + {groupedChats.SemanaPasada.map((chat) => ( )} - {groupedChats.lastMonth.length > 0 && ( + {groupedChats.SemanaPasada.length > 0 && (
Last 30 days
- {groupedChats.lastMonth.map((chat) => ( + {groupedChats.SemanaPasada.map((chat) => ( )} - {groupedChats.older.length > 0 && ( + {groupedChats.TiempAtras.length > 0 && (
Older than last month
- {groupedChats.older.map((chat) => ( + {groupedChats.TiempAtras.map((chat) => ( - You have reached the end of your chat history. + Final de conversaciones.
) : (
@@ -350,10 +350,9 @@ export function SidebarHistory({ user }: { user: User | undefined }) { - Are you absolutely sure? + ¿Estás absolutamente seguro? - This action cannot be undone. This will permanently delete your - chat and remove it from our servers. + Esta acción no puede deshacerse. Esto eliminará permanentemente tu chat y lo removerá de nuestros servidores. diff --git a/components/sidebar-user-nav.tsx b/components/sidebar-user-nav.tsx index 81b52d8d10..78fee20587 100644 --- a/components/sidebar-user-nav.tsx +++ b/components/sidebar-user-nav.tsx @@ -88,7 +88,7 @@ export function SidebarUserNav({ user }: { user: User }) { toast({ type: "error", description: - "Checking authentication status, please try again!", + "Verificando el estado de autenticación, ¡por favor, inténtalo de nuevo!", }); return; @@ -104,7 +104,7 @@ export function SidebarUserNav({ user }: { user: User }) { }} type="button" > - {isGuest ? "Login to your account" : "Sign out"} + {isGuest ? "Inicia sesión en tu cuenta y Cerrar sesión"} diff --git a/components/submit-button.tsx b/components/submit-button.tsx index 1ee963ef84..b33a9a0126 100644 --- a/components/submit-button.tsx +++ b/components/submit-button.tsx @@ -31,7 +31,7 @@ export function SubmitButton({ )} - {pending || isSuccessful ? "Loading" : "Submit form"} + {pending || isSuccessful ? "Cargando" : "Enviar"} ); diff --git a/components/suggested-actions.tsx b/components/suggested-actions.tsx index e2d7ef6ec6..4a282007f7 100644 --- a/components/suggested-actions.tsx +++ b/components/suggested-actions.tsx @@ -15,10 +15,10 @@ type SuggestedActionsProps = { function PureSuggestedActions({ chatId, sendMessage }: SuggestedActionsProps) { const suggestedActions = [ - "What are the advantages of using Next.js?", - "Write code to demonstrate Dijkstra's algorithm", - "Help me write an essay about Silicon Valley", - "What is the weather in San Francisco?", + "¿Cuáles son las ventajas de usar Mi Agente X?", + "¿Donde puedo aplicar para una visa de tranbajo el los EEUU", + "Ayudame a solicitar empleo en el area donde vivo", + "¿Cuál es el clima en Sarasota, FL?, ]; return (