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({
)}
);
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 (