import { type LocaleCode } from "@agent-native/core/client/i18n"; import zhTW from "./i18n/zh-TW"; const enUS = { root: { commandActions: "Actions", commandSearch: "Search", commandAppearance: "Appearance", toggleTheme: "Toggle theme", }, navigation: { chat: "Chat", observability: "Observability", database: "Database", team: "Team", settings: "Settings", extensions: "Extensions", navigation: "Navigation", navigationDescription: "App navigation links", openNavigation: "Open navigation", expandSidebar: "Expand sidebar", collapseSidebar: "Collapse sidebar", }, pages: { observabilityTitle: "Agent Observability", observabilityPageTitle: "Observability", databaseTitle: "Database", teamTitle: "Team", teamCreateOrgDescription: "Set up a team to share this app with your colleagues.", }, chat: { emptyState: "Ask anything, then customize the app when you need more.", composerPlaceholder: "Message the agent...", heroTitle: "How can I help?", heroDescription: "Chat about anything. Add actions, components, pages, jobs, or your own agent backend when you want this app to do more.", suggestionCapabilities: "What can you do?", suggestionCustomize: "Help me customize this chat app", suggestionActions: "Show me the actions and pages I can add", inspectEmptyState: "Ask the agent to inspect or change this app.", inspectSuggestionCapabilities: "What can you do here?", inspectSuggestionHello: "Call hello for Builder", inspectSuggestionAction: "Add a new action and show it in the UI", chats: "Chats", newChat: "New chat", renameChat: "Rename chat", pinChat: "Pin chat", unpinChat: "Unpin chat", archiveChat: "Archive chat", archiveFailed: "Could not archive chat.", renameFailed: "Could not rename chat.", renameThread: "Rename {{title}}", optionsFor: "Chat options for {{title}}", }, }; type Messages = typeof enUS; type PartialMessages = { [K in keyof Messages]?: Partial }; function mergeMessages(overrides: PartialMessages): Messages { return { root: { ...enUS.root, ...overrides.root }, navigation: { ...enUS.navigation, ...overrides.navigation }, pages: { ...enUS.pages, ...overrides.pages }, chat: { ...enUS.chat, ...overrides.chat }, }; } export const messagesByLocale = { "en-US": enUS, "zh-TW": mergeMessages(zhTW), "zh-CN": mergeMessages({ root: { commandActions: "操作", commandSearch: "搜索", commandAppearance: "外观", toggleTheme: "切换主题", }, navigation: { chat: "聊天", observability: "可观测性", database: "数据库", team: "团队", settings: "设置", extensions: "扩展", navigation: "导航", navigationDescription: "应用导航链接", openNavigation: "打开导航", expandSidebar: "展开侧边栏", collapseSidebar: "收起侧边栏", }, pages: { observabilityTitle: "代理可观测性", observabilityPageTitle: "可观测性", databaseTitle: "数据库", teamTitle: "团队", teamCreateOrgDescription: "设置团队,与同事共享此应用。", }, chat: { emptyState: "随便提问,需要更多功能时再自定义应用。", composerPlaceholder: "给代理发消息...", heroTitle: "我能帮你什么?", heroDescription: "可以聊任何内容。需要此应用做更多事时,可添加操作、组件、页面、任务或自己的代理后端。", suggestionCapabilities: "你能做什么?", suggestionCustomize: "帮我自定义这个聊天应用", suggestionActions: "展示我可以添加的操作和页面", inspectEmptyState: "让代理检查或修改此应用。", inspectSuggestionCapabilities: "你在这里能做什么?", inspectSuggestionHello: "为 Builder 调用 hello", inspectSuggestionAction: "添加新操作并显示在 UI 中", chats: "聊天", newChat: "新聊天", renameChat: "重命名聊天", pinChat: "置顶聊天", unpinChat: "取消置顶聊天", archiveChat: "归档聊天", archiveFailed: "无法归档聊天。", renameFailed: "无法重命名聊天。", renameThread: "重命名 {{title}}", optionsFor: "{{title}} 的聊天选项", }, }), "es-ES": mergeMessages({ root: { commandActions: "Acciones", commandSearch: "Buscar", commandAppearance: "Apariencia", toggleTheme: "Cambiar tema", }, navigation: { chat: "Chat", observability: "Observabilidad", database: "Base de datos", team: "Equipo", settings: "Ajustes", extensions: "Extensiones", navigation: "Navegación", navigationDescription: "Enlaces de navegación de la app", openNavigation: "Abrir navegación", expandSidebar: "Expandir barra lateral", collapseSidebar: "Contraer barra lateral", }, pages: { observabilityTitle: "Observabilidad del agente", observabilityPageTitle: "Observabilidad", databaseTitle: "Base de datos", teamTitle: "Equipo", teamCreateOrgDescription: "Configura un equipo para compartir esta app con tus compañeros.", }, chat: { emptyState: "Pregunta cualquier cosa y personaliza la app cuando necesites más.", composerPlaceholder: "Mensaje al agente...", heroTitle: "¿En qué puedo ayudar?", heroDescription: "Chatea sobre cualquier cosa. Añade acciones, componentes, páginas, trabajos o tu propio backend de agente cuando quieras más.", suggestionCapabilities: "¿Qué puedes hacer?", suggestionCustomize: "Ayúdame a personalizar esta app de chat", suggestionActions: "Muéstrame las acciones y páginas que puedo añadir", inspectEmptyState: "Pide al agente que inspeccione o cambie esta app.", inspectSuggestionCapabilities: "¿Qué puedes hacer aquí?", inspectSuggestionHello: "Llama a hello para Builder", inspectSuggestionAction: "Añade una acción nueva y muéstrala en la UI", chats: "Chats", newChat: "Nuevo chat", renameChat: "Renombrar chat", pinChat: "Fijar chat", unpinChat: "Desfijar chat", archiveChat: "Archivar chat", archiveFailed: "No se pudo archivar el chat.", renameFailed: "No se pudo renombrar el chat.", renameThread: "Renombrar {{title}}", optionsFor: "Opciones de chat para {{title}}", }, }), "fr-FR": mergeMessages({ root: { commandActions: "Actions", commandSearch: "Rechercher", commandAppearance: "Apparence", toggleTheme: "Changer de thème", }, navigation: { chat: "Chat", observability: "Observabilité", database: "Base de données", team: "Équipe", settings: "Paramètres", extensions: "Extensions", navigation: "Navigation", navigationDescription: "Liens de navigation de l'app", openNavigation: "Ouvrir la navigation", expandSidebar: "Développer la barre latérale", collapseSidebar: "Réduire la barre latérale", }, pages: { observabilityTitle: "Observabilité de l’agent", observabilityPageTitle: "Observabilité", databaseTitle: "Base de données", teamTitle: "Équipe", teamCreateOrgDescription: "Configurez une équipe pour partager cette app avec vos collègues.", }, chat: { emptyState: "Demandez n'importe quoi, puis personnalisez l'app au besoin.", composerPlaceholder: "Message à l'agent...", heroTitle: "Comment puis-je aider ?", heroDescription: "Discutez de tout. Ajoutez actions, composants, pages, jobs ou votre propre backend d'agent lorsque vous voulez aller plus loin.", suggestionCapabilities: "Que peux-tu faire ?", suggestionCustomize: "Aide-moi à personnaliser cette app de chat", suggestionActions: "Montre-moi les actions et pages que je peux ajouter", inspectEmptyState: "Demandez à l'agent d'inspecter ou modifier cette app.", inspectSuggestionCapabilities: "Que peux-tu faire ici ?", inspectSuggestionHello: "Appelle hello pour Builder", inspectSuggestionAction: "Ajoute une action et montre-la dans l'UI", chats: "Chats", newChat: "Nouveau chat", renameChat: "Renommer le chat", pinChat: "Épingler le chat", unpinChat: "Désépingler le chat", archiveChat: "Archiver le chat", archiveFailed: "Impossible d'archiver le chat.", renameFailed: "Impossible de renommer le chat.", renameThread: "Renommer {{title}}", optionsFor: "Options du chat pour {{title}}", }, }), "de-DE": mergeMessages({ root: { commandActions: "Aktionen", commandSearch: "Suchen", commandAppearance: "Darstellung", toggleTheme: "Theme wechseln", }, navigation: { chat: "Chat", observability: "Observability", database: "Datenbank", team: "Team", settings: "Einstellungen", extensions: "Erweiterungen", navigation: "Navigation", navigationDescription: "App-Navigationslinks", openNavigation: "Navigation öffnen", expandSidebar: "Seitenleiste erweitern", collapseSidebar: "Seitenleiste einklappen", }, pages: { observabilityTitle: "Agent-Beobachtbarkeit", observabilityPageTitle: "Beobachtbarkeit", databaseTitle: "Datenbank", teamTitle: "Team", teamCreateOrgDescription: "Richte ein Team ein, um diese App mit deinen Kollegen zu teilen.", }, chat: { emptyState: "Frag alles und passe die App an, wenn du mehr brauchst.", composerPlaceholder: "Nachricht an den Agenten...", heroTitle: "Wie kann ich helfen?", heroDescription: "Chatte über alles. Füge Aktionen, Komponenten, Seiten, Jobs oder dein eigenes Agent-Backend hinzu, wenn die App mehr tun soll.", suggestionCapabilities: "Was kannst du tun?", suggestionCustomize: "Hilf mir, diese Chat-App anzupassen", suggestionActions: "Zeige mir Aktionen und Seiten, die ich hinzufügen kann", inspectEmptyState: "Bitte den Agenten, diese App zu prüfen oder zu ändern.", inspectSuggestionCapabilities: "Was kannst du hier tun?", inspectSuggestionHello: "Rufe hello für Builder auf", inspectSuggestionAction: "Füge eine neue Aktion hinzu und zeige sie in der UI", chats: "Chats", newChat: "Neuer Chat", renameChat: "Chat umbenennen", pinChat: "Chat anheften", unpinChat: "Chat lösen", archiveChat: "Chat archivieren", archiveFailed: "Chat konnte nicht archiviert werden.", renameFailed: "Chat konnte nicht umbenannt werden.", renameThread: "{{title}} umbenennen", optionsFor: "Chatoptionen für {{title}}", }, }), "ja-JP": mergeMessages({ root: { commandActions: "操作", commandSearch: "検索", commandAppearance: "外観", toggleTheme: "テーマを切り替え", }, navigation: { chat: "チャット", observability: "可観測性", database: "データベース", team: "チーム", settings: "設定", extensions: "拡張機能", navigation: "ナビゲーション", navigationDescription: "アプリのナビゲーションリンク", openNavigation: "ナビゲーションを開く", expandSidebar: "サイドバーを展開", collapseSidebar: "サイドバーを折りたたむ", }, pages: { observabilityTitle: "エージェントの可観測性", observabilityPageTitle: "可観測性", databaseTitle: "データベース", teamTitle: "チーム", teamCreateOrgDescription: "同僚とこのアプリを共有するためのチームを設定します。", }, chat: { emptyState: "何でも質問し、必要になったらアプリをカスタマイズできます。", composerPlaceholder: "エージェントにメッセージ...", heroTitle: "どうお手伝いできますか?", heroDescription: "何でもチャットできます。必要に応じてアクション、コンポーネント、ページ、ジョブ、独自のエージェントバックエンドを追加できます。", suggestionCapabilities: "何ができますか?", suggestionCustomize: "このチャットアプリをカスタマイズして", suggestionActions: "追加できるアクションとページを見せて", inspectEmptyState: "エージェントにこのアプリの確認や変更を依頼します。", inspectSuggestionCapabilities: "ここで何ができますか?", inspectSuggestionHello: "Builder に hello を呼び出す", inspectSuggestionAction: "新しいアクションを追加して UI に表示", chats: "チャット", newChat: "新しいチャット", renameChat: "チャット名を変更", pinChat: "チャットを固定", unpinChat: "固定を解除", archiveChat: "チャットをアーカイブ", archiveFailed: "チャットをアーカイブできませんでした。", renameFailed: "チャット名を変更できませんでした。", renameThread: "{{title}} の名前を変更", optionsFor: "{{title}} のチャットオプション", }, }), "ko-KR": mergeMessages({ root: { commandActions: "작업", commandSearch: "검색", commandAppearance: "모양", toggleTheme: "테마 전환", }, navigation: { chat: "채팅", observability: "관측성", database: "데이터베이스", team: "팀", settings: "설정", extensions: "확장", navigation: "탐색", navigationDescription: "앱 탐색 링크", openNavigation: "탐색 열기", expandSidebar: "사이드바 펼치기", collapseSidebar: "사이드바 접기", }, pages: { observabilityTitle: "에이전트 관찰 가능성", observabilityPageTitle: "관찰 가능성", databaseTitle: "데이터베이스", teamTitle: "팀", teamCreateOrgDescription: "동료와 이 앱을 공유할 팀을 설정하세요.", }, chat: { emptyState: "무엇이든 물어보고, 더 필요할 때 앱을 사용자 지정하세요.", composerPlaceholder: "에이전트에게 메시지...", heroTitle: "무엇을 도와드릴까요?", heroDescription: "무엇이든 채팅하세요. 앱이 더 많은 일을 하게 하고 싶을 때 작업, 컴포넌트, 페이지, 작업 또는 자체 에이전트 백엔드를 추가하세요.", suggestionCapabilities: "무엇을 할 수 있나요?", suggestionCustomize: "이 채팅 앱을 사용자 지정하게 도와줘", suggestionActions: "추가할 수 있는 작업과 페이지를 보여줘", inspectEmptyState: "에이전트에게 이 앱을 검사하거나 변경하도록 요청하세요.", inspectSuggestionCapabilities: "여기서 무엇을 할 수 있나요?", inspectSuggestionHello: "Builder용 hello 호출", inspectSuggestionAction: "새 작업을 추가하고 UI에 보여줘", chats: "채팅", newChat: "새 채팅", renameChat: "채팅 이름 변경", pinChat: "채팅 고정", unpinChat: "채팅 고정 해제", archiveChat: "채팅 보관", archiveFailed: "채팅을 보관할 수 없습니다.", renameFailed: "채팅 이름을 변경할 수 없습니다.", renameThread: "{{title}} 이름 변경", optionsFor: "{{title}} 채팅 옵션", }, }), "pt-BR": mergeMessages({ root: { commandActions: "Ações", commandSearch: "Buscar", commandAppearance: "Aparência", toggleTheme: "Alternar tema", }, navigation: { chat: "Chat", observability: "Observabilidade", database: "Banco de dados", team: "Equipe", settings: "Configurações", extensions: "Extensões", navigation: "Navegação", navigationDescription: "Links de navegação do app", openNavigation: "Abrir navegação", expandSidebar: "Expandir barra lateral", collapseSidebar: "Recolher barra lateral", }, pages: { observabilityTitle: "Observabilidade do agente", observabilityPageTitle: "Observabilidade", databaseTitle: "Banco de dados", teamTitle: "Equipe", teamCreateOrgDescription: "Configure uma equipe para compartilhar este app com seus colegas.", }, chat: { emptyState: "Pergunte qualquer coisa e personalize o app quando precisar.", composerPlaceholder: "Mensagem para o agente...", heroTitle: "Como posso ajudar?", heroDescription: "Converse sobre qualquer coisa. Adicione ações, componentes, páginas, jobs ou seu próprio backend de agente quando quiser que o app faça mais.", suggestionCapabilities: "O que você pode fazer?", suggestionCustomize: "Ajude-me a personalizar este app de chat", suggestionActions: "Mostre as ações e páginas que posso adicionar", inspectEmptyState: "Peça ao agente para inspecionar ou alterar este app.", inspectSuggestionCapabilities: "O que você pode fazer aqui?", inspectSuggestionHello: "Chame hello para Builder", inspectSuggestionAction: "Adicione uma nova ação e mostre na UI", chats: "Chats", newChat: "Novo chat", renameChat: "Renomear chat", pinChat: "Fixar chat", unpinChat: "Desafixar chat", archiveChat: "Arquivar chat", archiveFailed: "Não foi possível arquivar o chat.", renameFailed: "Não foi possível renomear o chat.", renameThread: "Renomear {{title}}", optionsFor: "Opções de chat para {{title}}", }, }), "hi-IN": mergeMessages({ root: { commandActions: "क्रियाएं", commandSearch: "खोजें", commandAppearance: "रूप", toggleTheme: "थीम बदलें", }, navigation: { chat: "चैट", observability: "ऑब्ज़र्वेबिलिटी", database: "डेटाबेस", team: "टीम", settings: "सेटिंग्स", extensions: "एक्सटेंशन", navigation: "नेविगेशन", navigationDescription: "ऐप नेविगेशन लिंक", openNavigation: "नेविगेशन खोलें", expandSidebar: "साइडबार फैलाएं", collapseSidebar: "साइडबार समेटें", }, pages: { observabilityTitle: "एजेंट ऑब्जर्वेबिलिटी", observabilityPageTitle: "ऑब्जर्वेबिलिटी", databaseTitle: "डेटाबेस", teamTitle: "टीम", teamCreateOrgDescription: "इस ऐप को अपने सहयोगियों के साथ साझा करने के लिए टीम सेट करें।", }, chat: { emptyState: "कुछ भी पूछें, फिर जरूरत होने पर ऐप कस्टमाइज़ करें।", composerPlaceholder: "एजेंट को संदेश...", heroTitle: "मैं कैसे मदद कर सकता हूं?", heroDescription: "किसी भी चीज़ पर चैट करें। जब ऐप से और काम कराना हो तो actions, components, pages, jobs या अपना agent backend जोड़ें।", suggestionCapabilities: "आप क्या कर सकते हैं?", suggestionCustomize: "इस chat app को कस्टमाइज़ करने में मदद करें", suggestionActions: "जो actions और pages जोड़ सकता हूं वे दिखाएं", inspectEmptyState: "एजेंट से इस ऐप को inspect या change करने को कहें।", inspectSuggestionCapabilities: "आप यहां क्या कर सकते हैं?", inspectSuggestionHello: "Builder के लिए hello call करें", inspectSuggestionAction: "नई action जोड़ें और UI में दिखाएं", chats: "चैट", newChat: "नई चैट", renameChat: "चैट का नाम बदलें", pinChat: "चैट पिन करें", unpinChat: "चैट अनपिन करें", archiveChat: "चैट आर्काइव करें", archiveFailed: "चैट आर्काइव नहीं कर सके।", renameFailed: "चैट का नाम नहीं बदल सके।", renameThread: "{{title}} का नाम बदलें", optionsFor: "{{title}} के लिए चैट विकल्प", }, }), "ar-SA": mergeMessages({ root: { commandActions: "الإجراءات", commandSearch: "بحث", commandAppearance: "المظهر", toggleTheme: "تبديل السمة", }, navigation: { chat: "المحادثة", observability: "المراقبة", database: "قاعدة البيانات", team: "الفريق", settings: "الإعدادات", extensions: "الإضافات", navigation: "التنقل", navigationDescription: "روابط تنقل التطبيق", openNavigation: "فتح التنقل", expandSidebar: "توسيع الشريط الجانبي", collapseSidebar: "طي الشريط الجانبي", }, pages: { observabilityTitle: "قابلية ملاحظة الوكيل", observabilityPageTitle: "قابلية الملاحظة", databaseTitle: "قاعدة البيانات", teamTitle: "الفريق", teamCreateOrgDescription: "أعد فريقا لمشاركة هذا التطبيق مع زملائك.", }, chat: { emptyState: "اسأل أي شيء ثم خصص التطبيق عندما تحتاج المزيد.", composerPlaceholder: "راسل الوكيل...", heroTitle: "كيف يمكنني المساعدة؟", heroDescription: "تحدث عن أي شيء. أضف إجراءات أو مكونات أو صفحات أو مهام أو خلفية وكيل خاصة عندما تريد أن يفعل التطبيق المزيد.", suggestionCapabilities: "ماذا يمكنك أن تفعل؟", suggestionCustomize: "ساعدني في تخصيص تطبيق الدردشة هذا", suggestionActions: "أرني الإجراءات والصفحات التي يمكنني إضافتها", inspectEmptyState: "اطلب من الوكيل فحص هذا التطبيق أو تغييره.", inspectSuggestionCapabilities: "ماذا يمكنك أن تفعل هنا؟", inspectSuggestionHello: "استدع hello لـ Builder", inspectSuggestionAction: "أضف إجراءً جديدًا واعرضه في الواجهة", chats: "المحادثات", newChat: "محادثة جديدة", renameChat: "إعادة تسمية المحادثة", pinChat: "تثبيت المحادثة", unpinChat: "إلغاء تثبيت المحادثة", archiveChat: "أرشفة المحادثة", archiveFailed: "تعذرت أرشفة المحادثة.", renameFailed: "تعذرت إعادة تسمية المحادثة.", renameThread: "إعادة تسمية {{title}}", optionsFor: "خيارات المحادثة لـ {{title}}", }, }), } satisfies Record;