import { useState, useEffect } from 'react';
import { getStatus } from './api';

// ---------------------------------------------------------------------------
// Translation dictionaries
// ---------------------------------------------------------------------------

export type Locale = 'ar' | 'bn' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fi' | 'fr' | 'he' | 'hi' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'nb' | 'nl' | 'pl' | 'pt' | 'ro' | 'ru' | 'sv' | 'th' | 'tl' | 'tr' | 'uk' | 'ur' | 'vi' | 'zh';

const translations: Record<Locale, Record<string, string>> = {
  zh: {
    // Navigation
    'nav.dashboard': '仪表盘',
    'nav.agent': '智能体',
    'nav.tools': '工具',
    'nav.cron': '定时任务',
    'nav.integrations': '集成',
    'nav.modelswitch': '模型配置',
    'nav.skills': '技能',
    'nav.history': '历史对话',
    'nav.general': '常规',
    'nav.memory': '记忆',
    'nav.config': '配置',
    'nav.cost': '成本追踪',
    'nav.logs': '日志',
    'nav.doctor': '诊断',
    'nav.canvas': '画布',

    // Dashboard
    'dashboard.title': '仪表盘',
    'dashboard.provider': '提供商',
    'dashboard.model': '模型',
    'dashboard.uptime': '运行时间',
    'dashboard.temperature': '温度',
    'dashboard.gateway_port': '网关端口',
    'dashboard.memory_backend': '记忆后端',
    'dashboard.paired': '已配对',
    'dashboard.channels': '频道',
    'dashboard.health': '健康状态',
    'dashboard.status': '状态',
    'dashboard.overview': '概览',
    'dashboard.system_info': '系统信息',
    'dashboard.quick_actions': '快速操作',

    // Agent / Chat
    'agent.title': '智能体对话',
    'agent.send': '发送',
    'agent.placeholder': '输入任务或问我任何问题',
    'agent.start_conversation': '发送消息开始对话',
    'agent.type_message': '输入消息...',
    'agent.light_greeting_title': '你好，我是麒灵！',
    'agent.light_greeting_subtitle': '描述你的任务，我将为你自动执行，让复杂工作变得简单。',
    'agent.light_try_label': '你可以尝试：',
    'agent.light_refresh_label': '换一换',
    'agent.light_card_recommended': '推荐问题',
    'agent.light_card_knowledge': '知识库',
    'agent.light_card_knowledge_prompt': '帮我总结知识库里的重点内容。',
    'agent.light_suggestion_one': '如何去除白色衣服上的咖啡渍？',
    'agent.light_suggestion_two': '有哪些适合团队破冰的小游戏？',
    'agent.light_suggestion_three': '帮我写一封简短的客户跟进邮件。',
    'agent.light_suggestion_four': '如何把一篇长文章总结成要点？',
    'agent.light_suggestion_five': 'Excel 里怎么按条件求和？',
    'agent.light_suggestion_six': '帮我写一段产品上线的通知文案。',
    'agent.light_suggestion_seven': '初学者如何开始学习编程？',
    'agent.light_suggestion_eight': '出差三天需要带什么清单？',
    'agent.light_suggestion_nine': '用通俗语言解释什么是 API。',
    'agent.light_type_message': '输入任务或问我任何问题',
    'agent.light_tool_model': '智能模型调度',
    'agent.light_tool_expand': '深度思考',
    'agent.light_tool_search': '联网搜索',
    'agent.model_selector_title': '选择模型',
    'agent.model_selector_trial': '试用模型',
    'agent.model_selector_configured': '已配置模型',
    'agent.model_selector_no_trial': '无可用试用模型',
    'agent.model_selector_no_configured': '未配置其他模型',
    'agent.connecting': '连接中...',
    'agent.connected': '已连接',
    'agent.disconnected': '已断开',
    'agent.reconnecting': '重新连接中...',
    'agent.thinking': '思考中...',
    'agent.tool_call': '工具调用',
    'agent.tool_result': '工具结果',
    'agent.connection_error': '连接错误，正在尝试重连...',
    'agent.tool_call_prefix': '[工具调用]',
    'agent.tool_result_prefix': '[工具结果]',
    'agent.error_prefix': '[错误]',
    'agent.unknown_error': '未知错误',
    'agent.send_error': '发送消息失败，请重试。',
    'agent.copy_message': '复制消息',
    'agent.show_json': '展开 JSON',
    'agent.hide_json': '收起 JSON',
    'agent.toggle_system_messages': '切换系统消息显示',
    'agent.connected_status': '已连接',
    'agent.disconnected_status': '已断开',
    'agent.generating_block_tip': '正在生成回答，请完成后再试',
    'header.new_session': '开启新对话',
    'header.window_pin': '置顶',
    'header.window_minimize': '最小化',
    'header.window_maximize': '最大化',
    'header.window_close': '关闭',
    'modelswitch.tab.general': '常规',
    'modelswitch.tab.model': '模型配置',
    'modelswitch.always_on_top': '窗口置顶',
    'modelswitch.close_action': '关闭窗口时',
    'modelswitch.close_action_hide': '隐藏窗口',
    'modelswitch.close_action_exit': '直接退出',

    // Tools
    'tools.title': '可用工具',
    'tools.name': '名称',
    'tools.description': '描述',
    'tools.parameters': '参数',
    'tools.search': '搜索工具...',
    'tools.empty': '暂无可用工具。',
    'tools.count': '工具总数',
    'tools.agent_tools': '智能体工具箱',
    'tools.cli_tools': 'CLI 工具箱',
    'tools.parameter_schema': '参数结构',
    'tools.path': '路径',
    'tools.version': '版本',
    'tools.category': '类别',
    'tools.load_error': '加载工具失败',

    // Cron
    'cron.title': '定时任务',
    'cron.scheduled_tasks': '定时任务',
    'cron.add': '添加任务',
    'cron.add_job': '添加任务',
    'cron.add_modal_title': '添加 Cron 任务',
    'cron.delete': '删除',
    'cron.enable': '启用',
    'cron.disable': '禁用',
    'cron.name': '名称',
    'cron.name_optional': '名称（可选）',
    'cron.command': '命令',
    'cron.command_required': '命令',
    'cron.schedule': '计划',
    'cron.schedule_required': '计划',
    'cron.next_run': '下次执行',
    'cron.last_run': '上次执行',
    'cron.last_status': '上次状态',
    'cron.enabled': '已启用',
    'cron.enabled_status': '启用',
    'cron.disabled_status': '禁用',
    'cron.empty': '暂无定时任务。',
    'cron.confirm_delete': '确定要删除此任务吗？',
    'cron.load_error': '加载定时任务失败',
    'cron.validation_error': '计划和命令是必需的。',
    'cron.add_error': '添加任务失败',
    'cron.delete_error': '删除任务失败',
    'cron.cancel': '取消',
    'cron.adding': '添加中...',
    'cron.id': 'ID',
    'cron.actions': '操作',
    'cron.loading_run_history': '加载运行历史...',
    'cron.load_run_history_error': '加载运行历史失败',
    'cron.no_runs': '暂无运行记录。',
    'cron.recent_runs': '最近运行',
    'cron.yes': '是',
    'cron.no': '否',
    'cron.edit': '编辑',
    'cron.edit_modal_title': '编辑 Cron 任务',
    'cron.edit_error': '更新任务失败',
    'cron.saving': '保存中...',
    'cron.save': '保存',

    // Integrations
    'integrations.title': '集成',
    'integrations.available': '可用',
    'integrations.active': '活跃',
    'integrations.coming_soon': '即将推出',
    'integrations.category': '类别',
    'integrations.status': '状态',
    'integrations.search': '搜索集成...',
    'integrations.empty': '未找到集成。',
    'integrations.activate': '激活',
    'integrations.deactivate': '停用',
    'integrations.load_error': '加载集成失败',
    'integrations.status_active': '活跃',
    'integrations.status_available': '可用',
    'integrations.status_coming_soon': '即将推出',

    // Model Switch
    'modelswitch.title': '模型配置',
    'modelswitch.all': '全部',
    'modelswitch.empty': '未找到模型。',
    'modelswitch.status_active': '已激活',
    'modelswitch.status_available': '可用',
    'modelswitch.status_coming_soon': '即将推出',

    // Skills
    'skills.title': '技能',
    'skills.all': '全部',
    'skills.empty': '未找到技能。',
    'skills.enabled': '已启用',
    'skills.disabled': '已禁用',
    'skills.status_active': '已激活',
    'skills.status_available': '可用',
    'skills.status_coming_soon': '即将推出',

    // Memory
    'memory.title': '记忆存储',
    'memory.memory_title': '记忆',
    'memory.search': '搜索记忆...',
    'memory.search_placeholder': '搜索记忆条目...',
    'memory.add': '存储记忆',
    'memory.add_memory': '添加记忆',
    'memory.add_modal_title': '添加记忆',
    'memory.delete': '删除',
    'memory.key': '键',
    'memory.key_required': '键',
    'memory.content': '内容',
    'memory.content_required': '内容',
    'memory.category': '类别',
    'memory.category_optional': '类别（可选）',
    'memory.timestamp': '时间戳',
    'memory.session': '会话',
    'memory.score': '分数',
    'memory.empty': '未找到记忆条目。',
    'memory.confirm_delete': '确定要删除此记忆条目吗？',
    'memory.all_categories': '所有类别',
    'memory.search_button': '搜索',
    'memory.load_error': '加载记忆失败',
    'memory.saving': '保存中...',
    'memory.validation_error': '键和内容是必需的。',
    'memory.store_error': '保存记忆失败',
    'memory.delete_error': '删除记忆失败',
    'memory.delete_confirm': '删除？',
    'memory.yes': '是',
    'memory.no': '否',
    'memory.cancel': '取消',

    // Config
    'config.title': '配置',
    'config.save': '保存',
    'config.saving': '保存中...',
    'config.reset': '重置',
    'config.saved': '配置保存成功。',
    'config.error': '配置保存失败。',
    'config.loading': '加载配置中...',
    'config.editor_placeholder': 'TOML 配置...',
    'config.configuration_title': '配置',
    'config.sensitive_title': '敏感字段已隐藏',
    'config.sensitive_hint': 'API 密钥、令牌和密码已隐藏以保护安全。要更新已隐藏的字段，请将整个隐藏值替换为您的新值。',
    'config.save_success': '配置保存成功。',
    'config.save_error': '保存配置失败',
    'config.toml_label': 'TOML 配置',
    'config.lines': '行',
    'config.mode.form': '表单',
    'config.mode.advanced': '高级',
    'config.section.general': '常规',
    'config.section.agent': '智能体',
    'config.section.gateway': '网关',
    'config.section.cost': '成本',
    'config.section.memory': '记忆',
    'config.section.web_search': '网页搜索',
    'config.section.heartbeat': '心跳',
    'config.field.default_provider': '默认提供商',
    'config.field.default_provider.desc': 'LLM 提供商（如 openrouter、ollama、anthropic）',
    'config.field.default_model': '默认模型',
    'config.field.default_model.desc': '默认提供商的模型名称',
    'config.field.default_temperature': '温度',
    'config.field.default_temperature.desc': '控制随机性（0 = 确定性，2 = 最大创造力）',
    'config.field.provider_timeout_secs': '提供商超时（秒）',
    'config.field.provider_timeout_secs.desc': 'LLM API 调用的 HTTP 超时时间',
    'config.field.locale': '语言',
    'config.field.locale.desc': 'UI 语言设置',
    'config.field.compact_context': '紧凑上下文',
    'config.field.compact_context.desc': '为小模型（13B 或更小）减少上下文大小',
    'config.field.max_tool_iterations': '最大工具迭代次数',
    'config.field.max_tool_iterations.desc': '每条用户消息的最大工具调用循环次数',
    'config.field.max_history_messages': '最大历史消息数',
    'config.field.max_history_messages.desc': '每个会话的最大对话历史消息数',
    'config.field.max_context_tokens': '最大上下文令牌数',
    'config.field.max_context_tokens.desc': '超过时触发历史压缩',
    'config.field.parallel_tools': '并行工具',
    'config.field.parallel_tools.desc': '在单次轮中启用并行工具执行',
    'config.field.gateway_port': '端口',
    'config.field.gateway_port.desc': '网关服务器端口',
    'config.field.gateway_host': '主机',
    'config.field.gateway_host.desc': '网关绑定地址',
    'config.field.require_pairing': '需要配对',
    'config.field.require_pairing.desc': '接受请求前需要设备配对',
    'config.field.session_persistence': '会话持久化',
    'config.field.session_persistence.desc': '将 WebSocket 会话持久化到 SQLite',
    'config.field.session_ttl_hours': '会话 TTL（小时）',
    'config.field.session_ttl_hours.desc': '自动归档过期会话（0 = 禁用）',
    'config.field.allow_public_bind': '允许公网绑定',
    'config.field.allow_public_bind.desc': '允许在无隧道情况下绑定非本地地址',
    'config.field.daily_limit_usd': '每日限额（美元）',
    'config.field.daily_limit_usd.desc': '每日支出限额',
    'config.field.monthly_limit_usd': '每月限额（美元）',
    'config.field.monthly_limit_usd.desc': '每月支出限额',
    'config.field.warn_at_percent': '警告阈值（%）',
    'config.field.warn_at_percent.desc': '预算使用超过此百分比时发出警告',
    'config.field.allow_override': '允许覆盖',
    'config.field.allow_override.desc': '允许 --override 标志超出预算限制',
    'config.field.memory_backend': '后端',
    'config.field.memory_backend.desc': '智能体记忆的存储后端',
    'config.field.web_search_provider': '搜索提供商',
    'config.field.web_search_provider.desc': '使用的网页搜索引擎',
    'config.field.max_results': '最大结果数',
    'config.field.max_results.desc': '每次搜索查询的结果数',
    'config.field.web_search_timeout': '超时（秒）',
    'config.field.web_search_timeout.desc': '搜索请求超时时间',
    'config.field.interval_minutes': '间隔（分钟）',
    'config.field.interval_minutes.desc': '心跳检查之间的分钟数',
    'config.field.two_phase': '两阶段',
    'config.field.two_phase.desc': '执行前询问 LLM 是否运行（节省成本）',
    'config.field.adaptive': '自适应',
    'config.field.adaptive.desc': '根据活动自动调整间隔',
    'config.field.min_interval_minutes': '最小间隔（分钟）',
    'config.field.min_interval_minutes.desc': '自适应模式启用时的最小间隔',
    'config.field.max_interval_minutes': '最大间隔（分钟）',
    'config.field.max_interval_minutes.desc': '自适应模式回退时的最大间隔',
    'config.field.heartbeat_message': '备用消息',
    'config.field.heartbeat_message.desc': 'HEARTBEAT.md 无条目时的备用任务文本',
    'config.field.heartbeat_target': '目标频道',
    'config.field.heartbeat_target.desc': '心跳输出的投递频道（如 telegram）',
    'config.field.task_timeout_secs': '任务超时（秒）',
    'config.field.task_timeout_secs.desc': '单次心跳智能体调用的最大秒数',

    // Cost
    'cost.title': '成本追踪',
    'cost.session': '会话成本',
    'cost.daily': '每日成本',
    'cost.monthly': '每月成本',
    'cost.total_tokens': '总 Tokens',
    'cost.request_count': '请求数',
    'cost.by_model': '按模型统计',
    'cost.model': '模型',
    'cost.tokens': 'Token',
    'cost.requests': '请求',
    'cost.usd': '成本（美元）',
    'cost.load_error': '加载成本数据失败',
    'cost.session_cost': '会话成本',
    'cost.daily_cost': '每日成本',
    'cost.monthly_cost': '每月成本',
    'cost.total_requests': '总请求数',
    'cost.token_statistics': 'Token 统计',
    'cost.avg_tokens_per_request': '平均 Token / 请求',
    'cost.cost_per_1k_tokens': '每 1K Token 成本',
    'cost.model_breakdown': '模型细分',
    'cost.no_model_data': '没有模型数据可用。',
    'cost.cost': '成本',
    'cost.share': '占比',

    // Logs
    'logs.title': '实时日志',
    'logs.live_logs': '实时日志',
    'logs.clear': '清除',
    'logs.pause': '暂停',
    'logs.resume': '继续',
    'logs.filter': '筛选日志...',
    'logs.filter_label': '筛选',
    'logs.empty': '暂无日志条目。',
    'logs.connected': '已连接',
    'logs.disconnected': '已断开',
    'logs.events': '事件',
    'logs.jump_to_bottom': '跳转到底部',
    'logs.paused_hint': '日志流已暂停。',
    'logs.waiting_hint': '等待事件...',

    // Doctor
    'doctor.title': '系统诊断',
    'doctor.diagnostics_title': '系统诊断',
    'doctor.run': '运行诊断',
    'doctor.run_diagnostics': '运行诊断',
    'doctor.running': '正在运行诊断...',
    'doctor.running_btn': '运行中...',
    'doctor.running_desc': '正在运行诊断...',
    'doctor.running_hint': '这可能需要几秒钟。',
    'doctor.ok': '正常',
    'doctor.warn': '警告',
    'doctor.error': '错误',
    'doctor.severity': '严重程度',
    'doctor.category': '类别',
    'doctor.message': '消息',
    'doctor.empty': '尚未运行诊断。',
    'doctor.summary': '诊断摘要',
    'doctor.issues_found': '发现问题',
    'doctor.warnings_summary': '警告',
    'doctor.all_clear': '一切正常',
    'doctor.system_diagnostics': '系统诊断',
    'doctor.empty_hint': '点击"运行诊断"检查您的 ZeroClaw 安装。',

    // Auth / Pairing
    'auth.pair': '配对设备',
    'auth.pairing_code': '配对码',
    'auth.pair_button': '配对',
    'auth.logout': '退出',
    'auth.pairing_success': '配对成功！',
    'auth.pairing_failed': '配对失败，请重试。',
    'auth.enter_code': '请输入配对码以连接到智能体。',

    // Common
    'common.loading': '加载中...',
    'common.error': '发生错误。',
    'common.retry': '重试',
    'common.cancel': '取消',
    'common.confirm': '确认',
    'common.save': '保存',
    'common.delete': '删除',
    'common.edit': '编辑',
    'common.close': '关闭',
    'common.yes': '是',
    'common.no': '否',
    'common.search': '搜索...',
    'common.no_data': '暂无数据。',
    'common.refresh': '刷新',
    'common.back': '返回',
    'common.actions': '操作',
    'common.name': '名称',
    'common.description': '描述',
    'common.status': '状态',
    'common.created': '创建时间',
    'common.updated': '更新时间',

    // Health
    'health.title': '系统健康',
    'health.component': '组件',
    'health.status': '状态',
    'health.last_ok': '上次正常',
    'health.last_error': '上次错误',
    'health.restart_count': '重启次数',
    'health.pid': '进程 ID',
    'health.uptime': '运行时间',
    'health.updated_at': '最后更新',

    // Dashboard specific labels
    'dashboard.provider_model': '提供商 / 模型',
    'dashboard.since_last_restart': '自上次重启',
    'dashboard.paired_yes': '是',
    'dashboard.paired_no': '否',
    'dashboard.cost_overview': '成本概览',
    'dashboard.active_channels': '活跃频道',
    'dashboard.filter_active': '活跃',
    'dashboard.filter_all': '全部',
    'dashboard.no_active_channels': '没有活跃频道',
    'dashboard.component_health': '组件健康',
    'dashboard.load_error': '加载仪表盘失败',
    'dashboard.session_label': '会话',
    'dashboard.daily_label': '每日',
    'dashboard.monthly_label': '每月',
    'dashboard.total_tokens_label': '总 Tokens',
    'dashboard.requests_label': '请求',
    'dashboard.no_channels': '未配置频道',
    'dashboard.active': '活跃',
    'dashboard.inactive': '非活跃',
    'dashboard.no_components': '没有组件报告',
    'dashboard.restarts': '重启次数',
    'dashboard.tab_overview': '概览',
    'dashboard.tab_sessions': '会话',
    'dashboard.tab_channels': '频道',
    'dashboard.sessions_title': '活跃会话',
    'dashboard.no_sessions': '没有活跃会话',
    'dashboard.session_id': '会话 ID',
    'dashboard.session_started': '开始时间',
    'dashboard.session_last_activity': '最近活动',
    'dashboard.session_messages': '消息数',
    'dashboard.session_details': '会话详情',
    'dashboard.session_history': '查看历史',
    'dashboard.channels_title': '频道状态',
    'dashboard.no_channels_detail': '没有频道详情',
    'dashboard.channel_type': '类型',
    'dashboard.channel_messages': '消息数',
    'dashboard.channel_last_message': '最近消息',
    'dashboard.channel_config': '配置摘要',
    'dashboard.channel_enabled': '已启用',
    'dashboard.channel_disabled': '已禁用',
    'dashboard.loading_sessions': '加载会话中...',
    'dashboard.loading_channels': '加载频道中...',
    'dashboard.load_sessions_error': '加载会话失败',
    'dashboard.load_channels_error': '加载频道失败',
    'dashboard.never': '从未',
    'dashboard.agents_title': '智能体',
    'dashboard.agents_empty': '未配置委托智能体。',
    'dashboard.agent_general_purpose': '通用型',
    'dashboard.agent_not_running': '-',
    'dashboard.agentic': 'Agentic',
    'dashboard.single_turn': '单轮',
    'dashboard.depth': '深度',
    'dashboard.iterations': '轮',
    'dashboard.current_task': '当前任务',
    'dashboard.run_time': '运行时长',
    'dashboard.progress': '进度',
    'dashboard.last_active': '最近活动',
    'dashboard.capabilities': '能力',
    'dashboard.no_tool_allowlist': '未显式限制工具白名单',
    'dashboard.idle': '空闲',
    'dashboard.primary_agent_title': '主智能体',
    'dashboard.primary_agent_status': '运行中',
    'dashboard.primary_agent_style': '默认交互智能体，负责处理 Web 对话与工具调用。',
    'dashboard.primary_agent_kind': 'Web 对话',
    'dashboard.primary_agent_tooling': '工具已启用',
    'dashboard.primary_agent_task': '始终可用',
    'dashboard.primary_agent_progress': '就绪',
    'dashboard.primary_agent_last_active': '持续运行',
    'dashboard.delegate_agents_title': '子代理',

    // Settings
    'settings.title': '设置',
    'settings.theme_title': '主题设置',
    'settings.tab.appearance': '外观',
    'settings.tab.typography': '排版',
    'settings.dark_presets': '深色主题',
    'settings.light_presets': '浅色主题',
    'settings.appearance': '外观设置',
    'settings.typography': '字体设置',
    'settings.fontUi': '界面字体',
    'settings.fontMono': '代码字体',
    'settings.fontSize': '界面字号',
    'settings.fontMonoSize': '代码字号',
    'settings.preview': '预览',
    'settings.previewText': '界面字体预览文本',
    'settings.fontNote': '字体设置需要刷新页面后生效',
    'settings.language': '界面语言',

    // Theme
    'theme.mode': '主题模式',
    'theme.accent': '强调色',
    'theme.system': '跟随系统',
    'theme.dark': '深色',
    'theme.light': '浅色',
    'theme.oled': '纯黑',
  },

  en: {
    // Navigation
    'nav.dashboard': 'Dashboard',
    'nav.agent': 'Agent',
    'nav.tools': 'Tools',
    'nav.cron': 'Scheduled Jobs',
    'nav.integrations': 'Integrations',
    'nav.modelswitch': 'Model Switch',
    'nav.skills': 'Skills',
    'nav.history': 'History',
    'nav.general': 'General',
    'nav.memory': 'Memory',
    'nav.config': 'Configuration',
    'nav.cost': 'Cost Tracker',
    'nav.logs': 'Logs',
    'nav.doctor': 'Doctor',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Dashboard',
    'dashboard.provider': 'Provider',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Uptime',
    'dashboard.temperature': 'Temperature',
    'dashboard.gateway_port': 'Gateway Port',
    'dashboard.memory_backend': 'Memory Backend',
    'dashboard.paired': 'Paired',
    'dashboard.channels': 'Channels',
    'dashboard.health': 'Health',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Overview',
    'dashboard.system_info': 'System Information',
    'dashboard.quick_actions': 'Quick Actions',

    // Agent / Chat
    'agent.title': 'Agent Chat',
    'agent.send': 'Send',
    'agent.placeholder': 'Type a message...',
    'agent.start_conversation': 'Send a message to start the conversation',
    'agent.type_message': 'Type a message...',
    'agent.light_greeting_title': 'Hello, I am ZeroClaw!',
    'agent.light_greeting_subtitle': 'I can help with questions, writing, summaries, retrieval, and everyday task coordination.',
    'agent.light_try_label': 'You can try:',
    'agent.light_refresh_label': 'Refresh',
    'agent.light_card_recommended': 'Recommended prompts',
    'agent.light_card_knowledge': 'Knowledge base',
    'agent.light_card_knowledge_prompt': 'Summarize the key points from my knowledge base.',
    'agent.light_suggestion_one': 'How do I remove coffee stains from a white shirt?',
    'agent.light_suggestion_two': 'What are good icebreaker games for a team meetup?',
    'agent.light_suggestion_three': 'Draft a short follow-up email for a client.',
    'agent.light_suggestion_four': 'How can I summarize a long article into bullet points?',
    'agent.light_suggestion_five': 'How do I sum values conditionally in Excel?',
    'agent.light_suggestion_six': 'Write a short launch announcement for a product release.',
    'agent.light_suggestion_seven': 'How should a beginner start learning to program?',
    'agent.light_suggestion_eight': 'What should I pack for a three-day business trip?',
    'agent.light_suggestion_nine': 'Explain what an API is in simple terms.',
    'agent.light_type_message': 'Ask a question or type "/" to use skills',
    'agent.light_tool_model': 'Smart model routing',
    'agent.light_tool_expand': 'Deep reasoning',
    'agent.light_tool_search': 'Web search',
    'agent.model_selector_title': 'Select Model',
    'agent.model_selector_trial': 'Trial Models',
    'agent.model_selector_configured': 'Configured Models',
    'agent.model_selector_no_trial': 'No trial models available',
    'agent.model_selector_no_configured': 'No other models configured',
    'agent.connecting': 'Connecting...',
    'agent.connected': 'Connected',
    'agent.disconnected': 'Disconnected',
    'agent.reconnecting': 'Reconnecting...',
    'agent.thinking': 'Thinking...',
    'agent.tool_call': 'Tool Call',
    'agent.tool_result': 'Tool Result',
    'agent.connection_error': 'Connection error. Attempting to reconnect...',
    'agent.tool_call_prefix': '[Tool Call]',
    'agent.tool_result_prefix': '[Tool Result]',
    'agent.error_prefix': '[Error]',
    'agent.unknown_error': 'Unknown error',
    'agent.send_error': 'Failed to send message. Please try again.',
    'agent.copy_message': 'Copy message',
    'agent.show_json': 'Show JSON',
    'agent.hide_json': 'Hide JSON',
    'agent.toggle_system_messages': 'Toggle system messages',
    'agent.connected_status': 'Connected',
    'agent.disconnected_status': 'Disconnected',
    'agent.generating_block_tip': 'Generating answer, please try again after completion',
    'header.new_session': 'New Session',
    'header.window_pin': 'Pin on Top',
    'header.window_minimize': 'Minimize',
    'header.window_maximize': 'Maximize',
    'header.window_close': 'Close',

    // Tools
    'tools.title': 'Available Tools',
    'tools.name': 'Name',
    'tools.description': 'Description',
    'tools.parameters': 'Parameters',
    'tools.search': 'Search tools...',
    'tools.empty': 'No tools available.',
    'tools.count': 'Total tools',
    'tools.agent_tools': 'Agent Tools',
    'tools.cli_tools': 'CLI Tools',
    'tools.parameter_schema': 'Parameter Schema',
    'tools.path': 'Path',
    'tools.version': 'Version',
    'tools.category': 'Category',
    'tools.load_error': 'Failed to load tools',

    // Cron
    'cron.title': 'Scheduled Jobs',
    'cron.scheduled_tasks': 'Scheduled Tasks',
    'cron.add': 'Add Job',
    'cron.add_job': 'Add Job',
    'cron.add_modal_title': 'Add Cron Job',
    'cron.delete': 'Delete',
    'cron.enable': 'Enable',
    'cron.disable': 'Disable',
    'cron.name': 'Name',
    'cron.name_optional': 'Name (optional)',
    'cron.command': 'Command',
    'cron.command_required': 'Command',
    'cron.schedule': 'Schedule',
    'cron.schedule_required': 'Schedule',
    'cron.next_run': 'Next Run',
    'cron.last_run': 'Last Run',
    'cron.last_status': 'Last Status',
    'cron.enabled': 'Enabled',
    'cron.enabled_status': 'Enabled',
    'cron.disabled_status': 'Disabled',
    'cron.empty': 'No scheduled jobs.',
    'cron.confirm_delete': 'Are you sure you want to delete this job?',
    'cron.load_error': 'Failed to load cron jobs',
    'cron.validation_error': 'Schedule and command are required.',
    'cron.add_error': 'Failed to add job',
    'cron.delete_error': 'Failed to delete job',
    'cron.cancel': 'Cancel',
    'cron.adding': 'Adding...',
    'cron.id': 'ID',
    'cron.actions': 'Actions',
    'cron.loading_run_history': 'Loading run history...',
    'cron.load_run_history_error': 'Failed to load run history',
    'cron.no_runs': 'No runs recorded yet.',
    'cron.recent_runs': 'Recent Runs',
    'cron.yes': 'Yes',
    'cron.no': 'No',
    'cron.edit': 'Edit',
    'cron.edit_modal_title': 'Edit Cron Job',
    'cron.edit_error': 'Failed to update job',
    'cron.saving': 'Saving...',
    'cron.save': 'Save',

    // Integrations
    'integrations.title': 'Integrations',
    'integrations.available': 'Available',
    'integrations.active': 'Active',
    'integrations.coming_soon': 'Coming Soon',
    'integrations.category': 'Category',
    'integrations.status': 'Status',
    'integrations.search': 'Search integrations...',
    'integrations.empty': 'No integrations found.',
    'integrations.activate': 'Activate',
    'integrations.deactivate': 'Deactivate',
    'integrations.load_error': 'Failed to load integrations',
    'integrations.status_active': 'Active',
    'integrations.status_available': 'Available',
    'integrations.status_coming_soon': 'Coming Soon',

    // Model Switch
    'modelswitch.title': 'Model Switch',
    'modelswitch.all': 'All',
    'modelswitch.empty': 'No models found.',
    'modelswitch.status_active': 'Active',
    'modelswitch.status_available': 'Available',
    'modelswitch.status_coming_soon': 'Coming Soon',

    // Skills
    'skills.title': 'Skills',
    'skills.all': 'All',
    'skills.empty': 'No skills found.',
    'skills.enabled': 'Enabled',
    'skills.disabled': 'Disabled',
    'skills.status_active': 'Active',
    'skills.status_available': 'Available',
    'skills.status_coming_soon': 'Coming Soon',

    // Memory
    'memory.title': 'Memory Store',
    'memory.memory_title': 'Memory',
    'memory.search': 'Search memory...',
    'memory.search_placeholder': 'Search memory entries...',
    'memory.add': 'Store Memory',
    'memory.add_memory': 'Add Memory',
    'memory.add_modal_title': 'Add Memory',
    'memory.delete': 'Delete',
    'memory.key': 'Key',
    'memory.key_required': 'Key',
    'memory.content': 'Content',
    'memory.content_required': 'Content',
    'memory.category': 'Category',
    'memory.category_optional': 'Category (optional)',
    'memory.timestamp': 'Timestamp',
    'memory.session': 'Session',
    'memory.score': 'Score',
    'memory.empty': 'No memory entries found.',
    'memory.confirm_delete': 'Are you sure you want to delete this memory entry?',
    'memory.all_categories': 'All Categories',
    'memory.search_button': 'Search',
    'memory.load_error': 'Failed to load memory',
    'memory.saving': 'Saving...',
    'memory.validation_error': 'Key and content are required.',
    'memory.store_error': 'Failed to store memory',
    'memory.delete_error': 'Failed to delete memory',
    'memory.delete_confirm': 'Delete?',
    'memory.yes': 'Yes',
    'memory.no': 'No',
    'memory.cancel': 'Cancel',

    // Config
    'config.title': 'Configuration',
    'config.save': 'Save',
    'config.saving': 'Saving...',
    'config.reset': 'Reset',
    'config.saved': 'Configuration saved successfully.',
    'config.error': 'Failed to save configuration.',
    'config.loading': 'Loading configuration...',
    'config.editor_placeholder': 'TOML configuration...',
    'config.configuration_title': 'Configuration',
    'config.sensitive_title': 'Sensitive fields are masked',
    'config.sensitive_hint': 'API keys, tokens, and passwords are hidden for security. To update a masked field, replace the entire masked value with your new value.',
    'config.save_success': 'Configuration saved successfully.',
    'config.save_error': 'Failed to save configuration',
    'config.toml_label': 'TOML Configuration',
    'config.lines': 'lines',
    'config.mode.form': 'Form',
    'config.mode.advanced': 'Advanced',
    'config.section.general': 'General',
    'config.section.agent': 'Agent',
    'config.section.gateway': 'Gateway',
    'config.section.cost': 'Cost',
    'config.section.memory': 'Memory',
    'config.section.web_search': 'Web Search',
    'config.section.heartbeat': 'Heartbeat',
    'config.field.default_provider': 'Default Provider',
    'config.field.default_provider.desc': 'LLM provider to use (e.g. openrouter, ollama, anthropic)',
    'config.field.default_model': 'Default Model',
    'config.field.default_model.desc': 'Model name for the default provider',
    'config.field.default_temperature': 'Temperature',
    'config.field.default_temperature.desc': 'Controls randomness (0 = deterministic, 2 = max creativity)',
    'config.field.provider_timeout_secs': 'Provider Timeout (s)',
    'config.field.provider_timeout_secs.desc': 'HTTP timeout for LLM API calls in seconds',
    'config.field.locale': 'Locale',
    'config.field.locale.desc': 'UI language override',
    'config.field.compact_context': 'Compact Context',
    'config.field.compact_context.desc': 'Reduce context size for small models (13B or less)',
    'config.field.max_tool_iterations': 'Max Tool Iterations',
    'config.field.max_tool_iterations.desc': 'Max tool-call loop turns per user message',
    'config.field.max_history_messages': 'Max History Messages',
    'config.field.max_history_messages.desc': 'Max conversation history messages per session',
    'config.field.max_context_tokens': 'Max Context Tokens',
    'config.field.max_context_tokens.desc': 'Triggers history compaction when exceeded',
    'config.field.parallel_tools': 'Parallel Tools',
    'config.field.parallel_tools.desc': 'Enable parallel tool execution within a turn',
    'config.field.gateway_port': 'Port',
    'config.field.gateway_port.desc': 'Gateway server port',
    'config.field.gateway_host': 'Host',
    'config.field.gateway_host.desc': 'Gateway bind address',
    'config.field.require_pairing': 'Require Pairing',
    'config.field.require_pairing.desc': 'Require device pairing before accepting requests',
    'config.field.session_persistence': 'Session Persistence',
    'config.field.session_persistence.desc': 'Persist WebSocket sessions to SQLite',
    'config.field.session_ttl_hours': 'Session TTL (hours)',
    'config.field.session_ttl_hours.desc': 'Auto-archive stale sessions (0 = disabled)',
    'config.field.allow_public_bind': 'Allow Public Bind',
    'config.field.allow_public_bind.desc': 'Allow non-localhost binding without tunnel',
    'config.field.daily_limit_usd': 'Daily Limit (USD)',
    'config.field.daily_limit_usd.desc': 'Daily spending limit in US dollars',
    'config.field.monthly_limit_usd': 'Monthly Limit (USD)',
    'config.field.monthly_limit_usd.desc': 'Monthly spending limit in US dollars',
    'config.field.warn_at_percent': 'Warning Threshold (%)',
    'config.field.warn_at_percent.desc': 'Warn when budget usage exceeds this percentage',
    'config.field.allow_override': 'Allow Override',
    'config.field.allow_override.desc': 'Allow --override flag to exceed budget limits',
    'config.field.memory_backend': 'Backend',
    'config.field.memory_backend.desc': 'Storage backend for agent memory',
    'config.field.web_search_provider': 'Search Provider',
    'config.field.web_search_provider.desc': 'Web search engine to use',
    'config.field.max_results': 'Max Results',
    'config.field.max_results.desc': 'Number of results per search query',
    'config.field.web_search_timeout': 'Timeout (s)',
    'config.field.web_search_timeout.desc': 'Search request timeout in seconds',
    'config.field.interval_minutes': 'Interval (min)',
    'config.field.interval_minutes.desc': 'Minutes between heartbeat pings',
    'config.field.two_phase': 'Two-Phase',
    'config.field.two_phase.desc': 'Ask LLM whether to run before executing (saves cost)',
    'config.field.adaptive': 'Adaptive',
    'config.field.adaptive.desc': 'Auto-adjust interval based on activity',
    'config.field.min_interval_minutes': 'Min Interval (min)',
    'config.field.min_interval_minutes.desc': 'Minimum interval when adaptive mode is enabled',
    'config.field.max_interval_minutes': 'Max Interval (min)',
    'config.field.max_interval_minutes.desc': 'Maximum interval when adaptive mode backs off',
    'config.field.heartbeat_message': 'Fallback Message',
    'config.field.heartbeat_message.desc': 'Fallback task text when HEARTBEAT.md has no entries',
    'config.field.heartbeat_target': 'Target Channel',
    'config.field.heartbeat_target.desc': 'Delivery channel for heartbeat output (e.g. telegram)',
    'config.field.task_timeout_secs': 'Task Timeout (s)',
    'config.field.task_timeout_secs.desc': 'Max seconds for a single heartbeat agent invocation',

    // Cost
    'cost.title': 'Cost Tracker',
    'cost.session': 'Session Cost',
    'cost.daily': 'Daily Cost',
    'cost.monthly': 'Monthly Cost',
    'cost.total_tokens': 'Total Tokens',
    'cost.request_count': 'Requests',
    'cost.by_model': 'Cost by Model',
    'cost.model': 'Model',
    'cost.tokens': 'Tokens',
    'cost.requests': 'Requests',
    'cost.usd': 'Cost (USD)',
    'cost.load_error': 'Failed to load cost data',
    'cost.session_cost': 'Session Cost',
    'cost.daily_cost': 'Daily Cost',
    'cost.monthly_cost': 'Monthly Cost',
    'cost.total_requests': 'Total Requests',
    'cost.token_statistics': 'Token Statistics',
    'cost.avg_tokens_per_request': 'Avg Tokens / Request',
    'cost.cost_per_1k_tokens': 'Cost per 1K Tokens',
    'cost.model_breakdown': 'Model Breakdown',
    'cost.no_model_data': 'No model data available.',
    'cost.cost': 'Cost',
    'cost.share': 'Share',

    // Logs
    'logs.title': 'Live Logs',
    'logs.live_logs': 'Live Logs',
    'logs.clear': 'Clear',
    'logs.pause': 'Pause',
    'logs.resume': 'Resume',
    'logs.filter': 'Filter logs...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'No log entries.',
    'logs.connected': 'Connected',
    'logs.disconnected': 'Disconnected',
    'logs.events': 'events',
    'logs.jump_to_bottom': 'Jump to bottom',
    'logs.paused_hint': 'Log streaming is paused.',
    'logs.waiting_hint': 'Waiting for events...',

    // Doctor
    'doctor.title': 'System Diagnostics',
    'doctor.diagnostics_title': 'Diagnostics',
    'doctor.run': 'Run Diagnostics',
    'doctor.run_diagnostics': 'Run Diagnostics',
    'doctor.running': 'Running diagnostics...',
    'doctor.running_btn': 'Running...',
    'doctor.running_desc': 'Running diagnostics...',
    'doctor.running_hint': 'This may take a few seconds.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Warning',
    'doctor.error': 'Error',
    'doctor.severity': 'Severity',
    'doctor.category': 'Category',
    'doctor.message': 'Message',
    'doctor.empty': 'No diagnostics have been run yet.',
    'doctor.summary': 'Diagnostic Summary',
    'doctor.issues_found': 'Issues Found',
    'doctor.warnings_summary': 'Warnings',
    'doctor.all_clear': 'All Clear',
    'doctor.system_diagnostics': 'System Diagnostics',
    'doctor.empty_hint': 'Click "Run Diagnostics" to check your ZeroClaw installation.',

    // Auth / Pairing
    'auth.pair': 'Pair Device',
    'auth.pairing_code': 'Pairing Code',
    'auth.pair_button': 'Pair',
    'auth.logout': 'Logout',
    'auth.pairing_success': 'Pairing successful!',
    'auth.pairing_failed': 'Pairing failed. Please try again.',
    'auth.enter_code': 'Enter your pairing code to connect to the agent.',

    // Common
    'common.loading': 'Loading...',
    'common.error': 'An error occurred.',
    'common.retry': 'Retry',
    'common.cancel': 'Cancel',
    'common.confirm': 'Confirm',
    'common.save': 'Save',
    'common.delete': 'Delete',
    'common.edit': 'Edit',
    'common.close': 'Close',
    'common.yes': 'Yes',
    'common.no': 'No',
    'common.search': 'Search...',
    'common.no_data': 'No data available.',
    'common.refresh': 'Refresh',
    'common.back': 'Back',
    'common.actions': 'Actions',
    'common.name': 'Name',
    'common.description': 'Description',
    'common.status': 'Status',
    'common.created': 'Created',
    'common.updated': 'Updated',

    // Health
    'health.title': 'System Health',
    'health.component': 'Component',
    'health.status': 'Status',
    'health.last_ok': 'Last OK',
    'health.last_error': 'Last Error',
    'health.restart_count': 'Restarts',
    'health.pid': 'Process ID',
    'health.uptime': 'Uptime',
    'health.updated_at': 'Last Updated',

    // Dashboard specific labels
    'dashboard.provider_model': 'Provider / Model',
    'dashboard.since_last_restart': 'Since last restart',
    'dashboard.paired_yes': 'Yes',
    'dashboard.paired_no': 'No',
    'dashboard.cost_overview': 'Cost Overview',
    'dashboard.active_channels': 'Active Channels',
    'dashboard.filter_active': 'Active',
    'dashboard.filter_all': 'All',
    'dashboard.no_active_channels': 'No active channels',
    'dashboard.component_health': 'Component Health',
    'dashboard.load_error': 'Failed to load dashboard',
    'dashboard.session_label': 'Session',
    'dashboard.daily_label': 'Daily',
    'dashboard.monthly_label': 'Monthly',
    'dashboard.total_tokens_label': 'Total Tokens',
    'dashboard.requests_label': 'Requests',
    'dashboard.no_channels': 'No channels configured',
    'dashboard.active': 'Active',
    'dashboard.inactive': 'Inactive',
    'dashboard.no_components': 'No components reporting',
    'dashboard.restarts': 'Restarts',
    'dashboard.tab_overview': 'Overview',
    'dashboard.tab_sessions': 'Sessions',
    'dashboard.tab_channels': 'Channels',
    'dashboard.sessions_title': 'Active Sessions',
    'dashboard.no_sessions': 'No active sessions',
    'dashboard.session_id': 'Session ID',
    'dashboard.session_started': 'Started',
    'dashboard.session_last_activity': 'Last Activity',
    'dashboard.session_messages': 'Messages',
    'dashboard.session_details': 'Session Details',
    'dashboard.session_history': 'View History',
    'dashboard.channels_title': 'Channel Status',
    'dashboard.no_channels_detail': 'No channel details available',
    'dashboard.channel_type': 'Type',
    'dashboard.channel_messages': 'Messages',
    'dashboard.channel_last_message': 'Last Message',
    'dashboard.channel_config': 'Configuration',
    'dashboard.channel_enabled': 'Enabled',
    'dashboard.channel_disabled': 'Disabled',
    'dashboard.loading_sessions': 'Loading sessions...',
    'dashboard.loading_channels': 'Loading channels...',
    'dashboard.load_sessions_error': 'Failed to load sessions',
    'dashboard.load_channels_error': 'Failed to load channels',
    'dashboard.never': 'Never',
    'dashboard.agents_title': 'Agents',
    'dashboard.agents_empty': 'No delegate agents configured.',
    'dashboard.agent_general_purpose': 'General purpose',
    'dashboard.agent_not_running': '-',
    'dashboard.agentic': 'Agentic',
    'dashboard.single_turn': 'Single turn',
    'dashboard.depth': 'depth',
    'dashboard.iterations': 'iters',
    'dashboard.current_task': 'Current task',
    'dashboard.run_time': 'Run time',
    'dashboard.progress': 'Progress',
    'dashboard.last_active': 'Last active',
    'dashboard.capabilities': 'Capabilities',
    'dashboard.no_tool_allowlist': 'No explicit tool allowlist',
    'dashboard.idle': 'Idle',
    'dashboard.primary_agent_title': 'Primary Agent',
    'dashboard.primary_agent_status': 'Running',
    'dashboard.primary_agent_style': 'Default interactive agent for web chat and tool-enabled turns.',
    'dashboard.primary_agent_kind': 'Web chat',
    'dashboard.primary_agent_tooling': 'Tool-enabled',
    'dashboard.primary_agent_task': 'Always available',
    'dashboard.primary_agent_progress': 'Ready',
    'dashboard.primary_agent_last_active': 'Always on',
    'dashboard.delegate_agents_title': 'Delegate Agents',

    // Settings
    'settings.title': 'Settings',
    'settings.theme_title': 'Theme Settings',
    'settings.tab.appearance': 'Appearance',
    'settings.tab.typography': 'Typography',
    'settings.dark_presets': 'Dark Themes',
    'settings.light_presets': 'Light Themes',
    'settings.appearance': 'Appearance',
    'settings.typography': 'Typography',
    'settings.fontUi': 'UI Font',
    'settings.fontMono': 'Code Font',
    'settings.fontSize': 'UI Font Size',
    'settings.fontMonoSize': 'Code Font Size',
    'settings.preview': 'Preview',
    'settings.previewText': 'The quick brown fox jumps over the lazy dog.',
    'settings.fontNote': 'Font changes apply on page reload.',
    'settings.language': 'Language',

    // Theme
    'theme.mode': 'Theme Mode',
    'theme.accent': 'Accent Color',
    'theme.system': 'System',
    'theme.dark': 'Dark',
    'theme.light': 'Light',
    'theme.oled': 'OLED Black',
  },

  tr: {
    // Navigation
    'nav.dashboard': 'Kontrol Paneli',
    'nav.agent': 'Ajan',
    'nav.tools': 'Araçlar',
    'nav.cron': 'Zamanlanmış Görevler',
    'nav.integrations': 'Entegrasyonlar',
    'nav.modelswitch': 'Model Değiştirme',
    'nav.skills': 'Beceriler',
    'nav.history': 'Geçmiş',
    'nav.memory': 'Hafıza',
    'nav.config': 'Yapılandırma',
    'nav.cost': 'Maliyet Takibi',
    'nav.logs': 'Kayıtlar',
    'nav.doctor': 'Doktor',
    'nav.canvas': 'Tuval',

    // Dashboard
    'dashboard.title': 'Kontrol Paneli',
    'dashboard.provider': 'Sağlayıcı',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Çalışma Süresi',
    'dashboard.temperature': 'Sıcaklık',
    'dashboard.gateway_port': 'Ağ Geçidi Portu',
    'dashboard.memory_backend': 'Hafıza Motoru',
    'dashboard.paired': 'Eşleştirilmiş',
    'dashboard.channels': 'Kanallar',
    'dashboard.health': 'Sağlık',
    'dashboard.status': 'Durum',
    'dashboard.overview': 'Genel Bakış',
    'dashboard.system_info': 'Sistem Bilgisi',
    'dashboard.quick_actions': 'Hızlı İşlemler',
    'dashboard.provider_model': 'Sağlayıcı / Model',
    'dashboard.since_last_restart': 'Son Yeniden Başlatmadan Beri',
    'dashboard.paired_yes': 'Evet',
    'dashboard.paired_no': 'Hayır',
    'dashboard.cost_overview': 'Maliyet Genel Bakışı',
    'dashboard.active_channels': 'Aktif Kanallar',
    'dashboard.filter_active': 'Aktif',
    'dashboard.filter_all': 'Tümü',
    'dashboard.no_active_channels': 'Aktif kanal yok',
    'dashboard.component_health': 'Bileşen Sağlığı',
    'dashboard.load_error': 'Kontrol paneli yüklenemedi',
    'dashboard.session_label': 'Oturum',
    'dashboard.daily_label': 'Günlük',
    'dashboard.monthly_label': 'Aylık',
    'dashboard.total_tokens_label': 'Toplam Token',
    'dashboard.requests_label': 'İstekler',
    'dashboard.no_channels': 'Kanal yapılandırılmamış',
    'dashboard.active': 'Aktif',
    'dashboard.inactive': 'Aktif Değil',
    'dashboard.no_components': 'Bileşen raporlamıyor',
    'dashboard.restarts': 'Yeniden Başlatmalar',
    'dashboard.tab_overview': 'Genel Bakış',
    'dashboard.tab_sessions': 'Oturumlar',
    'dashboard.tab_channels': 'Kanallar',
    'dashboard.sessions_title': 'Aktif Oturumlar',
    'dashboard.no_sessions': 'Aktif oturum yok',
    'dashboard.session_id': 'Oturum Kimliği',
    'dashboard.session_started': 'Başlangıç',
    'dashboard.session_last_activity': 'Son Etkinlik',
    'dashboard.session_messages': 'Mesajlar',
    'dashboard.session_details': 'Oturum Ayrıntıları',
    'dashboard.session_history': 'Geçmişi Görüntüle',
    'dashboard.channels_title': 'Kanal Durumu',
    'dashboard.no_channels_detail': 'Kanal ayrıntısı yok',
    'dashboard.channel_type': 'Tür',
    'dashboard.channel_messages': 'Mesajlar',
    'dashboard.channel_last_message': 'Son Mesaj',
    'dashboard.channel_config': 'Yapılandırma',
    'dashboard.channel_enabled': 'Etkin',
    'dashboard.channel_disabled': 'Devre Dışı',
    'dashboard.loading_sessions': 'Oturumlar yükleniyor...',
    'dashboard.loading_channels': 'Kanallar yükleniyor...',
    'dashboard.load_sessions_error': 'Oturumlar yüklenemedi',
    'dashboard.load_channels_error': 'Kanallar yüklenemedi',
    'dashboard.never': 'Hiç',
    'dashboard.agents_title': 'Ajanlar',
    'dashboard.agents_empty': 'Yapılandırılmış temsilci ajan yok.',
    'dashboard.agent_general_purpose': 'Genel amaçlı',
    'dashboard.agent_not_running': '-',
    'dashboard.agentic': 'Ajanik',
    'dashboard.single_turn': 'Tek tur',
    'dashboard.depth': 'derinlik',
    'dashboard.iterations': 'tur',
    'dashboard.current_task': 'Geçerli görev',
    'dashboard.run_time': 'Çalışma süresi',
    'dashboard.progress': 'İlerleme',
    'dashboard.last_active': 'Son etkinlik',
    'dashboard.capabilities': 'Yetenekler',
    'dashboard.no_tool_allowlist': 'Açık araç izin listesi yok',
    'dashboard.idle': 'Boşta',
    'dashboard.primary_agent_title': 'Birincil Ajan',
    'dashboard.primary_agent_status': 'Çalışıyor',
    'dashboard.primary_agent_style': 'Web sohbeti ve araç kullanımlı dönüşler için varsayılan etkileşimli ajan.',
    'dashboard.primary_agent_kind': 'Web sohbeti',
    'dashboard.primary_agent_tooling': 'Araç etkin',
    'dashboard.primary_agent_task': 'Her zaman hazır',
    'dashboard.primary_agent_progress': 'Hazır',
    'dashboard.primary_agent_last_active': 'Sürekli çalışıyor',
    'dashboard.delegate_agents_title': 'Alt Ajanlar',

    // Agent / Chat
    'agent.title': 'Ajan Sohbeti',
    'agent.send': 'Gönder',
    'agent.placeholder': 'Bir mesaj yazın...',
    'agent.start_conversation': 'Sohbeti başlatmak için mesaj gönderin',
    'agent.type_message': 'Bir mesaj yazın...',
    'agent.light_greeting_title': 'Merhaba, ben ZeroClaw!',
    'agent.light_greeting_subtitle': 'Sorular, yazma, özetleme, bilgi erişimi ve günlük görevlerde yardımcı olabilirim.',
    'agent.light_try_label': 'Şunları deneyebilirsiniz:',
    'agent.light_refresh_label': 'Değiştir',
    'agent.light_card_recommended': 'Önerilen istemler',
    'agent.light_card_knowledge': 'Bilgi tabanı',
    'agent.light_card_knowledge_prompt': 'Bilgi tabanımdaki temel noktaları özetle.',
    'agent.light_suggestion_one': 'Beyaz bir gömlekten kahve lekesi nasıl çıkarılır?',
    'agent.light_suggestion_two': 'Takım buluşması için iyi buz kırıcı oyunlar nelerdir?',
    'agent.light_suggestion_three': 'Bir müşteri için kısa bir takip e-postası yaz.',
    'agent.light_suggestion_four': 'Uzun bir makaleyi madde madde nasıl özetlerim?',
    'agent.light_suggestion_five': "Excel'de koşullu toplam nasıl alınır?",
    'agent.light_suggestion_six': 'Kısa bir ürün lansmanı duyuru metni yaz.',
    'agent.light_suggestion_seven': 'Programlamaya yeni başlayan biri nereden başlamalı?',
    'agent.light_suggestion_eight': 'Üç günlük iş seyahati için neleri paketlemeliyim?',
    'agent.light_suggestion_nine': 'API nedir, basit bir dille açıkla.',
    'agent.light_type_message': 'Bir soru sorun veya becerileri kullanmak için "/" yazın',
    'agent.light_tool_model': 'Akıllı model yönlendirme',
    'agent.light_tool_expand': 'Derin düşünme',
    'agent.light_tool_search': 'Web arama',
    'agent.model_selector_title': 'Model Seç',
    'agent.model_selector_trial': 'Deneme Modelleri',
    'agent.model_selector_configured': 'Yapılandırılmış Modeller',
    'agent.model_selector_no_trial': 'Kullanılabilir deneme modeli yok',
    'agent.model_selector_no_configured': 'Başka model yapılandırılmamış',
    'agent.connecting': 'Bağlanıyor...',
    'agent.connected': 'Bağlandı',
    'agent.disconnected': 'Bağlantı kesildi',
    'agent.reconnecting': 'Yeniden bağlanıyor...',
    'agent.thinking': 'Düşünüyor...',
    'agent.tool_call': 'Araç Çağrısı',
    'agent.tool_result': 'Araç Sonucu',
    'agent.connection_error': 'Bağlantı hatası. Yeniden bağlanmaya çalışılıyor...',
    'agent.tool_call_prefix': '[Araç Çağrısı]',
    'agent.tool_result_prefix': '[Araç Sonucu]',
    'agent.error_prefix': '[Hata]',
    'agent.unknown_error': 'Bilinmeyen hata',
    'agent.send_error': 'Mesaj gönderilemedi. Lütfen tekrar deneyin.',
    'agent.copy_message': 'Mesajı kopyala',
    'agent.show_json': 'JSON Goster',
    'agent.hide_json': 'JSON Gizle',
    'agent.toggle_system_messages': 'Sistem mesajlarini goster/gizle',
    'agent.connected_status': 'Bağlandı',
    'agent.disconnected_status': 'Bağlantı kesildi',
    'agent.generating_block_tip': 'Yanıt oluşturuluyor, lütfen tamamlandıktan sonra tekrar deneyin',
    'header.new_session': 'Yeni Oturum',
    'header.window_pin': 'Üste Sabitle',
    'header.window_minimize': 'Simge Durumuna Küçült',
    'header.window_maximize': 'Büyüt',
    'header.window_close': 'Kapat',

    // Tools
    'tools.title': 'Mevcut Araçlar',
    'tools.name': 'Ad',
    'tools.description': 'Açıklama',
    'tools.parameters': 'Parametreler',
    'tools.search': 'Araç ara...',
    'tools.empty': 'Araç bulunamadı.',
    'tools.count': 'Toplam araç',
    'tools.agent_tools': 'Ajan Araçları',
    'tools.cli_tools': 'CLI Araçları',
    'tools.parameter_schema': 'Parametre Şeması',
    'tools.path': 'Yol',
    'tools.version': 'Sürüm',
    'tools.category': 'Kategori',
    'tools.load_error': 'Araçlar yüklenemedi',

    // Cron
    'cron.title': 'Zamanlanmış Görevler',
    'cron.scheduled_tasks': 'Zamanlanmış Görevler',
    'cron.add': 'Görev Ekle',
    'cron.add_job': 'Görev Ekle',
    'cron.add_modal_title': 'Cron Görevi Ekle',
    'cron.delete': 'Sil',
    'cron.enable': 'Etkinleştir',
    'cron.disable': 'Devre Dışı Bırak',
    'cron.name': 'Ad',
    'cron.name_optional': 'Ad (isteğe bağlı)',
    'cron.command': 'Komut',
    'cron.command_required': 'Komut',
    'cron.schedule': 'Zamanlama',
    'cron.schedule_required': 'Zamanlama',
    'cron.next_run': 'Sonraki Çalıştırma',
    'cron.last_run': 'Son Çalıştırma',
    'cron.last_status': 'Son Durum',
    'cron.enabled': 'Etkin',
    'cron.enabled_status': 'Etkin',
    'cron.disabled_status': 'Devre Dışı',
    'cron.empty': 'Zamanlanmış görev bulunamadı.',
    'cron.confirm_delete': 'Bu görevi silmek istediğinizden emin misiniz?',
    'cron.load_error': 'Cron görevleri yüklenemedi',
    'cron.validation_error': 'Zamanlama ve komut gereklidir.',
    'cron.add_error': 'Görev eklenemedi',
    'cron.delete_error': 'Görev silinemedi',
    'cron.cancel': 'İptal',
    'cron.adding': 'Ekleniyor...',
    'cron.id': 'ID',
    'cron.actions': 'İşlemler',
    'cron.loading_run_history': 'Çalıştırma geçmişi yükleniyor...',
    'cron.load_run_history_error': 'Çalıştırma geçmişi yüklenemedi',
    'cron.no_runs': 'Henüz çalıştırma kaydı yok.',
    'cron.recent_runs': 'Son Çalıştırmalar',
    'cron.yes': 'Evet',
    'cron.no': 'Hayır',
    'cron.edit': 'Düzenle',
    'cron.edit_modal_title': 'Cron Görevini Düzenle',
    'cron.edit_error': 'Görev güncellenemedi',
    'cron.saving': 'Kaydediliyor...',
    'cron.save': 'Kaydet',

    // Integrations
    'integrations.title': 'Entegrasyonlar',
    'integrations.available': 'Mevcut',
    'integrations.active': 'Aktif',
    'integrations.coming_soon': 'Yakında',
    'integrations.category': 'Kategori',
    'integrations.status': 'Durum',
    'integrations.search': 'Entegrasyon ara...',
    'integrations.empty': 'Entegrasyon bulunamadı.',
    'integrations.activate': 'Etkinleştir',
    'integrations.deactivate': 'Devre Dışı Bırak',
    'integrations.load_error': 'Entegrasyonlar yüklenemedi',
    'integrations.status_active': 'Aktif',
    'integrations.status_available': 'Mevcut',
    'integrations.status_coming_soon': 'Yakında',

    // Model Switch
    'modelswitch.title': 'Model Değiştirme',
    'modelswitch.all': 'Tümü',
    'modelswitch.empty': 'Model bulunamadı.',
    'modelswitch.status_active': 'Aktif',
    'modelswitch.status_available': 'Mevcut',
    'modelswitch.status_coming_soon': 'Yakında',

    // Skills
    'skills.title': 'Beceriler',
    'skills.all': 'Tümü',
    'skills.empty': 'Beceri bulunamadı.',
    'skills.enabled': 'Etkin',
    'skills.disabled': 'Devre Dışı',
    'skills.status_active': 'Aktif',
    'skills.status_available': 'Mevcut',
    'skills.status_coming_soon': 'Yakında',

    // Memory
    'memory.title': 'Hafıza Deposu',
    'memory.memory_title': 'Hafıza',
    'memory.search': 'Hafıza ara...',
    'memory.search_placeholder': 'Hafıza girişleri ara...',
    'memory.add': 'Hafıza Ekle',
    'memory.add_memory': 'Hafıza Ekle',
    'memory.add_modal_title': 'Hafıza Ekle',
    'memory.delete': 'Sil',
    'memory.key': 'Anahtar',
    'memory.key_required': 'Anahtar',
    'memory.content': 'İçerik',
    'memory.content_required': 'İçerik',
    'memory.category': 'Kategori',
    'memory.category_optional': 'Kategori (isteğe bağlı)',
    'memory.timestamp': 'Zaman Damgası',
    'memory.session': 'Oturum',
    'memory.score': 'Puan',
    'memory.empty': 'Hafıza girişi bulunamadı.',
    'memory.confirm_delete': 'Bu hafıza girişini silmek istediğinizden emin misiniz?',
    'memory.all_categories': 'Tüm Kategoriler',
    'memory.search_button': 'Ara',
    'memory.load_error': 'Hafıza yüklenemedi',
    'memory.saving': 'Kaydediliyor...',
    'memory.validation_error': 'Anahtar ve içerik gereklidir.',
    'memory.store_error': 'Hafıza kaydedilemedi',
    'memory.delete_error': 'Hafıza silinemedi',
    'memory.delete_confirm': 'Sil?',
    'memory.yes': 'Evet',
    'memory.no': 'Hayır',
    'memory.cancel': 'İptal',

    // Config
    'config.title': 'Yapılandırma',
    'config.save': 'Kaydet',
    'config.saving': 'Kaydediliyor...',
    'config.reset': 'Sıfırla',
    'config.saved': 'Yapılandırma başarıyla kaydedildi.',
    'config.error': 'Yapılandırma kaydedilemedi.',
    'config.loading': 'Yapılandırma yükleniyor...',
    'config.editor_placeholder': 'TOML yapılandırması...',
    'config.configuration_title': 'Yapılandırma',
    'config.sensitive_title': 'Hassas alanlar gizlendi',
    'config.sensitive_hint': 'API anahtarları, belirteçler ve parolalar güvenlik için gizlendi. Maskeli bir alanı güncellemek için, tüm maskeli değeri yeni değerinizle değiştirin.',
    'config.save_success': 'Yapılandırma başarıyla kaydedildi.',
    'config.save_error': 'Yapılandırma kaydedilemedi',
    'config.toml_label': 'TOML Yapılandırması',
    'config.lines': 'satır',
    'config.mode.form': 'Form',
    'config.mode.advanced': 'Gelişmiş',
    'config.section.general': 'Genel',
    'config.section.agent': 'Ajan',
    'config.section.gateway': 'Ağ Geçidi',
    'config.section.cost': 'Maliyet',
    'config.section.memory': 'Hafıza',
    'config.section.web_search': 'Web Arama',
    'config.section.heartbeat': 'Kalp Atışı',
    'config.field.default_provider': 'Varsayılan Sağlayıcı',
    'config.field.default_provider.desc': 'Kullanılacak LLM sağlayıcısı (ör. openrouter, ollama)',
    'config.field.default_model': 'Varsayılan Model',
    'config.field.default_model.desc': 'Varsayılan sağlayıcı için model adı',
    'config.field.default_temperature': 'Sıcaklık',
    'config.field.default_temperature.desc': 'Rastgeleliği kontrol eder (0 = belirleyici, 2 = maks yaratıcılık)',
    'config.field.provider_timeout_secs': 'Sağlayıcı Zaman Aşımı (sn)',
    'config.field.provider_timeout_secs.desc': 'LLM API çağrıları için HTTP zaman aşımı',
    'config.field.locale': 'Dil',
    'config.field.locale.desc': 'Arayüz dili ayarı',
    'config.field.compact_context': 'Kompakt Bağlam',
    'config.field.compact_context.desc': 'Küçük modeller için bağlam boyutunu azalt (13B veya daha az)',
    'config.field.max_tool_iterations': 'Maks Araç Yinelemesi',
    'config.field.max_tool_iterations.desc': 'Kullanıcı mesajı başına maks araç çağrısı döngüsü',
    'config.field.max_history_messages': 'Maks Geçmiş Mesajı',
    'config.field.max_history_messages.desc': 'Oturum başına maks konuşma geçmişi mesajı',
    'config.field.max_context_tokens': 'Maks Bağlam Token',
    'config.field.max_context_tokens.desc': 'Aşıldığında geçmiş sıkıştırma tetiklenir',
    'config.field.parallel_tools': 'Paralel Araçlar',
    'config.field.parallel_tools.desc': 'Bir turda paralel araç yürütmeyi etkinleştir',
    'config.field.gateway_port': 'Port',
    'config.field.gateway_port.desc': 'Ağ geçidi sunucu portu',
    'config.field.gateway_host': 'Ana Bilgisayar',
    'config.field.gateway_host.desc': 'Ağ geçidi bağlama adresi',
    'config.field.require_pairing': 'Eşleştirme Gerekli',
    'config.field.require_pairing.desc': 'İstekleri kabul etmeden önce cihaz eşleştirmesi gerektirir',
    'config.field.session_persistence': 'Oturum Kalıcılığı',
    'config.field.session_persistence.desc': 'WebSocket oturumlarını SQLite\'a kaydet',
    'config.field.session_ttl_hours': 'Oturum TTL (saat)',
    'config.field.session_ttl_hours.desc': 'Eski oturumları otomatik arşivle (0 = devre dışı)',
    'config.field.allow_public_bind': 'Herkese Açık Bağlamaya İzin Ver',
    'config.field.allow_public_bind.desc': 'Tünel olmadan localhost dışı bağlamaya izin ver',
    'config.field.daily_limit_usd': 'Günlük Limit (USD)',
    'config.field.daily_limit_usd.desc': 'Günlük harcama limiti',
    'config.field.monthly_limit_usd': 'Aylık Limit (USD)',
    'config.field.monthly_limit_usd.desc': 'Aylık harcama limiti',
    'config.field.warn_at_percent': 'Uyarı Eşiği (%)',
    'config.field.warn_at_percent.desc': 'Bütçe kullanımı bu yüzdeyi aştığında uyar',
    'config.field.allow_override': 'Geçersiz Kılmaya İzin Ver',
    'config.field.allow_override.desc': '--override bayrağının bütçe limitlerini aşmasına izin ver',
    'config.field.memory_backend': 'Arka Uç',
    'config.field.memory_backend.desc': 'Ajan hafızası için depolama arka ucu',
    'config.field.web_search_provider': 'Arama Sağlayıcısı',
    'config.field.web_search_provider.desc': 'Kullanılacak web arama motoru',
    'config.field.max_results': 'Maks Sonuç',
    'config.field.max_results.desc': 'Arama sorgusu başına sonuç sayısı',
    'config.field.web_search_timeout': 'Zaman Aşımı (sn)',
    'config.field.web_search_timeout.desc': 'Arama isteği zaman aşımı',
    'config.field.interval_minutes': 'Aralık (dk)',
    'config.field.interval_minutes.desc': 'Kalp atışı kontrolleri arasındaki dakika',
    'config.field.two_phase': 'İki Aşamalı',
    'config.field.two_phase.desc': 'Yürütmeden önce LLM\'e çalıştırıp çalıştırmayacağını sor',
    'config.field.adaptive': 'Uyarlanabilir',
    'config.field.adaptive.desc': 'Etkinliğe göre aralığı otomatik ayarla',
    'config.field.min_interval_minutes': 'Min Aralık (dk)',
    'config.field.min_interval_minutes.desc': 'Uyarlanabilir mod etkinken minimum aralık',
    'config.field.max_interval_minutes': 'Maks Aralık (dk)',
    'config.field.max_interval_minutes.desc': 'Uyarlanabilir mod geri çekildiğinde maksimum aralık',
    'config.field.heartbeat_message': 'Yedek Mesaj',
    'config.field.heartbeat_message.desc': 'HEARTBEAT.md boşken yedek görev metni',
    'config.field.heartbeat_target': 'Hedef Kanal',
    'config.field.heartbeat_target.desc': 'Kalp atışı çıktısı için teslim kanalı (ör. telegram)',
    'config.field.task_timeout_secs': 'Görev Zaman Aşımı (sn)',
    'config.field.task_timeout_secs.desc': 'Tek bir kalp atışı ajan çağrısı için maks saniye',

    // Cost
    'cost.title': 'Maliyet Takibi',
    'cost.session': 'Oturum Maliyeti',
    'cost.daily': 'Günlük Maliyet',
    'cost.monthly': 'Aylık Maliyet',
    'cost.total_tokens': 'Toplam Token',
    'cost.request_count': 'İstek Sayısı',
    'cost.by_model': 'Modele Göre Maliyet',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'İstekler',
    'cost.usd': 'Maliyet (USD)',
    'cost.load_error': 'Maliyet verileri yüklenemedi',
    'cost.session_cost': 'Oturum Maliyeti',
    'cost.daily_cost': 'Günlük Maliyet',
    'cost.monthly_cost': 'Aylık Maliyet',
    'cost.total_requests': 'Toplam İstek',
    'cost.token_statistics': 'Token İstatistikleri',
    'cost.avg_tokens_per_request': 'Ortalama Token / İstek',
    'cost.cost_per_1k_tokens': '1K Token Başına Maliyet',
    'cost.model_breakdown': 'Model Detayı',
    'cost.no_model_data': 'Model verisi mevcut değil.',
    'cost.cost': 'Maliyet',
    'cost.share': 'Pay',

    // Logs
    'logs.title': 'Canlı Kayıtlar',
    'logs.live_logs': 'Canlı Kayıtlar',
    'logs.clear': 'Temizle',
    'logs.pause': 'Duraklat',
    'logs.resume': 'Devam Et',
    'logs.filter': 'Kayıtları filtrele...',
    'logs.filter_label': 'Filtre',
    'logs.empty': 'Kayıt girişi bulunamadı.',
    'logs.connected': 'Bağlandı',
    'logs.disconnected': 'Bağlantı kesildi',
    'logs.events': 'olay',
    'logs.jump_to_bottom': 'En alta atla',
    'logs.paused_hint': 'Kayıt akışı duraklatıldı.',
    'logs.waiting_hint': 'Olay bekleniyor...',

    // Doctor
    'doctor.title': 'Sistem Tanıları',
    'doctor.diagnostics_title': 'Tanılar',
    'doctor.run': 'Tanı Çalıştır',
    'doctor.run_diagnostics': 'Tanı Çalıştır',
    'doctor.running': 'Tanı çalıştırılıyor...',
    'doctor.running_btn': 'Çalıştırılıyor...',
    'doctor.running_desc': 'Tanı çalıştırılıyor...',
    'doctor.running_hint': 'Bu birkaç saniye sürebilir.',
    'doctor.ok': 'Tamam',
    'doctor.warn': 'Uyarı',
    'doctor.error': 'Hata',
    'doctor.severity': 'Şiddet',
    'doctor.category': 'Kategori',
    'doctor.message': 'Mesaj',
    'doctor.empty': 'Henüz tanı çalıştırılmadı.',
    'doctor.summary': 'Tanı Özeti',
    'doctor.issues_found': 'Sorunlar Bulundu',
    'doctor.warnings_summary': 'Uyarılar',
    'doctor.all_clear': 'Her Şey Yolunda',
    'doctor.system_diagnostics': 'Sistem Tanıları',
    'doctor.empty_hint': 'ZeroClaw kurulumunuzu kontrol etmek için "Tanı Çalıştır" düğmesine tıklayın.',

    // Auth / Pairing
    'auth.pair': 'Cihaz Eşleştir',
    'auth.pairing_code': 'Eşleştirme Kodu',
    'auth.pair_button': 'Eşleştir',
    'auth.logout': 'Çıkış Yap',
    'auth.pairing_success': 'Eşleştirme başarılı!',
    'auth.pairing_failed': 'Eşleştirme başarısız. Lütfen tekrar deneyin.',
    'auth.enter_code': 'Akıllı birine bağlanmak için eşleştirme kodunuzu girin.',

    // Common
    'common.loading': 'Yükleniyor...',
    'common.error': 'Bir hata oluştu.',
    'common.retry': 'Tekrar Dene',
    'common.cancel': 'İptal',
    'common.confirm': 'Onayla',
    'common.save': 'Kaydet',
    'common.delete': 'Sil',
    'common.edit': 'Düzenle',
    'common.close': 'Kapat',
    'common.yes': 'Evet',
    'common.no': 'Hayır',
    'common.search': 'Ara...',
    'common.no_data': 'Veri mevcut değil.',
    'common.refresh': 'Yenile',
    'common.back': 'Geri',
    'common.actions': 'İşlemler',
    'common.name': 'Ad',
    'common.description': 'Açıklama',
    'common.status': 'Durum',
    'common.created': 'Oluşturulma',
    'common.updated': 'Güncellenme',

    // Health
    'health.title': 'Sistem Sağlığı',
    'health.component': 'Bileşen',
    'health.status': 'Durum',
    'health.last_ok': 'Son Başarılı',
    'health.last_error': 'Son Hata',
    'health.restart_count': 'Yeniden Başlatmalar',
    'health.pid': 'İşlem Kimliği',
    'health.uptime': 'Çalışma Süresi',
    'health.updated_at': 'Son Güncelleme',

    // Settings
    'settings.title': 'Ayarlar',
    'settings.theme_title': 'Tema Ayarları',
    'settings.tab.appearance': 'Görünüm',
    'settings.tab.typography': 'Tipografi',
    'settings.dark_presets': 'Koyu Temalar',
    'settings.light_presets': 'Açık Temalar',
    'settings.appearance': 'Görünüm',
    'settings.typography': 'Tipografi',
    'settings.fontUi': 'Arayüz Yazı Tipi',
    'settings.fontMono': 'Kod Yazı Tipi',
    'settings.fontSize': 'Arayüz Boyutu',
    'settings.fontMonoSize': 'Kod Boyutu',
    'settings.preview': 'Önizleme',
    'settings.previewText': 'Tembel köpek üzerinde hızlı kahverengi tilki zıplar.',
    'settings.fontNote': 'Yazı tipi değişiklikleri sayfa yeniden yüklendikten sonra geçerli olur.',
    'settings.language': 'Dil',

    // Theme
    'theme.mode': 'Tema Modu',
    'theme.accent': 'Vurgu Rengi',
    'theme.system': 'Sistem',
    'theme.dark': 'Koyu',
    'theme.light': 'Açık',
    'theme.oled': 'OLED Siyah',
  },

  ar: {
    // Navigation
    'nav.dashboard': 'لوحة التحكم',
    'nav.agent': 'الوكيل',
    'nav.tools': 'الأدوات',
    'nav.cron': 'المهام المجدولة',
    'nav.integrations': 'التكاملات',
    'nav.memory': 'الذاكرة',
    'nav.config': 'الإعدادات',
    'nav.cost': 'متتبع التكاليف',
    'nav.logs': 'السجلات',
    'nav.doctor': 'التشخيص',
    'nav.canvas': 'اللوحة',

    // Dashboard
    'dashboard.title': 'لوحة التحكم',
    'dashboard.provider': 'المزوّد',
    'dashboard.model': 'النموذج',
    'dashboard.uptime': 'وقت التشغيل',
    'dashboard.temperature': 'درجة الحرارة',
    'dashboard.gateway_port': 'منفذ البوابة',
    'dashboard.memory_backend': 'واجهة الذاكرة الخلفية',
    'dashboard.paired': 'مقترن',
    'dashboard.channels': 'القنوات',
    'dashboard.health': 'الصحة',
    'dashboard.status': 'الحالة',
    'dashboard.overview': 'نظرة عامة',
    'dashboard.system_info': 'معلومات النظام',
    'dashboard.quick_actions': 'إجراءات سريعة',

    // Agent / Chat
    'agent.title': 'محادثة الوكيل',
    'agent.send': 'إرسال',
    'agent.placeholder': 'اكتب رسالة...',
    'agent.start_conversation': 'أرسل رسالة لبدء المحادثة',
    'agent.type_message': 'اكتب رسالة...',
    'agent.connecting': 'جارٍ الاتصال...',
    'agent.connected': 'متصل',
    'agent.disconnected': 'غير متصل',
    'agent.reconnecting': 'جارٍ إعادة الاتصال...',
    'agent.thinking': 'جارٍ التفكير...',
    'agent.tool_call': 'استدعاء أداة',
    'agent.tool_result': 'نتيجة الأداة',
    'agent.connection_error': 'خطأ في الاتصال. جارٍ محاولة إعادة الاتصال...',
    'agent.tool_call_prefix': '[استدعاء أداة]',
    'agent.tool_result_prefix': '[نتيجة الأداة]',
    'agent.error_prefix': '[خطأ]',
    'agent.unknown_error': 'خطأ غير معروف',
    'agent.send_error': 'فشل إرسال الرسالة. يرجى المحاولة مرة أخرى.',
    'agent.copy_message': 'نسخ الرسالة',
    'agent.connected_status': 'متصل',
    'agent.disconnected_status': 'غير متصل',

    // Tools
    'tools.title': 'الأدوات المتاحة',
    'tools.name': 'الاسم',
    'tools.description': 'الوصف',
    'tools.parameters': 'المعلمات',
    'tools.search': 'البحث في الأدوات...',
    'tools.empty': 'لا توجد أدوات متاحة.',
    'tools.count': 'إجمالي الأدوات',
    'tools.agent_tools': 'أدوات الوكيل',
    'tools.cli_tools': 'أدوات CLI',
    'tools.parameter_schema': 'مخطط المعلمات',
    'tools.path': 'المسار',
    'tools.version': 'الإصدار',
    'tools.category': 'الفئة',
    'tools.load_error': 'فشل تحميل الأدوات',

    // Cron
    'cron.title': 'المهام المجدولة',
    'cron.scheduled_tasks': 'المهام المجدولة',
    'cron.add': 'إضافة مهمة',
    'cron.add_job': 'إضافة مهمة',
    'cron.add_modal_title': 'إضافة مهمة Cron',
    'cron.delete': 'حذف',
    'cron.enable': 'تفعيل',
    'cron.disable': 'تعطيل',
    'cron.name': 'الاسم',
    'cron.name_optional': 'الاسم (اختياري)',
    'cron.command': 'الأمر',
    'cron.command_required': 'الأمر',
    'cron.schedule': 'الجدول',
    'cron.schedule_required': 'الجدول',
    'cron.next_run': 'التشغيل التالي',
    'cron.last_run': 'آخر تشغيل',
    'cron.last_status': 'آخر حالة',
    'cron.enabled': 'مفعّل',
    'cron.enabled_status': 'مفعّل',
    'cron.disabled_status': 'معطّل',
    'cron.empty': 'لا توجد مهام مجدولة.',
    'cron.confirm_delete': 'هل أنت متأكد أنك تريد حذف هذه المهمة؟',
    'cron.load_error': 'فشل تحميل مهام Cron',
    'cron.validation_error': 'الجدول والأمر مطلوبان.',
    'cron.add_error': 'فشل إضافة المهمة',
    'cron.delete_error': 'فشل حذف المهمة',
    'cron.cancel': 'إلغاء',
    'cron.adding': 'جارٍ الإضافة...',
    'cron.id': 'ID',
    'cron.actions': 'الإجراءات',
    'cron.loading_run_history': 'جارٍ تحميل سجل التشغيل...',
    'cron.load_run_history_error': 'فشل تحميل سجل التشغيل',
    'cron.no_runs': 'لم يتم تسجيل أي عمليات تشغيل بعد.',
    'cron.recent_runs': 'عمليات التشغيل الأخيرة',
    'cron.yes': 'نعم',
    'cron.no': 'لا',
    'cron.edit': 'تعديل',
    'cron.edit_modal_title': 'تعديل مهمة Cron',
    'cron.edit_error': 'فشل تحديث المهمة',
    'cron.saving': 'جارٍ الحفظ...',
    'cron.save': 'حفظ',

    // Integrations
    'integrations.title': 'التكاملات',
    'integrations.available': 'متاح',
    'integrations.active': 'نشط',
    'integrations.coming_soon': 'قريبًا',
    'integrations.category': 'الفئة',
    'integrations.status': 'الحالة',
    'integrations.search': 'البحث في التكاملات...',
    'integrations.empty': 'لم يتم العثور على تكاملات.',
    'integrations.activate': 'تفعيل',
    'integrations.deactivate': 'إلغاء التفعيل',
    'integrations.load_error': 'فشل تحميل التكاملات',
    'integrations.status_active': 'نشط',
    'integrations.status_available': 'متاح',
    'integrations.status_coming_soon': 'قريبًا',

    // Memory
    'memory.title': 'مخزن الذاكرة',
    'memory.memory_title': 'الذاكرة',
    'memory.search': 'البحث في الذاكرة...',
    'memory.search_placeholder': 'البحث في إدخالات الذاكرة...',
    'memory.add': 'تخزين ذاكرة',
    'memory.add_memory': 'إضافة ذاكرة',
    'memory.add_modal_title': 'إضافة ذاكرة',
    'memory.delete': 'حذف',
    'memory.key': 'المفتاح',
    'memory.key_required': 'المفتاح',
    'memory.content': 'المحتوى',
    'memory.content_required': 'المحتوى',
    'memory.category': 'الفئة',
    'memory.category_optional': 'الفئة (اختياري)',
    'memory.timestamp': 'الطابع الزمني',
    'memory.session': 'الجلسة',
    'memory.score': 'الدرجة',
    'memory.empty': 'لم يتم العثور على إدخالات ذاكرة.',
    'memory.confirm_delete': 'هل أنت متأكد أنك تريد حذف إدخال الذاكرة هذا؟',
    'memory.all_categories': 'جميع الفئات',
    'memory.search_button': 'بحث',
    'memory.load_error': 'فشل تحميل الذاكرة',
    'memory.saving': 'جارٍ الحفظ...',
    'memory.validation_error': 'المفتاح والمحتوى مطلوبان.',
    'memory.store_error': 'فشل تخزين الذاكرة',
    'memory.delete_error': 'فشل حذف الذاكرة',
    'memory.delete_confirm': 'حذف؟',
    'memory.yes': 'نعم',
    'memory.no': 'لا',
    'memory.cancel': 'إلغاء',

    // Config
    'config.title': 'الإعدادات',
    'config.save': 'حفظ',
    'config.saving': 'جارٍ الحفظ...',
    'config.reset': 'إعادة تعيين',
    'config.saved': 'تم حفظ الإعدادات بنجاح.',
    'config.error': 'فشل حفظ الإعدادات.',
    'config.loading': 'جارٍ تحميل الإعدادات...',
    'config.editor_placeholder': 'إعدادات TOML...',
    'config.configuration_title': 'الإعدادات',
    'config.sensitive_title': 'الحقول الحساسة مخفية',
    'config.sensitive_hint': 'مفاتيح API والرموز وكلمات المرور مخفية لأسباب أمنية. لتحديث حقل مخفي، استبدل القيمة المخفية بالكامل بقيمتك الجديدة.',
    'config.save_success': 'تم حفظ الإعدادات بنجاح.',
    'config.save_error': 'فشل حفظ الإعدادات',
    'config.toml_label': 'إعدادات TOML',
    'config.lines': 'أسطر',

    // Cost
    'cost.title': 'متتبع التكاليف',
    'cost.session': 'تكلفة الجلسة',
    'cost.daily': 'التكلفة اليومية',
    'cost.monthly': 'التكلفة الشهرية',
    'cost.total_tokens': 'إجمالي Token',
    'cost.request_count': 'الطلبات',
    'cost.by_model': 'التكلفة حسب النموذج',
    'cost.model': 'النموذج',
    'cost.tokens': 'Token',
    'cost.requests': 'الطلبات',
    'cost.usd': 'التكلفة (USD)',
    'cost.load_error': 'فشل تحميل بيانات التكاليف',
    'cost.session_cost': 'تكلفة الجلسة',
    'cost.daily_cost': 'التكلفة اليومية',
    'cost.monthly_cost': 'التكلفة الشهرية',
    'cost.total_requests': 'إجمالي الطلبات',
    'cost.token_statistics': 'إحصائيات Token',
    'cost.avg_tokens_per_request': 'متوسط Token لكل طلب',
    'cost.cost_per_1k_tokens': 'التكلفة لكل 1000 Token',
    'cost.model_breakdown': 'تفصيل النماذج',
    'cost.no_model_data': 'لا تتوفر بيانات نماذج.',
    'cost.cost': 'التكلفة',
    'cost.share': 'مشاركة',

    // Logs
    'logs.title': 'السجلات المباشرة',
    'logs.live_logs': 'السجلات المباشرة',
    'logs.clear': 'مسح',
    'logs.pause': 'إيقاف مؤقت',
    'logs.resume': 'استئناف',
    'logs.filter': 'تصفية السجلات...',
    'logs.filter_label': 'تصفية',
    'logs.empty': 'لا توجد إدخالات سجل.',
    'logs.connected': 'متصل',
    'logs.disconnected': 'غير متصل',
    'logs.events': 'أحداث',
    'logs.jump_to_bottom': 'الانتقال إلى الأسفل',
    'logs.paused_hint': 'بث السجلات متوقف مؤقتًا.',
    'logs.waiting_hint': 'في انتظار الأحداث...',

    // Doctor
    'doctor.title': 'تشخيصات النظام',
    'doctor.diagnostics_title': 'التشخيصات',
    'doctor.run': 'تشغيل التشخيصات',
    'doctor.run_diagnostics': 'تشغيل التشخيصات',
    'doctor.running': 'جارٍ تشغيل التشخيصات...',
    'doctor.running_btn': 'جارٍ التشغيل...',
    'doctor.running_desc': 'جارٍ تشغيل التشخيصات...',
    'doctor.running_hint': 'قد يستغرق هذا بضع ثوانٍ.',
    'doctor.ok': 'موافق',
    'doctor.warn': 'تحذير',
    'doctor.error': 'خطأ',
    'doctor.severity': 'الخطورة',
    'doctor.category': 'الفئة',
    'doctor.message': 'الرسالة',
    'doctor.empty': 'لم يتم إجراء أي تشخيصات بعد.',
    'doctor.summary': 'ملخص التشخيص',
    'doctor.issues_found': 'تم العثور على مشكلات',
    'doctor.warnings_summary': 'تحذيرات',
    'doctor.all_clear': 'كل شيء على ما يرام',
    'doctor.system_diagnostics': 'تشخيصات النظام',
    'doctor.empty_hint': 'انقر على "تشغيل التشخيصات" للتحقق من تثبيت ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'إقران الجهاز',
    'auth.pairing_code': 'رمز الإقران',
    'auth.pair_button': 'إقران',
    'auth.logout': 'تسجيل الخروج',
    'auth.pairing_success': 'تم الإقران بنجاح!',
    'auth.pairing_failed': 'فشل الإقران. يرجى المحاولة مرة أخرى.',
    'auth.enter_code': 'أدخل رمز الإقران للاتصال بالوكيل.',

    // Common
    'common.loading': 'جارٍ التحميل...',
    'common.error': 'حدث خطأ.',
    'common.retry': 'إعادة المحاولة',
    'common.cancel': 'إلغاء',
    'common.confirm': 'تأكيد',
    'common.save': 'حفظ',
    'common.delete': 'حذف',
    'common.edit': 'تعديل',
    'common.close': 'إغلاق',
    'common.yes': 'نعم',
    'common.no': 'لا',
    'common.search': 'بحث...',
    'common.no_data': 'لا تتوفر بيانات.',
    'common.refresh': 'تحديث',
    'common.back': 'رجوع',
    'common.actions': 'الإجراءات',
    'common.name': 'الاسم',
    'common.description': 'الوصف',
    'common.status': 'الحالة',
    'common.created': 'تاريخ الإنشاء',
    'common.updated': 'تاريخ التحديث',

    // Health
    'health.title': 'صحة النظام',
    'health.component': 'المكوّن',
    'health.status': 'الحالة',
    'health.last_ok': 'آخر حالة سليمة',
    'health.last_error': 'آخر خطأ',
    'health.restart_count': 'مرات إعادة التشغيل',
    'health.pid': 'معرّف العملية',
    'health.uptime': 'وقت التشغيل',
    'health.updated_at': 'آخر تحديث',

    // Dashboard
    'dashboard.provider_model': 'المزوّد / النموذج',
    'dashboard.since_last_restart': 'منذ آخر إعادة تشغيل',
    'dashboard.paired_yes': 'نعم',
    'dashboard.paired_no': 'لا',
    'dashboard.cost_overview': 'نظرة عامة على التكاليف',
    'dashboard.active_channels': 'القنوات النشطة',
    'dashboard.filter_active': 'نشط',
    'dashboard.filter_all': 'الكل',
    'dashboard.no_active_channels': 'لا توجد قنوات نشطة',
    'dashboard.component_health': 'صحة المكوّنات',
    'dashboard.load_error': 'فشل تحميل لوحة التحكم',
    'dashboard.session_label': 'الجلسة',
    'dashboard.daily_label': 'يومي',
    'dashboard.monthly_label': 'شهري',
    'dashboard.total_tokens_label': 'إجمالي Token',
    'dashboard.requests_label': 'الطلبات',
    'dashboard.no_channels': 'لم يتم تكوين قنوات',
    'dashboard.active': 'نشط',
    'dashboard.inactive': 'غير نشط',
    'dashboard.no_components': 'لا توجد مكوّنات تقدم تقارير',
    'dashboard.restarts': 'مرات إعادة التشغيل',
    'dashboard.tab_overview': 'نظرة عامة',
    'dashboard.tab_sessions': 'الجلسات',
    'dashboard.tab_channels': 'القنوات',
    'dashboard.sessions_title': 'الجلسات النشطة',
    'dashboard.no_sessions': 'لا توجد جلسات نشطة',
    'dashboard.session_id': 'معرّف الجلسة',
    'dashboard.session_started': 'بدأت',
    'dashboard.session_last_activity': 'آخر نشاط',
    'dashboard.session_messages': 'الرسائل',
    'dashboard.session_details': 'تفاصيل الجلسة',
    'dashboard.session_history': 'عرض السجل',
    'dashboard.channels_title': 'حالة القنوات',
    'dashboard.no_channels_detail': 'لا تتوفر تفاصيل القنوات',
    'dashboard.channel_type': 'النوع',
    'dashboard.channel_messages': 'الرسائل',
    'dashboard.channel_last_message': 'آخر رسالة',
    'dashboard.channel_config': 'الإعدادات',
    'dashboard.channel_enabled': 'مفعّل',
    'dashboard.channel_disabled': 'معطّل',
    'dashboard.loading_sessions': 'جارٍ تحميل الجلسات...',
    'dashboard.loading_channels': 'جارٍ تحميل القنوات...',
    'dashboard.load_sessions_error': 'فشل تحميل الجلسات',
    'dashboard.load_channels_error': 'فشل تحميل القنوات',
    'dashboard.never': 'أبدًا',

    // Settings
    'settings.title': 'الإعدادات',
    'settings.tab.appearance': 'المظهر',
    'settings.tab.typography': 'الخطوط',
    'settings.appearance': 'المظهر',
    'settings.typography': 'الخطوط',
    'settings.fontUi': 'خط الواجهة',
    'settings.fontMono': 'خط الكود',
    'settings.fontSize': 'حجم خط الواجهة',
    'settings.fontMonoSize': 'حجم خط الكود',
    'settings.preview': 'معاينة',
    'settings.previewText': 'نص المعاينة لاختبار الخطوط والأحجام.',
    'settings.fontNote': 'تُطبَّق تغييرات الخطوط عند إعادة تحميل الصفحة.',
    'settings.language': 'اللغة',

    // Theme
    'theme.mode': 'وضع السمة',
    'theme.accent': 'لون التمييز',
    'theme.system': 'النظام',
    'theme.dark': 'داكن',
    'theme.light': 'فاتح',
    'theme.oled': 'OLED أسود',
  },

  bn: {
    // Navigation
    'nav.dashboard': 'ড্যাশবোর্ড',
    'nav.agent': 'এজেন্ট',
    'nav.tools': 'টুলস',
    'nav.cron': 'নির্ধারিত কাজ',
    'nav.integrations': 'ইন্টিগ্রেশন',
    'nav.memory': 'মেমরি',
    'nav.config': 'কনফিগারেশন',
    'nav.cost': 'খরচ ট্র্যাকার',
    'nav.logs': 'লগ',
    'nav.doctor': 'ডক্টর',
    'nav.canvas': 'ক্যানভাস',

    // Dashboard
    'dashboard.title': 'ড্যাশবোর্ড',
    'dashboard.provider': 'প্রোভাইডার',
    'dashboard.model': 'মডেল',
    'dashboard.uptime': 'আপটাইম',
    'dashboard.temperature': 'তাপমাত্রা',
    'dashboard.gateway_port': 'গেটওয়ে পোর্ট',
    'dashboard.memory_backend': 'মেমরি ব্যাকএন্ড',
    'dashboard.paired': 'যুক্ত',
    'dashboard.channels': 'চ্যানেল',
    'dashboard.health': 'স্বাস্থ্য',
    'dashboard.status': 'স্থিতি',
    'dashboard.overview': 'সংক্ষিপ্ত বিবরণ',
    'dashboard.system_info': 'সিস্টেম তথ্য',
    'dashboard.quick_actions': 'দ্রুত কার্যক্রম',

    // Agent / Chat
    'agent.title': 'এজেন্ট চ্যাট',
    'agent.send': 'পাঠান',
    'agent.placeholder': 'একটি বার্তা লিখুন...',
    'agent.start_conversation': 'কথোপকথন শুরু করতে একটি বার্তা পাঠান',
    'agent.type_message': 'একটি বার্তা লিখুন...',
    'agent.connecting': 'সংযোগ হচ্ছে...',
    'agent.connected': 'সংযুক্ত',
    'agent.disconnected': 'সংযোগ বিচ্ছিন্ন',
    'agent.reconnecting': 'পুনরায় সংযোগ হচ্ছে...',
    'agent.thinking': 'চিন্তা করছে...',
    'agent.tool_call': 'টুল কল',
    'agent.tool_result': 'টুল ফলাফল',
    'agent.connection_error': 'সংযোগ ত্রুটি। পুনরায় সংযোগের চেষ্টা করা হচ্ছে...',
    'agent.tool_call_prefix': '[টুল কল]',
    'agent.tool_result_prefix': '[টুল ফলাফল]',
    'agent.error_prefix': '[ত্রুটি]',
    'agent.unknown_error': 'অজানা ত্রুটি',
    'agent.send_error': 'বার্তা পাঠাতে ব্যর্থ। অনুগ্রহ করে আবার চেষ্টা করুন।',
    'agent.copy_message': 'বার্তা কপি করুন',
    'agent.connected_status': 'সংযুক্ত',
    'agent.disconnected_status': 'সংযোগ বিচ্ছিন্ন',

    // Tools
    'tools.title': 'উপলব্ধ টুলস',
    'tools.name': 'নাম',
    'tools.description': 'বিবরণ',
    'tools.parameters': 'প্যারামিটার',
    'tools.search': 'টুলস খুঁজুন...',
    'tools.empty': 'কোনো টুল উপলব্ধ নেই।',
    'tools.count': 'মোট টুলস',
    'tools.agent_tools': 'এজেন্ট টুলস',
    'tools.cli_tools': 'CLI টুলস',
    'tools.parameter_schema': 'প্যারামিটার স্কিমা',
    'tools.path': 'পাথ',
    'tools.version': 'সংস্করণ',
    'tools.category': 'বিভাগ',
    'tools.load_error': 'টুলস লোড করতে ব্যর্থ',

    // Cron
    'cron.title': 'নির্ধারিত কাজ',
    'cron.scheduled_tasks': 'নির্ধারিত কাজ',
    'cron.add': 'কাজ যোগ করুন',
    'cron.add_job': 'কাজ যোগ করুন',
    'cron.add_modal_title': 'Cron কাজ যোগ করুন',
    'cron.delete': 'মুছুন',
    'cron.enable': 'সক্রিয় করুন',
    'cron.disable': 'নিষ্ক্রিয় করুন',
    'cron.name': 'নাম',
    'cron.name_optional': 'নাম (ঐচ্ছিক)',
    'cron.command': 'কমান্ড',
    'cron.command_required': 'কমান্ড',
    'cron.schedule': 'সময়সূচি',
    'cron.schedule_required': 'সময়সূচি',
    'cron.next_run': 'পরবর্তী রান',
    'cron.last_run': 'শেষ রান',
    'cron.last_status': 'শেষ স্থিতি',
    'cron.enabled': 'সক্রিয়',
    'cron.enabled_status': 'সক্রিয়',
    'cron.disabled_status': 'নিষ্ক্রিয়',
    'cron.empty': 'কোনো নির্ধারিত কাজ নেই।',
    'cron.confirm_delete': 'আপনি কি এই কাজটি মুছে ফেলতে চান?',
    'cron.load_error': 'Cron কাজ লোড করতে ব্যর্থ',
    'cron.validation_error': 'সময়সূচি এবং কমান্ড আবশ্যক।',
    'cron.add_error': 'কাজ যোগ করতে ব্যর্থ',
    'cron.delete_error': 'কাজ মুছতে ব্যর্থ',
    'cron.cancel': 'বাতিল',
    'cron.adding': 'যোগ হচ্ছে...',
    'cron.id': 'ID',
    'cron.actions': 'কার্যক্রম',
    'cron.loading_run_history': 'রান ইতিহাস লোড হচ্ছে...',
    'cron.load_run_history_error': 'রান ইতিহাস লোড করতে ব্যর্থ',
    'cron.no_runs': 'এখনো কোনো রান রেকর্ড হয়নি।',
    'cron.recent_runs': 'সাম্প্রতিক রান',
    'cron.yes': 'হ্যাঁ',
    'cron.no': 'না',
    'cron.edit': 'সম্পাদনা',
    'cron.edit_modal_title': 'Cron কাজ সম্পাদনা করুন',
    'cron.edit_error': 'কাজ আপডেট করতে ব্যর্থ',
    'cron.saving': 'সংরক্ষণ হচ্ছে...',
    'cron.save': 'সংরক্ষণ',

    // Integrations
    'integrations.title': 'ইন্টিগ্রেশন',
    'integrations.available': 'উপলব্ধ',
    'integrations.active': 'সক্রিয়',
    'integrations.coming_soon': 'শীঘ্রই আসছে',
    'integrations.category': 'বিভাগ',
    'integrations.status': 'স্থিতি',
    'integrations.search': 'ইন্টিগ্রেশন খুঁজুন...',
    'integrations.empty': 'কোনো ইন্টিগ্রেশন পাওয়া যায়নি।',
    'integrations.activate': 'সক্রিয় করুন',
    'integrations.deactivate': 'নিষ্ক্রিয় করুন',
    'integrations.load_error': 'ইন্টিগ্রেশন লোড করতে ব্যর্থ',
    'integrations.status_active': 'সক্রিয়',
    'integrations.status_available': 'উপলব্ধ',
    'integrations.status_coming_soon': 'শীঘ্রই আসছে',

    // Memory
    'memory.title': 'মেমরি স্টোর',
    'memory.memory_title': 'মেমরি',
    'memory.search': 'মেমরিতে খুঁজুন...',
    'memory.search_placeholder': 'মেমরি এন্ট্রি খুঁজুন...',
    'memory.add': 'মেমরি সংরক্ষণ করুন',
    'memory.add_memory': 'মেমরি যোগ করুন',
    'memory.add_modal_title': 'মেমরি যোগ করুন',
    'memory.delete': 'মুছুন',
    'memory.key': 'কী',
    'memory.key_required': 'কী',
    'memory.content': 'বিষয়বস্তু',
    'memory.content_required': 'বিষয়বস্তু',
    'memory.category': 'বিভাগ',
    'memory.category_optional': 'বিভাগ (ঐচ্ছিক)',
    'memory.timestamp': 'টাইমস্ট্যাম্প',
    'memory.session': 'সেশন',
    'memory.score': 'স্কোর',
    'memory.empty': 'কোনো মেমরি এন্ট্রি পাওয়া যায়নি।',
    'memory.confirm_delete': 'আপনি কি এই মেমরি এন্ট্রিটি মুছে ফেলতে চান?',
    'memory.all_categories': 'সমস্ত বিভাগ',
    'memory.search_button': 'খুঁজুন',
    'memory.load_error': 'মেমরি লোড করতে ব্যর্থ',
    'memory.saving': 'সংরক্ষণ হচ্ছে...',
    'memory.validation_error': 'কী এবং বিষয়বস্তু আবশ্যক।',
    'memory.store_error': 'মেমরি সংরক্ষণ করতে ব্যর্থ',
    'memory.delete_error': 'মেমরি মুছতে ব্যর্থ',
    'memory.delete_confirm': 'মুছবেন?',
    'memory.yes': 'হ্যাঁ',
    'memory.no': 'না',
    'memory.cancel': 'বাতিল',

    // Config
    'config.title': 'কনফিগারেশন',
    'config.save': 'সংরক্ষণ',
    'config.saving': 'সংরক্ষণ হচ্ছে...',
    'config.reset': 'রিসেট',
    'config.saved': 'কনফিগারেশন সফলভাবে সংরক্ষিত হয়েছে।',
    'config.error': 'কনফিগারেশন সংরক্ষণ করতে ব্যর্থ।',
    'config.loading': 'কনফিগারেশন লোড হচ্ছে...',
    'config.editor_placeholder': 'TOML কনফিগারেশন...',
    'config.configuration_title': 'কনফিগারেশন',
    'config.sensitive_title': 'সংবেদনশীল ক্ষেত্রগুলি মাস্ক করা আছে',
    'config.sensitive_hint': 'নিরাপত্তার জন্য API কী, Token এবং পাসওয়ার্ড লুকানো আছে। একটি মাস্ক করা ক্ষেত্র আপডেট করতে, সম্পূর্ণ মাস্ক করা মানটি আপনার নতুন মান দিয়ে প্রতিস্থাপন করুন।',
    'config.save_success': 'কনফিগারেশন সফলভাবে সংরক্ষিত হয়েছে।',
    'config.save_error': 'কনফিগারেশন সংরক্ষণ করতে ব্যর্থ',
    'config.toml_label': 'TOML কনফিগারেশন',
    'config.lines': 'লাইন',

    // Cost
    'cost.title': 'খরচ ট্র্যাকার',
    'cost.session': 'সেশন খরচ',
    'cost.daily': 'দৈনিক খরচ',
    'cost.monthly': 'মাসিক খরচ',
    'cost.total_tokens': 'মোট Token',
    'cost.request_count': 'অনুরোধ',
    'cost.by_model': 'মডেল অনুসারে খরচ',
    'cost.model': 'মডেল',
    'cost.tokens': 'Token',
    'cost.requests': 'অনুরোধ',
    'cost.usd': 'খরচ (USD)',
    'cost.load_error': 'খরচের তথ্য লোড করতে ব্যর্থ',
    'cost.session_cost': 'সেশন খরচ',
    'cost.daily_cost': 'দৈনিক খরচ',
    'cost.monthly_cost': 'মাসিক খরচ',
    'cost.total_requests': 'মোট অনুরোধ',
    'cost.token_statistics': 'Token পরিসংখ্যান',
    'cost.avg_tokens_per_request': 'প্রতি অনুরোধে গড় Token',
    'cost.cost_per_1k_tokens': 'প্রতি 1K Token খরচ',
    'cost.model_breakdown': 'মডেল বিশ্লেষণ',
    'cost.no_model_data': 'কোনো মডেল তথ্য উপলব্ধ নেই।',
    'cost.cost': 'খরচ',
    'cost.share': 'শেয়ার',

    // Logs
    'logs.title': 'লাইভ লগ',
    'logs.live_logs': 'লাইভ লগ',
    'logs.clear': 'মুছুন',
    'logs.pause': 'বিরতি',
    'logs.resume': 'পুনরায় শুরু',
    'logs.filter': 'লগ ফিল্টার করুন...',
    'logs.filter_label': 'ফিল্টার',
    'logs.empty': 'কোনো লগ এন্ট্রি নেই।',
    'logs.connected': 'সংযুক্ত',
    'logs.disconnected': 'সংযোগ বিচ্ছিন্ন',
    'logs.events': 'ইভেন্ট',
    'logs.jump_to_bottom': 'নিচে যান',
    'logs.paused_hint': 'লগ স্ট্রিমিং বিরতি দেওয়া হয়েছে।',
    'logs.waiting_hint': 'ইভেন্টের জন্য অপেক্ষা করা হচ্ছে...',

    // Doctor
    'doctor.title': 'সিস্টেম ডায়াগনস্টিকস',
    'doctor.diagnostics_title': 'ডায়াগনস্টিকস',
    'doctor.run': 'ডায়াগনস্টিকস চালান',
    'doctor.run_diagnostics': 'ডায়াগনস্টিকস চালান',
    'doctor.running': 'ডায়াগনস্টিকস চলছে...',
    'doctor.running_btn': 'চলছে...',
    'doctor.running_desc': 'ডায়াগনস্টিকস চলছে...',
    'doctor.running_hint': 'এটি কয়েক সেকেন্ড সময় নিতে পারে।',
    'doctor.ok': 'ঠিক আছে',
    'doctor.warn': 'সতর্কতা',
    'doctor.error': 'ত্রুটি',
    'doctor.severity': 'তীব্রতা',
    'doctor.category': 'বিভাগ',
    'doctor.message': 'বার্তা',
    'doctor.empty': 'এখনো কোনো ডায়াগনস্টিকস চালানো হয়নি।',
    'doctor.summary': 'ডায়াগনস্টিক সারাংশ',
    'doctor.issues_found': 'সমস্যা পাওয়া গেছে',
    'doctor.warnings_summary': 'সতর্কতা',
    'doctor.all_clear': 'সব ঠিক আছে',
    'doctor.system_diagnostics': 'সিস্টেম ডায়াগনস্টিকস',
    'doctor.empty_hint': 'আপনার ZeroClaw ইনস্টলেশন পরীক্ষা করতে "ডায়াগনস্টিকস চালান" ক্লিক করুন।',

    // Auth / Pairing
    'auth.pair': 'ডিভাইস পেয়ার করুন',
    'auth.pairing_code': 'পেয়ারিং কোড',
    'auth.pair_button': 'পেয়ার',
    'auth.logout': 'লগআউট',
    'auth.pairing_success': 'পেয়ারিং সফল!',
    'auth.pairing_failed': 'পেয়ারিং ব্যর্থ। অনুগ্রহ করে আবার চেষ্টা করুন।',
    'auth.enter_code': 'এজেন্টের সাথে সংযোগ করতে আপনার পেয়ারিং কোড দিন।',

    // Common
    'common.loading': 'লোড হচ্ছে...',
    'common.error': 'একটি ত্রুটি ঘটেছে।',
    'common.retry': 'পুনরায় চেষ্টা',
    'common.cancel': 'বাতিল',
    'common.confirm': 'নিশ্চিত করুন',
    'common.save': 'সংরক্ষণ',
    'common.delete': 'মুছুন',
    'common.edit': 'সম্পাদনা',
    'common.close': 'বন্ধ',
    'common.yes': 'হ্যাঁ',
    'common.no': 'না',
    'common.search': 'খুঁজুন...',
    'common.no_data': 'কোনো তথ্য উপলব্ধ নেই।',
    'common.refresh': 'রিফ্রেশ',
    'common.back': 'পিছনে',
    'common.actions': 'কার্যক্রম',
    'common.name': 'নাম',
    'common.description': 'বিবরণ',
    'common.status': 'স্থিতি',
    'common.created': 'তৈরি হয়েছে',
    'common.updated': 'আপডেট হয়েছে',

    // Health
    'health.title': 'সিস্টেম স্বাস্থ্য',
    'health.component': 'উপাদান',
    'health.status': 'স্থিতি',
    'health.last_ok': 'শেষ সুস্থ',
    'health.last_error': 'শেষ ত্রুটি',
    'health.restart_count': 'পুনরায় চালু',
    'health.pid': 'প্রসেস ID',
    'health.uptime': 'আপটাইম',
    'health.updated_at': 'সর্বশেষ আপডেট',

    // Dashboard
    'dashboard.provider_model': 'প্রোভাইডার / মডেল',
    'dashboard.since_last_restart': 'শেষ রিস্টার্টের পর থেকে',
    'dashboard.paired_yes': 'হ্যাঁ',
    'dashboard.paired_no': 'না',
    'dashboard.cost_overview': 'খরচের সংক্ষিপ্ত বিবরণ',
    'dashboard.active_channels': 'সক্রিয় চ্যানেল',
    'dashboard.filter_active': 'সক্রিয়',
    'dashboard.filter_all': 'সমস্ত',
    'dashboard.no_active_channels': 'কোনো সক্রিয় চ্যানেল নেই',
    'dashboard.component_health': 'উপাদানের স্বাস্থ্য',
    'dashboard.load_error': 'ড্যাশবোর্ড লোড করতে ব্যর্থ',
    'dashboard.session_label': 'সেশন',
    'dashboard.daily_label': 'দৈনিক',
    'dashboard.monthly_label': 'মাসিক',
    'dashboard.total_tokens_label': 'মোট Token',
    'dashboard.requests_label': 'অনুরোধ',
    'dashboard.no_channels': 'কোনো চ্যানেল কনফিগার করা হয়নি',
    'dashboard.active': 'সক্রিয়',
    'dashboard.inactive': 'নিষ্ক্রিয়',
    'dashboard.no_components': 'কোনো উপাদান রিপোর্ট করছে না',
    'dashboard.restarts': 'পুনরায় চালু',
    'dashboard.tab_overview': 'সংক্ষিপ্ত বিবরণ',
    'dashboard.tab_sessions': 'সেশন',
    'dashboard.tab_channels': 'চ্যানেল',
    'dashboard.sessions_title': 'সক্রিয় সেশন',
    'dashboard.no_sessions': 'কোনো সক্রিয় সেশন নেই',
    'dashboard.session_id': 'সেশন ID',
    'dashboard.session_started': 'শুরু হয়েছে',
    'dashboard.session_last_activity': 'শেষ কার্যকলাপ',
    'dashboard.session_messages': 'বার্তা',
    'dashboard.session_details': 'সেশন বিবরণ',
    'dashboard.session_history': 'ইতিহাস দেখুন',
    'dashboard.channels_title': 'চ্যানেল স্থিতি',
    'dashboard.no_channels_detail': 'কোনো চ্যানেল বিবরণ উপলব্ধ নেই',
    'dashboard.channel_type': 'ধরন',
    'dashboard.channel_messages': 'বার্তা',
    'dashboard.channel_last_message': 'শেষ বার্তা',
    'dashboard.channel_config': 'কনফিগারেশন',
    'dashboard.channel_enabled': 'সক্রিয়',
    'dashboard.channel_disabled': 'নিষ্ক্রিয়',
    'dashboard.loading_sessions': 'সেশন লোড হচ্ছে...',
    'dashboard.loading_channels': 'চ্যানেল লোড হচ্ছে...',
    'dashboard.load_sessions_error': 'সেশন লোড করতে ব্যর্থ',
    'dashboard.load_channels_error': 'চ্যানেল লোড করতে ব্যর্থ',
    'dashboard.never': 'কখনো না',

    // Settings
    'settings.title': 'সেটিংস',
    'settings.tab.appearance': 'চেহারা',
    'settings.tab.typography': 'টাইপোগ্রাফি',
    'settings.appearance': 'চেহারা',
    'settings.typography': 'টাইপোগ্রাফি',
    'settings.fontUi': 'UI ফন্ট',
    'settings.fontMono': 'কোড ফন্ট',
    'settings.fontSize': 'UI ফন্ট সাইজ',
    'settings.fontMonoSize': 'কোড ফন্ট সাইজ',
    'settings.preview': 'প্রিভিউ',
    'settings.previewText': 'দ্রুত বাদামি শিয়াল অলস কুকুরের উপর দিয়ে লাফ দেয়।',
    'settings.fontNote': 'ফন্ট পরিবর্তন পৃষ্ঠা রিলোডে প্রযোজ্য হবে।',
    'settings.language': 'ভাষা',

    // Theme
    'theme.mode': 'থিম মোড',
    'theme.accent': 'অ্যাকসেন্ট রঙ',
    'theme.system': 'সিস্টেম',
    'theme.dark': 'ডার্ক',
    'theme.light': 'লাইট',
    'theme.oled': 'OLED কালো',
  },

  cs: {
    // Navigation
    'nav.dashboard': 'Přehled',
    'nav.agent': 'Agent',
    'nav.tools': 'Nástroje',
    'nav.cron': 'Plánované úlohy',
    'nav.integrations': 'Integrace',
    'nav.memory': 'Paměť',
    'nav.config': 'Konfigurace',
    'nav.cost': 'Sledování nákladů',
    'nav.logs': 'Protokoly',
    'nav.doctor': 'Diagnostika',
    'nav.canvas': 'Plátno',

    // Dashboard
    'dashboard.title': 'Přehled',
    'dashboard.provider': 'Poskytovatel',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Doba provozu',
    'dashboard.temperature': 'Teplota',
    'dashboard.gateway_port': 'Port brány',
    'dashboard.memory_backend': 'Backend paměti',
    'dashboard.paired': 'Spárováno',
    'dashboard.channels': 'Kanály',
    'dashboard.health': 'Stav',
    'dashboard.status': 'Stav',
    'dashboard.overview': 'Přehled',
    'dashboard.system_info': 'Systémové informace',
    'dashboard.quick_actions': 'Rychlé akce',

    // Agent / Chat
    'agent.title': 'Chat s agentem',
    'agent.send': 'Odeslat',
    'agent.placeholder': 'Napište zprávu...',
    'agent.start_conversation': 'Pošlete zprávu pro zahájení konverzace',
    'agent.type_message': 'Napište zprávu...',
    'agent.connecting': 'Připojování...',
    'agent.connected': 'Připojeno',
    'agent.disconnected': 'Odpojeno',
    'agent.reconnecting': 'Opětovné připojování...',
    'agent.thinking': 'Přemýšlení...',
    'agent.tool_call': 'Volání nástroje',
    'agent.tool_result': 'Výsledek nástroje',
    'agent.connection_error': 'Chyba připojení. Pokus o opětovné připojení...',
    'agent.tool_call_prefix': '[Volání nástroje]',
    'agent.tool_result_prefix': '[Výsledek nástroje]',
    'agent.error_prefix': '[Chyba]',
    'agent.unknown_error': 'Neznámá chyba',
    'agent.send_error': 'Odeslání zprávy se nezdařilo. Zkuste to prosím znovu.',
    'agent.copy_message': 'Kopírovat zprávu',
    'agent.connected_status': 'Připojeno',
    'agent.disconnected_status': 'Odpojeno',

    // Tools
    'tools.title': 'Dostupné nástroje',
    'tools.name': 'Název',
    'tools.description': 'Popis',
    'tools.parameters': 'Parametry',
    'tools.search': 'Hledat nástroje...',
    'tools.empty': 'Žádné nástroje nejsou k dispozici.',
    'tools.count': 'Celkem nástrojů',
    'tools.agent_tools': 'Nástroje agenta',
    'tools.cli_tools': 'Nástroje CLI',
    'tools.parameter_schema': 'Schéma parametrů',
    'tools.path': 'Cesta',
    'tools.version': 'Verze',
    'tools.category': 'Kategorie',
    'tools.load_error': 'Nepodařilo se načíst nástroje',

    // Cron
    'cron.title': 'Plánované úlohy',
    'cron.scheduled_tasks': 'Plánované úlohy',
    'cron.add': 'Přidat úlohu',
    'cron.add_job': 'Přidat úlohu',
    'cron.add_modal_title': 'Přidat úlohu Cron',
    'cron.delete': 'Smazat',
    'cron.enable': 'Povolit',
    'cron.disable': 'Zakázat',
    'cron.name': 'Název',
    'cron.name_optional': 'Název (volitelné)',
    'cron.command': 'Příkaz',
    'cron.command_required': 'Příkaz',
    'cron.schedule': 'Plán',
    'cron.schedule_required': 'Plán',
    'cron.next_run': 'Příští spuštění',
    'cron.last_run': 'Poslední spuštění',
    'cron.last_status': 'Poslední stav',
    'cron.enabled': 'Povoleno',
    'cron.enabled_status': 'Povoleno',
    'cron.disabled_status': 'Zakázáno',
    'cron.empty': 'Žádné plánované úlohy.',
    'cron.confirm_delete': 'Opravdu chcete tuto úlohu smazat?',
    'cron.load_error': 'Nepodařilo se načíst úlohy Cron',
    'cron.validation_error': 'Plán a příkaz jsou povinné.',
    'cron.add_error': 'Nepodařilo se přidat úlohu',
    'cron.delete_error': 'Nepodařilo se smazat úlohu',
    'cron.cancel': 'Zrušit',
    'cron.adding': 'Přidávání...',
    'cron.id': 'ID',
    'cron.actions': 'Akce',
    'cron.loading_run_history': 'Načítání historie spuštění...',
    'cron.load_run_history_error': 'Nepodařilo se načíst historii spuštění',
    'cron.no_runs': 'Zatím nebyly zaznamenány žádné spuštění.',
    'cron.recent_runs': 'Nedávná spuštění',
    'cron.yes': 'Ano',
    'cron.no': 'Ne',
    'cron.edit': 'Upravit',
    'cron.edit_modal_title': 'Upravit úlohu Cron',
    'cron.edit_error': 'Nepodařilo se aktualizovat úlohu',
    'cron.saving': 'Ukládání...',
    'cron.save': 'Uložit',

    // Integrations
    'integrations.title': 'Integrace',
    'integrations.available': 'Dostupné',
    'integrations.active': 'Aktivní',
    'integrations.coming_soon': 'Již brzy',
    'integrations.category': 'Kategorie',
    'integrations.status': 'Stav',
    'integrations.search': 'Hledat integrace...',
    'integrations.empty': 'Nebyly nalezeny žádné integrace.',
    'integrations.activate': 'Aktivovat',
    'integrations.deactivate': 'Deaktivovat',
    'integrations.load_error': 'Nepodařilo se načíst integrace',
    'integrations.status_active': 'Aktivní',
    'integrations.status_available': 'Dostupné',
    'integrations.status_coming_soon': 'Již brzy',

    // Memory
    'memory.title': 'Úložiště paměti',
    'memory.memory_title': 'Paměť',
    'memory.search': 'Hledat v paměti...',
    'memory.search_placeholder': 'Hledat záznamy v paměti...',
    'memory.add': 'Uložit do paměti',
    'memory.add_memory': 'Přidat paměť',
    'memory.add_modal_title': 'Přidat paměť',
    'memory.delete': 'Smazat',
    'memory.key': 'Klíč',
    'memory.key_required': 'Klíč',
    'memory.content': 'Obsah',
    'memory.content_required': 'Obsah',
    'memory.category': 'Kategorie',
    'memory.category_optional': 'Kategorie (volitelné)',
    'memory.timestamp': 'Časové razítko',
    'memory.session': 'Relace',
    'memory.score': 'Skóre',
    'memory.empty': 'Nebyly nalezeny žádné záznamy v paměti.',
    'memory.confirm_delete': 'Opravdu chcete tento záznam paměti smazat?',
    'memory.all_categories': 'Všechny kategorie',
    'memory.search_button': 'Hledat',
    'memory.load_error': 'Nepodařilo se načíst paměť',
    'memory.saving': 'Ukládání...',
    'memory.validation_error': 'Klíč a obsah jsou povinné.',
    'memory.store_error': 'Nepodařilo se uložit paměť',
    'memory.delete_error': 'Nepodařilo se smazat paměť',
    'memory.delete_confirm': 'Smazat?',
    'memory.yes': 'Ano',
    'memory.no': 'Ne',
    'memory.cancel': 'Zrušit',

    // Config
    'config.title': 'Konfigurace',
    'config.save': 'Uložit',
    'config.saving': 'Ukládání...',
    'config.reset': 'Obnovit',
    'config.saved': 'Konfigurace byla úspěšně uložena.',
    'config.error': 'Nepodařilo se uložit konfiguraci.',
    'config.loading': 'Načítání konfigurace...',
    'config.editor_placeholder': 'Konfigurace TOML...',
    'config.configuration_title': 'Konfigurace',
    'config.sensitive_title': 'Citlivá pole jsou maskována',
    'config.sensitive_hint': 'API klíče, Token a hesla jsou z bezpečnostních důvodů skryty. Chcete-li aktualizovat maskované pole, nahraďte celou maskovanou hodnotu novou hodnotou.',
    'config.save_success': 'Konfigurace byla úspěšně uložena.',
    'config.save_error': 'Nepodařilo se uložit konfiguraci',
    'config.toml_label': 'Konfigurace TOML',
    'config.lines': 'řádků',

    // Cost
    'cost.title': 'Sledování nákladů',
    'cost.session': 'Náklady relace',
    'cost.daily': 'Denní náklady',
    'cost.monthly': 'Měsíční náklady',
    'cost.total_tokens': 'Celkem Token',
    'cost.request_count': 'Požadavky',
    'cost.by_model': 'Náklady podle modelu',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'Požadavky',
    'cost.usd': 'Náklady (USD)',
    'cost.load_error': 'Nepodařilo se načíst údaje o nákladech',
    'cost.session_cost': 'Náklady relace',
    'cost.daily_cost': 'Denní náklady',
    'cost.monthly_cost': 'Měsíční náklady',
    'cost.total_requests': 'Celkem požadavků',
    'cost.token_statistics': 'Statistiky Token',
    'cost.avg_tokens_per_request': 'Průměr Token na požadavek',
    'cost.cost_per_1k_tokens': 'Náklady na 1K Token',
    'cost.model_breakdown': 'Rozpis modelů',
    'cost.no_model_data': 'Žádné údaje o modelech nejsou k dispozici.',
    'cost.cost': 'Náklady',
    'cost.share': 'Sdílet',

    // Logs
    'logs.title': 'Živé protokoly',
    'logs.live_logs': 'Živé protokoly',
    'logs.clear': 'Vymazat',
    'logs.pause': 'Pozastavit',
    'logs.resume': 'Pokračovat',
    'logs.filter': 'Filtrovat protokoly...',
    'logs.filter_label': 'Filtr',
    'logs.empty': 'Žádné záznamy v protokolu.',
    'logs.connected': 'Připojeno',
    'logs.disconnected': 'Odpojeno',
    'logs.events': 'události',
    'logs.jump_to_bottom': 'Přejít na konec',
    'logs.paused_hint': 'Streamování protokolů je pozastaveno.',
    'logs.waiting_hint': 'Čekání na události...',

    // Doctor
    'doctor.title': 'Diagnostika systému',
    'doctor.diagnostics_title': 'Diagnostika',
    'doctor.run': 'Spustit diagnostiku',
    'doctor.run_diagnostics': 'Spustit diagnostiku',
    'doctor.running': 'Probíhá diagnostika...',
    'doctor.running_btn': 'Probíhá...',
    'doctor.running_desc': 'Probíhá diagnostika...',
    'doctor.running_hint': 'Může to trvat několik sekund.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Varování',
    'doctor.error': 'Chyba',
    'doctor.severity': 'Závažnost',
    'doctor.category': 'Kategorie',
    'doctor.message': 'Zpráva',
    'doctor.empty': 'Diagnostika zatím nebyla spuštěna.',
    'doctor.summary': 'Souhrn diagnostiky',
    'doctor.issues_found': 'Nalezené problémy',
    'doctor.warnings_summary': 'Varování',
    'doctor.all_clear': 'Vše v pořádku',
    'doctor.system_diagnostics': 'Diagnostika systému',
    'doctor.empty_hint': 'Klikněte na "Spustit diagnostiku" pro kontrolu instalace ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Spárovat zařízení',
    'auth.pairing_code': 'Párovací kód',
    'auth.pair_button': 'Spárovat',
    'auth.logout': 'Odhlásit se',
    'auth.pairing_success': 'Párování bylo úspěšné!',
    'auth.pairing_failed': 'Párování se nezdařilo. Zkuste to prosím znovu.',
    'auth.enter_code': 'Zadejte párovací kód pro připojení k agentovi.',

    // Common
    'common.loading': 'Načítání...',
    'common.error': 'Došlo k chybě.',
    'common.retry': 'Zkusit znovu',
    'common.cancel': 'Zrušit',
    'common.confirm': 'Potvrdit',
    'common.save': 'Uložit',
    'common.delete': 'Smazat',
    'common.edit': 'Upravit',
    'common.close': 'Zavřít',
    'common.yes': 'Ano',
    'common.no': 'Ne',
    'common.search': 'Hledat...',
    'common.no_data': 'Žádná data nejsou k dispozici.',
    'common.refresh': 'Obnovit',
    'common.back': 'Zpět',
    'common.actions': 'Akce',
    'common.name': 'Název',
    'common.description': 'Popis',
    'common.status': 'Stav',
    'common.created': 'Vytvořeno',
    'common.updated': 'Aktualizováno',

    // Health
    'health.title': 'Stav systému',
    'health.component': 'Komponenta',
    'health.status': 'Stav',
    'health.last_ok': 'Naposledy v pořádku',
    'health.last_error': 'Poslední chyba',
    'health.restart_count': 'Restarty',
    'health.pid': 'ID procesu',
    'health.uptime': 'Doba provozu',
    'health.updated_at': 'Naposledy aktualizováno',

    // Dashboard
    'dashboard.provider_model': 'Poskytovatel / Model',
    'dashboard.since_last_restart': 'Od posledního restartu',
    'dashboard.paired_yes': 'Ano',
    'dashboard.paired_no': 'Ne',
    'dashboard.cost_overview': 'Přehled nákladů',
    'dashboard.active_channels': 'Aktivní kanály',
    'dashboard.filter_active': 'Aktivní',
    'dashboard.filter_all': 'Vše',
    'dashboard.no_active_channels': 'Žádné aktivní kanály',
    'dashboard.component_health': 'Stav komponent',
    'dashboard.load_error': 'Nepodařilo se načíst přehled',
    'dashboard.session_label': 'Relace',
    'dashboard.daily_label': 'Denní',
    'dashboard.monthly_label': 'Měsíční',
    'dashboard.total_tokens_label': 'Celkem Token',
    'dashboard.requests_label': 'Požadavky',
    'dashboard.no_channels': 'Žádné nakonfigurované kanály',
    'dashboard.active': 'Aktivní',
    'dashboard.inactive': 'Neaktivní',
    'dashboard.no_components': 'Žádné komponenty nehlásí stav',
    'dashboard.restarts': 'Restarty',
    'dashboard.tab_overview': 'Přehled',
    'dashboard.tab_sessions': 'Relace',
    'dashboard.tab_channels': 'Kanály',
    'dashboard.sessions_title': 'Aktivní relace',
    'dashboard.no_sessions': 'Žádné aktivní relace',
    'dashboard.session_id': 'ID relace',
    'dashboard.session_started': 'Zahájeno',
    'dashboard.session_last_activity': 'Poslední aktivita',
    'dashboard.session_messages': 'Zprávy',
    'dashboard.session_details': 'Podrobnosti relace',
    'dashboard.session_history': 'Zobrazit historii',
    'dashboard.channels_title': 'Stav kanálů',
    'dashboard.no_channels_detail': 'Žádné podrobnosti o kanálech nejsou k dispozici',
    'dashboard.channel_type': 'Typ',
    'dashboard.channel_messages': 'Zprávy',
    'dashboard.channel_last_message': 'Poslední zpráva',
    'dashboard.channel_config': 'Konfigurace',
    'dashboard.channel_enabled': 'Povoleno',
    'dashboard.channel_disabled': 'Zakázáno',
    'dashboard.loading_sessions': 'Načítání relací...',
    'dashboard.loading_channels': 'Načítání kanálů...',
    'dashboard.load_sessions_error': 'Nepodařilo se načíst relace',
    'dashboard.load_channels_error': 'Nepodařilo se načíst kanály',
    'dashboard.never': 'Nikdy',

    // Settings
    'settings.title': 'Nastavení',
    'settings.tab.appearance': 'Vzhled',
    'settings.tab.typography': 'Typografie',
    'settings.appearance': 'Vzhled',
    'settings.typography': 'Typografie',
    'settings.fontUi': 'Písmo rozhraní',
    'settings.fontMono': 'Písmo kódu',
    'settings.fontSize': 'Velikost písma rozhraní',
    'settings.fontMonoSize': 'Velikost písma kódu',
    'settings.preview': 'Náhled',
    'settings.previewText': 'Příliš žluťoučký kůň úpěl ďábelské ódy.',
    'settings.fontNote': 'Změny písma se projeví po opětovném načtení stránky.',
    'settings.language': 'Jazyk',

    // Theme
    'theme.mode': 'Režim motivu',
    'theme.accent': 'Barva zvýraznění',
    'theme.system': 'Systém',
    'theme.dark': 'Tmavý',
    'theme.light': 'Světlý',
    'theme.oled': 'OLED černá',
  },

  da: {
    // Navigation
    'nav.dashboard': 'Dashboard',
    'nav.agent': 'Agent',
    'nav.tools': 'Værktøjer',
    'nav.cron': 'Planlagte opgaver',
    'nav.integrations': 'Integrationer',
    'nav.memory': 'Hukommelse',
    'nav.config': 'Konfiguration',
    'nav.cost': 'Omkostningssporing',
    'nav.logs': 'Logfiler',
    'nav.doctor': 'Diagnostik',
    'nav.canvas': 'Lærred',

    // Dashboard
    'dashboard.title': 'Dashboard',
    'dashboard.provider': 'Udbyder',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Oppetid',
    'dashboard.temperature': 'Temperatur',
    'dashboard.gateway_port': 'Gateway-port',
    'dashboard.memory_backend': 'Hukommelsesbackend',
    'dashboard.paired': 'Parret',
    'dashboard.channels': 'Kanaler',
    'dashboard.health': 'Sundhed',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Oversigt',
    'dashboard.system_info': 'Systemoplysninger',
    'dashboard.quick_actions': 'Hurtige handlinger',

    // Agent / Chat
    'agent.title': 'Agentchat',
    'agent.send': 'Send',
    'agent.placeholder': 'Skriv en besked...',
    'agent.start_conversation': 'Send en besked for at starte samtalen',
    'agent.type_message': 'Skriv en besked...',
    'agent.connecting': 'Forbinder...',
    'agent.connected': 'Forbundet',
    'agent.disconnected': 'Afbrudt',
    'agent.reconnecting': 'Genopretter forbindelse...',
    'agent.thinking': 'Tænker...',
    'agent.tool_call': 'Værktøjskald',
    'agent.tool_result': 'Værktøjsresultat',
    'agent.connection_error': 'Forbindelsesfejl. Forsøger at genoprette forbindelsen...',
    'agent.tool_call_prefix': '[Værktøjskald]',
    'agent.tool_result_prefix': '[Værktøjsresultat]',
    'agent.error_prefix': '[Fejl]',
    'agent.unknown_error': 'Ukendt fejl',
    'agent.send_error': 'Kunne ikke sende besked. Prøv venligst igen.',
    'agent.copy_message': 'Kopiér besked',
    'agent.connected_status': 'Forbundet',
    'agent.disconnected_status': 'Afbrudt',

    // Tools
    'tools.title': 'Tilgængelige værktøjer',
    'tools.name': 'Navn',
    'tools.description': 'Beskrivelse',
    'tools.parameters': 'Parametre',
    'tools.search': 'Søg i værktøjer...',
    'tools.empty': 'Ingen værktøjer tilgængelige.',
    'tools.count': 'Antal værktøjer',
    'tools.agent_tools': 'Agentværktøjer',
    'tools.cli_tools': 'CLI-værktøjer',
    'tools.parameter_schema': 'Parameterskema',
    'tools.path': 'Sti',
    'tools.version': 'Version',
    'tools.category': 'Kategori',
    'tools.load_error': 'Kunne ikke indlæse værktøjer',

    // Cron
    'cron.title': 'Planlagte opgaver',
    'cron.scheduled_tasks': 'Planlagte opgaver',
    'cron.add': 'Tilføj opgave',
    'cron.add_job': 'Tilføj opgave',
    'cron.add_modal_title': 'Tilføj Cron-opgave',
    'cron.delete': 'Slet',
    'cron.enable': 'Aktivér',
    'cron.disable': 'Deaktivér',
    'cron.name': 'Navn',
    'cron.name_optional': 'Navn (valgfrit)',
    'cron.command': 'Kommando',
    'cron.command_required': 'Kommando',
    'cron.schedule': 'Tidsplan',
    'cron.schedule_required': 'Tidsplan',
    'cron.next_run': 'Næste kørsel',
    'cron.last_run': 'Sidste kørsel',
    'cron.last_status': 'Sidste status',
    'cron.enabled': 'Aktiveret',
    'cron.enabled_status': 'Aktiveret',
    'cron.disabled_status': 'Deaktiveret',
    'cron.empty': 'Ingen planlagte opgaver.',
    'cron.confirm_delete': 'Er du sikker på, at du vil slette denne opgave?',
    'cron.load_error': 'Kunne ikke indlæse Cron-opgaver',
    'cron.validation_error': 'Tidsplan og kommando er påkrævet.',
    'cron.add_error': 'Kunne ikke tilføje opgave',
    'cron.delete_error': 'Kunne ikke slette opgave',
    'cron.cancel': 'Annuller',
    'cron.adding': 'Tilføjer...',
    'cron.id': 'ID',
    'cron.actions': 'Handlinger',
    'cron.loading_run_history': 'Indlæser kørselshistorik...',
    'cron.load_run_history_error': 'Kunne ikke indlæse kørselshistorik',
    'cron.no_runs': 'Ingen kørsler registreret endnu.',
    'cron.recent_runs': 'Seneste kørsler',
    'cron.yes': 'Ja',
    'cron.no': 'Nej',
    'cron.edit': 'Redigér',
    'cron.edit_modal_title': 'Redigér Cron-opgave',
    'cron.edit_error': 'Kunne ikke opdatere opgave',
    'cron.saving': 'Gemmer...',
    'cron.save': 'Gem',

    // Integrations
    'integrations.title': 'Integrationer',
    'integrations.available': 'Tilgængelig',
    'integrations.active': 'Aktiv',
    'integrations.coming_soon': 'Kommer snart',
    'integrations.category': 'Kategori',
    'integrations.status': 'Status',
    'integrations.search': 'Søg i integrationer...',
    'integrations.empty': 'Ingen integrationer fundet.',
    'integrations.activate': 'Aktivér',
    'integrations.deactivate': 'Deaktivér',
    'integrations.load_error': 'Kunne ikke indlæse integrationer',
    'integrations.status_active': 'Aktiv',
    'integrations.status_available': 'Tilgængelig',
    'integrations.status_coming_soon': 'Kommer snart',

    // Memory
    'memory.title': 'Hukommelseslager',
    'memory.memory_title': 'Hukommelse',
    'memory.search': 'Søg i hukommelse...',
    'memory.search_placeholder': 'Søg i hukommelsesposter...',
    'memory.add': 'Gem i hukommelse',
    'memory.add_memory': 'Tilføj hukommelse',
    'memory.add_modal_title': 'Tilføj hukommelse',
    'memory.delete': 'Slet',
    'memory.key': 'Nøgle',
    'memory.key_required': 'Nøgle',
    'memory.content': 'Indhold',
    'memory.content_required': 'Indhold',
    'memory.category': 'Kategori',
    'memory.category_optional': 'Kategori (valgfrit)',
    'memory.timestamp': 'Tidsstempel',
    'memory.session': 'Session',
    'memory.score': 'Score',
    'memory.empty': 'Ingen hukommelsesposter fundet.',
    'memory.confirm_delete': 'Er du sikker på, at du vil slette denne hukommelsespost?',
    'memory.all_categories': 'Alle kategorier',
    'memory.search_button': 'Søg',
    'memory.load_error': 'Kunne ikke indlæse hukommelse',
    'memory.saving': 'Gemmer...',
    'memory.validation_error': 'Nøgle og indhold er påkrævet.',
    'memory.store_error': 'Kunne ikke gemme i hukommelse',
    'memory.delete_error': 'Kunne ikke slette hukommelse',
    'memory.delete_confirm': 'Slet?',
    'memory.yes': 'Ja',
    'memory.no': 'Nej',
    'memory.cancel': 'Annuller',

    // Config
    'config.title': 'Konfiguration',
    'config.save': 'Gem',
    'config.saving': 'Gemmer...',
    'config.reset': 'Nulstil',
    'config.saved': 'Konfigurationen blev gemt.',
    'config.error': 'Kunne ikke gemme konfigurationen.',
    'config.loading': 'Indlæser konfiguration...',
    'config.editor_placeholder': 'TOML-konfiguration...',
    'config.configuration_title': 'Konfiguration',
    'config.sensitive_title': 'Følsomme felter er maskeret',
    'config.sensitive_hint': 'API-nøgler, Token og adgangskoder er skjult af sikkerhedshensyn. For at opdatere et maskeret felt skal du erstatte hele den maskerede værdi med din nye værdi.',
    'config.save_success': 'Konfigurationen blev gemt.',
    'config.save_error': 'Kunne ikke gemme konfigurationen',
    'config.toml_label': 'TOML-konfiguration',
    'config.lines': 'linjer',

    // Cost
    'cost.title': 'Omkostningssporing',
    'cost.session': 'Sessionsomkostning',
    'cost.daily': 'Daglig omkostning',
    'cost.monthly': 'Månedlig omkostning',
    'cost.total_tokens': 'Token i alt',
    'cost.request_count': 'Forespørgsler',
    'cost.by_model': 'Omkostning pr. model',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'Forespørgsler',
    'cost.usd': 'Omkostning (USD)',
    'cost.load_error': 'Kunne ikke indlæse omkostningsdata',
    'cost.session_cost': 'Sessionsomkostning',
    'cost.daily_cost': 'Daglig omkostning',
    'cost.monthly_cost': 'Månedlig omkostning',
    'cost.total_requests': 'Forespørgsler i alt',
    'cost.token_statistics': 'Token-statistik',
    'cost.avg_tokens_per_request': 'Gns. Token pr. forespørgsel',
    'cost.cost_per_1k_tokens': 'Omkostning pr. 1K Token',
    'cost.model_breakdown': 'Modelopdeling',
    'cost.no_model_data': 'Ingen modeldata tilgængelig.',
    'cost.cost': 'Omkostning',
    'cost.share': 'Del',

    // Logs
    'logs.title': 'Live logfiler',
    'logs.live_logs': 'Live logfiler',
    'logs.clear': 'Ryd',
    'logs.pause': 'Pause',
    'logs.resume': 'Genoptag',
    'logs.filter': 'Filtrer logfiler...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Ingen logposter.',
    'logs.connected': 'Forbundet',
    'logs.disconnected': 'Afbrudt',
    'logs.events': 'hændelser',
    'logs.jump_to_bottom': 'Gå til bunden',
    'logs.paused_hint': 'Logstreaming er sat på pause.',
    'logs.waiting_hint': 'Venter på hændelser...',

    // Doctor
    'doctor.title': 'Systemdiagnostik',
    'doctor.diagnostics_title': 'Diagnostik',
    'doctor.run': 'Kør diagnostik',
    'doctor.run_diagnostics': 'Kør diagnostik',
    'doctor.running': 'Kører diagnostik...',
    'doctor.running_btn': 'Kører...',
    'doctor.running_desc': 'Kører diagnostik...',
    'doctor.running_hint': 'Dette kan tage et par sekunder.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Advarsel',
    'doctor.error': 'Fejl',
    'doctor.severity': 'Alvorlighed',
    'doctor.category': 'Kategori',
    'doctor.message': 'Besked',
    'doctor.empty': 'Der er endnu ikke kørt nogen diagnostik.',
    'doctor.summary': 'Diagnostikoversigt',
    'doctor.issues_found': 'Fundne problemer',
    'doctor.warnings_summary': 'Advarsler',
    'doctor.all_clear': 'Alt i orden',
    'doctor.system_diagnostics': 'Systemdiagnostik',
    'doctor.empty_hint': 'Klik på "Kør diagnostik" for at kontrollere din ZeroClaw-installation.',

    // Auth / Pairing
    'auth.pair': 'Par enhed',
    'auth.pairing_code': 'Parringskode',
    'auth.pair_button': 'Par',
    'auth.logout': 'Log ud',
    'auth.pairing_success': 'Parring lykkedes!',
    'auth.pairing_failed': 'Parring mislykkedes. Prøv venligst igen.',
    'auth.enter_code': 'Indtast din parringskode for at oprette forbindelse til agenten.',

    // Common
    'common.loading': 'Indlæser...',
    'common.error': 'Der opstod en fejl.',
    'common.retry': 'Prøv igen',
    'common.cancel': 'Annuller',
    'common.confirm': 'Bekræft',
    'common.save': 'Gem',
    'common.delete': 'Slet',
    'common.edit': 'Redigér',
    'common.close': 'Luk',
    'common.yes': 'Ja',
    'common.no': 'Nej',
    'common.search': 'Søg...',
    'common.no_data': 'Ingen data tilgængelig.',
    'common.refresh': 'Opdater',
    'common.back': 'Tilbage',
    'common.actions': 'Handlinger',
    'common.name': 'Navn',
    'common.description': 'Beskrivelse',
    'common.status': 'Status',
    'common.created': 'Oprettet',
    'common.updated': 'Opdateret',

    // Health
    'health.title': 'Systemsundhed',
    'health.component': 'Komponent',
    'health.status': 'Status',
    'health.last_ok': 'Sidst OK',
    'health.last_error': 'Sidste fejl',
    'health.restart_count': 'Genstarter',
    'health.pid': 'Proces-ID',
    'health.uptime': 'Oppetid',
    'health.updated_at': 'Sidst opdateret',

    // Dashboard
    'dashboard.provider_model': 'Udbyder / Model',
    'dashboard.since_last_restart': 'Siden sidste genstart',
    'dashboard.paired_yes': 'Ja',
    'dashboard.paired_no': 'Nej',
    'dashboard.cost_overview': 'Omkostningsoversigt',
    'dashboard.active_channels': 'Aktive kanaler',
    'dashboard.filter_active': 'Aktiv',
    'dashboard.filter_all': 'Alle',
    'dashboard.no_active_channels': 'Ingen aktive kanaler',
    'dashboard.component_health': 'Komponentsundhed',
    'dashboard.load_error': 'Kunne ikke indlæse dashboard',
    'dashboard.session_label': 'Session',
    'dashboard.daily_label': 'Daglig',
    'dashboard.monthly_label': 'Månedlig',
    'dashboard.total_tokens_label': 'Token i alt',
    'dashboard.requests_label': 'Forespørgsler',
    'dashboard.no_channels': 'Ingen kanaler konfigureret',
    'dashboard.active': 'Aktiv',
    'dashboard.inactive': 'Inaktiv',
    'dashboard.no_components': 'Ingen komponenter rapporterer',
    'dashboard.restarts': 'Genstarter',
    'dashboard.tab_overview': 'Oversigt',
    'dashboard.tab_sessions': 'Sessioner',
    'dashboard.tab_channels': 'Kanaler',
    'dashboard.sessions_title': 'Aktive sessioner',
    'dashboard.no_sessions': 'Ingen aktive sessioner',
    'dashboard.session_id': 'Sessions-ID',
    'dashboard.session_started': 'Startet',
    'dashboard.session_last_activity': 'Sidste aktivitet',
    'dashboard.session_messages': 'Beskeder',
    'dashboard.session_details': 'Sessionsdetaljer',
    'dashboard.session_history': 'Vis historik',
    'dashboard.channels_title': 'Kanalstatus',
    'dashboard.no_channels_detail': 'Ingen kanaldetaljer tilgængelige',
    'dashboard.channel_type': 'Type',
    'dashboard.channel_messages': 'Beskeder',
    'dashboard.channel_last_message': 'Sidste besked',
    'dashboard.channel_config': 'Konfiguration',
    'dashboard.channel_enabled': 'Aktiveret',
    'dashboard.channel_disabled': 'Deaktiveret',
    'dashboard.loading_sessions': 'Indlæser sessioner...',
    'dashboard.loading_channels': 'Indlæser kanaler...',
    'dashboard.load_sessions_error': 'Kunne ikke indlæse sessioner',
    'dashboard.load_channels_error': 'Kunne ikke indlæse kanaler',
    'dashboard.never': 'Aldrig',

    // Settings
    'settings.title': 'Indstillinger',
    'settings.tab.appearance': 'Udseende',
    'settings.tab.typography': 'Typografi',
    'settings.appearance': 'Udseende',
    'settings.typography': 'Typografi',
    'settings.fontUi': 'UI-skrifttype',
    'settings.fontMono': 'Kodeskrifttype',
    'settings.fontSize': 'UI-skriftstørrelse',
    'settings.fontMonoSize': 'Kodeskriftstørrelse',
    'settings.preview': 'Forhåndsvisning',
    'settings.previewText': 'Den hurtige brune ræv springer over den dovne hund.',
    'settings.fontNote': 'Skrifttypeændringer træder i kraft ved genindlæsning af siden.',
    'settings.language': 'Sprog',

    // Theme
    'theme.mode': 'Tematilstand',
    'theme.accent': 'Accentfarve',
    'theme.system': 'System',
    'theme.dark': 'Mørk',
    'theme.light': 'Lys',
    'theme.oled': 'OLED sort',
  },

  de: {
    // Navigation
    'nav.dashboard': 'Dashboard',
    'nav.agent': 'Agent',
    'nav.tools': 'Werkzeuge',
    'nav.cron': 'Geplante Aufgaben',
    'nav.integrations': 'Integrationen',
    'nav.memory': 'Speicher',
    'nav.config': 'Konfiguration',
    'nav.cost': 'Kostenübersicht',
    'nav.logs': 'Protokolle',
    'nav.doctor': 'Diagnose',
    'nav.canvas': 'Leinwand',

    // Dashboard
    'dashboard.title': 'Dashboard',
    'dashboard.provider': 'Anbieter',
    'dashboard.model': 'Modell',
    'dashboard.uptime': 'Betriebszeit',
    'dashboard.temperature': 'Temperatur',
    'dashboard.gateway_port': 'Gateway-Port',
    'dashboard.memory_backend': 'Speicher-Backend',
    'dashboard.paired': 'Gekoppelt',
    'dashboard.channels': 'Kanäle',
    'dashboard.health': 'Zustand',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Übersicht',
    'dashboard.system_info': 'Systeminformationen',
    'dashboard.quick_actions': 'Schnellaktionen',

    // Agent / Chat
    'agent.title': 'Agent-Chat',
    'agent.send': 'Senden',
    'agent.placeholder': 'Nachricht eingeben...',
    'agent.start_conversation': 'Senden Sie eine Nachricht, um das Gespräch zu beginnen',
    'agent.type_message': 'Nachricht eingeben...',
    'agent.connecting': 'Verbindung wird hergestellt...',
    'agent.connected': 'Verbunden',
    'agent.disconnected': 'Getrennt',
    'agent.reconnecting': 'Verbindung wird wiederhergestellt...',
    'agent.thinking': 'Denkt nach...',
    'agent.tool_call': 'Werkzeugaufruf',
    'agent.tool_result': 'Werkzeugergebnis',
    'agent.connection_error': 'Verbindungsfehler. Verbindung wird wiederhergestellt...',
    'agent.tool_call_prefix': '[Werkzeugaufruf]',
    'agent.tool_result_prefix': '[Werkzeugergebnis]',
    'agent.error_prefix': '[Fehler]',
    'agent.unknown_error': 'Unbekannter Fehler',
    'agent.send_error': 'Nachricht konnte nicht gesendet werden. Bitte versuchen Sie es erneut.',
    'agent.copy_message': 'Nachricht kopieren',
    'agent.connected_status': 'Verbunden',
    'agent.disconnected_status': 'Getrennt',

    // Tools
    'tools.title': 'Verfügbare Werkzeuge',
    'tools.name': 'Name',
    'tools.description': 'Beschreibung',
    'tools.parameters': 'Parameter',
    'tools.search': 'Werkzeuge suchen...',
    'tools.empty': 'Keine Werkzeuge verfügbar.',
    'tools.count': 'Werkzeuge gesamt',
    'tools.agent_tools': 'Agent-Werkzeuge',
    'tools.cli_tools': 'CLI-Werkzeuge',
    'tools.parameter_schema': 'Parameterschema',
    'tools.path': 'Pfad',
    'tools.version': 'Version',
    'tools.category': 'Kategorie',
    'tools.load_error': 'Werkzeuge konnten nicht geladen werden',

    // Cron
    'cron.title': 'Geplante Aufgaben',
    'cron.scheduled_tasks': 'Geplante Aufgaben',
    'cron.add': 'Aufgabe hinzufügen',
    'cron.add_job': 'Aufgabe hinzufügen',
    'cron.add_modal_title': 'Cron-Aufgabe hinzufügen',
    'cron.delete': 'Löschen',
    'cron.enable': 'Aktivieren',
    'cron.disable': 'Deaktivieren',
    'cron.name': 'Name',
    'cron.name_optional': 'Name (optional)',
    'cron.command': 'Befehl',
    'cron.command_required': 'Befehl',
    'cron.schedule': 'Zeitplan',
    'cron.schedule_required': 'Zeitplan',
    'cron.next_run': 'Nächste Ausführung',
    'cron.last_run': 'Letzte Ausführung',
    'cron.last_status': 'Letzter Status',
    'cron.enabled': 'Aktiviert',
    'cron.enabled_status': 'Aktiviert',
    'cron.disabled_status': 'Deaktiviert',
    'cron.empty': 'Keine geplanten Aufgaben.',
    'cron.confirm_delete': 'Möchten Sie diese Aufgabe wirklich löschen?',
    'cron.load_error': 'Cron-Aufgaben konnten nicht geladen werden',
    'cron.validation_error': 'Zeitplan und Befehl sind erforderlich.',
    'cron.add_error': 'Aufgabe konnte nicht hinzugefügt werden',
    'cron.delete_error': 'Aufgabe konnte nicht gelöscht werden',
    'cron.cancel': 'Abbrechen',
    'cron.adding': 'Wird hinzugefügt...',
    'cron.id': 'ID',
    'cron.actions': 'Aktionen',
    'cron.loading_run_history': 'Ausführungsverlauf wird geladen...',
    'cron.load_run_history_error': 'Ausführungsverlauf konnte nicht geladen werden',
    'cron.no_runs': 'Noch keine Ausführungen aufgezeichnet.',
    'cron.recent_runs': 'Letzte Ausführungen',
    'cron.yes': 'Ja',
    'cron.no': 'Nein',
    'cron.edit': 'Bearbeiten',
    'cron.edit_modal_title': 'Cron-Aufgabe bearbeiten',
    'cron.edit_error': 'Aufgabe konnte nicht aktualisiert werden',
    'cron.saving': 'Wird gespeichert...',
    'cron.save': 'Speichern',

    // Integrations
    'integrations.title': 'Integrationen',
    'integrations.available': 'Verfügbar',
    'integrations.active': 'Aktiv',
    'integrations.coming_soon': 'Demnächst',
    'integrations.category': 'Kategorie',
    'integrations.status': 'Status',
    'integrations.search': 'Integrationen suchen...',
    'integrations.empty': 'Keine Integrationen gefunden.',
    'integrations.activate': 'Aktivieren',
    'integrations.deactivate': 'Deaktivieren',
    'integrations.load_error': 'Integrationen konnten nicht geladen werden',
    'integrations.status_active': 'Aktiv',
    'integrations.status_available': 'Verfügbar',
    'integrations.status_coming_soon': 'Demnächst',

    // Memory
    'memory.title': 'Speicherverwaltung',
    'memory.memory_title': 'Speicher',
    'memory.search': 'Speicher durchsuchen...',
    'memory.search_placeholder': 'Speichereinträge durchsuchen...',
    'memory.add': 'Speicher anlegen',
    'memory.add_memory': 'Speicher hinzufügen',
    'memory.add_modal_title': 'Speicher hinzufügen',
    'memory.delete': 'Löschen',
    'memory.key': 'Schlüssel',
    'memory.key_required': 'Schlüssel',
    'memory.content': 'Inhalt',
    'memory.content_required': 'Inhalt',
    'memory.category': 'Kategorie',
    'memory.category_optional': 'Kategorie (optional)',
    'memory.timestamp': 'Zeitstempel',
    'memory.session': 'Sitzung',
    'memory.score': 'Bewertung',
    'memory.empty': 'Keine Speichereinträge gefunden.',
    'memory.confirm_delete': 'Möchten Sie diesen Speichereintrag wirklich löschen?',
    'memory.all_categories': 'Alle Kategorien',
    'memory.search_button': 'Suchen',
    'memory.load_error': 'Speicher konnte nicht geladen werden',
    'memory.saving': 'Wird gespeichert...',
    'memory.validation_error': 'Schlüssel und Inhalt sind erforderlich.',
    'memory.store_error': 'Speicher konnte nicht gespeichert werden',
    'memory.delete_error': 'Speicher konnte nicht gelöscht werden',
    'memory.delete_confirm': 'Löschen?',
    'memory.yes': 'Ja',
    'memory.no': 'Nein',
    'memory.cancel': 'Abbrechen',

    // Config
    'config.title': 'Konfiguration',
    'config.save': 'Speichern',
    'config.saving': 'Wird gespeichert...',
    'config.reset': 'Zurücksetzen',
    'config.saved': 'Konfiguration erfolgreich gespeichert.',
    'config.error': 'Konfiguration konnte nicht gespeichert werden.',
    'config.loading': 'Konfiguration wird geladen...',
    'config.editor_placeholder': 'TOML-Konfiguration...',
    'config.configuration_title': 'Konfiguration',
    'config.sensitive_title': 'Sensible Felder sind maskiert',
    'config.sensitive_hint': 'API-Schlüssel, Token und Passwörter sind aus Sicherheitsgründen verborgen. Um ein maskiertes Feld zu aktualisieren, ersetzen Sie den gesamten maskierten Wert durch Ihren neuen Wert.',
    'config.save_success': 'Konfiguration erfolgreich gespeichert.',
    'config.save_error': 'Konfiguration konnte nicht gespeichert werden',
    'config.toml_label': 'TOML-Konfiguration',
    'config.lines': 'Zeilen',

    // Cost
    'cost.title': 'Kostenübersicht',
    'cost.session': 'Sitzungskosten',
    'cost.daily': 'Tageskosten',
    'cost.monthly': 'Monatskosten',
    'cost.total_tokens': 'Token gesamt',
    'cost.request_count': 'Anfragen',
    'cost.by_model': 'Kosten nach Modell',
    'cost.model': 'Modell',
    'cost.tokens': 'Token',
    'cost.requests': 'Anfragen',
    'cost.usd': 'Kosten (USD)',
    'cost.load_error': 'Kostendaten konnten nicht geladen werden',
    'cost.session_cost': 'Sitzungskosten',
    'cost.daily_cost': 'Tageskosten',
    'cost.monthly_cost': 'Monatskosten',
    'cost.total_requests': 'Anfragen gesamt',
    'cost.token_statistics': 'Token-Statistiken',
    'cost.avg_tokens_per_request': 'Durchschn. Token pro Anfrage',
    'cost.cost_per_1k_tokens': 'Kosten pro 1K Token',
    'cost.model_breakdown': 'Modellaufschlüsselung',
    'cost.no_model_data': 'Keine Modelldaten verfügbar.',
    'cost.cost': 'Kosten',
    'cost.share': 'Teilen',

    // Logs
    'logs.title': 'Live-Protokolle',
    'logs.live_logs': 'Live-Protokolle',
    'logs.clear': 'Leeren',
    'logs.pause': 'Pausieren',
    'logs.resume': 'Fortsetzen',
    'logs.filter': 'Protokolle filtern...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Keine Protokolleinträge.',
    'logs.connected': 'Verbunden',
    'logs.disconnected': 'Getrennt',
    'logs.events': 'Ereignisse',
    'logs.jump_to_bottom': 'Zum Ende springen',
    'logs.paused_hint': 'Protokoll-Streaming ist pausiert.',
    'logs.waiting_hint': 'Warten auf Ereignisse...',

    // Doctor
    'doctor.title': 'Systemdiagnose',
    'doctor.diagnostics_title': 'Diagnose',
    'doctor.run': 'Diagnose ausführen',
    'doctor.run_diagnostics': 'Diagnose ausführen',
    'doctor.running': 'Diagnose wird ausgeführt...',
    'doctor.running_btn': 'Wird ausgeführt...',
    'doctor.running_desc': 'Diagnose wird ausgeführt...',
    'doctor.running_hint': 'Dies kann einige Sekunden dauern.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Warnung',
    'doctor.error': 'Fehler',
    'doctor.severity': 'Schweregrad',
    'doctor.category': 'Kategorie',
    'doctor.message': 'Nachricht',
    'doctor.empty': 'Es wurden noch keine Diagnosen durchgeführt.',
    'doctor.summary': 'Diagnosezusammenfassung',
    'doctor.issues_found': 'Probleme gefunden',
    'doctor.warnings_summary': 'Warnungen',
    'doctor.all_clear': 'Alles in Ordnung',
    'doctor.system_diagnostics': 'Systemdiagnose',
    'doctor.empty_hint': 'Klicken Sie auf "Diagnose ausführen", um Ihre ZeroClaw-Installation zu überprüfen.',

    // Auth / Pairing
    'auth.pair': 'Gerät koppeln',
    'auth.pairing_code': 'Kopplungscode',
    'auth.pair_button': 'Koppeln',
    'auth.logout': 'Abmelden',
    'auth.pairing_success': 'Kopplung erfolgreich!',
    'auth.pairing_failed': 'Kopplung fehlgeschlagen. Bitte versuchen Sie es erneut.',
    'auth.enter_code': 'Geben Sie Ihren Kopplungscode ein, um sich mit dem Agenten zu verbinden.',

    // Common
    'common.loading': 'Laden...',
    'common.error': 'Ein Fehler ist aufgetreten.',
    'common.retry': 'Erneut versuchen',
    'common.cancel': 'Abbrechen',
    'common.confirm': 'Bestätigen',
    'common.save': 'Speichern',
    'common.delete': 'Löschen',
    'common.edit': 'Bearbeiten',
    'common.close': 'Schließen',
    'common.yes': 'Ja',
    'common.no': 'Nein',
    'common.search': 'Suchen...',
    'common.no_data': 'Keine Daten verfügbar.',
    'common.refresh': 'Aktualisieren',
    'common.back': 'Zurück',
    'common.actions': 'Aktionen',
    'common.name': 'Name',
    'common.description': 'Beschreibung',
    'common.status': 'Status',
    'common.created': 'Erstellt',
    'common.updated': 'Aktualisiert',

    // Health
    'health.title': 'Systemzustand',
    'health.component': 'Komponente',
    'health.status': 'Status',
    'health.last_ok': 'Zuletzt OK',
    'health.last_error': 'Letzter Fehler',
    'health.restart_count': 'Neustarts',
    'health.pid': 'Prozess-ID',
    'health.uptime': 'Betriebszeit',
    'health.updated_at': 'Zuletzt aktualisiert',

    // Dashboard
    'dashboard.provider_model': 'Anbieter / Modell',
    'dashboard.since_last_restart': 'Seit letztem Neustart',
    'dashboard.paired_yes': 'Ja',
    'dashboard.paired_no': 'Nein',
    'dashboard.cost_overview': 'Kostenübersicht',
    'dashboard.active_channels': 'Aktive Kanäle',
    'dashboard.filter_active': 'Aktiv',
    'dashboard.filter_all': 'Alle',
    'dashboard.no_active_channels': 'Keine aktiven Kanäle',
    'dashboard.component_health': 'Komponentenzustand',
    'dashboard.load_error': 'Dashboard konnte nicht geladen werden',
    'dashboard.session_label': 'Sitzung',
    'dashboard.daily_label': 'Täglich',
    'dashboard.monthly_label': 'Monatlich',
    'dashboard.total_tokens_label': 'Token gesamt',
    'dashboard.requests_label': 'Anfragen',
    'dashboard.no_channels': 'Keine Kanäle konfiguriert',
    'dashboard.active': 'Aktiv',
    'dashboard.inactive': 'Inaktiv',
    'dashboard.no_components': 'Keine Komponenten melden Status',
    'dashboard.restarts': 'Neustarts',
    'dashboard.tab_overview': 'Übersicht',
    'dashboard.tab_sessions': 'Sitzungen',
    'dashboard.tab_channels': 'Kanäle',
    'dashboard.sessions_title': 'Aktive Sitzungen',
    'dashboard.no_sessions': 'Keine aktiven Sitzungen',
    'dashboard.session_id': 'Sitzungs-ID',
    'dashboard.session_started': 'Gestartet',
    'dashboard.session_last_activity': 'Letzte Aktivität',
    'dashboard.session_messages': 'Nachrichten',
    'dashboard.session_details': 'Sitzungsdetails',
    'dashboard.session_history': 'Verlauf anzeigen',
    'dashboard.channels_title': 'Kanalstatus',
    'dashboard.no_channels_detail': 'Keine Kanaldetails verfügbar',
    'dashboard.channel_type': 'Typ',
    'dashboard.channel_messages': 'Nachrichten',
    'dashboard.channel_last_message': 'Letzte Nachricht',
    'dashboard.channel_config': 'Konfiguration',
    'dashboard.channel_enabled': 'Aktiviert',
    'dashboard.channel_disabled': 'Deaktiviert',
    'dashboard.loading_sessions': 'Sitzungen werden geladen...',
    'dashboard.loading_channels': 'Kanäle werden geladen...',
    'dashboard.load_sessions_error': 'Sitzungen konnten nicht geladen werden',
    'dashboard.load_channels_error': 'Kanäle konnten nicht geladen werden',
    'dashboard.never': 'Nie',

    // Settings
    'settings.title': 'Einstellungen',
    'settings.tab.appearance': 'Erscheinungsbild',
    'settings.tab.typography': 'Typografie',
    'settings.appearance': 'Erscheinungsbild',
    'settings.typography': 'Typografie',
    'settings.fontUi': 'UI-Schriftart',
    'settings.fontMono': 'Code-Schriftart',
    'settings.fontSize': 'UI-Schriftgröße',
    'settings.fontMonoSize': 'Code-Schriftgröße',
    'settings.preview': 'Vorschau',
    'settings.previewText': 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.',
    'settings.fontNote': 'Schriftartänderungen werden nach dem Neuladen der Seite wirksam.',
    'settings.language': 'Sprache',

    // Theme
    'theme.mode': 'Design-Modus',
    'theme.accent': 'Akzentfarbe',
    'theme.system': 'System',
    'theme.dark': 'Dunkel',
    'theme.light': 'Hell',
    'theme.oled': 'OLED Schwarz',
  },

  el: {
    // Navigation
    'nav.dashboard': 'Πίνακας ελέγχου',
    'nav.agent': 'Πράκτορας',
    'nav.tools': 'Εργαλεία',
    'nav.cron': 'Προγραμματισμένες εργασίες',
    'nav.integrations': 'Ενσωματώσεις',
    'nav.memory': 'Μνήμη',
    'nav.config': 'Ρυθμίσεις',
    'nav.cost': 'Παρακολούθηση κόστους',
    'nav.logs': 'Αρχεία καταγραφής',
    'nav.doctor': 'Διαγνωστικά',
    'nav.canvas': 'Καμβάς',

    // Dashboard
    'dashboard.title': 'Πίνακας ελέγχου',
    'dashboard.provider': 'Πάροχος',
    'dashboard.model': 'Μοντέλο',
    'dashboard.uptime': 'Χρόνος λειτουργίας',
    'dashboard.temperature': 'Θερμοκρασία',
    'dashboard.gateway_port': 'Θύρα πύλης',
    'dashboard.memory_backend': 'Backend μνήμης',
    'dashboard.paired': 'Συζευγμένο',
    'dashboard.channels': 'Κανάλια',
    'dashboard.health': 'Υγεία',
    'dashboard.status': 'Κατάσταση',
    'dashboard.overview': 'Επισκόπηση',
    'dashboard.system_info': 'Πληροφορίες συστήματος',
    'dashboard.quick_actions': 'Γρήγορες ενέργειες',

    // Agent / Chat
    'agent.title': 'Συνομιλία πράκτορα',
    'agent.send': 'Αποστολή',
    'agent.placeholder': 'Πληκτρολογήστε ένα μήνυμα...',
    'agent.start_conversation': 'Στείλτε ένα μήνυμα για να ξεκινήσετε τη συνομιλία',
    'agent.type_message': 'Πληκτρολογήστε ένα μήνυμα...',
    'agent.connecting': 'Σύνδεση...',
    'agent.connected': 'Συνδεδεμένο',
    'agent.disconnected': 'Αποσυνδεδεμένο',
    'agent.reconnecting': 'Επανασύνδεση...',
    'agent.thinking': 'Σκέφτεται...',
    'agent.tool_call': 'Κλήση εργαλείου',
    'agent.tool_result': 'Αποτέλεσμα εργαλείου',
    'agent.connection_error': 'Σφάλμα σύνδεσης. Γίνεται προσπάθεια επανασύνδεσης...',
    'agent.tool_call_prefix': '[Κλήση εργαλείου]',
    'agent.tool_result_prefix': '[Αποτέλεσμα εργαλείου]',
    'agent.error_prefix': '[Σφάλμα]',
    'agent.unknown_error': 'Άγνωστο σφάλμα',
    'agent.send_error': 'Αποτυχία αποστολής μηνύματος. Παρακαλώ δοκιμάστε ξανά.',
    'agent.copy_message': 'Αντιγραφή μηνύματος',
    'agent.connected_status': 'Συνδεδεμένο',
    'agent.disconnected_status': 'Αποσυνδεδεμένο',

    // Tools
    'tools.title': 'Διαθέσιμα εργαλεία',
    'tools.name': 'Όνομα',
    'tools.description': 'Περιγραφή',
    'tools.parameters': 'Παράμετροι',
    'tools.search': 'Αναζήτηση εργαλείων...',
    'tools.empty': 'Δεν υπάρχουν διαθέσιμα εργαλεία.',
    'tools.count': 'Σύνολο εργαλείων',
    'tools.agent_tools': 'Εργαλεία πράκτορα',
    'tools.cli_tools': 'Εργαλεία CLI',
    'tools.parameter_schema': 'Σχήμα παραμέτρων',
    'tools.path': 'Διαδρομή',
    'tools.version': 'Έκδοση',
    'tools.category': 'Κατηγορία',
    'tools.load_error': 'Αποτυχία φόρτωσης εργαλείων',

    // Cron
    'cron.title': 'Προγραμματισμένες εργασίες',
    'cron.scheduled_tasks': 'Προγραμματισμένες εργασίες',
    'cron.add': 'Προσθήκη εργασίας',
    'cron.add_job': 'Προσθήκη εργασίας',
    'cron.add_modal_title': 'Προσθήκη εργασίας Cron',
    'cron.delete': 'Διαγραφή',
    'cron.enable': 'Ενεργοποίηση',
    'cron.disable': 'Απενεργοποίηση',
    'cron.name': 'Όνομα',
    'cron.name_optional': 'Όνομα (προαιρετικό)',
    'cron.command': 'Εντολή',
    'cron.command_required': 'Εντολή',
    'cron.schedule': 'Πρόγραμμα',
    'cron.schedule_required': 'Πρόγραμμα',
    'cron.next_run': 'Επόμενη εκτέλεση',
    'cron.last_run': 'Τελευταία εκτέλεση',
    'cron.last_status': 'Τελευταία κατάσταση',
    'cron.enabled': 'Ενεργοποιημένο',
    'cron.enabled_status': 'Ενεργοποιημένο',
    'cron.disabled_status': 'Απενεργοποιημένο',
    'cron.empty': 'Δεν υπάρχουν προγραμματισμένες εργασίες.',
    'cron.confirm_delete': 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την εργασία;',
    'cron.load_error': 'Αποτυχία φόρτωσης εργασιών Cron',
    'cron.validation_error': 'Το πρόγραμμα και η εντολή είναι υποχρεωτικά.',
    'cron.add_error': 'Αποτυχία προσθήκης εργασίας',
    'cron.delete_error': 'Αποτυχία διαγραφής εργασίας',
    'cron.cancel': 'Ακύρωση',
    'cron.adding': 'Προσθήκη...',
    'cron.id': 'ID',
    'cron.actions': 'Ενέργειες',
    'cron.loading_run_history': 'Φόρτωση ιστορικού εκτελέσεων...',
    'cron.load_run_history_error': 'Αποτυχία φόρτωσης ιστορικού εκτελέσεων',
    'cron.no_runs': 'Δεν έχουν καταγραφεί εκτελέσεις ακόμα.',
    'cron.recent_runs': 'Πρόσφατες εκτελέσεις',
    'cron.yes': 'Ναι',
    'cron.no': 'Όχι',
    'cron.edit': 'Επεξεργασία',
    'cron.edit_modal_title': 'Επεξεργασία εργασίας Cron',
    'cron.edit_error': 'Αποτυχία ενημέρωσης εργασίας',
    'cron.saving': 'Αποθήκευση...',
    'cron.save': 'Αποθήκευση',

    // Integrations
    'integrations.title': 'Ενσωματώσεις',
    'integrations.available': 'Διαθέσιμο',
    'integrations.active': 'Ενεργό',
    'integrations.coming_soon': 'Σύντομα',
    'integrations.category': 'Κατηγορία',
    'integrations.status': 'Κατάσταση',
    'integrations.search': 'Αναζήτηση ενσωματώσεων...',
    'integrations.empty': 'Δεν βρέθηκαν ενσωματώσεις.',
    'integrations.activate': 'Ενεργοποίηση',
    'integrations.deactivate': 'Απενεργοποίηση',
    'integrations.load_error': 'Αποτυχία φόρτωσης ενσωματώσεων',
    'integrations.status_active': 'Ενεργό',
    'integrations.status_available': 'Διαθέσιμο',
    'integrations.status_coming_soon': 'Σύντομα',

    // Memory
    'memory.title': 'Αποθήκη μνήμης',
    'memory.memory_title': 'Μνήμη',
    'memory.search': 'Αναζήτηση στη μνήμη...',
    'memory.search_placeholder': 'Αναζήτηση εγγραφών μνήμης...',
    'memory.add': 'Αποθήκευση μνήμης',
    'memory.add_memory': 'Προσθήκη μνήμης',
    'memory.add_modal_title': 'Προσθήκη μνήμης',
    'memory.delete': 'Διαγραφή',
    'memory.key': 'Κλειδί',
    'memory.key_required': 'Κλειδί',
    'memory.content': 'Περιεχόμενο',
    'memory.content_required': 'Περιεχόμενο',
    'memory.category': 'Κατηγορία',
    'memory.category_optional': 'Κατηγορία (προαιρετικό)',
    'memory.timestamp': 'Χρονοσφραγίδα',
    'memory.session': 'Συνεδρία',
    'memory.score': 'Βαθμολογία',
    'memory.empty': 'Δεν βρέθηκαν εγγραφές μνήμης.',
    'memory.confirm_delete': 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την εγγραφή μνήμης;',
    'memory.all_categories': 'Όλες οι κατηγορίες',
    'memory.search_button': 'Αναζήτηση',
    'memory.load_error': 'Αποτυχία φόρτωσης μνήμης',
    'memory.saving': 'Αποθήκευση...',
    'memory.validation_error': 'Το κλειδί και το περιεχόμενο είναι υποχρεωτικά.',
    'memory.store_error': 'Αποτυχία αποθήκευσης μνήμης',
    'memory.delete_error': 'Αποτυχία διαγραφής μνήμης',
    'memory.delete_confirm': 'Διαγραφή;',
    'memory.yes': 'Ναι',
    'memory.no': 'Όχι',
    'memory.cancel': 'Ακύρωση',

    // Config
    'config.title': 'Ρυθμίσεις',
    'config.save': 'Αποθήκευση',
    'config.saving': 'Αποθήκευση...',
    'config.reset': 'Επαναφορά',
    'config.saved': 'Οι ρυθμίσεις αποθηκεύτηκαν επιτυχώς.',
    'config.error': 'Αποτυχία αποθήκευσης ρυθμίσεων.',
    'config.loading': 'Φόρτωση ρυθμίσεων...',
    'config.editor_placeholder': 'Ρυθμίσεις TOML...',
    'config.configuration_title': 'Ρυθμίσεις',
    'config.sensitive_title': 'Τα ευαίσθητα πεδία είναι κρυμμένα',
    'config.sensitive_hint': 'Τα κλειδιά API, τα Token και οι κωδικοί πρόσβασης είναι κρυμμένα για λόγους ασφαλείας. Για να ενημερώσετε ένα κρυμμένο πεδίο, αντικαταστήστε ολόκληρη την κρυμμένη τιμή με τη νέα σας τιμή.',
    'config.save_success': 'Οι ρυθμίσεις αποθηκεύτηκαν επιτυχώς.',
    'config.save_error': 'Αποτυχία αποθήκευσης ρυθμίσεων',
    'config.toml_label': 'Ρυθμίσεις TOML',
    'config.lines': 'γραμμές',

    // Cost
    'cost.title': 'Παρακολούθηση κόστους',
    'cost.session': 'Κόστος συνεδρίας',
    'cost.daily': 'Ημερήσιο κόστος',
    'cost.monthly': 'Μηνιαίο κόστος',
    'cost.total_tokens': 'Σύνολο Token',
    'cost.request_count': 'Αιτήματα',
    'cost.by_model': 'Κόστος ανά μοντέλο',
    'cost.model': 'Μοντέλο',
    'cost.tokens': 'Token',
    'cost.requests': 'Αιτήματα',
    'cost.usd': 'Κόστος (USD)',
    'cost.load_error': 'Αποτυχία φόρτωσης δεδομένων κόστους',
    'cost.session_cost': 'Κόστος συνεδρίας',
    'cost.daily_cost': 'Ημερήσιο κόστος',
    'cost.monthly_cost': 'Μηνιαίο κόστος',
    'cost.total_requests': 'Σύνολο αιτημάτων',
    'cost.token_statistics': 'Στατιστικά Token',
    'cost.avg_tokens_per_request': 'Μέσος όρος Token ανά αίτημα',
    'cost.cost_per_1k_tokens': 'Κόστος ανά 1K Token',
    'cost.model_breakdown': 'Ανάλυση μοντέλων',
    'cost.no_model_data': 'Δεν υπάρχουν διαθέσιμα δεδομένα μοντέλων.',
    'cost.cost': 'Κόστος',
    'cost.share': 'Κοινοποίηση',

    // Logs
    'logs.title': 'Ζωντανά αρχεία καταγραφής',
    'logs.live_logs': 'Ζωντανά αρχεία καταγραφής',
    'logs.clear': 'Εκκαθάριση',
    'logs.pause': 'Παύση',
    'logs.resume': 'Συνέχεια',
    'logs.filter': 'Φιλτράρισμα αρχείων καταγραφής...',
    'logs.filter_label': 'Φίλτρο',
    'logs.empty': 'Δεν υπάρχουν εγγραφές καταγραφής.',
    'logs.connected': 'Συνδεδεμένο',
    'logs.disconnected': 'Αποσυνδεδεμένο',
    'logs.events': 'συμβάντα',
    'logs.jump_to_bottom': 'Μετάβαση στο τέλος',
    'logs.paused_hint': 'Η ροή αρχείων καταγραφής είναι σε παύση.',
    'logs.waiting_hint': 'Αναμονή για συμβάντα...',

    // Doctor
    'doctor.title': 'Διαγνωστικά συστήματος',
    'doctor.diagnostics_title': 'Διαγνωστικά',
    'doctor.run': 'Εκτέλεση διαγνωστικών',
    'doctor.run_diagnostics': 'Εκτέλεση διαγνωστικών',
    'doctor.running': 'Εκτέλεση διαγνωστικών...',
    'doctor.running_btn': 'Εκτελείται...',
    'doctor.running_desc': 'Εκτέλεση διαγνωστικών...',
    'doctor.running_hint': 'Αυτό μπορεί να διαρκέσει μερικά δευτερόλεπτα.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Προειδοποίηση',
    'doctor.error': 'Σφάλμα',
    'doctor.severity': 'Σοβαρότητα',
    'doctor.category': 'Κατηγορία',
    'doctor.message': 'Μήνυμα',
    'doctor.empty': 'Δεν έχουν εκτελεστεί διαγνωστικά ακόμα.',
    'doctor.summary': 'Σύνοψη διαγνωστικών',
    'doctor.issues_found': 'Βρέθηκαν προβλήματα',
    'doctor.warnings_summary': 'Προειδοποιήσεις',
    'doctor.all_clear': 'Όλα εντάξει',
    'doctor.system_diagnostics': 'Διαγνωστικά συστήματος',
    'doctor.empty_hint': 'Κάντε κλικ στο "Εκτέλεση διαγνωστικών" για να ελέγξετε την εγκατάσταση του ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Σύζευξη συσκευής',
    'auth.pairing_code': 'Κωδικός σύζευξης',
    'auth.pair_button': 'Σύζευξη',
    'auth.logout': 'Αποσύνδεση',
    'auth.pairing_success': 'Η σύζευξη ήταν επιτυχής!',
    'auth.pairing_failed': 'Η σύζευξη απέτυχε. Παρακαλώ δοκιμάστε ξανά.',
    'auth.enter_code': 'Εισαγάγετε τον κωδικό σύζευξης για σύνδεση με τον πράκτορα.',

    // Common
    'common.loading': 'Φόρτωση...',
    'common.error': 'Παρουσιάστηκε σφάλμα.',
    'common.retry': 'Επανάληψη',
    'common.cancel': 'Ακύρωση',
    'common.confirm': 'Επιβεβαίωση',
    'common.save': 'Αποθήκευση',
    'common.delete': 'Διαγραφή',
    'common.edit': 'Επεξεργασία',
    'common.close': 'Κλείσιμο',
    'common.yes': 'Ναι',
    'common.no': 'Όχι',
    'common.search': 'Αναζήτηση...',
    'common.no_data': 'Δεν υπάρχουν διαθέσιμα δεδομένα.',
    'common.refresh': 'Ανανέωση',
    'common.back': 'Πίσω',
    'common.actions': 'Ενέργειες',
    'common.name': 'Όνομα',
    'common.description': 'Περιγραφή',
    'common.status': 'Κατάσταση',
    'common.created': 'Δημιουργήθηκε',
    'common.updated': 'Ενημερώθηκε',

    // Health
    'health.title': 'Υγεία συστήματος',
    'health.component': 'Στοιχείο',
    'health.status': 'Κατάσταση',
    'health.last_ok': 'Τελευταίο OK',
    'health.last_error': 'Τελευταίο σφάλμα',
    'health.restart_count': 'Επανεκκινήσεις',
    'health.pid': 'ID διεργασίας',
    'health.uptime': 'Χρόνος λειτουργίας',
    'health.updated_at': 'Τελευταία ενημέρωση',

    // Dashboard
    'dashboard.provider_model': 'Πάροχος / Μοντέλο',
    'dashboard.since_last_restart': 'Από την τελευταία επανεκκίνηση',
    'dashboard.paired_yes': 'Ναι',
    'dashboard.paired_no': 'Όχι',
    'dashboard.cost_overview': 'Επισκόπηση κόστους',
    'dashboard.active_channels': 'Ενεργά κανάλια',
    'dashboard.filter_active': 'Ενεργό',
    'dashboard.filter_all': 'Όλα',
    'dashboard.no_active_channels': 'Δεν υπάρχουν ενεργά κανάλια',
    'dashboard.component_health': 'Υγεία στοιχείων',
    'dashboard.load_error': 'Αποτυχία φόρτωσης πίνακα ελέγχου',
    'dashboard.session_label': 'Συνεδρία',
    'dashboard.daily_label': 'Ημερήσιο',
    'dashboard.monthly_label': 'Μηνιαίο',
    'dashboard.total_tokens_label': 'Σύνολο Token',
    'dashboard.requests_label': 'Αιτήματα',
    'dashboard.no_channels': 'Δεν έχουν ρυθμιστεί κανάλια',
    'dashboard.active': 'Ενεργό',
    'dashboard.inactive': 'Ανενεργό',
    'dashboard.no_components': 'Δεν αναφέρονται στοιχεία',
    'dashboard.restarts': 'Επανεκκινήσεις',
    'dashboard.tab_overview': 'Επισκόπηση',
    'dashboard.tab_sessions': 'Συνεδρίες',
    'dashboard.tab_channels': 'Κανάλια',
    'dashboard.sessions_title': 'Ενεργές συνεδρίες',
    'dashboard.no_sessions': 'Δεν υπάρχουν ενεργές συνεδρίες',
    'dashboard.session_id': 'ID συνεδρίας',
    'dashboard.session_started': 'Ξεκίνησε',
    'dashboard.session_last_activity': 'Τελευταία δραστηριότητα',
    'dashboard.session_messages': 'Μηνύματα',
    'dashboard.session_details': 'Λεπτομέρειες συνεδρίας',
    'dashboard.session_history': 'Προβολή ιστορικού',
    'dashboard.channels_title': 'Κατάσταση καναλιών',
    'dashboard.no_channels_detail': 'Δεν υπάρχουν διαθέσιμες λεπτομέρειες καναλιών',
    'dashboard.channel_type': 'Τύπος',
    'dashboard.channel_messages': 'Μηνύματα',
    'dashboard.channel_last_message': 'Τελευταίο μήνυμα',
    'dashboard.channel_config': 'Ρυθμίσεις',
    'dashboard.channel_enabled': 'Ενεργοποιημένο',
    'dashboard.channel_disabled': 'Απενεργοποιημένο',
    'dashboard.loading_sessions': 'Φόρτωση συνεδριών...',
    'dashboard.loading_channels': 'Φόρτωση καναλιών...',
    'dashboard.load_sessions_error': 'Αποτυχία φόρτωσης συνεδριών',
    'dashboard.load_channels_error': 'Αποτυχία φόρτωσης καναλιών',
    'dashboard.never': 'Ποτέ',

    // Settings
    'settings.title': 'Ρυθμίσεις',
    'settings.tab.appearance': 'Εμφάνιση',
    'settings.tab.typography': 'Τυπογραφία',
    'settings.appearance': 'Εμφάνιση',
    'settings.typography': 'Τυπογραφία',
    'settings.fontUi': 'Γραμματοσειρά UI',
    'settings.fontMono': 'Γραμματοσειρά κώδικα',
    'settings.fontSize': 'Μέγεθος γραμματοσειράς UI',
    'settings.fontMonoSize': 'Μέγεθος γραμματοσειράς κώδικα',
    'settings.preview': 'Προεπισκόπηση',
    'settings.previewText': 'Ξεσκεπάζω τη ψυχοφθόρα βδελυγμία.',
    'settings.fontNote': 'Οι αλλαγές γραμματοσειράς εφαρμόζονται κατά την επαναφόρτωση της σελίδας.',
    'settings.language': 'Γλώσσα',

    // Theme
    'theme.mode': 'Λειτουργία θέματος',
    'theme.accent': 'Χρώμα τονισμού',
    'theme.system': 'Σύστημα',
    'theme.dark': 'Σκοτεινό',
    'theme.light': 'Φωτεινό',
    'theme.oled': 'OLED Μαύρο',
  },

  es: {
    // Navigation
    'nav.dashboard': 'Panel de control',
    'nav.agent': 'Agente',
    'nav.tools': 'Herramientas',
    'nav.cron': 'Tareas programadas',
    'nav.integrations': 'Integraciones',
    'nav.memory': 'Memoria',
    'nav.config': 'Configuración',
    'nav.cost': 'Seguimiento de costos',
    'nav.logs': 'Registros',
    'nav.doctor': 'Diagnóstico',
    'nav.canvas': 'Lienzo',

    // Dashboard
    'dashboard.title': 'Panel de control',
    'dashboard.provider': 'Proveedor',
    'dashboard.model': 'Modelo',
    'dashboard.uptime': 'Tiempo de actividad',
    'dashboard.temperature': 'Temperatura',
    'dashboard.gateway_port': 'Puerto de la puerta de enlace',
    'dashboard.memory_backend': 'Backend de memoria',
    'dashboard.paired': 'Emparejado',
    'dashboard.channels': 'Canales',
    'dashboard.health': 'Salud',
    'dashboard.status': 'Estado',
    'dashboard.overview': 'Resumen',
    'dashboard.system_info': 'Información del sistema',
    'dashboard.quick_actions': 'Acciones rápidas',

    // Agent / Chat
    'agent.title': 'Chat del agente',
    'agent.send': 'Enviar',
    'agent.placeholder': 'Escriba un mensaje...',
    'agent.start_conversation': 'Envíe un mensaje para iniciar la conversación',
    'agent.type_message': 'Escriba un mensaje...',
    'agent.connecting': 'Conectando...',
    'agent.connected': 'Conectado',
    'agent.disconnected': 'Desconectado',
    'agent.reconnecting': 'Reconectando...',
    'agent.thinking': 'Pensando...',
    'agent.tool_call': 'Llamada a herramienta',
    'agent.tool_result': 'Resultado de herramienta',
    'agent.connection_error': 'Error de conexión. Intentando reconectar...',
    'agent.tool_call_prefix': '[Llamada a herramienta]',
    'agent.tool_result_prefix': '[Resultado de herramienta]',
    'agent.error_prefix': '[Error]',
    'agent.unknown_error': 'Error desconocido',
    'agent.send_error': 'No se pudo enviar el mensaje. Por favor, inténtelo de nuevo.',
    'agent.copy_message': 'Copiar mensaje',
    'agent.connected_status': 'Conectado',
    'agent.disconnected_status': 'Desconectado',

    // Tools
    'tools.title': 'Herramientas disponibles',
    'tools.name': 'Nombre',
    'tools.description': 'Descripción',
    'tools.parameters': 'Parámetros',
    'tools.search': 'Buscar herramientas...',
    'tools.empty': 'No hay herramientas disponibles.',
    'tools.count': 'Total de herramientas',
    'tools.agent_tools': 'Herramientas del agente',
    'tools.cli_tools': 'Herramientas CLI',
    'tools.parameter_schema': 'Esquema de parámetros',
    'tools.path': 'Ruta',
    'tools.version': 'Versión',
    'tools.category': 'Categoría',
    'tools.load_error': 'No se pudieron cargar las herramientas',

    // Cron
    'cron.title': 'Tareas programadas',
    'cron.scheduled_tasks': 'Tareas programadas',
    'cron.add': 'Agregar tarea',
    'cron.add_job': 'Agregar tarea',
    'cron.add_modal_title': 'Agregar tarea Cron',
    'cron.delete': 'Eliminar',
    'cron.enable': 'Activar',
    'cron.disable': 'Desactivar',
    'cron.name': 'Nombre',
    'cron.name_optional': 'Nombre (opcional)',
    'cron.command': 'Comando',
    'cron.command_required': 'Comando',
    'cron.schedule': 'Programación',
    'cron.schedule_required': 'Programación',
    'cron.next_run': 'Próxima ejecución',
    'cron.last_run': 'Última ejecución',
    'cron.last_status': 'Último estado',
    'cron.enabled': 'Activado',
    'cron.enabled_status': 'Activado',
    'cron.disabled_status': 'Desactivado',
    'cron.empty': 'No hay tareas programadas.',
    'cron.confirm_delete': '¿Está seguro de que desea eliminar esta tarea?',
    'cron.load_error': 'No se pudieron cargar las tareas Cron',
    'cron.validation_error': 'La programación y el comando son obligatorios.',
    'cron.add_error': 'No se pudo agregar la tarea',
    'cron.delete_error': 'No se pudo eliminar la tarea',
    'cron.cancel': 'Cancelar',
    'cron.adding': 'Agregando...',
    'cron.id': 'ID',
    'cron.actions': 'Acciones',
    'cron.loading_run_history': 'Cargando historial de ejecuciones...',
    'cron.load_run_history_error': 'No se pudo cargar el historial de ejecuciones',
    'cron.no_runs': 'Aún no se han registrado ejecuciones.',
    'cron.recent_runs': 'Ejecuciones recientes',
    'cron.yes': 'Sí',
    'cron.no': 'No',
    'cron.edit': 'Editar',
    'cron.edit_modal_title': 'Editar tarea Cron',
    'cron.edit_error': 'No se pudo actualizar la tarea',
    'cron.saving': 'Guardando...',
    'cron.save': 'Guardar',

    // Integrations
    'integrations.title': 'Integraciones',
    'integrations.available': 'Disponible',
    'integrations.active': 'Activo',
    'integrations.coming_soon': 'Próximamente',
    'integrations.category': 'Categoría',
    'integrations.status': 'Estado',
    'integrations.search': 'Buscar integraciones...',
    'integrations.empty': 'No se encontraron integraciones.',
    'integrations.activate': 'Activar',
    'integrations.deactivate': 'Desactivar',
    'integrations.load_error': 'No se pudieron cargar las integraciones',
    'integrations.status_active': 'Activo',
    'integrations.status_available': 'Disponible',
    'integrations.status_coming_soon': 'Próximamente',

    // Memory
    'memory.title': 'Almacén de memoria',
    'memory.memory_title': 'Memoria',
    'memory.search': 'Buscar en la memoria...',
    'memory.search_placeholder': 'Buscar entradas de memoria...',
    'memory.add': 'Almacenar memoria',
    'memory.add_memory': 'Agregar memoria',
    'memory.add_modal_title': 'Agregar memoria',
    'memory.delete': 'Eliminar',
    'memory.key': 'Clave',
    'memory.key_required': 'Clave',
    'memory.content': 'Contenido',
    'memory.content_required': 'Contenido',
    'memory.category': 'Categoría',
    'memory.category_optional': 'Categoría (opcional)',
    'memory.timestamp': 'Marca de tiempo',
    'memory.session': 'Sesión',
    'memory.score': 'Puntuación',
    'memory.empty': 'No se encontraron entradas de memoria.',
    'memory.confirm_delete': '¿Está seguro de que desea eliminar esta entrada de memoria?',
    'memory.all_categories': 'Todas las categorías',
    'memory.search_button': 'Buscar',
    'memory.load_error': 'No se pudo cargar la memoria',
    'memory.saving': 'Guardando...',
    'memory.validation_error': 'La clave y el contenido son obligatorios.',
    'memory.store_error': 'No se pudo almacenar la memoria',
    'memory.delete_error': 'No se pudo eliminar la memoria',
    'memory.delete_confirm': '¿Eliminar?',
    'memory.yes': 'Sí',
    'memory.no': 'No',
    'memory.cancel': 'Cancelar',

    // Config
    'config.title': 'Configuración',
    'config.save': 'Guardar',
    'config.saving': 'Guardando...',
    'config.reset': 'Restablecer',
    'config.saved': 'Configuración guardada exitosamente.',
    'config.error': 'No se pudo guardar la configuración.',
    'config.loading': 'Cargando configuración...',
    'config.editor_placeholder': 'Configuración TOML...',
    'config.configuration_title': 'Configuración',
    'config.sensitive_title': 'Los campos sensibles están ocultos',
    'config.sensitive_hint': 'Las claves API, Token y contraseñas están ocultas por seguridad. Para actualizar un campo oculto, reemplace el valor oculto completo con su nuevo valor.',
    'config.save_success': 'Configuración guardada exitosamente.',
    'config.save_error': 'No se pudo guardar la configuración',
    'config.toml_label': 'Configuración TOML',
    'config.lines': 'líneas',

    // Cost
    'cost.title': 'Seguimiento de costos',
    'cost.session': 'Costo de sesión',
    'cost.daily': 'Costo diario',
    'cost.monthly': 'Costo mensual',
    'cost.total_tokens': 'Token totales',
    'cost.request_count': 'Solicitudes',
    'cost.by_model': 'Costo por modelo',
    'cost.model': 'Modelo',
    'cost.tokens': 'Token',
    'cost.requests': 'Solicitudes',
    'cost.usd': 'Costo (USD)',
    'cost.load_error': 'No se pudieron cargar los datos de costos',
    'cost.session_cost': 'Costo de sesión',
    'cost.daily_cost': 'Costo diario',
    'cost.monthly_cost': 'Costo mensual',
    'cost.total_requests': 'Total de solicitudes',
    'cost.token_statistics': 'Estadísticas de Token',
    'cost.avg_tokens_per_request': 'Promedio de Token por solicitud',
    'cost.cost_per_1k_tokens': 'Costo por 1K Token',
    'cost.model_breakdown': 'Desglose por modelo',
    'cost.no_model_data': 'No hay datos de modelo disponibles.',
    'cost.cost': 'Costo',
    'cost.share': 'Compartir',

    // Logs
    'logs.title': 'Registros en vivo',
    'logs.live_logs': 'Registros en vivo',
    'logs.clear': 'Limpiar',
    'logs.pause': 'Pausar',
    'logs.resume': 'Reanudar',
    'logs.filter': 'Filtrar registros...',
    'logs.filter_label': 'Filtro',
    'logs.empty': 'No hay entradas de registro.',
    'logs.connected': 'Conectado',
    'logs.disconnected': 'Desconectado',
    'logs.events': 'eventos',
    'logs.jump_to_bottom': 'Ir al final',
    'logs.paused_hint': 'La transmisión de registros está en pausa.',
    'logs.waiting_hint': 'Esperando eventos...',

    // Doctor
    'doctor.title': 'Diagnóstico del sistema',
    'doctor.diagnostics_title': 'Diagnósticos',
    'doctor.run': 'Ejecutar diagnósticos',
    'doctor.run_diagnostics': 'Ejecutar diagnósticos',
    'doctor.running': 'Ejecutando diagnósticos...',
    'doctor.running_btn': 'Ejecutando...',
    'doctor.running_desc': 'Ejecutando diagnósticos...',
    'doctor.running_hint': 'Esto puede tardar unos segundos.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Advertencia',
    'doctor.error': 'Error',
    'doctor.severity': 'Gravedad',
    'doctor.category': 'Categoría',
    'doctor.message': 'Mensaje',
    'doctor.empty': 'Aún no se han ejecutado diagnósticos.',
    'doctor.summary': 'Resumen de diagnóstico',
    'doctor.issues_found': 'Problemas encontrados',
    'doctor.warnings_summary': 'Advertencias',
    'doctor.all_clear': 'Todo en orden',
    'doctor.system_diagnostics': 'Diagnóstico del sistema',
    'doctor.empty_hint': 'Haga clic en "Ejecutar diagnósticos" para verificar su instalación de ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Emparejar dispositivo',
    'auth.pairing_code': 'Código de emparejamiento',
    'auth.pair_button': 'Emparejar',
    'auth.logout': 'Cerrar sesión',
    'auth.pairing_success': '¡Emparejamiento exitoso!',
    'auth.pairing_failed': 'El emparejamiento falló. Por favor, inténtelo de nuevo.',
    'auth.enter_code': 'Ingrese su código de emparejamiento para conectarse al agente.',

    // Common
    'common.loading': 'Cargando...',
    'common.error': 'Ocurrió un error.',
    'common.retry': 'Reintentar',
    'common.cancel': 'Cancelar',
    'common.confirm': 'Confirmar',
    'common.save': 'Guardar',
    'common.delete': 'Eliminar',
    'common.edit': 'Editar',
    'common.close': 'Cerrar',
    'common.yes': 'Sí',
    'common.no': 'No',
    'common.search': 'Buscar...',
    'common.no_data': 'No hay datos disponibles.',
    'common.refresh': 'Actualizar',
    'common.back': 'Volver',
    'common.actions': 'Acciones',
    'common.name': 'Nombre',
    'common.description': 'Descripción',
    'common.status': 'Estado',
    'common.created': 'Creado',
    'common.updated': 'Actualizado',

    // Health
    'health.title': 'Salud del sistema',
    'health.component': 'Componente',
    'health.status': 'Estado',
    'health.last_ok': 'Último OK',
    'health.last_error': 'Último error',
    'health.restart_count': 'Reinicios',
    'health.pid': 'ID de proceso',
    'health.uptime': 'Tiempo de actividad',
    'health.updated_at': 'Última actualización',

    // Dashboard
    'dashboard.provider_model': 'Proveedor / Modelo',
    'dashboard.since_last_restart': 'Desde el último reinicio',
    'dashboard.paired_yes': 'Sí',
    'dashboard.paired_no': 'No',
    'dashboard.cost_overview': 'Resumen de costos',
    'dashboard.active_channels': 'Canales activos',
    'dashboard.filter_active': 'Activo',
    'dashboard.filter_all': 'Todos',
    'dashboard.no_active_channels': 'No hay canales activos',
    'dashboard.component_health': 'Salud de componentes',
    'dashboard.load_error': 'No se pudo cargar el panel de control',
    'dashboard.session_label': 'Sesión',
    'dashboard.daily_label': 'Diario',
    'dashboard.monthly_label': 'Mensual',
    'dashboard.total_tokens_label': 'Token totales',
    'dashboard.requests_label': 'Solicitudes',
    'dashboard.no_channels': 'No hay canales configurados',
    'dashboard.active': 'Activo',
    'dashboard.inactive': 'Inactivo',
    'dashboard.no_components': 'No hay componentes reportando',
    'dashboard.restarts': 'Reinicios',
    'dashboard.tab_overview': 'Resumen',
    'dashboard.tab_sessions': 'Sesiones',
    'dashboard.tab_channels': 'Canales',
    'dashboard.sessions_title': 'Sesiones activas',
    'dashboard.no_sessions': 'No hay sesiones activas',
    'dashboard.session_id': 'ID de sesión',
    'dashboard.session_started': 'Iniciada',
    'dashboard.session_last_activity': 'Última actividad',
    'dashboard.session_messages': 'Mensajes',
    'dashboard.session_details': 'Detalles de la sesión',
    'dashboard.session_history': 'Ver historial',
    'dashboard.channels_title': 'Estado de los canales',
    'dashboard.no_channels_detail': 'No hay detalles de canales disponibles',
    'dashboard.channel_type': 'Tipo',
    'dashboard.channel_messages': 'Mensajes',
    'dashboard.channel_last_message': 'Último mensaje',
    'dashboard.channel_config': 'Configuración',
    'dashboard.channel_enabled': 'Activado',
    'dashboard.channel_disabled': 'Desactivado',
    'dashboard.loading_sessions': 'Cargando sesiones...',
    'dashboard.loading_channels': 'Cargando canales...',
    'dashboard.load_sessions_error': 'No se pudieron cargar las sesiones',
    'dashboard.load_channels_error': 'No se pudieron cargar los canales',
    'dashboard.never': 'Nunca',

    // Settings
    'settings.title': 'Configuración',
    'settings.tab.appearance': 'Apariencia',
    'settings.tab.typography': 'Tipografía',
    'settings.appearance': 'Apariencia',
    'settings.typography': 'Tipografía',
    'settings.fontUi': 'Fuente de interfaz',
    'settings.fontMono': 'Fuente de código',
    'settings.fontSize': 'Tamaño de fuente de interfaz',
    'settings.fontMonoSize': 'Tamaño de fuente de código',
    'settings.preview': 'Vista previa',
    'settings.previewText': 'El veloz murciélago hindú comía feliz cardillo y kiwi.',
    'settings.fontNote': 'Los cambios de fuente se aplican al recargar la página.',
    'settings.language': 'Idioma',

    // Theme
    'theme.mode': 'Modo del tema',
    'theme.accent': 'Color de acento',
    'theme.system': 'Sistema',
    'theme.dark': 'Oscuro',
    'theme.light': 'Claro',
    'theme.oled': 'OLED Negro',
  },

  fi: {
    // Navigation
    'nav.dashboard': 'Hallintapaneeli',
    'nav.agent': 'Agentti',
    'nav.tools': 'Työkalut',
    'nav.cron': 'Ajastetut tehtävät',
    'nav.integrations': 'Integraatiot',
    'nav.memory': 'Muisti',
    'nav.config': 'Asetukset',
    'nav.cost': 'Kustannusseuranta',
    'nav.logs': 'Lokit',
    'nav.doctor': 'Diagnostiikka',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Hallintapaneeli',
    'dashboard.provider': 'Palveluntarjoaja',
    'dashboard.model': 'Malli',
    'dashboard.uptime': 'Käyttöaika',
    'dashboard.temperature': 'Lämpötila',
    'dashboard.gateway_port': 'Yhdyskäytäväportti',
    'dashboard.memory_backend': 'Muistitaustajärjestelmä',
    'dashboard.paired': 'Yhdistetty',
    'dashboard.channels': 'Kanavat',
    'dashboard.health': 'Kunto',
    'dashboard.status': 'Tila',
    'dashboard.overview': 'Yleiskatsaus',
    'dashboard.system_info': 'Järjestelmätiedot',
    'dashboard.quick_actions': 'Pikatoiminnot',

    // Agent / Chat
    'agent.title': 'Agenttikeskustelu',
    'agent.send': 'Lähetä',
    'agent.placeholder': 'Kirjoita viesti...',
    'agent.start_conversation': 'Lähetä viesti aloittaaksesi keskustelun',
    'agent.type_message': 'Kirjoita viesti...',
    'agent.connecting': 'Yhdistetään...',
    'agent.connected': 'Yhdistetty',
    'agent.disconnected': 'Yhteys katkaistu',
    'agent.reconnecting': 'Yhdistetään uudelleen...',
    'agent.thinking': 'Ajattelee...',
    'agent.tool_call': 'Työkalukutsu',
    'agent.tool_result': 'Työkalun tulos',
    'agent.connection_error': 'Yhteysvirhe. Yritetään yhdistää uudelleen...',
    'agent.tool_call_prefix': '[Työkalukutsu]',
    'agent.tool_result_prefix': '[Työkalun tulos]',
    'agent.error_prefix': '[Virhe]',
    'agent.unknown_error': 'Tuntematon virhe',
    'agent.send_error': 'Viestin lähetys epäonnistui. Yritä uudelleen.',
    'agent.copy_message': 'Kopioi viesti',
    'agent.connected_status': 'Yhdistetty',
    'agent.disconnected_status': 'Yhteys katkaistu',

    // Tools
    'tools.title': 'Käytettävissä olevat työkalut',
    'tools.name': 'Nimi',
    'tools.description': 'Kuvaus',
    'tools.parameters': 'Parametrit',
    'tools.search': 'Hae työkaluja...',
    'tools.empty': 'Ei käytettävissä olevia työkaluja.',
    'tools.count': 'Työkaluja yhteensä',
    'tools.agent_tools': 'Agentin työkalut',
    'tools.cli_tools': 'CLI-työkalut',
    'tools.parameter_schema': 'Parametriskeema',
    'tools.path': 'Polku',
    'tools.version': 'Versio',
    'tools.category': 'Kategoria',
    'tools.load_error': 'Työkalujen lataus epäonnistui',

    // Cron
    'cron.title': 'Ajastetut tehtävät',
    'cron.scheduled_tasks': 'Ajastetut tehtävät',
    'cron.add': 'Lisää tehtävä',
    'cron.add_job': 'Lisää tehtävä',
    'cron.add_modal_title': 'Lisää Cron-tehtävä',
    'cron.delete': 'Poista',
    'cron.enable': 'Ota käyttöön',
    'cron.disable': 'Poista käytöstä',
    'cron.name': 'Nimi',
    'cron.name_optional': 'Nimi (valinnainen)',
    'cron.command': 'Komento',
    'cron.command_required': 'Komento',
    'cron.schedule': 'Aikataulu',
    'cron.schedule_required': 'Aikataulu',
    'cron.next_run': 'Seuraava ajo',
    'cron.last_run': 'Viimeisin ajo',
    'cron.last_status': 'Viimeisin tila',
    'cron.enabled': 'Käytössä',
    'cron.enabled_status': 'Käytössä',
    'cron.disabled_status': 'Pois käytöstä',
    'cron.empty': 'Ei ajastettuja tehtäviä.',
    'cron.confirm_delete': 'Haluatko varmasti poistaa tämän tehtävän?',
    'cron.load_error': 'Cron-tehtävien lataus epäonnistui',
    'cron.validation_error': 'Aikataulu ja komento ovat pakollisia.',
    'cron.add_error': 'Tehtävän lisäys epäonnistui',
    'cron.delete_error': 'Tehtävän poisto epäonnistui',
    'cron.cancel': 'Peruuta',
    'cron.adding': 'Lisätään...',
    'cron.id': 'ID',
    'cron.actions': 'Toiminnot',
    'cron.loading_run_history': 'Ladataan ajohistoriaa...',
    'cron.load_run_history_error': 'Ajohistorian lataus epäonnistui',
    'cron.no_runs': 'Ei vielä tallennettuja ajoja.',
    'cron.recent_runs': 'Viimeisimmät ajot',
    'cron.yes': 'Kyllä',
    'cron.no': 'Ei',
    'cron.edit': 'Muokkaa',
    'cron.edit_modal_title': 'Muokkaa Cron-tehtävää',
    'cron.edit_error': 'Tehtävän päivitys epäonnistui',
    'cron.saving': 'Tallennetaan...',
    'cron.save': 'Tallenna',

    // Integrations
    'integrations.title': 'Integraatiot',
    'integrations.available': 'Saatavilla',
    'integrations.active': 'Aktiivinen',
    'integrations.coming_soon': 'Tulossa pian',
    'integrations.category': 'Kategoria',
    'integrations.status': 'Tila',
    'integrations.search': 'Hae integraatioita...',
    'integrations.empty': 'Integraatioita ei löytynyt.',
    'integrations.activate': 'Aktivoi',
    'integrations.deactivate': 'Poista käytöstä',
    'integrations.load_error': 'Integraatioiden lataus epäonnistui',
    'integrations.status_active': 'Aktiivinen',
    'integrations.status_available': 'Saatavilla',
    'integrations.status_coming_soon': 'Tulossa pian',

    // Memory
    'memory.title': 'Muistivarasto',
    'memory.memory_title': 'Muisti',
    'memory.search': 'Hae muistista...',
    'memory.search_placeholder': 'Hae muistimerkintöjä...',
    'memory.add': 'Tallenna muistiin',
    'memory.add_memory': 'Lisää muisti',
    'memory.add_modal_title': 'Lisää muisti',
    'memory.delete': 'Poista',
    'memory.key': 'Avain',
    'memory.key_required': 'Avain',
    'memory.content': 'Sisältö',
    'memory.content_required': 'Sisältö',
    'memory.category': 'Kategoria',
    'memory.category_optional': 'Kategoria (valinnainen)',
    'memory.timestamp': 'Aikaleima',
    'memory.session': 'Istunto',
    'memory.score': 'Pisteet',
    'memory.empty': 'Muistimerkintöjä ei löytynyt.',
    'memory.confirm_delete': 'Haluatko varmasti poistaa tämän muistimerkinnän?',
    'memory.all_categories': 'Kaikki kategoriat',
    'memory.search_button': 'Hae',
    'memory.load_error': 'Muistin lataus epäonnistui',
    'memory.saving': 'Tallennetaan...',
    'memory.validation_error': 'Avain ja sisältö ovat pakollisia.',
    'memory.store_error': 'Muistin tallennus epäonnistui',
    'memory.delete_error': 'Muistin poisto epäonnistui',
    'memory.delete_confirm': 'Poistetaanko?',
    'memory.yes': 'Kyllä',
    'memory.no': 'Ei',
    'memory.cancel': 'Peruuta',

    // Config
    'config.title': 'Asetukset',
    'config.save': 'Tallenna',
    'config.saving': 'Tallennetaan...',
    'config.reset': 'Palauta',
    'config.saved': 'Asetukset tallennettu onnistuneesti.',
    'config.error': 'Asetusten tallennus epäonnistui.',
    'config.loading': 'Ladataan asetuksia...',
    'config.editor_placeholder': 'TOML-asetukset...',
    'config.configuration_title': 'Asetukset',
    'config.sensitive_title': 'Arkaluonteiset kentät on peitetty',
    'config.sensitive_hint': 'API-avaimet, tokenit ja salasanat on piilotettu turvallisuussyistä. Päivittääksesi peitetyn kentän, korvaa koko peitetty arvo uudella arvolla.',
    'config.save_success': 'Asetukset tallennettu onnistuneesti.',
    'config.save_error': 'Asetusten tallennus epäonnistui',
    'config.toml_label': 'TOML-asetukset',
    'config.lines': 'riviä',

    // Cost
    'cost.title': 'Kustannusseuranta',
    'cost.session': 'Istuntokustannus',
    'cost.daily': 'Päivittäiskustannus',
    'cost.monthly': 'Kuukausikustannus',
    'cost.total_tokens': 'Tokenit yhteensä',
    'cost.request_count': 'Pyynnöt',
    'cost.by_model': 'Kustannus malleittain',
    'cost.model': 'Malli',
    'cost.tokens': 'Tokenit',
    'cost.requests': 'Pyynnöt',
    'cost.usd': 'Kustannus (USD)',
    'cost.load_error': 'Kustannustietojen lataus epäonnistui',
    'cost.session_cost': 'Istuntokustannus',
    'cost.daily_cost': 'Päivittäiskustannus',
    'cost.monthly_cost': 'Kuukausikustannus',
    'cost.total_requests': 'Pyynnöt yhteensä',
    'cost.token_statistics': 'Token-tilastot',
    'cost.avg_tokens_per_request': 'Tokenit / pyyntö keskim.',
    'cost.cost_per_1k_tokens': 'Kustannus / 1K tokenia',
    'cost.model_breakdown': 'Mallikohtainen erittely',
    'cost.no_model_data': 'Mallitietoja ei saatavilla.',
    'cost.cost': 'Kustannus',
    'cost.share': 'Jaa',

    // Logs
    'logs.title': 'Reaaliaikaiset lokit',
    'logs.live_logs': 'Reaaliaikaiset lokit',
    'logs.clear': 'Tyhjennä',
    'logs.pause': 'Keskeytä',
    'logs.resume': 'Jatka',
    'logs.filter': 'Suodata lokeja...',
    'logs.filter_label': 'Suodatin',
    'logs.empty': 'Ei lokimerkintöjä.',
    'logs.connected': 'Yhdistetty',
    'logs.disconnected': 'Yhteys katkaistu',
    'logs.events': 'tapahtumaa',
    'logs.jump_to_bottom': 'Siirry alas',
    'logs.paused_hint': 'Lokien suoratoisto on keskeytetty.',
    'logs.waiting_hint': 'Odotetaan tapahtumia...',

    // Doctor
    'doctor.title': 'Järjestelmädiagnostiikka',
    'doctor.diagnostics_title': 'Diagnostiikka',
    'doctor.run': 'Suorita diagnostiikka',
    'doctor.run_diagnostics': 'Suorita diagnostiikka',
    'doctor.running': 'Suoritetaan diagnostiikkaa...',
    'doctor.running_btn': 'Suoritetaan...',
    'doctor.running_desc': 'Suoritetaan diagnostiikkaa...',
    'doctor.running_hint': 'Tämä voi kestää muutaman sekunnin.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Varoitus',
    'doctor.error': 'Virhe',
    'doctor.severity': 'Vakavuus',
    'doctor.category': 'Kategoria',
    'doctor.message': 'Viesti',
    'doctor.empty': 'Diagnostiikkaa ei ole vielä suoritettu.',
    'doctor.summary': 'Diagnostiikan yhteenveto',
    'doctor.issues_found': 'Ongelmia löytyi',
    'doctor.warnings_summary': 'Varoitukset',
    'doctor.all_clear': 'Kaikki kunnossa',
    'doctor.system_diagnostics': 'Järjestelmädiagnostiikka',
    'doctor.empty_hint': 'Napsauta "Suorita diagnostiikka" tarkistaaksesi ZeroClaw-asennuksen.',

    // Auth / Pairing
    'auth.pair': 'Yhdistä laite',
    'auth.pairing_code': 'Yhdistämiskoodi',
    'auth.pair_button': 'Yhdistä',
    'auth.logout': 'Kirjaudu ulos',
    'auth.pairing_success': 'Yhdistäminen onnistui!',
    'auth.pairing_failed': 'Yhdistäminen epäonnistui. Yritä uudelleen.',
    'auth.enter_code': 'Syötä yhdistämiskoodi muodostaaksesi yhteyden agenttiin.',

    // Common
    'common.loading': 'Ladataan...',
    'common.error': 'Tapahtui virhe.',
    'common.retry': 'Yritä uudelleen',
    'common.cancel': 'Peruuta',
    'common.confirm': 'Vahvista',
    'common.save': 'Tallenna',
    'common.delete': 'Poista',
    'common.edit': 'Muokkaa',
    'common.close': 'Sulje',
    'common.yes': 'Kyllä',
    'common.no': 'Ei',
    'common.search': 'Hae...',
    'common.no_data': 'Tietoja ei saatavilla.',
    'common.refresh': 'Päivitä',
    'common.back': 'Takaisin',
    'common.actions': 'Toiminnot',
    'common.name': 'Nimi',
    'common.description': 'Kuvaus',
    'common.status': 'Tila',
    'common.created': 'Luotu',
    'common.updated': 'Päivitetty',

    // Health
    'health.title': 'Järjestelmän kunto',
    'health.component': 'Komponentti',
    'health.status': 'Tila',
    'health.last_ok': 'Viimeisin OK',
    'health.last_error': 'Viimeisin virhe',
    'health.restart_count': 'Uudelleenkäynnistykset',
    'health.pid': 'Prosessitunnus',
    'health.uptime': 'Käyttöaika',
    'health.updated_at': 'Viimeksi päivitetty',

    // Dashboard
    'dashboard.provider_model': 'Palveluntarjoaja / Malli',
    'dashboard.since_last_restart': 'Viimeisimmästä uudelleenkäynnistyksestä',
    'dashboard.paired_yes': 'Kyllä',
    'dashboard.paired_no': 'Ei',
    'dashboard.cost_overview': 'Kustannusyhteenveto',
    'dashboard.active_channels': 'Aktiiviset kanavat',
    'dashboard.filter_active': 'Aktiiviset',
    'dashboard.filter_all': 'Kaikki',
    'dashboard.no_active_channels': 'Ei aktiivisia kanavia',
    'dashboard.component_health': 'Komponenttien kunto',
    'dashboard.load_error': 'Hallintapaneelin lataus epäonnistui',
    'dashboard.session_label': 'Istunto',
    'dashboard.daily_label': 'Päivittäinen',
    'dashboard.monthly_label': 'Kuukausittainen',
    'dashboard.total_tokens_label': 'Tokenit yhteensä',
    'dashboard.requests_label': 'Pyynnöt',
    'dashboard.no_channels': 'Kanavia ei ole määritetty',
    'dashboard.active': 'Aktiivinen',
    'dashboard.inactive': 'Ei aktiivinen',
    'dashboard.no_components': 'Komponentit eivät raportoi',
    'dashboard.restarts': 'Uudelleenkäynnistykset',
    'dashboard.tab_overview': 'Yleiskatsaus',
    'dashboard.tab_sessions': 'Istunnot',
    'dashboard.tab_channels': 'Kanavat',
    'dashboard.sessions_title': 'Aktiiviset istunnot',
    'dashboard.no_sessions': 'Ei aktiivisia istuntoja',
    'dashboard.session_id': 'Istuntotunnus',
    'dashboard.session_started': 'Aloitettu',
    'dashboard.session_last_activity': 'Viimeisin toiminta',
    'dashboard.session_messages': 'Viestit',
    'dashboard.session_details': 'Istunnon tiedot',
    'dashboard.session_history': 'Näytä historia',
    'dashboard.channels_title': 'Kanavien tila',
    'dashboard.no_channels_detail': 'Kanavatietoja ei saatavilla',
    'dashboard.channel_type': 'Tyyppi',
    'dashboard.channel_messages': 'Viestit',
    'dashboard.channel_last_message': 'Viimeisin viesti',
    'dashboard.channel_config': 'Asetukset',
    'dashboard.channel_enabled': 'Käytössä',
    'dashboard.channel_disabled': 'Pois käytöstä',
    'dashboard.loading_sessions': 'Ladataan istuntoja...',
    'dashboard.loading_channels': 'Ladataan kanavia...',
    'dashboard.load_sessions_error': 'Istuntojen lataus epäonnistui',
    'dashboard.load_channels_error': 'Kanavien lataus epäonnistui',
    'dashboard.never': 'Ei koskaan',

    // Settings
    'settings.title': 'Asetukset',
    'settings.tab.appearance': 'Ulkoasu',
    'settings.tab.typography': 'Typografia',
    'settings.appearance': 'Ulkoasu',
    'settings.typography': 'Typografia',
    'settings.fontUi': 'Käyttöliittymän fontti',
    'settings.fontMono': 'Koodin fontti',
    'settings.fontSize': 'Käyttöliittymän fonttikoko',
    'settings.fontMonoSize': 'Koodin fonttikoko',
    'settings.preview': 'Esikatselu',
    'settings.previewText': 'Pistransen piansen pansen pansen pansen.',
    'settings.fontNote': 'Fonttimuutokset tulevat voimaan sivun uudelleenlatauksen yhteydessä.',
    'settings.language': 'Kieli',

    // Theme
    'theme.mode': 'Teeman tila',
    'theme.accent': 'Korostusväri',
    'theme.system': 'Järjestelmä',
    'theme.dark': 'Tumma',
    'theme.light': 'Vaalea',
    'theme.oled': 'OLED musta',
  },

  fr: {
    // Navigation
    'nav.dashboard': 'Tableau de bord',
    'nav.agent': 'Agent',
    'nav.tools': 'Outils',
    'nav.cron': 'Tâches planifiées',
    'nav.integrations': 'Intégrations',
    'nav.memory': 'Mémoire',
    'nav.config': 'Configuration',
    'nav.cost': 'Suivi des coûts',
    'nav.logs': 'Journaux',
    'nav.doctor': 'Diagnostic',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Tableau de bord',
    'dashboard.provider': 'Fournisseur',
    'dashboard.model': 'Modèle',
    'dashboard.uptime': 'Temps de fonctionnement',
    'dashboard.temperature': 'Température',
    'dashboard.gateway_port': 'Port de la passerelle',
    'dashboard.memory_backend': 'Backend mémoire',
    'dashboard.paired': 'Appairé',
    'dashboard.channels': 'Canaux',
    'dashboard.health': 'Santé',
    'dashboard.status': 'Statut',
    'dashboard.overview': 'Vue d\'ensemble',
    'dashboard.system_info': 'Informations système',
    'dashboard.quick_actions': 'Actions rapides',

    // Agent / Chat
    'agent.title': 'Chat agent',
    'agent.send': 'Envoyer',
    'agent.placeholder': 'Saisissez un message...',
    'agent.start_conversation': 'Envoyez un message pour démarrer la conversation',
    'agent.type_message': 'Saisissez un message...',
    'agent.connecting': 'Connexion...',
    'agent.connected': 'Connecté',
    'agent.disconnected': 'Déconnecté',
    'agent.reconnecting': 'Reconnexion...',
    'agent.thinking': 'Réflexion...',
    'agent.tool_call': 'Appel d\'outil',
    'agent.tool_result': 'Résultat de l\'outil',
    'agent.connection_error': 'Erreur de connexion. Tentative de reconnexion...',
    'agent.tool_call_prefix': '[Appel d\'outil]',
    'agent.tool_result_prefix': '[Résultat de l\'outil]',
    'agent.error_prefix': '[Erreur]',
    'agent.unknown_error': 'Erreur inconnue',
    'agent.send_error': 'Échec de l\'envoi du message. Veuillez réessayer.',
    'agent.copy_message': 'Copier le message',
    'agent.connected_status': 'Connecté',
    'agent.disconnected_status': 'Déconnecté',

    // Tools
    'tools.title': 'Outils disponibles',
    'tools.name': 'Nom',
    'tools.description': 'Description',
    'tools.parameters': 'Paramètres',
    'tools.search': 'Rechercher des outils...',
    'tools.empty': 'Aucun outil disponible.',
    'tools.count': 'Total des outils',
    'tools.agent_tools': 'Outils de l\'agent',
    'tools.cli_tools': 'Outils CLI',
    'tools.parameter_schema': 'Schéma des paramètres',
    'tools.path': 'Chemin',
    'tools.version': 'Version',
    'tools.category': 'Catégorie',
    'tools.load_error': 'Échec du chargement des outils',

    // Cron
    'cron.title': 'Tâches planifiées',
    'cron.scheduled_tasks': 'Tâches planifiées',
    'cron.add': 'Ajouter une tâche',
    'cron.add_job': 'Ajouter une tâche',
    'cron.add_modal_title': 'Ajouter une tâche Cron',
    'cron.delete': 'Supprimer',
    'cron.enable': 'Activer',
    'cron.disable': 'Désactiver',
    'cron.name': 'Nom',
    'cron.name_optional': 'Nom (facultatif)',
    'cron.command': 'Commande',
    'cron.command_required': 'Commande',
    'cron.schedule': 'Planification',
    'cron.schedule_required': 'Planification',
    'cron.next_run': 'Prochaine exécution',
    'cron.last_run': 'Dernière exécution',
    'cron.last_status': 'Dernier statut',
    'cron.enabled': 'Activé',
    'cron.enabled_status': 'Activé',
    'cron.disabled_status': 'Désactivé',
    'cron.empty': 'Aucune tâche planifiée.',
    'cron.confirm_delete': 'Êtes-vous sûr de vouloir supprimer cette tâche ?',
    'cron.load_error': 'Échec du chargement des tâches Cron',
    'cron.validation_error': 'La planification et la commande sont requises.',
    'cron.add_error': 'Échec de l\'ajout de la tâche',
    'cron.delete_error': 'Échec de la suppression de la tâche',
    'cron.cancel': 'Annuler',
    'cron.adding': 'Ajout...',
    'cron.id': 'ID',
    'cron.actions': 'Actions',
    'cron.loading_run_history': 'Chargement de l\'historique d\'exécution...',
    'cron.load_run_history_error': 'Échec du chargement de l\'historique d\'exécution',
    'cron.no_runs': 'Aucune exécution enregistrée.',
    'cron.recent_runs': 'Exécutions récentes',
    'cron.yes': 'Oui',
    'cron.no': 'Non',
    'cron.edit': 'Modifier',
    'cron.edit_modal_title': 'Modifier la tâche Cron',
    'cron.edit_error': 'Échec de la mise à jour de la tâche',
    'cron.saving': 'Enregistrement...',
    'cron.save': 'Enregistrer',

    // Integrations
    'integrations.title': 'Intégrations',
    'integrations.available': 'Disponible',
    'integrations.active': 'Actif',
    'integrations.coming_soon': 'Bientôt disponible',
    'integrations.category': 'Catégorie',
    'integrations.status': 'Statut',
    'integrations.search': 'Rechercher des intégrations...',
    'integrations.empty': 'Aucune intégration trouvée.',
    'integrations.activate': 'Activer',
    'integrations.deactivate': 'Désactiver',
    'integrations.load_error': 'Échec du chargement des intégrations',
    'integrations.status_active': 'Actif',
    'integrations.status_available': 'Disponible',
    'integrations.status_coming_soon': 'Bientôt disponible',

    // Memory
    'memory.title': 'Stockage mémoire',
    'memory.memory_title': 'Mémoire',
    'memory.search': 'Rechercher dans la mémoire...',
    'memory.search_placeholder': 'Rechercher des entrées mémoire...',
    'memory.add': 'Stocker en mémoire',
    'memory.add_memory': 'Ajouter une mémoire',
    'memory.add_modal_title': 'Ajouter une mémoire',
    'memory.delete': 'Supprimer',
    'memory.key': 'Clé',
    'memory.key_required': 'Clé',
    'memory.content': 'Contenu',
    'memory.content_required': 'Contenu',
    'memory.category': 'Catégorie',
    'memory.category_optional': 'Catégorie (facultatif)',
    'memory.timestamp': 'Horodatage',
    'memory.session': 'Session',
    'memory.score': 'Score',
    'memory.empty': 'Aucune entrée mémoire trouvée.',
    'memory.confirm_delete': 'Êtes-vous sûr de vouloir supprimer cette entrée mémoire ?',
    'memory.all_categories': 'Toutes les catégories',
    'memory.search_button': 'Rechercher',
    'memory.load_error': 'Échec du chargement de la mémoire',
    'memory.saving': 'Enregistrement...',
    'memory.validation_error': 'La clé et le contenu sont requis.',
    'memory.store_error': 'Échec du stockage de la mémoire',
    'memory.delete_error': 'Échec de la suppression de la mémoire',
    'memory.delete_confirm': 'Supprimer ?',
    'memory.yes': 'Oui',
    'memory.no': 'Non',
    'memory.cancel': 'Annuler',

    // Config
    'config.title': 'Configuration',
    'config.save': 'Enregistrer',
    'config.saving': 'Enregistrement...',
    'config.reset': 'Réinitialiser',
    'config.saved': 'Configuration enregistrée avec succès.',
    'config.error': 'Échec de l\'enregistrement de la configuration.',
    'config.loading': 'Chargement de la configuration...',
    'config.editor_placeholder': 'Configuration TOML...',
    'config.configuration_title': 'Configuration',
    'config.sensitive_title': 'Les champs sensibles sont masqués',
    'config.sensitive_hint': 'Les clés API, les tokens et les mots de passe sont masqués pour des raisons de sécurité. Pour mettre à jour un champ masqué, remplacez la valeur masquée par votre nouvelle valeur.',
    'config.save_success': 'Configuration enregistrée avec succès.',
    'config.save_error': 'Échec de l\'enregistrement de la configuration',
    'config.toml_label': 'Configuration TOML',
    'config.lines': 'lignes',

    // Cost
    'cost.title': 'Suivi des coûts',
    'cost.session': 'Coût de la session',
    'cost.daily': 'Coût quotidien',
    'cost.monthly': 'Coût mensuel',
    'cost.total_tokens': 'Total des tokens',
    'cost.request_count': 'Requêtes',
    'cost.by_model': 'Coût par modèle',
    'cost.model': 'Modèle',
    'cost.tokens': 'Tokens',
    'cost.requests': 'Requêtes',
    'cost.usd': 'Coût (USD)',
    'cost.load_error': 'Échec du chargement des données de coût',
    'cost.session_cost': 'Coût de la session',
    'cost.daily_cost': 'Coût quotidien',
    'cost.monthly_cost': 'Coût mensuel',
    'cost.total_requests': 'Total des requêtes',
    'cost.token_statistics': 'Statistiques des tokens',
    'cost.avg_tokens_per_request': 'Tokens moyens / requête',
    'cost.cost_per_1k_tokens': 'Coût pour 1K tokens',
    'cost.model_breakdown': 'Détail par modèle',
    'cost.no_model_data': 'Aucune donnée de modèle disponible.',
    'cost.cost': 'Coût',
    'cost.share': 'Partager',

    // Logs
    'logs.title': 'Journaux en direct',
    'logs.live_logs': 'Journaux en direct',
    'logs.clear': 'Effacer',
    'logs.pause': 'Pause',
    'logs.resume': 'Reprendre',
    'logs.filter': 'Filtrer les journaux...',
    'logs.filter_label': 'Filtre',
    'logs.empty': 'Aucune entrée de journal.',
    'logs.connected': 'Connecté',
    'logs.disconnected': 'Déconnecté',
    'logs.events': 'événements',
    'logs.jump_to_bottom': 'Aller en bas',
    'logs.paused_hint': 'La diffusion des journaux est en pause.',
    'logs.waiting_hint': 'En attente d\'événements...',

    // Doctor
    'doctor.title': 'Diagnostics système',
    'doctor.diagnostics_title': 'Diagnostics',
    'doctor.run': 'Exécuter les diagnostics',
    'doctor.run_diagnostics': 'Exécuter les diagnostics',
    'doctor.running': 'Exécution des diagnostics...',
    'doctor.running_btn': 'Exécution...',
    'doctor.running_desc': 'Exécution des diagnostics...',
    'doctor.running_hint': 'Cela peut prendre quelques secondes.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Avertissement',
    'doctor.error': 'Erreur',
    'doctor.severity': 'Sévérité',
    'doctor.category': 'Catégorie',
    'doctor.message': 'Message',
    'doctor.empty': 'Aucun diagnostic n\'a encore été exécuté.',
    'doctor.summary': 'Résumé du diagnostic',
    'doctor.issues_found': 'Problèmes trouvés',
    'doctor.warnings_summary': 'Avertissements',
    'doctor.all_clear': 'Tout est en ordre',
    'doctor.system_diagnostics': 'Diagnostics système',
    'doctor.empty_hint': 'Cliquez sur "Exécuter les diagnostics" pour vérifier votre installation ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Appairer l\'appareil',
    'auth.pairing_code': 'Code d\'appairage',
    'auth.pair_button': 'Appairer',
    'auth.logout': 'Déconnexion',
    'auth.pairing_success': 'Appairage réussi !',
    'auth.pairing_failed': 'Échec de l\'appairage. Veuillez réessayer.',
    'auth.enter_code': 'Saisissez votre code d\'appairage pour vous connecter à l\'agent.',

    // Common
    'common.loading': 'Chargement...',
    'common.error': 'Une erreur est survenue.',
    'common.retry': 'Réessayer',
    'common.cancel': 'Annuler',
    'common.confirm': 'Confirmer',
    'common.save': 'Enregistrer',
    'common.delete': 'Supprimer',
    'common.edit': 'Modifier',
    'common.close': 'Fermer',
    'common.yes': 'Oui',
    'common.no': 'Non',
    'common.search': 'Rechercher...',
    'common.no_data': 'Aucune donnée disponible.',
    'common.refresh': 'Actualiser',
    'common.back': 'Retour',
    'common.actions': 'Actions',
    'common.name': 'Nom',
    'common.description': 'Description',
    'common.status': 'Statut',
    'common.created': 'Créé',
    'common.updated': 'Mis à jour',

    // Health
    'health.title': 'Santé du système',
    'health.component': 'Composant',
    'health.status': 'Statut',
    'health.last_ok': 'Dernier OK',
    'health.last_error': 'Dernière erreur',
    'health.restart_count': 'Redémarrages',
    'health.pid': 'ID de processus',
    'health.uptime': 'Temps de fonctionnement',
    'health.updated_at': 'Dernière mise à jour',

    // Dashboard
    'dashboard.provider_model': 'Fournisseur / Modèle',
    'dashboard.since_last_restart': 'Depuis le dernier redémarrage',
    'dashboard.paired_yes': 'Oui',
    'dashboard.paired_no': 'Non',
    'dashboard.cost_overview': 'Aperçu des coûts',
    'dashboard.active_channels': 'Canaux actifs',
    'dashboard.filter_active': 'Actifs',
    'dashboard.filter_all': 'Tous',
    'dashboard.no_active_channels': 'Aucun canal actif',
    'dashboard.component_health': 'Santé des composants',
    'dashboard.load_error': 'Échec du chargement du tableau de bord',
    'dashboard.session_label': 'Session',
    'dashboard.daily_label': 'Quotidien',
    'dashboard.monthly_label': 'Mensuel',
    'dashboard.total_tokens_label': 'Total des tokens',
    'dashboard.requests_label': 'Requêtes',
    'dashboard.no_channels': 'Aucun canal configuré',
    'dashboard.active': 'Actif',
    'dashboard.inactive': 'Inactif',
    'dashboard.no_components': 'Aucun composant ne rapporte',
    'dashboard.restarts': 'Redémarrages',
    'dashboard.tab_overview': 'Vue d\'ensemble',
    'dashboard.tab_sessions': 'Sessions',
    'dashboard.tab_channels': 'Canaux',
    'dashboard.sessions_title': 'Sessions actives',
    'dashboard.no_sessions': 'Aucune session active',
    'dashboard.session_id': 'ID de session',
    'dashboard.session_started': 'Démarré',
    'dashboard.session_last_activity': 'Dernière activité',
    'dashboard.session_messages': 'Messages',
    'dashboard.session_details': 'Détails de la session',
    'dashboard.session_history': 'Voir l\'historique',
    'dashboard.channels_title': 'État des canaux',
    'dashboard.no_channels_detail': 'Aucun détail de canal disponible',
    'dashboard.channel_type': 'Type',
    'dashboard.channel_messages': 'Messages',
    'dashboard.channel_last_message': 'Dernier message',
    'dashboard.channel_config': 'Configuration',
    'dashboard.channel_enabled': 'Activé',
    'dashboard.channel_disabled': 'Désactivé',
    'dashboard.loading_sessions': 'Chargement des sessions...',
    'dashboard.loading_channels': 'Chargement des canaux...',
    'dashboard.load_sessions_error': 'Échec du chargement des sessions',
    'dashboard.load_channels_error': 'Échec du chargement des canaux',
    'dashboard.never': 'Jamais',

    // Settings
    'settings.title': 'Paramètres',
    'settings.tab.appearance': 'Apparence',
    'settings.tab.typography': 'Typographie',
    'settings.appearance': 'Apparence',
    'settings.typography': 'Typographie',
    'settings.fontUi': 'Police de l\'interface',
    'settings.fontMono': 'Police de code',
    'settings.fontSize': 'Taille de police de l\'interface',
    'settings.fontMonoSize': 'Taille de police de code',
    'settings.preview': 'Aperçu',
    'settings.previewText': 'Le vif renard brun saute par-dessus le chien paresseux.',
    'settings.fontNote': 'Les changements de police s\'appliquent au rechargement de la page.',
    'settings.language': 'Langue',

    // Theme
    'theme.mode': 'Mode du thème',
    'theme.accent': 'Couleur d\'accentuation',
    'theme.system': 'Système',
    'theme.dark': 'Sombre',
    'theme.light': 'Clair',
    'theme.oled': 'Noir OLED',
  },

  he: {
    // Navigation
    'nav.dashboard': 'לוח בקרה',
    'nav.agent': 'סוכן',
    'nav.tools': 'כלים',
    'nav.cron': 'משימות מתוזמנות',
    'nav.integrations': 'אינטגרציות',
    'nav.memory': 'זיכרון',
    'nav.config': 'הגדרות',
    'nav.cost': 'מעקב עלויות',
    'nav.logs': 'יומנים',
    'nav.doctor': 'אבחון',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'לוח בקרה',
    'dashboard.provider': 'ספק',
    'dashboard.model': 'מודל',
    'dashboard.uptime': 'זמן פעילות',
    'dashboard.temperature': 'טמפרטורה',
    'dashboard.gateway_port': 'פורט שער',
    'dashboard.memory_backend': 'מנוע זיכרון',
    'dashboard.paired': 'מותאם',
    'dashboard.channels': 'ערוצים',
    'dashboard.health': 'תקינות',
    'dashboard.status': 'סטטוס',
    'dashboard.overview': 'סקירה כללית',
    'dashboard.system_info': 'מידע מערכת',
    'dashboard.quick_actions': 'פעולות מהירות',

    // Agent / Chat
    'agent.title': 'צ\'אט סוכן',
    'agent.send': 'שלח',
    'agent.placeholder': 'הקלד הודעה...',
    'agent.start_conversation': 'שלח הודעה כדי להתחיל את השיחה',
    'agent.type_message': 'הקלד הודעה...',
    'agent.connecting': 'מתחבר...',
    'agent.connected': 'מחובר',
    'agent.disconnected': 'מנותק',
    'agent.reconnecting': 'מתחבר מחדש...',
    'agent.thinking': 'חושב...',
    'agent.tool_call': 'קריאת כלי',
    'agent.tool_result': 'תוצאת כלי',
    'agent.connection_error': 'שגיאת חיבור. מנסה להתחבר מחדש...',
    'agent.tool_call_prefix': '[קריאת כלי]',
    'agent.tool_result_prefix': '[תוצאת כלי]',
    'agent.error_prefix': '[שגיאה]',
    'agent.unknown_error': 'שגיאה לא ידועה',
    'agent.send_error': 'שליחת ההודעה נכשלה. אנא נסה שוב.',
    'agent.copy_message': 'העתק הודעה',
    'agent.connected_status': 'מחובר',
    'agent.disconnected_status': 'מנותק',

    // Tools
    'tools.title': 'כלים זמינים',
    'tools.name': 'שם',
    'tools.description': 'תיאור',
    'tools.parameters': 'פרמטרים',
    'tools.search': 'חפש כלים...',
    'tools.empty': 'אין כלים זמינים.',
    'tools.count': 'סך הכלים',
    'tools.agent_tools': 'כלי סוכן',
    'tools.cli_tools': 'כלי CLI',
    'tools.parameter_schema': 'סכמת פרמטרים',
    'tools.path': 'נתיב',
    'tools.version': 'גרסה',
    'tools.category': 'קטגוריה',
    'tools.load_error': 'טעינת הכלים נכשלה',

    // Cron
    'cron.title': 'משימות מתוזמנות',
    'cron.scheduled_tasks': 'משימות מתוזמנות',
    'cron.add': 'הוסף משימה',
    'cron.add_job': 'הוסף משימה',
    'cron.add_modal_title': 'הוסף משימת Cron',
    'cron.delete': 'מחק',
    'cron.enable': 'הפעל',
    'cron.disable': 'השבת',
    'cron.name': 'שם',
    'cron.name_optional': 'שם (אופציונלי)',
    'cron.command': 'פקודה',
    'cron.command_required': 'פקודה',
    'cron.schedule': 'תזמון',
    'cron.schedule_required': 'תזמון',
    'cron.next_run': 'ריצה הבאה',
    'cron.last_run': 'ריצה אחרונה',
    'cron.last_status': 'סטטוס אחרון',
    'cron.enabled': 'מופעל',
    'cron.enabled_status': 'מופעל',
    'cron.disabled_status': 'מושבת',
    'cron.empty': 'אין משימות מתוזמנות.',
    'cron.confirm_delete': 'האם אתה בטוח שברצונך למחוק משימה זו?',
    'cron.load_error': 'טעינת משימות Cron נכשלה',
    'cron.validation_error': 'תזמון ופקודה הם שדות חובה.',
    'cron.add_error': 'הוספת המשימה נכשלה',
    'cron.delete_error': 'מחיקת המשימה נכשלה',
    'cron.cancel': 'ביטול',
    'cron.adding': 'מוסיף...',
    'cron.id': 'ID',
    'cron.actions': 'פעולות',
    'cron.loading_run_history': 'טוען היסטוריית ריצות...',
    'cron.load_run_history_error': 'טעינת היסטוריית הריצות נכשלה',
    'cron.no_runs': 'אין ריצות מתועדות עדיין.',
    'cron.recent_runs': 'ריצות אחרונות',
    'cron.yes': 'כן',
    'cron.no': 'לא',
    'cron.edit': 'ערוך',
    'cron.edit_modal_title': 'ערוך משימת Cron',
    'cron.edit_error': 'עדכון המשימה נכשל',
    'cron.saving': 'שומר...',
    'cron.save': 'שמור',

    // Integrations
    'integrations.title': 'אינטגרציות',
    'integrations.available': 'זמין',
    'integrations.active': 'פעיל',
    'integrations.coming_soon': 'בקרוב',
    'integrations.category': 'קטגוריה',
    'integrations.status': 'סטטוס',
    'integrations.search': 'חפש אינטגרציות...',
    'integrations.empty': 'לא נמצאו אינטגרציות.',
    'integrations.activate': 'הפעל',
    'integrations.deactivate': 'השבת',
    'integrations.load_error': 'טעינת האינטגרציות נכשלה',
    'integrations.status_active': 'פעיל',
    'integrations.status_available': 'זמין',
    'integrations.status_coming_soon': 'בקרוב',

    // Memory
    'memory.title': 'מאגר זיכרון',
    'memory.memory_title': 'זיכרון',
    'memory.search': 'חפש בזיכרון...',
    'memory.search_placeholder': 'חפש רשומות זיכרון...',
    'memory.add': 'שמור בזיכרון',
    'memory.add_memory': 'הוסף זיכרון',
    'memory.add_modal_title': 'הוסף זיכרון',
    'memory.delete': 'מחק',
    'memory.key': 'מפתח',
    'memory.key_required': 'מפתח',
    'memory.content': 'תוכן',
    'memory.content_required': 'תוכן',
    'memory.category': 'קטגוריה',
    'memory.category_optional': 'קטגוריה (אופציונלי)',
    'memory.timestamp': 'חותמת זמן',
    'memory.session': 'סשן',
    'memory.score': 'ציון',
    'memory.empty': 'לא נמצאו רשומות זיכרון.',
    'memory.confirm_delete': 'האם אתה בטוח שברצונך למחוק רשומת זיכרון זו?',
    'memory.all_categories': 'כל הקטגוריות',
    'memory.search_button': 'חפש',
    'memory.load_error': 'טעינת הזיכרון נכשלה',
    'memory.saving': 'שומר...',
    'memory.validation_error': 'מפתח ותוכן הם שדות חובה.',
    'memory.store_error': 'שמירת הזיכרון נכשלה',
    'memory.delete_error': 'מחיקת הזיכרון נכשלה',
    'memory.delete_confirm': 'למחוק?',
    'memory.yes': 'כן',
    'memory.no': 'לא',
    'memory.cancel': 'ביטול',

    // Config
    'config.title': 'הגדרות',
    'config.save': 'שמור',
    'config.saving': 'שומר...',
    'config.reset': 'אפס',
    'config.saved': 'ההגדרות נשמרו בהצלחה.',
    'config.error': 'שמירת ההגדרות נכשלה.',
    'config.loading': 'טוען הגדרות...',
    'config.editor_placeholder': 'הגדרות TOML...',
    'config.configuration_title': 'הגדרות',
    'config.sensitive_title': 'שדות רגישים מוסתרים',
    'config.sensitive_hint': 'מפתחות API, טוקנים וסיסמאות מוסתרים מטעמי אבטחה. כדי לעדכן שדה מוסתר, החלף את הערך המוסתר כולו בערך החדש שלך.',
    'config.save_success': 'ההגדרות נשמרו בהצלחה.',
    'config.save_error': 'שמירת ההגדרות נכשלה',
    'config.toml_label': 'הגדרות TOML',
    'config.lines': 'שורות',

    // Cost
    'cost.title': 'מעקב עלויות',
    'cost.session': 'עלות סשן',
    'cost.daily': 'עלות יומית',
    'cost.monthly': 'עלות חודשית',
    'cost.total_tokens': 'סך הטוקנים',
    'cost.request_count': 'בקשות',
    'cost.by_model': 'עלות לפי מודל',
    'cost.model': 'מודל',
    'cost.tokens': 'טוקנים',
    'cost.requests': 'בקשות',
    'cost.usd': 'עלות (USD)',
    'cost.load_error': 'טעינת נתוני העלות נכשלה',
    'cost.session_cost': 'עלות סשן',
    'cost.daily_cost': 'עלות יומית',
    'cost.monthly_cost': 'עלות חודשית',
    'cost.total_requests': 'סך הבקשות',
    'cost.token_statistics': 'סטטיסטיקות טוקנים',
    'cost.avg_tokens_per_request': 'טוקנים ממוצעים / בקשה',
    'cost.cost_per_1k_tokens': 'עלות ל-1K טוקנים',
    'cost.model_breakdown': 'פירוט לפי מודל',
    'cost.no_model_data': 'אין נתוני מודל זמינים.',
    'cost.cost': 'עלות',
    'cost.share': 'שתף',

    // Logs
    'logs.title': 'יומנים חיים',
    'logs.live_logs': 'יומנים חיים',
    'logs.clear': 'נקה',
    'logs.pause': 'השהה',
    'logs.resume': 'המשך',
    'logs.filter': 'סנן יומנים...',
    'logs.filter_label': 'מסנן',
    'logs.empty': 'אין רשומות יומן.',
    'logs.connected': 'מחובר',
    'logs.disconnected': 'מנותק',
    'logs.events': 'אירועים',
    'logs.jump_to_bottom': 'קפוץ למטה',
    'logs.paused_hint': 'הזרמת היומנים מושהית.',
    'logs.waiting_hint': 'ממתין לאירועים...',

    // Doctor
    'doctor.title': 'אבחון מערכת',
    'doctor.diagnostics_title': 'אבחון',
    'doctor.run': 'הפעל אבחון',
    'doctor.run_diagnostics': 'הפעל אבחון',
    'doctor.running': 'מריץ אבחון...',
    'doctor.running_btn': 'מריץ...',
    'doctor.running_desc': 'מריץ אבחון...',
    'doctor.running_hint': 'פעולה זו עשויה להימשך מספר שניות.',
    'doctor.ok': 'OK',
    'doctor.warn': 'אזהרה',
    'doctor.error': 'שגיאה',
    'doctor.severity': 'חומרה',
    'doctor.category': 'קטגוריה',
    'doctor.message': 'הודעה',
    'doctor.empty': 'טרם בוצע אבחון.',
    'doctor.summary': 'סיכום אבחון',
    'doctor.issues_found': 'בעיות שנמצאו',
    'doctor.warnings_summary': 'אזהרות',
    'doctor.all_clear': 'הכל תקין',
    'doctor.system_diagnostics': 'אבחון מערכת',
    'doctor.empty_hint': 'לחץ על "הפעל אבחון" כדי לבדוק את התקנת ZeroClaw שלך.',

    // Auth / Pairing
    'auth.pair': 'צמד מכשיר',
    'auth.pairing_code': 'קוד צימוד',
    'auth.pair_button': 'צמד',
    'auth.logout': 'התנתק',
    'auth.pairing_success': 'הצימוד הצליח!',
    'auth.pairing_failed': 'הצימוד נכשל. אנא נסה שוב.',
    'auth.enter_code': 'הזן את קוד הצימוד שלך כדי להתחבר לסוכן.',

    // Common
    'common.loading': 'טוען...',
    'common.error': 'אירעה שגיאה.',
    'common.retry': 'נסה שוב',
    'common.cancel': 'ביטול',
    'common.confirm': 'אשר',
    'common.save': 'שמור',
    'common.delete': 'מחק',
    'common.edit': 'ערוך',
    'common.close': 'סגור',
    'common.yes': 'כן',
    'common.no': 'לא',
    'common.search': 'חפש...',
    'common.no_data': 'אין נתונים זמינים.',
    'common.refresh': 'רענן',
    'common.back': 'חזרה',
    'common.actions': 'פעולות',
    'common.name': 'שם',
    'common.description': 'תיאור',
    'common.status': 'סטטוס',
    'common.created': 'נוצר',
    'common.updated': 'עודכן',

    // Health
    'health.title': 'תקינות המערכת',
    'health.component': 'רכיב',
    'health.status': 'סטטוס',
    'health.last_ok': 'OK אחרון',
    'health.last_error': 'שגיאה אחרונה',
    'health.restart_count': 'הפעלות מחדש',
    'health.pid': 'מזהה תהליך',
    'health.uptime': 'זמן פעילות',
    'health.updated_at': 'עודכן לאחרונה',

    // Dashboard
    'dashboard.provider_model': 'ספק / מודל',
    'dashboard.since_last_restart': 'מאז ההפעלה מחדש האחרונה',
    'dashboard.paired_yes': 'כן',
    'dashboard.paired_no': 'לא',
    'dashboard.cost_overview': 'סקירת עלויות',
    'dashboard.active_channels': 'ערוצים פעילים',
    'dashboard.filter_active': 'פעילים',
    'dashboard.filter_all': 'הכל',
    'dashboard.no_active_channels': 'אין ערוצים פעילים',
    'dashboard.component_health': 'תקינות רכיבים',
    'dashboard.load_error': 'טעינת לוח הבקרה נכשלה',
    'dashboard.session_label': 'סשן',
    'dashboard.daily_label': 'יומי',
    'dashboard.monthly_label': 'חודשי',
    'dashboard.total_tokens_label': 'סך הטוקנים',
    'dashboard.requests_label': 'בקשות',
    'dashboard.no_channels': 'לא הוגדרו ערוצים',
    'dashboard.active': 'פעיל',
    'dashboard.inactive': 'לא פעיל',
    'dashboard.no_components': 'אין רכיבים מדווחים',
    'dashboard.restarts': 'הפעלות מחדש',
    'dashboard.tab_overview': 'סקירה כללית',
    'dashboard.tab_sessions': 'סשנים',
    'dashboard.tab_channels': 'ערוצים',
    'dashboard.sessions_title': 'סשנים פעילים',
    'dashboard.no_sessions': 'אין סשנים פעילים',
    'dashboard.session_id': 'מזהה סשן',
    'dashboard.session_started': 'התחיל',
    'dashboard.session_last_activity': 'פעילות אחרונה',
    'dashboard.session_messages': 'הודעות',
    'dashboard.session_details': 'פרטי סשן',
    'dashboard.session_history': 'צפה בהיסטוריה',
    'dashboard.channels_title': 'מצב ערוצים',
    'dashboard.no_channels_detail': 'אין פרטי ערוצים זמינים',
    'dashboard.channel_type': 'סוג',
    'dashboard.channel_messages': 'הודעות',
    'dashboard.channel_last_message': 'הודעה אחרונה',
    'dashboard.channel_config': 'הגדרות',
    'dashboard.channel_enabled': 'מופעל',
    'dashboard.channel_disabled': 'מושבת',
    'dashboard.loading_sessions': 'טוען סשנים...',
    'dashboard.loading_channels': 'טוען ערוצים...',
    'dashboard.load_sessions_error': 'טעינת הסשנים נכשלה',
    'dashboard.load_channels_error': 'טעינת הערוצים נכשלה',
    'dashboard.never': 'אף פעם',

    // Settings
    'settings.title': 'הגדרות',
    'settings.tab.appearance': 'מראה',
    'settings.tab.typography': 'טיפוגרפיה',
    'settings.appearance': 'מראה',
    'settings.typography': 'טיפוגרפיה',
    'settings.fontUi': 'גופן ממשק',
    'settings.fontMono': 'גופן קוד',
    'settings.fontSize': 'גודל גופן ממשק',
    'settings.fontMonoSize': 'גודל גופן קוד',
    'settings.preview': 'תצוגה מקדימה',
    'settings.previewText': 'דג סקרן שט לו בים זך אך לפתע פגש חבורה נחמדה.',
    'settings.fontNote': 'שינויי גופן ייכנסו לתוקף בטעינת הדף מחדש.',
    'settings.language': 'שפה',

    // Theme
    'theme.mode': 'מצב ערכת נושא',
    'theme.accent': 'צבע הדגשה',
    'theme.system': 'מערכת',
    'theme.dark': 'כהה',
    'theme.light': 'בהיר',
    'theme.oled': 'שחור OLED',
  },

  hi: {
    // Navigation
    'nav.dashboard': 'डैशबोर्ड',
    'nav.agent': 'एजेंट',
    'nav.tools': 'उपकरण',
    'nav.cron': 'शेड्यूल्ड कार्य',
    'nav.integrations': 'इंटीग्रेशन',
    'nav.memory': 'मेमोरी',
    'nav.config': 'कॉन्फ़िगरेशन',
    'nav.cost': 'लागत ट्रैकर',
    'nav.logs': 'लॉग',
    'nav.doctor': 'डॉक्टर',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'डैशबोर्ड',
    'dashboard.provider': 'प्रदाता',
    'dashboard.model': 'मॉडल',
    'dashboard.uptime': 'अपटाइम',
    'dashboard.temperature': 'तापमान',
    'dashboard.gateway_port': 'गेटवे पोर्ट',
    'dashboard.memory_backend': 'मेमोरी बैकएंड',
    'dashboard.paired': 'पेयर किया गया',
    'dashboard.channels': 'चैनल',
    'dashboard.health': 'स्वास्थ्य',
    'dashboard.status': 'स्थिति',
    'dashboard.overview': 'अवलोकन',
    'dashboard.system_info': 'सिस्टम जानकारी',
    'dashboard.quick_actions': 'त्वरित कार्रवाइयाँ',

    // Agent / Chat
    'agent.title': 'एजेंट चैट',
    'agent.send': 'भेजें',
    'agent.placeholder': 'संदेश लिखें...',
    'agent.start_conversation': 'बातचीत शुरू करने के लिए संदेश भेजें',
    'agent.type_message': 'संदेश लिखें...',
    'agent.connecting': 'कनेक्ट हो रहा है...',
    'agent.connected': 'कनेक्टेड',
    'agent.disconnected': 'डिस्कनेक्टेड',
    'agent.reconnecting': 'फिर से कनेक्ट हो रहा है...',
    'agent.thinking': 'सोच रहा है...',
    'agent.tool_call': 'टूल कॉल',
    'agent.tool_result': 'टूल परिणाम',
    'agent.connection_error': 'कनेक्शन त्रुटि। पुनः कनेक्ट करने का प्रयास...',
    'agent.tool_call_prefix': '[टूल कॉल]',
    'agent.tool_result_prefix': '[टूल परिणाम]',
    'agent.error_prefix': '[त्रुटि]',
    'agent.unknown_error': 'अज्ञात त्रुटि',
    'agent.send_error': 'संदेश भेजने में विफल। कृपया पुनः प्रयास करें।',
    'agent.copy_message': 'संदेश कॉपी करें',
    'agent.connected_status': 'कनेक्टेड',
    'agent.disconnected_status': 'डिस्कनेक्टेड',

    // Tools
    'tools.title': 'उपलब्ध उपकरण',
    'tools.name': 'नाम',
    'tools.description': 'विवरण',
    'tools.parameters': 'पैरामीटर',
    'tools.search': 'उपकरण खोजें...',
    'tools.empty': 'कोई उपकरण उपलब्ध नहीं।',
    'tools.count': 'कुल उपकरण',
    'tools.agent_tools': 'एजेंट उपकरण',
    'tools.cli_tools': 'CLI उपकरण',
    'tools.parameter_schema': 'पैरामीटर स्कीमा',
    'tools.path': 'पथ',
    'tools.version': 'संस्करण',
    'tools.category': 'श्रेणी',
    'tools.load_error': 'उपकरण लोड करने में विफल',

    // Cron
    'cron.title': 'शेड्यूल्ड कार्य',
    'cron.scheduled_tasks': 'शेड्यूल्ड कार्य',
    'cron.add': 'कार्य जोड़ें',
    'cron.add_job': 'कार्य जोड़ें',
    'cron.add_modal_title': 'Cron कार्य जोड़ें',
    'cron.delete': 'हटाएँ',
    'cron.enable': 'सक्षम करें',
    'cron.disable': 'अक्षम करें',
    'cron.name': 'नाम',
    'cron.name_optional': 'नाम (वैकल्पिक)',
    'cron.command': 'कमांड',
    'cron.command_required': 'कमांड',
    'cron.schedule': 'शेड्यूल',
    'cron.schedule_required': 'शेड्यूल',
    'cron.next_run': 'अगला रन',
    'cron.last_run': 'पिछला रन',
    'cron.last_status': 'अंतिम स्थिति',
    'cron.enabled': 'सक्षम',
    'cron.enabled_status': 'सक्षम',
    'cron.disabled_status': 'अक्षम',
    'cron.empty': 'कोई शेड्यूल्ड कार्य नहीं।',
    'cron.confirm_delete': 'क्या आप वाकई इस कार्य को हटाना चाहते हैं?',
    'cron.load_error': 'Cron कार्य लोड करने में विफल',
    'cron.validation_error': 'शेड्यूल और कमांड आवश्यक हैं।',
    'cron.add_error': 'कार्य जोड़ने में विफल',
    'cron.delete_error': 'कार्य हटाने में विफल',
    'cron.cancel': 'रद्द करें',
    'cron.adding': 'जोड़ रहा है...',
    'cron.id': 'ID',
    'cron.actions': 'कार्रवाइयाँ',
    'cron.loading_run_history': 'रन इतिहास लोड हो रहा है...',
    'cron.load_run_history_error': 'रन इतिहास लोड करने में विफल',
    'cron.no_runs': 'अभी तक कोई रन रिकॉर्ड नहीं।',
    'cron.recent_runs': 'हाल के रन',
    'cron.yes': 'हाँ',
    'cron.no': 'नहीं',
    'cron.edit': 'संपादित करें',
    'cron.edit_modal_title': 'Cron कार्य संपादित करें',
    'cron.edit_error': 'कार्य अपडेट करने में विफल',
    'cron.saving': 'सहेज रहा है...',
    'cron.save': 'सहेजें',

    // Integrations
    'integrations.title': 'इंटीग्रेशन',
    'integrations.available': 'उपलब्ध',
    'integrations.active': 'सक्रिय',
    'integrations.coming_soon': 'जल्द आ रहा है',
    'integrations.category': 'श्रेणी',
    'integrations.status': 'स्थिति',
    'integrations.search': 'इंटीग्रेशन खोजें...',
    'integrations.empty': 'कोई इंटीग्रेशन नहीं मिला।',
    'integrations.activate': 'सक्रिय करें',
    'integrations.deactivate': 'निष्क्रिय करें',
    'integrations.load_error': 'इंटीग्रेशन लोड करने में विफल',
    'integrations.status_active': 'सक्रिय',
    'integrations.status_available': 'उपलब्ध',
    'integrations.status_coming_soon': 'जल्द आ रहा है',

    // Memory
    'memory.title': 'मेमोरी स्टोर',
    'memory.memory_title': 'मेमोरी',
    'memory.search': 'मेमोरी में खोजें...',
    'memory.search_placeholder': 'मेमोरी प्रविष्टियाँ खोजें...',
    'memory.add': 'मेमोरी स्टोर करें',
    'memory.add_memory': 'मेमोरी जोड़ें',
    'memory.add_modal_title': 'मेमोरी जोड़ें',
    'memory.delete': 'हटाएँ',
    'memory.key': 'कुंजी',
    'memory.key_required': 'कुंजी',
    'memory.content': 'सामग्री',
    'memory.content_required': 'सामग्री',
    'memory.category': 'श्रेणी',
    'memory.category_optional': 'श्रेणी (वैकल्पिक)',
    'memory.timestamp': 'टाइमस्टैम्प',
    'memory.session': 'सत्र',
    'memory.score': 'स्कोर',
    'memory.empty': 'कोई मेमोरी प्रविष्टि नहीं मिली।',
    'memory.confirm_delete': 'क्या आप वाकई इस मेमोरी प्रविष्टि को हटाना चाहते हैं?',
    'memory.all_categories': 'सभी श्रेणियाँ',
    'memory.search_button': 'खोजें',
    'memory.load_error': 'मेमोरी लोड करने में विफल',
    'memory.saving': 'सहेज रहा है...',
    'memory.validation_error': 'कुंजी और सामग्री आवश्यक हैं।',
    'memory.store_error': 'मेमोरी स्टोर करने में विफल',
    'memory.delete_error': 'मेमोरी हटाने में विफल',
    'memory.delete_confirm': 'हटाएँ?',
    'memory.yes': 'हाँ',
    'memory.no': 'नहीं',
    'memory.cancel': 'रद्द करें',

    // Config
    'config.title': 'कॉन्फ़िगरेशन',
    'config.save': 'सहेजें',
    'config.saving': 'सहेज रहा है...',
    'config.reset': 'रीसेट',
    'config.saved': 'कॉन्फ़िगरेशन सफलतापूर्वक सहेजा गया।',
    'config.error': 'कॉन्फ़िगरेशन सहेजने में विफल।',
    'config.loading': 'कॉन्फ़िगरेशन लोड हो रहा है...',
    'config.editor_placeholder': 'TOML कॉन्फ़िगरेशन...',
    'config.configuration_title': 'कॉन्फ़िगरेशन',
    'config.sensitive_title': 'संवेदनशील फ़ील्ड छिपे हुए हैं',
    'config.sensitive_hint': 'API कुंजियाँ, टोकन और पासवर्ड सुरक्षा के लिए छिपे हुए हैं। छिपे हुए फ़ील्ड को अपडेट करने के लिए, पूरे छिपे हुए मान को अपने नए मान से बदलें।',
    'config.save_success': 'कॉन्फ़िगरेशन सफलतापूर्वक सहेजा गया।',
    'config.save_error': 'कॉन्फ़िगरेशन सहेजने में विफल',
    'config.toml_label': 'TOML कॉन्फ़िगरेशन',
    'config.lines': 'पंक्तियाँ',

    // Cost
    'cost.title': 'लागत ट्रैकर',
    'cost.session': 'सत्र लागत',
    'cost.daily': 'दैनिक लागत',
    'cost.monthly': 'मासिक लागत',
    'cost.total_tokens': 'कुल टोकन',
    'cost.request_count': 'अनुरोध',
    'cost.by_model': 'मॉडल के अनुसार लागत',
    'cost.model': 'मॉडल',
    'cost.tokens': 'टोकन',
    'cost.requests': 'अनुरोध',
    'cost.usd': 'लागत (USD)',
    'cost.load_error': 'लागत डेटा लोड करने में विफल',
    'cost.session_cost': 'सत्र लागत',
    'cost.daily_cost': 'दैनिक लागत',
    'cost.monthly_cost': 'मासिक लागत',
    'cost.total_requests': 'कुल अनुरोध',
    'cost.token_statistics': 'टोकन आँकड़े',
    'cost.avg_tokens_per_request': 'औसत टोकन / अनुरोध',
    'cost.cost_per_1k_tokens': '1K टोकन प्रति लागत',
    'cost.model_breakdown': 'मॉडल विश्लेषण',
    'cost.no_model_data': 'कोई मॉडल डेटा उपलब्ध नहीं।',
    'cost.cost': 'लागत',
    'cost.share': 'शेयर करें',

    // Logs
    'logs.title': 'लाइव लॉग',
    'logs.live_logs': 'लाइव लॉग',
    'logs.clear': 'साफ़ करें',
    'logs.pause': 'रोकें',
    'logs.resume': 'जारी रखें',
    'logs.filter': 'लॉग फ़िल्टर करें...',
    'logs.filter_label': 'फ़िल्टर',
    'logs.empty': 'कोई लॉग प्रविष्टि नहीं।',
    'logs.connected': 'कनेक्टेड',
    'logs.disconnected': 'डिस्कनेक्टेड',
    'logs.events': 'इवेंट',
    'logs.jump_to_bottom': 'नीचे जाएँ',
    'logs.paused_hint': 'लॉग स्ट्रीमिंग रुकी हुई है।',
    'logs.waiting_hint': 'इवेंट की प्रतीक्षा...',

    // Doctor
    'doctor.title': 'सिस्टम डायग्नोस्टिक्स',
    'doctor.diagnostics_title': 'डायग्नोस्टिक्स',
    'doctor.run': 'डायग्नोस्टिक्स चलाएँ',
    'doctor.run_diagnostics': 'डायग्नोस्टिक्स चलाएँ',
    'doctor.running': 'डायग्नोस्टिक्स चल रहा है...',
    'doctor.running_btn': 'चल रहा है...',
    'doctor.running_desc': 'डायग्नोस्टिक्स चल रहा है...',
    'doctor.running_hint': 'इसमें कुछ सेकंड लग सकते हैं।',
    'doctor.ok': 'OK',
    'doctor.warn': 'चेतावनी',
    'doctor.error': 'त्रुटि',
    'doctor.severity': 'गंभीरता',
    'doctor.category': 'श्रेणी',
    'doctor.message': 'संदेश',
    'doctor.empty': 'अभी तक कोई डायग्नोस्टिक्स नहीं चलाया गया।',
    'doctor.summary': 'डायग्नोस्टिक सारांश',
    'doctor.issues_found': 'समस्याएँ मिलीं',
    'doctor.warnings_summary': 'चेतावनियाँ',
    'doctor.all_clear': 'सब ठीक है',
    'doctor.system_diagnostics': 'सिस्टम डायग्नोस्टिक्स',
    'doctor.empty_hint': 'अपनी ZeroClaw स्थापना की जाँच करने के लिए "डायग्नोस्टिक्स चलाएँ" पर क्लिक करें।',

    // Auth / Pairing
    'auth.pair': 'डिवाइस पेयर करें',
    'auth.pairing_code': 'पेयरिंग कोड',
    'auth.pair_button': 'पेयर करें',
    'auth.logout': 'लॉगआउट',
    'auth.pairing_success': 'पेयरिंग सफल!',
    'auth.pairing_failed': 'पेयरिंग विफल। कृपया पुनः प्रयास करें।',
    'auth.enter_code': 'एजेंट से कनेक्ट करने के लिए अपना पेयरिंग कोड दर्ज करें।',

    // Common
    'common.loading': 'लोड हो रहा है...',
    'common.error': 'एक त्रुटि हुई।',
    'common.retry': 'पुनः प्रयास करें',
    'common.cancel': 'रद्द करें',
    'common.confirm': 'पुष्टि करें',
    'common.save': 'सहेजें',
    'common.delete': 'हटाएँ',
    'common.edit': 'संपादित करें',
    'common.close': 'बंद करें',
    'common.yes': 'हाँ',
    'common.no': 'नहीं',
    'common.search': 'खोजें...',
    'common.no_data': 'कोई डेटा उपलब्ध नहीं।',
    'common.refresh': 'रिफ़्रेश करें',
    'common.back': 'वापस',
    'common.actions': 'कार्रवाइयाँ',
    'common.name': 'नाम',
    'common.description': 'विवरण',
    'common.status': 'स्थिति',
    'common.created': 'बनाया गया',
    'common.updated': 'अपडेट किया गया',

    // Health
    'health.title': 'सिस्टम स्वास्थ्य',
    'health.component': 'घटक',
    'health.status': 'स्थिति',
    'health.last_ok': 'अंतिम OK',
    'health.last_error': 'अंतिम त्रुटि',
    'health.restart_count': 'पुनः आरंभ',
    'health.pid': 'प्रक्रिया ID',
    'health.uptime': 'अपटाइम',
    'health.updated_at': 'अंतिम अपडेट',

    // Dashboard
    'dashboard.provider_model': 'प्रदाता / मॉडल',
    'dashboard.since_last_restart': 'अंतिम पुनः आरंभ के बाद से',
    'dashboard.paired_yes': 'हाँ',
    'dashboard.paired_no': 'नहीं',
    'dashboard.cost_overview': 'लागत अवलोकन',
    'dashboard.active_channels': 'सक्रिय चैनल',
    'dashboard.filter_active': 'सक्रिय',
    'dashboard.filter_all': 'सभी',
    'dashboard.no_active_channels': 'कोई सक्रिय चैनल नहीं',
    'dashboard.component_health': 'घटक स्वास्थ्य',
    'dashboard.load_error': 'डैशबोर्ड लोड करने में विफल',
    'dashboard.session_label': 'सत्र',
    'dashboard.daily_label': 'दैनिक',
    'dashboard.monthly_label': 'मासिक',
    'dashboard.total_tokens_label': 'कुल टोकन',
    'dashboard.requests_label': 'अनुरोध',
    'dashboard.no_channels': 'कोई चैनल कॉन्फ़िगर नहीं',
    'dashboard.active': 'सक्रिय',
    'dashboard.inactive': 'निष्क्रिय',
    'dashboard.no_components': 'कोई घटक रिपोर्ट नहीं कर रहा',
    'dashboard.restarts': 'पुनः आरंभ',
    'dashboard.tab_overview': 'अवलोकन',
    'dashboard.tab_sessions': 'सत्र',
    'dashboard.tab_channels': 'चैनल',
    'dashboard.sessions_title': 'सक्रिय सत्र',
    'dashboard.no_sessions': 'कोई सक्रिय सत्र नहीं',
    'dashboard.session_id': 'सत्र ID',
    'dashboard.session_started': 'शुरू हुआ',
    'dashboard.session_last_activity': 'अंतिम गतिविधि',
    'dashboard.session_messages': 'संदेश',
    'dashboard.session_details': 'सत्र विवरण',
    'dashboard.session_history': 'इतिहास देखें',
    'dashboard.channels_title': 'चैनल स्थिति',
    'dashboard.no_channels_detail': 'कोई चैनल विवरण उपलब्ध नहीं',
    'dashboard.channel_type': 'प्रकार',
    'dashboard.channel_messages': 'संदेश',
    'dashboard.channel_last_message': 'अंतिम संदेश',
    'dashboard.channel_config': 'कॉन्फ़िगरेशन',
    'dashboard.channel_enabled': 'सक्षम',
    'dashboard.channel_disabled': 'अक्षम',
    'dashboard.loading_sessions': 'सत्र लोड हो रहे हैं...',
    'dashboard.loading_channels': 'चैनल लोड हो रहे हैं...',
    'dashboard.load_sessions_error': 'सत्र लोड करने में विफल',
    'dashboard.load_channels_error': 'चैनल लोड करने में विफल',
    'dashboard.never': 'कभी नहीं',

    // Settings
    'settings.title': 'सेटिंग्स',
    'settings.tab.appearance': 'दिखावट',
    'settings.tab.typography': 'टाइपोग्राफी',
    'settings.appearance': 'दिखावट',
    'settings.typography': 'टाइपोग्राफी',
    'settings.fontUi': 'UI फ़ॉन्ट',
    'settings.fontMono': 'कोड फ़ॉन्ट',
    'settings.fontSize': 'UI फ़ॉन्ट आकार',
    'settings.fontMonoSize': 'कोड फ़ॉन्ट आकार',
    'settings.preview': 'पूर्वावलोकन',
    'settings.previewText': 'तेज़ भूरी लोमड़ी आलसी कुत्ते के ऊपर कूदती है।',
    'settings.fontNote': 'फ़ॉन्ट परिवर्तन पेज रीलोड पर लागू होते हैं।',
    'settings.language': 'भाषा',

    // Theme
    'theme.mode': 'थीम मोड',
    'theme.accent': 'एक्सेंट रंग',
    'theme.system': 'सिस्टम',
    'theme.dark': 'डार्क',
    'theme.light': 'लाइट',
    'theme.oled': 'OLED ब्लैक',
  },

  hu: {
    // Navigation
    'nav.dashboard': 'Vezérlőpult',
    'nav.agent': 'Ügynök',
    'nav.tools': 'Eszközök',
    'nav.cron': 'Ütemezett feladatok',
    'nav.integrations': 'Integrációk',
    'nav.memory': 'Memória',
    'nav.config': 'Konfiguráció',
    'nav.cost': 'Költségkövetés',
    'nav.logs': 'Naplók',
    'nav.doctor': 'Diagnosztika',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Vezérlőpult',
    'dashboard.provider': 'Szolgáltató',
    'dashboard.model': 'Modell',
    'dashboard.uptime': 'Üzemidő',
    'dashboard.temperature': 'Hőmérséklet',
    'dashboard.gateway_port': 'Átjáró port',
    'dashboard.memory_backend': 'Memória backend',
    'dashboard.paired': 'Párosítva',
    'dashboard.channels': 'Csatornák',
    'dashboard.health': 'Állapot',
    'dashboard.status': 'Státusz',
    'dashboard.overview': 'Áttekintés',
    'dashboard.system_info': 'Rendszerinformációk',
    'dashboard.quick_actions': 'Gyors műveletek',

    // Agent / Chat
    'agent.title': 'Ügynök chat',
    'agent.send': 'Küldés',
    'agent.placeholder': 'Írjon üzenetet...',
    'agent.start_conversation': 'Küldjön üzenetet a beszélgetés indításához',
    'agent.type_message': 'Írjon üzenetet...',
    'agent.connecting': 'Csatlakozás...',
    'agent.connected': 'Csatlakoztatva',
    'agent.disconnected': 'Leválasztva',
    'agent.reconnecting': 'Újracsatlakozás...',
    'agent.thinking': 'Gondolkodik...',
    'agent.tool_call': 'Eszközhívás',
    'agent.tool_result': 'Eszköz eredmény',
    'agent.connection_error': 'Csatlakozási hiba. Újracsatlakozás...',
    'agent.tool_call_prefix': '[Eszközhívás]',
    'agent.tool_result_prefix': '[Eszköz eredmény]',
    'agent.error_prefix': '[Hiba]',
    'agent.unknown_error': 'Ismeretlen hiba',
    'agent.send_error': 'Az üzenet küldése sikertelen. Kérjük, próbálja újra.',
    'agent.copy_message': 'Üzenet másolása',
    'agent.connected_status': 'Csatlakoztatva',
    'agent.disconnected_status': 'Leválasztva',

    // Tools
    'tools.title': 'Elérhető eszközök',
    'tools.name': 'Név',
    'tools.description': 'Leírás',
    'tools.parameters': 'Paraméterek',
    'tools.search': 'Eszközök keresése...',
    'tools.empty': 'Nincsenek elérhető eszközök.',
    'tools.count': 'Összes eszköz',
    'tools.agent_tools': 'Ügynök eszközök',
    'tools.cli_tools': 'CLI eszközök',
    'tools.parameter_schema': 'Paraméter séma',
    'tools.path': 'Útvonal',
    'tools.version': 'Verzió',
    'tools.category': 'Kategória',
    'tools.load_error': 'Eszközök betöltése sikertelen',

    // Cron
    'cron.title': 'Ütemezett feladatok',
    'cron.scheduled_tasks': 'Ütemezett feladatok',
    'cron.add': 'Feladat hozzáadása',
    'cron.add_job': 'Feladat hozzáadása',
    'cron.add_modal_title': 'Cron feladat hozzáadása',
    'cron.delete': 'Törlés',
    'cron.enable': 'Engedélyezés',
    'cron.disable': 'Letiltás',
    'cron.name': 'Név',
    'cron.name_optional': 'Név (opcionális)',
    'cron.command': 'Parancs',
    'cron.command_required': 'Parancs',
    'cron.schedule': 'Ütemezés',
    'cron.schedule_required': 'Ütemezés',
    'cron.next_run': 'Következő futás',
    'cron.last_run': 'Utolsó futás',
    'cron.last_status': 'Utolsó státusz',
    'cron.enabled': 'Engedélyezve',
    'cron.enabled_status': 'Engedélyezve',
    'cron.disabled_status': 'Letiltva',
    'cron.empty': 'Nincsenek ütemezett feladatok.',
    'cron.confirm_delete': 'Biztosan törölni szeretné ezt a feladatot?',
    'cron.load_error': 'Cron feladatok betöltése sikertelen',
    'cron.validation_error': 'Az ütemezés és a parancs kötelező.',
    'cron.add_error': 'Feladat hozzáadása sikertelen',
    'cron.delete_error': 'Feladat törlése sikertelen',
    'cron.cancel': 'Mégse',
    'cron.adding': 'Hozzáadás...',
    'cron.id': 'ID',
    'cron.actions': 'Műveletek',
    'cron.loading_run_history': 'Futási előzmények betöltése...',
    'cron.load_run_history_error': 'Futási előzmények betöltése sikertelen',
    'cron.no_runs': 'Még nincsenek rögzített futások.',
    'cron.recent_runs': 'Legutóbbi futások',
    'cron.yes': 'Igen',
    'cron.no': 'Nem',
    'cron.edit': 'Szerkesztés',
    'cron.edit_modal_title': 'Cron feladat szerkesztése',
    'cron.edit_error': 'Feladat frissítése sikertelen',
    'cron.saving': 'Mentés...',
    'cron.save': 'Mentés',

    // Integrations
    'integrations.title': 'Integrációk',
    'integrations.available': 'Elérhető',
    'integrations.active': 'Aktív',
    'integrations.coming_soon': 'Hamarosan',
    'integrations.category': 'Kategória',
    'integrations.status': 'Státusz',
    'integrations.search': 'Integrációk keresése...',
    'integrations.empty': 'Nem található integráció.',
    'integrations.activate': 'Aktiválás',
    'integrations.deactivate': 'Deaktiválás',
    'integrations.load_error': 'Integrációk betöltése sikertelen',
    'integrations.status_active': 'Aktív',
    'integrations.status_available': 'Elérhető',
    'integrations.status_coming_soon': 'Hamarosan',

    // Memory
    'memory.title': 'Memóriatár',
    'memory.memory_title': 'Memória',
    'memory.search': 'Keresés a memóriában...',
    'memory.search_placeholder': 'Memóriabejegyzések keresése...',
    'memory.add': 'Memória tárolása',
    'memory.add_memory': 'Memória hozzáadása',
    'memory.add_modal_title': 'Memória hozzáadása',
    'memory.delete': 'Törlés',
    'memory.key': 'Kulcs',
    'memory.key_required': 'Kulcs',
    'memory.content': 'Tartalom',
    'memory.content_required': 'Tartalom',
    'memory.category': 'Kategória',
    'memory.category_optional': 'Kategória (opcionális)',
    'memory.timestamp': 'Időbélyeg',
    'memory.session': 'Munkamenet',
    'memory.score': 'Pontszám',
    'memory.empty': 'Nem található memóriabejegyzés.',
    'memory.confirm_delete': 'Biztosan törölni szeretné ezt a memóriabejegyzést?',
    'memory.all_categories': 'Összes kategória',
    'memory.search_button': 'Keresés',
    'memory.load_error': 'Memória betöltése sikertelen',
    'memory.saving': 'Mentés...',
    'memory.validation_error': 'A kulcs és a tartalom kötelező.',
    'memory.store_error': 'Memória tárolása sikertelen',
    'memory.delete_error': 'Memória törlése sikertelen',
    'memory.delete_confirm': 'Törlés?',
    'memory.yes': 'Igen',
    'memory.no': 'Nem',
    'memory.cancel': 'Mégse',

    // Config
    'config.title': 'Konfiguráció',
    'config.save': 'Mentés',
    'config.saving': 'Mentés...',
    'config.reset': 'Visszaállítás',
    'config.saved': 'Konfiguráció sikeresen mentve.',
    'config.error': 'Konfiguráció mentése sikertelen.',
    'config.loading': 'Konfiguráció betöltése...',
    'config.editor_placeholder': 'TOML konfiguráció...',
    'config.configuration_title': 'Konfiguráció',
    'config.sensitive_title': 'Az érzékeny mezők el vannak rejtve',
    'config.sensitive_hint': 'Az API kulcsok, tokenek és jelszavak biztonsági okokból rejtettek. Egy rejtett mező frissítéséhez cserélje le a teljes rejtett értéket az új értékre.',
    'config.save_success': 'Konfiguráció sikeresen mentve.',
    'config.save_error': 'Konfiguráció mentése sikertelen',
    'config.toml_label': 'TOML konfiguráció',
    'config.lines': 'sor',

    // Cost
    'cost.title': 'Költségkövetés',
    'cost.session': 'Munkamenet költség',
    'cost.daily': 'Napi költség',
    'cost.monthly': 'Havi költség',
    'cost.total_tokens': 'Összes token',
    'cost.request_count': 'Kérések',
    'cost.by_model': 'Költség modellenként',
    'cost.model': 'Modell',
    'cost.tokens': 'Tokenek',
    'cost.requests': 'Kérések',
    'cost.usd': 'Költség (USD)',
    'cost.load_error': 'Költségadatok betöltése sikertelen',
    'cost.session_cost': 'Munkamenet költség',
    'cost.daily_cost': 'Napi költség',
    'cost.monthly_cost': 'Havi költség',
    'cost.total_requests': 'Összes kérés',
    'cost.token_statistics': 'Token statisztikák',
    'cost.avg_tokens_per_request': 'Átlag token / kérés',
    'cost.cost_per_1k_tokens': 'Költség / 1K token',
    'cost.model_breakdown': 'Modell szerinti bontás',
    'cost.no_model_data': 'Nincs elérhető modelladat.',
    'cost.cost': 'Költség',
    'cost.share': 'Megosztás',

    // Logs
    'logs.title': 'Élő naplók',
    'logs.live_logs': 'Élő naplók',
    'logs.clear': 'Törlés',
    'logs.pause': 'Szünet',
    'logs.resume': 'Folytatás',
    'logs.filter': 'Naplók szűrése...',
    'logs.filter_label': 'Szűrő',
    'logs.empty': 'Nincsenek naplóbejegyzések.',
    'logs.connected': 'Csatlakoztatva',
    'logs.disconnected': 'Leválasztva',
    'logs.events': 'események',
    'logs.jump_to_bottom': 'Ugrás az aljára',
    'logs.paused_hint': 'A naplófolyam szünetel.',
    'logs.waiting_hint': 'Várakozás eseményekre...',

    // Doctor
    'doctor.title': 'Rendszer diagnosztika',
    'doctor.diagnostics_title': 'Diagnosztika',
    'doctor.run': 'Diagnosztika futtatása',
    'doctor.run_diagnostics': 'Diagnosztika futtatása',
    'doctor.running': 'Diagnosztika futtatása...',
    'doctor.running_btn': 'Futtatás...',
    'doctor.running_desc': 'Diagnosztika futtatása...',
    'doctor.running_hint': 'Ez néhány másodpercig tarthat.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Figyelmeztetés',
    'doctor.error': 'Hiba',
    'doctor.severity': 'Súlyosság',
    'doctor.category': 'Kategória',
    'doctor.message': 'Üzenet',
    'doctor.empty': 'Még nem futtattak diagnosztikát.',
    'doctor.summary': 'Diagnosztikai összefoglalás',
    'doctor.issues_found': 'Talált problémák',
    'doctor.warnings_summary': 'Figyelmeztetések',
    'doctor.all_clear': 'Minden rendben',
    'doctor.system_diagnostics': 'Rendszer diagnosztika',
    'doctor.empty_hint': 'Kattintson a "Diagnosztika futtatása" gombra a ZeroClaw telepítés ellenőrzéséhez.',

    // Auth / Pairing
    'auth.pair': 'Eszköz párosítása',
    'auth.pairing_code': 'Párosítási kód',
    'auth.pair_button': 'Párosítás',
    'auth.logout': 'Kijelentkezés',
    'auth.pairing_success': 'Párosítás sikeres!',
    'auth.pairing_failed': 'Párosítás sikertelen. Kérjük, próbálja újra.',
    'auth.enter_code': 'Adja meg a párosítási kódot az ügynökhöz való csatlakozáshoz.',

    // Common
    'common.loading': 'Betöltés...',
    'common.error': 'Hiba történt.',
    'common.retry': 'Újrapróbálkozás',
    'common.cancel': 'Mégse',
    'common.confirm': 'Megerősítés',
    'common.save': 'Mentés',
    'common.delete': 'Törlés',
    'common.edit': 'Szerkesztés',
    'common.close': 'Bezárás',
    'common.yes': 'Igen',
    'common.no': 'Nem',
    'common.search': 'Keresés...',
    'common.no_data': 'Nincs elérhető adat.',
    'common.refresh': 'Frissítés',
    'common.back': 'Vissza',
    'common.actions': 'Műveletek',
    'common.name': 'Név',
    'common.description': 'Leírás',
    'common.status': 'Státusz',
    'common.created': 'Létrehozva',
    'common.updated': 'Frissítve',

    // Health
    'health.title': 'Rendszer állapot',
    'health.component': 'Komponens',
    'health.status': 'Státusz',
    'health.last_ok': 'Utolsó OK',
    'health.last_error': 'Utolsó hiba',
    'health.restart_count': 'Újraindítások',
    'health.pid': 'Folyamatazonosító',
    'health.uptime': 'Üzemidő',
    'health.updated_at': 'Utolsó frissítés',

    // Dashboard
    'dashboard.provider_model': 'Szolgáltató / Modell',
    'dashboard.since_last_restart': 'Az utolsó újraindítás óta',
    'dashboard.paired_yes': 'Igen',
    'dashboard.paired_no': 'Nem',
    'dashboard.cost_overview': 'Költségáttekintés',
    'dashboard.active_channels': 'Aktív csatornák',
    'dashboard.filter_active': 'Aktív',
    'dashboard.filter_all': 'Összes',
    'dashboard.no_active_channels': 'Nincsenek aktív csatornák',
    'dashboard.component_health': 'Komponens állapot',
    'dashboard.load_error': 'Vezérlőpult betöltése sikertelen',
    'dashboard.session_label': 'Munkamenet',
    'dashboard.daily_label': 'Napi',
    'dashboard.monthly_label': 'Havi',
    'dashboard.total_tokens_label': 'Összes token',
    'dashboard.requests_label': 'Kérések',
    'dashboard.no_channels': 'Nincsenek konfigurált csatornák',
    'dashboard.active': 'Aktív',
    'dashboard.inactive': 'Inaktív',
    'dashboard.no_components': 'Nincs jelentő komponens',
    'dashboard.restarts': 'Újraindítások',
    'dashboard.tab_overview': 'Áttekintés',
    'dashboard.tab_sessions': 'Munkamenetek',
    'dashboard.tab_channels': 'Csatornák',
    'dashboard.sessions_title': 'Aktív munkamenetek',
    'dashboard.no_sessions': 'Nincsenek aktív munkamenetek',
    'dashboard.session_id': 'Munkamenet ID',
    'dashboard.session_started': 'Elindítva',
    'dashboard.session_last_activity': 'Utolsó tevékenység',
    'dashboard.session_messages': 'Üzenetek',
    'dashboard.session_details': 'Munkamenet részletei',
    'dashboard.session_history': 'Előzmények megtekintése',
    'dashboard.channels_title': 'Csatorna állapot',
    'dashboard.no_channels_detail': 'Nincs elérhető csatorna részlet',
    'dashboard.channel_type': 'Típus',
    'dashboard.channel_messages': 'Üzenetek',
    'dashboard.channel_last_message': 'Utolsó üzenet',
    'dashboard.channel_config': 'Konfiguráció',
    'dashboard.channel_enabled': 'Engedélyezve',
    'dashboard.channel_disabled': 'Letiltva',
    'dashboard.loading_sessions': 'Munkamenetek betöltése...',
    'dashboard.loading_channels': 'Csatornák betöltése...',
    'dashboard.load_sessions_error': 'Munkamenetek betöltése sikertelen',
    'dashboard.load_channels_error': 'Csatornák betöltése sikertelen',
    'dashboard.never': 'Soha',

    // Settings
    'settings.title': 'Beállítások',
    'settings.tab.appearance': 'Megjelenés',
    'settings.tab.typography': 'Tipográfia',
    'settings.appearance': 'Megjelenés',
    'settings.typography': 'Tipográfia',
    'settings.fontUi': 'Felhasználói felület betűtípus',
    'settings.fontMono': 'Kód betűtípus',
    'settings.fontSize': 'Felhasználói felület betűméret',
    'settings.fontMonoSize': 'Kód betűméret',
    'settings.preview': 'Előnézet',
    'settings.previewText': 'Árvíztűrő tükörfúrógép.',
    'settings.fontNote': 'A betűtípus-változtatások az oldal újratöltésekor lépnek érvénybe.',
    'settings.language': 'Nyelv',

    // Theme
    'theme.mode': 'Téma mód',
    'theme.accent': 'Kiemelő szín',
    'theme.system': 'Rendszer',
    'theme.dark': 'Sötét',
    'theme.light': 'Világos',
    'theme.oled': 'OLED fekete',
  },

  id: {
    // Navigation
    'nav.dashboard': 'Dasbor',
    'nav.agent': 'Agen',
    'nav.tools': 'Alat',
    'nav.cron': 'Tugas Terjadwal',
    'nav.integrations': 'Integrasi',
    'nav.memory': 'Memori',
    'nav.config': 'Konfigurasi',
    'nav.cost': 'Pelacak Biaya',
    'nav.logs': 'Log',
    'nav.doctor': 'Dokter',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Dasbor',
    'dashboard.provider': 'Penyedia',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Waktu Aktif',
    'dashboard.temperature': 'Suhu',
    'dashboard.gateway_port': 'Port Gateway',
    'dashboard.memory_backend': 'Backend Memori',
    'dashboard.paired': 'Dipasangkan',
    'dashboard.channels': 'Saluran',
    'dashboard.health': 'Kesehatan',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Ringkasan',
    'dashboard.system_info': 'Informasi Sistem',
    'dashboard.quick_actions': 'Tindakan Cepat',

    // Agent / Chat
    'agent.title': 'Chat Agen',
    'agent.send': 'Kirim',
    'agent.placeholder': 'Ketik pesan...',
    'agent.start_conversation': 'Kirim pesan untuk memulai percakapan',
    'agent.type_message': 'Ketik pesan...',
    'agent.connecting': 'Menghubungkan...',
    'agent.connected': 'Terhubung',
    'agent.disconnected': 'Terputus',
    'agent.reconnecting': 'Menghubungkan ulang...',
    'agent.thinking': 'Berpikir...',
    'agent.tool_call': 'Panggilan Alat',
    'agent.tool_result': 'Hasil Alat',
    'agent.connection_error': 'Kesalahan koneksi. Mencoba menghubungkan ulang...',
    'agent.tool_call_prefix': '[Panggilan Alat]',
    'agent.tool_result_prefix': '[Hasil Alat]',
    'agent.error_prefix': '[Kesalahan]',
    'agent.unknown_error': 'Kesalahan tidak diketahui',
    'agent.send_error': 'Gagal mengirim pesan. Silakan coba lagi.',
    'agent.copy_message': 'Salin pesan',
    'agent.connected_status': 'Terhubung',
    'agent.disconnected_status': 'Terputus',

    // Tools
    'tools.title': 'Alat yang Tersedia',
    'tools.name': 'Nama',
    'tools.description': 'Deskripsi',
    'tools.parameters': 'Parameter',
    'tools.search': 'Cari alat...',
    'tools.empty': 'Tidak ada alat yang tersedia.',
    'tools.count': 'Total alat',
    'tools.agent_tools': 'Alat Agen',
    'tools.cli_tools': 'Alat CLI',
    'tools.parameter_schema': 'Skema Parameter',
    'tools.path': 'Jalur',
    'tools.version': 'Versi',
    'tools.category': 'Kategori',
    'tools.load_error': 'Gagal memuat alat',

    // Cron
    'cron.title': 'Tugas Terjadwal',
    'cron.scheduled_tasks': 'Tugas Terjadwal',
    'cron.add': 'Tambah Tugas',
    'cron.add_job': 'Tambah Tugas',
    'cron.add_modal_title': 'Tambah Tugas Cron',
    'cron.delete': 'Hapus',
    'cron.enable': 'Aktifkan',
    'cron.disable': 'Nonaktifkan',
    'cron.name': 'Nama',
    'cron.name_optional': 'Nama (opsional)',
    'cron.command': 'Perintah',
    'cron.command_required': 'Perintah',
    'cron.schedule': 'Jadwal',
    'cron.schedule_required': 'Jadwal',
    'cron.next_run': 'Eksekusi Berikutnya',
    'cron.last_run': 'Eksekusi Terakhir',
    'cron.last_status': 'Status Terakhir',
    'cron.enabled': 'Diaktifkan',
    'cron.enabled_status': 'Diaktifkan',
    'cron.disabled_status': 'Dinonaktifkan',
    'cron.empty': 'Tidak ada tugas terjadwal.',
    'cron.confirm_delete': 'Apakah Anda yakin ingin menghapus tugas ini?',
    'cron.load_error': 'Gagal memuat tugas Cron',
    'cron.validation_error': 'Jadwal dan perintah wajib diisi.',
    'cron.add_error': 'Gagal menambah tugas',
    'cron.delete_error': 'Gagal menghapus tugas',
    'cron.cancel': 'Batal',
    'cron.adding': 'Menambahkan...',
    'cron.id': 'ID',
    'cron.actions': 'Tindakan',
    'cron.loading_run_history': 'Memuat riwayat eksekusi...',
    'cron.load_run_history_error': 'Gagal memuat riwayat eksekusi',
    'cron.no_runs': 'Belum ada eksekusi tercatat.',
    'cron.recent_runs': 'Eksekusi Terbaru',
    'cron.yes': 'Ya',
    'cron.no': 'Tidak',
    'cron.edit': 'Edit',
    'cron.edit_modal_title': 'Edit Tugas Cron',
    'cron.edit_error': 'Gagal memperbarui tugas',
    'cron.saving': 'Menyimpan...',
    'cron.save': 'Simpan',

    // Integrations
    'integrations.title': 'Integrasi',
    'integrations.available': 'Tersedia',
    'integrations.active': 'Aktif',
    'integrations.coming_soon': 'Segera Hadir',
    'integrations.category': 'Kategori',
    'integrations.status': 'Status',
    'integrations.search': 'Cari integrasi...',
    'integrations.empty': 'Tidak ada integrasi ditemukan.',
    'integrations.activate': 'Aktifkan',
    'integrations.deactivate': 'Nonaktifkan',
    'integrations.load_error': 'Gagal memuat integrasi',
    'integrations.status_active': 'Aktif',
    'integrations.status_available': 'Tersedia',
    'integrations.status_coming_soon': 'Segera Hadir',

    // Memory
    'memory.title': 'Penyimpanan Memori',
    'memory.memory_title': 'Memori',
    'memory.search': 'Cari di memori...',
    'memory.search_placeholder': 'Cari entri memori...',
    'memory.add': 'Simpan Memori',
    'memory.add_memory': 'Tambah Memori',
    'memory.add_modal_title': 'Tambah Memori',
    'memory.delete': 'Hapus',
    'memory.key': 'Kunci',
    'memory.key_required': 'Kunci',
    'memory.content': 'Konten',
    'memory.content_required': 'Konten',
    'memory.category': 'Kategori',
    'memory.category_optional': 'Kategori (opsional)',
    'memory.timestamp': 'Stempel Waktu',
    'memory.session': 'Sesi',
    'memory.score': 'Skor',
    'memory.empty': 'Tidak ada entri memori ditemukan.',
    'memory.confirm_delete': 'Apakah Anda yakin ingin menghapus entri memori ini?',
    'memory.all_categories': 'Semua Kategori',
    'memory.search_button': 'Cari',
    'memory.load_error': 'Gagal memuat memori',
    'memory.saving': 'Menyimpan...',
    'memory.validation_error': 'Kunci dan konten wajib diisi.',
    'memory.store_error': 'Gagal menyimpan memori',
    'memory.delete_error': 'Gagal menghapus memori',
    'memory.delete_confirm': 'Hapus?',
    'memory.yes': 'Ya',
    'memory.no': 'Tidak',
    'memory.cancel': 'Batal',

    // Config
    'config.title': 'Konfigurasi',
    'config.save': 'Simpan',
    'config.saving': 'Menyimpan...',
    'config.reset': 'Reset',
    'config.saved': 'Konfigurasi berhasil disimpan.',
    'config.error': 'Gagal menyimpan konfigurasi.',
    'config.loading': 'Memuat konfigurasi...',
    'config.editor_placeholder': 'Konfigurasi TOML...',
    'config.configuration_title': 'Konfigurasi',
    'config.sensitive_title': 'Kolom sensitif disembunyikan',
    'config.sensitive_hint': 'Kunci API, token, dan kata sandi disembunyikan untuk keamanan. Untuk memperbarui kolom yang disembunyikan, ganti seluruh nilai yang disembunyikan dengan nilai baru Anda.',
    'config.save_success': 'Konfigurasi berhasil disimpan.',
    'config.save_error': 'Gagal menyimpan konfigurasi',
    'config.toml_label': 'Konfigurasi TOML',
    'config.lines': 'baris',

    // Cost
    'cost.title': 'Pelacak Biaya',
    'cost.session': 'Biaya Sesi',
    'cost.daily': 'Biaya Harian',
    'cost.monthly': 'Biaya Bulanan',
    'cost.total_tokens': 'Total Token',
    'cost.request_count': 'Permintaan',
    'cost.by_model': 'Biaya per Model',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'Permintaan',
    'cost.usd': 'Biaya (USD)',
    'cost.load_error': 'Gagal memuat data biaya',
    'cost.session_cost': 'Biaya Sesi',
    'cost.daily_cost': 'Biaya Harian',
    'cost.monthly_cost': 'Biaya Bulanan',
    'cost.total_requests': 'Total Permintaan',
    'cost.token_statistics': 'Statistik Token',
    'cost.avg_tokens_per_request': 'Rata-rata Token / Permintaan',
    'cost.cost_per_1k_tokens': 'Biaya per 1K Token',
    'cost.model_breakdown': 'Rincian per Model',
    'cost.no_model_data': 'Tidak ada data model tersedia.',
    'cost.cost': 'Biaya',
    'cost.share': 'Bagikan',

    // Logs
    'logs.title': 'Log Langsung',
    'logs.live_logs': 'Log Langsung',
    'logs.clear': 'Bersihkan',
    'logs.pause': 'Jeda',
    'logs.resume': 'Lanjutkan',
    'logs.filter': 'Filter log...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Tidak ada entri log.',
    'logs.connected': 'Terhubung',
    'logs.disconnected': 'Terputus',
    'logs.events': 'peristiwa',
    'logs.jump_to_bottom': 'Loncat ke bawah',
    'logs.paused_hint': 'Streaming log dijeda.',
    'logs.waiting_hint': 'Menunggu peristiwa...',

    // Doctor
    'doctor.title': 'Diagnostik Sistem',
    'doctor.diagnostics_title': 'Diagnostik',
    'doctor.run': 'Jalankan Diagnostik',
    'doctor.run_diagnostics': 'Jalankan Diagnostik',
    'doctor.running': 'Menjalankan diagnostik...',
    'doctor.running_btn': 'Menjalankan...',
    'doctor.running_desc': 'Menjalankan diagnostik...',
    'doctor.running_hint': 'Ini mungkin memerlukan beberapa detik.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Peringatan',
    'doctor.error': 'Kesalahan',
    'doctor.severity': 'Tingkat Keparahan',
    'doctor.category': 'Kategori',
    'doctor.message': 'Pesan',
    'doctor.empty': 'Belum ada diagnostik yang dijalankan.',
    'doctor.summary': 'Ringkasan Diagnostik',
    'doctor.issues_found': 'Masalah Ditemukan',
    'doctor.warnings_summary': 'Peringatan',
    'doctor.all_clear': 'Semua Baik',
    'doctor.system_diagnostics': 'Diagnostik Sistem',
    'doctor.empty_hint': 'Klik "Jalankan Diagnostik" untuk memeriksa instalasi ZeroClaw Anda.',

    // Auth / Pairing
    'auth.pair': 'Pasangkan Perangkat',
    'auth.pairing_code': 'Kode Pemasangan',
    'auth.pair_button': 'Pasangkan',
    'auth.logout': 'Keluar',
    'auth.pairing_success': 'Pemasangan berhasil!',
    'auth.pairing_failed': 'Pemasangan gagal. Silakan coba lagi.',
    'auth.enter_code': 'Masukkan kode pemasangan Anda untuk terhubung ke agen.',

    // Common
    'common.loading': 'Memuat...',
    'common.error': 'Terjadi kesalahan.',
    'common.retry': 'Coba Lagi',
    'common.cancel': 'Batal',
    'common.confirm': 'Konfirmasi',
    'common.save': 'Simpan',
    'common.delete': 'Hapus',
    'common.edit': 'Edit',
    'common.close': 'Tutup',
    'common.yes': 'Ya',
    'common.no': 'Tidak',
    'common.search': 'Cari...',
    'common.no_data': 'Tidak ada data tersedia.',
    'common.refresh': 'Segarkan',
    'common.back': 'Kembali',
    'common.actions': 'Tindakan',
    'common.name': 'Nama',
    'common.description': 'Deskripsi',
    'common.status': 'Status',
    'common.created': 'Dibuat',
    'common.updated': 'Diperbarui',

    // Health
    'health.title': 'Kesehatan Sistem',
    'health.component': 'Komponen',
    'health.status': 'Status',
    'health.last_ok': 'OK Terakhir',
    'health.last_error': 'Kesalahan Terakhir',
    'health.restart_count': 'Restart',
    'health.pid': 'ID Proses',
    'health.uptime': 'Waktu Aktif',
    'health.updated_at': 'Terakhir Diperbarui',

    // Dashboard
    'dashboard.provider_model': 'Penyedia / Model',
    'dashboard.since_last_restart': 'Sejak restart terakhir',
    'dashboard.paired_yes': 'Ya',
    'dashboard.paired_no': 'Tidak',
    'dashboard.cost_overview': 'Ringkasan Biaya',
    'dashboard.active_channels': 'Saluran Aktif',
    'dashboard.filter_active': 'Aktif',
    'dashboard.filter_all': 'Semua',
    'dashboard.no_active_channels': 'Tidak ada saluran aktif',
    'dashboard.component_health': 'Kesehatan Komponen',
    'dashboard.load_error': 'Gagal memuat dasbor',
    'dashboard.session_label': 'Sesi',
    'dashboard.daily_label': 'Harian',
    'dashboard.monthly_label': 'Bulanan',
    'dashboard.total_tokens_label': 'Total Token',
    'dashboard.requests_label': 'Permintaan',
    'dashboard.no_channels': 'Tidak ada saluran terkonfigurasi',
    'dashboard.active': 'Aktif',
    'dashboard.inactive': 'Tidak Aktif',
    'dashboard.no_components': 'Tidak ada komponen yang melapor',
    'dashboard.restarts': 'Restart',
    'dashboard.tab_overview': 'Ringkasan',
    'dashboard.tab_sessions': 'Sesi',
    'dashboard.tab_channels': 'Saluran',
    'dashboard.sessions_title': 'Sesi Aktif',
    'dashboard.no_sessions': 'Tidak ada sesi aktif',
    'dashboard.session_id': 'ID Sesi',
    'dashboard.session_started': 'Dimulai',
    'dashboard.session_last_activity': 'Aktivitas Terakhir',
    'dashboard.session_messages': 'Pesan',
    'dashboard.session_details': 'Detail Sesi',
    'dashboard.session_history': 'Lihat Riwayat',
    'dashboard.channels_title': 'Status Saluran',
    'dashboard.no_channels_detail': 'Tidak ada detail saluran tersedia',
    'dashboard.channel_type': 'Tipe',
    'dashboard.channel_messages': 'Pesan',
    'dashboard.channel_last_message': 'Pesan Terakhir',
    'dashboard.channel_config': 'Konfigurasi',
    'dashboard.channel_enabled': 'Diaktifkan',
    'dashboard.channel_disabled': 'Dinonaktifkan',
    'dashboard.loading_sessions': 'Memuat sesi...',
    'dashboard.loading_channels': 'Memuat saluran...',
    'dashboard.load_sessions_error': 'Gagal memuat sesi',
    'dashboard.load_channels_error': 'Gagal memuat saluran',
    'dashboard.never': 'Tidak pernah',

    // Settings
    'settings.title': 'Pengaturan',
    'settings.tab.appearance': 'Tampilan',
    'settings.tab.typography': 'Tipografi',
    'settings.appearance': 'Tampilan',
    'settings.typography': 'Tipografi',
    'settings.fontUi': 'Font UI',
    'settings.fontMono': 'Font Kode',
    'settings.fontSize': 'Ukuran Font UI',
    'settings.fontMonoSize': 'Ukuran Font Kode',
    'settings.preview': 'Pratinjau',
    'settings.previewText': 'Rubah cokelat cepat melompati anjing yang malas.',
    'settings.fontNote': 'Perubahan font berlaku saat halaman dimuat ulang.',
    'settings.language': 'Bahasa',

    // Theme
    'theme.mode': 'Mode Tema',
    'theme.accent': 'Warna Aksen',
    'theme.system': 'Sistem',
    'theme.dark': 'Gelap',
    'theme.light': 'Terang',
    'theme.oled': 'Hitam OLED',
  },

  it: {
    // Navigation
    'nav.dashboard': 'Pannello di controllo',
    'nav.agent': 'Agente',
    'nav.tools': 'Strumenti',
    'nav.cron': 'Attività pianificate',
    'nav.integrations': 'Integrazioni',
    'nav.memory': 'Memoria',
    'nav.config': 'Configurazione',
    'nav.cost': 'Monitoraggio costi',
    'nav.logs': 'Log',
    'nav.doctor': 'Diagnostica',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Pannello di controllo',
    'dashboard.provider': 'Provider',
    'dashboard.model': 'Modello',
    'dashboard.uptime': 'Tempo di attività',
    'dashboard.temperature': 'Temperatura',
    'dashboard.gateway_port': 'Porta gateway',
    'dashboard.memory_backend': 'Backend memoria',
    'dashboard.paired': 'Associato',
    'dashboard.channels': 'Canali',
    'dashboard.health': 'Salute',
    'dashboard.status': 'Stato',
    'dashboard.overview': 'Panoramica',
    'dashboard.system_info': 'Informazioni di sistema',
    'dashboard.quick_actions': 'Azioni rapide',

    // Agent / Chat
    'agent.title': 'Chat agente',
    'agent.send': 'Invia',
    'agent.placeholder': 'Scrivi un messaggio...',
    'agent.start_conversation': 'Invia un messaggio per avviare la conversazione',
    'agent.type_message': 'Scrivi un messaggio...',
    'agent.connecting': 'Connessione...',
    'agent.connected': 'Connesso',
    'agent.disconnected': 'Disconnesso',
    'agent.reconnecting': 'Riconnessione...',
    'agent.thinking': 'Elaborazione...',
    'agent.tool_call': 'Chiamata strumento',
    'agent.tool_result': 'Risultato strumento',
    'agent.connection_error': 'Errore di connessione. Tentativo di riconnessione...',
    'agent.tool_call_prefix': '[Chiamata strumento]',
    'agent.tool_result_prefix': '[Risultato strumento]',
    'agent.error_prefix': '[Errore]',
    'agent.unknown_error': 'Errore sconosciuto',
    'agent.send_error': 'Invio del messaggio non riuscito. Riprova.',
    'agent.copy_message': 'Copia messaggio',
    'agent.connected_status': 'Connesso',
    'agent.disconnected_status': 'Disconnesso',

    // Tools
    'tools.title': 'Strumenti disponibili',
    'tools.name': 'Nome',
    'tools.description': 'Descrizione',
    'tools.parameters': 'Parametri',
    'tools.search': 'Cerca strumenti...',
    'tools.empty': 'Nessuno strumento disponibile.',
    'tools.count': 'Totale strumenti',
    'tools.agent_tools': 'Strumenti agente',
    'tools.cli_tools': 'Strumenti CLI',
    'tools.parameter_schema': 'Schema parametri',
    'tools.path': 'Percorso',
    'tools.version': 'Versione',
    'tools.category': 'Categoria',
    'tools.load_error': 'Caricamento strumenti non riuscito',

    // Cron
    'cron.title': 'Attività pianificate',
    'cron.scheduled_tasks': 'Attività pianificate',
    'cron.add': 'Aggiungi attività',
    'cron.add_job': 'Aggiungi attività',
    'cron.add_modal_title': 'Aggiungi attività Cron',
    'cron.delete': 'Elimina',
    'cron.enable': 'Abilita',
    'cron.disable': 'Disabilita',
    'cron.name': 'Nome',
    'cron.name_optional': 'Nome (facoltativo)',
    'cron.command': 'Comando',
    'cron.command_required': 'Comando',
    'cron.schedule': 'Pianificazione',
    'cron.schedule_required': 'Pianificazione',
    'cron.next_run': 'Prossima esecuzione',
    'cron.last_run': 'Ultima esecuzione',
    'cron.last_status': 'Ultimo stato',
    'cron.enabled': 'Abilitato',
    'cron.enabled_status': 'Abilitato',
    'cron.disabled_status': 'Disabilitato',
    'cron.empty': 'Nessuna attività pianificata.',
    'cron.confirm_delete': 'Sei sicuro di voler eliminare questa attività?',
    'cron.load_error': 'Caricamento attività Cron non riuscito',
    'cron.validation_error': 'Pianificazione e comando sono obbligatori.',
    'cron.add_error': 'Aggiunta attività non riuscita',
    'cron.delete_error': 'Eliminazione attività non riuscita',
    'cron.cancel': 'Annulla',
    'cron.adding': 'Aggiunta...',
    'cron.id': 'ID',
    'cron.actions': 'Azioni',
    'cron.loading_run_history': 'Caricamento cronologia esecuzioni...',
    'cron.load_run_history_error': 'Caricamento cronologia esecuzioni non riuscito',
    'cron.no_runs': 'Nessuna esecuzione registrata.',
    'cron.recent_runs': 'Esecuzioni recenti',
    'cron.yes': 'Sì',
    'cron.no': 'No',
    'cron.edit': 'Modifica',
    'cron.edit_modal_title': 'Modifica attività Cron',
    'cron.edit_error': 'Aggiornamento attività non riuscito',
    'cron.saving': 'Salvataggio...',
    'cron.save': 'Salva',

    // Integrations
    'integrations.title': 'Integrazioni',
    'integrations.available': 'Disponibile',
    'integrations.active': 'Attivo',
    'integrations.coming_soon': 'In arrivo',
    'integrations.category': 'Categoria',
    'integrations.status': 'Stato',
    'integrations.search': 'Cerca integrazioni...',
    'integrations.empty': 'Nessuna integrazione trovata.',
    'integrations.activate': 'Attiva',
    'integrations.deactivate': 'Disattiva',
    'integrations.load_error': 'Caricamento integrazioni non riuscito',
    'integrations.status_active': 'Attivo',
    'integrations.status_available': 'Disponibile',
    'integrations.status_coming_soon': 'In arrivo',

    // Memory
    'memory.title': 'Archivio memoria',
    'memory.memory_title': 'Memoria',
    'memory.search': 'Cerca nella memoria...',
    'memory.search_placeholder': 'Cerca voci di memoria...',
    'memory.add': 'Salva in memoria',
    'memory.add_memory': 'Aggiungi memoria',
    'memory.add_modal_title': 'Aggiungi memoria',
    'memory.delete': 'Elimina',
    'memory.key': 'Chiave',
    'memory.key_required': 'Chiave',
    'memory.content': 'Contenuto',
    'memory.content_required': 'Contenuto',
    'memory.category': 'Categoria',
    'memory.category_optional': 'Categoria (facoltativo)',
    'memory.timestamp': 'Marca temporale',
    'memory.session': 'Sessione',
    'memory.score': 'Punteggio',
    'memory.empty': 'Nessuna voce di memoria trovata.',
    'memory.confirm_delete': 'Sei sicuro di voler eliminare questa voce di memoria?',
    'memory.all_categories': 'Tutte le categorie',
    'memory.search_button': 'Cerca',
    'memory.load_error': 'Caricamento memoria non riuscito',
    'memory.saving': 'Salvataggio...',
    'memory.validation_error': 'Chiave e contenuto sono obbligatori.',
    'memory.store_error': 'Salvataggio memoria non riuscito',
    'memory.delete_error': 'Eliminazione memoria non riuscita',
    'memory.delete_confirm': 'Eliminare?',
    'memory.yes': 'Sì',
    'memory.no': 'No',
    'memory.cancel': 'Annulla',

    // Config
    'config.title': 'Configurazione',
    'config.save': 'Salva',
    'config.saving': 'Salvataggio...',
    'config.reset': 'Ripristina',
    'config.saved': 'Configurazione salvata con successo.',
    'config.error': 'Salvataggio configurazione non riuscito.',
    'config.loading': 'Caricamento configurazione...',
    'config.editor_placeholder': 'Configurazione TOML...',
    'config.configuration_title': 'Configurazione',
    'config.sensitive_title': 'I campi sensibili sono nascosti',
    'config.sensitive_hint': 'Le chiavi API, i token e le password sono nascosti per sicurezza. Per aggiornare un campo nascosto, sostituisci l\'intero valore nascosto con il nuovo valore.',
    'config.save_success': 'Configurazione salvata con successo.',
    'config.save_error': 'Salvataggio configurazione non riuscito',
    'config.toml_label': 'Configurazione TOML',
    'config.lines': 'righe',

    // Cost
    'cost.title': 'Monitoraggio costi',
    'cost.session': 'Costo sessione',
    'cost.daily': 'Costo giornaliero',
    'cost.monthly': 'Costo mensile',
    'cost.total_tokens': 'Token totali',
    'cost.request_count': 'Richieste',
    'cost.by_model': 'Costo per modello',
    'cost.model': 'Modello',
    'cost.tokens': 'Token',
    'cost.requests': 'Richieste',
    'cost.usd': 'Costo (USD)',
    'cost.load_error': 'Caricamento dati di costo non riuscito',
    'cost.session_cost': 'Costo sessione',
    'cost.daily_cost': 'Costo giornaliero',
    'cost.monthly_cost': 'Costo mensile',
    'cost.total_requests': 'Richieste totali',
    'cost.token_statistics': 'Statistiche token',
    'cost.avg_tokens_per_request': 'Token medi / richiesta',
    'cost.cost_per_1k_tokens': 'Costo per 1K token',
    'cost.model_breakdown': 'Dettaglio per modello',
    'cost.no_model_data': 'Nessun dato modello disponibile.',
    'cost.cost': 'Costo',
    'cost.share': 'Condividi',

    // Logs
    'logs.title': 'Log in tempo reale',
    'logs.live_logs': 'Log in tempo reale',
    'logs.clear': 'Cancella',
    'logs.pause': 'Pausa',
    'logs.resume': 'Riprendi',
    'logs.filter': 'Filtra log...',
    'logs.filter_label': 'Filtro',
    'logs.empty': 'Nessuna voce di log.',
    'logs.connected': 'Connesso',
    'logs.disconnected': 'Disconnesso',
    'logs.events': 'eventi',
    'logs.jump_to_bottom': 'Vai in fondo',
    'logs.paused_hint': 'Lo streaming dei log è in pausa.',
    'logs.waiting_hint': 'In attesa di eventi...',

    // Doctor
    'doctor.title': 'Diagnostica di sistema',
    'doctor.diagnostics_title': 'Diagnostica',
    'doctor.run': 'Esegui diagnostica',
    'doctor.run_diagnostics': 'Esegui diagnostica',
    'doctor.running': 'Esecuzione diagnostica...',
    'doctor.running_btn': 'Esecuzione...',
    'doctor.running_desc': 'Esecuzione diagnostica...',
    'doctor.running_hint': 'L\'operazione potrebbe richiedere alcuni secondi.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Avviso',
    'doctor.error': 'Errore',
    'doctor.severity': 'Gravità',
    'doctor.category': 'Categoria',
    'doctor.message': 'Messaggio',
    'doctor.empty': 'Nessuna diagnostica eseguita.',
    'doctor.summary': 'Riepilogo diagnostica',
    'doctor.issues_found': 'Problemi trovati',
    'doctor.warnings_summary': 'Avvisi',
    'doctor.all_clear': 'Tutto a posto',
    'doctor.system_diagnostics': 'Diagnostica di sistema',
    'doctor.empty_hint': 'Clicca su "Esegui diagnostica" per verificare l\'installazione di ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Associa dispositivo',
    'auth.pairing_code': 'Codice di associazione',
    'auth.pair_button': 'Associa',
    'auth.logout': 'Esci',
    'auth.pairing_success': 'Associazione riuscita!',
    'auth.pairing_failed': 'Associazione non riuscita. Riprova.',
    'auth.enter_code': 'Inserisci il codice di associazione per connetterti all\'agente.',

    // Common
    'common.loading': 'Caricamento...',
    'common.error': 'Si è verificato un errore.',
    'common.retry': 'Riprova',
    'common.cancel': 'Annulla',
    'common.confirm': 'Conferma',
    'common.save': 'Salva',
    'common.delete': 'Elimina',
    'common.edit': 'Modifica',
    'common.close': 'Chiudi',
    'common.yes': 'Sì',
    'common.no': 'No',
    'common.search': 'Cerca...',
    'common.no_data': 'Nessun dato disponibile.',
    'common.refresh': 'Aggiorna',
    'common.back': 'Indietro',
    'common.actions': 'Azioni',
    'common.name': 'Nome',
    'common.description': 'Descrizione',
    'common.status': 'Stato',
    'common.created': 'Creato',
    'common.updated': 'Aggiornato',

    // Health
    'health.title': 'Salute del sistema',
    'health.component': 'Componente',
    'health.status': 'Stato',
    'health.last_ok': 'Ultimo OK',
    'health.last_error': 'Ultimo errore',
    'health.restart_count': 'Riavvii',
    'health.pid': 'ID processo',
    'health.uptime': 'Tempo di attività',
    'health.updated_at': 'Ultimo aggiornamento',

    // Dashboard
    'dashboard.provider_model': 'Provider / Modello',
    'dashboard.since_last_restart': 'Dall\'ultimo riavvio',
    'dashboard.paired_yes': 'Sì',
    'dashboard.paired_no': 'No',
    'dashboard.cost_overview': 'Panoramica costi',
    'dashboard.active_channels': 'Canali attivi',
    'dashboard.filter_active': 'Attivi',
    'dashboard.filter_all': 'Tutti',
    'dashboard.no_active_channels': 'Nessun canale attivo',
    'dashboard.component_health': 'Salute dei componenti',
    'dashboard.load_error': 'Caricamento pannello di controllo non riuscito',
    'dashboard.session_label': 'Sessione',
    'dashboard.daily_label': 'Giornaliero',
    'dashboard.monthly_label': 'Mensile',
    'dashboard.total_tokens_label': 'Token totali',
    'dashboard.requests_label': 'Richieste',
    'dashboard.no_channels': 'Nessun canale configurato',
    'dashboard.active': 'Attivo',
    'dashboard.inactive': 'Inattivo',
    'dashboard.no_components': 'Nessun componente attivo',
    'dashboard.restarts': 'Riavvii',
    'dashboard.tab_overview': 'Panoramica',
    'dashboard.tab_sessions': 'Sessioni',
    'dashboard.tab_channels': 'Canali',
    'dashboard.sessions_title': 'Sessioni attive',
    'dashboard.no_sessions': 'Nessuna sessione attiva',
    'dashboard.session_id': 'ID sessione',
    'dashboard.session_started': 'Avviata',
    'dashboard.session_last_activity': 'Ultima attività',
    'dashboard.session_messages': 'Messaggi',
    'dashboard.session_details': 'Dettagli sessione',
    'dashboard.session_history': 'Visualizza cronologia',
    'dashboard.channels_title': 'Stato dei canali',
    'dashboard.no_channels_detail': 'Nessun dettaglio canale disponibile',
    'dashboard.channel_type': 'Tipo',
    'dashboard.channel_messages': 'Messaggi',
    'dashboard.channel_last_message': 'Ultimo messaggio',
    'dashboard.channel_config': 'Configurazione',
    'dashboard.channel_enabled': 'Abilitato',
    'dashboard.channel_disabled': 'Disabilitato',
    'dashboard.loading_sessions': 'Caricamento sessioni...',
    'dashboard.loading_channels': 'Caricamento canali...',
    'dashboard.load_sessions_error': 'Caricamento sessioni non riuscito',
    'dashboard.load_channels_error': 'Caricamento canali non riuscito',
    'dashboard.never': 'Mai',

    // Settings
    'settings.title': 'Impostazioni',
    'settings.tab.appearance': 'Aspetto',
    'settings.tab.typography': 'Tipografia',
    'settings.appearance': 'Aspetto',
    'settings.typography': 'Tipografia',
    'settings.fontUi': 'Font interfaccia',
    'settings.fontMono': 'Font codice',
    'settings.fontSize': 'Dimensione font interfaccia',
    'settings.fontMonoSize': 'Dimensione font codice',
    'settings.preview': 'Anteprima',
    'settings.previewText': 'La volpe marrone veloce salta sopra il cane pigro.',
    'settings.fontNote': 'Le modifiche al font si applicano al ricaricamento della pagina.',
    'settings.language': 'Lingua',

    // Theme
    'theme.mode': 'Modalità tema',
    'theme.accent': 'Colore accento',
    'theme.system': 'Sistema',
    'theme.dark': 'Scuro',
    'theme.light': 'Chiaro',
    'theme.oled': 'Nero OLED',
  },

  ja: {
    // Navigation
    'nav.dashboard': 'ダッシュボード',
    'nav.agent': 'エージェント',
    'nav.tools': 'ツール',
    'nav.cron': 'スケジュールジョブ',
    'nav.integrations': 'インテグレーション',
    'nav.memory': 'メモリ',
    'nav.config': '設定',
    'nav.cost': 'コストトラッカー',
    'nav.logs': 'ログ',
    'nav.doctor': '診断',
    'nav.canvas': 'キャンバス',

    // Dashboard
    'dashboard.title': 'ダッシュボード',
    'dashboard.provider': 'プロバイダー',
    'dashboard.model': 'モデル',
    'dashboard.uptime': '稼働時間',
    'dashboard.temperature': '温度',
    'dashboard.gateway_port': 'ゲートウェイポート',
    'dashboard.memory_backend': 'メモリバックエンド',
    'dashboard.paired': 'ペアリング済み',
    'dashboard.channels': 'チャンネル',
    'dashboard.health': 'ヘルス',
    'dashboard.status': 'ステータス',
    'dashboard.overview': '概要',
    'dashboard.system_info': 'システム情報',
    'dashboard.quick_actions': 'クイックアクション',

    // Agent / Chat
    'agent.title': 'エージェントチャット',
    'agent.send': '送信',
    'agent.placeholder': 'メッセージを入力...',
    'agent.start_conversation': 'メッセージを送信して会話を開始してください',
    'agent.type_message': 'メッセージを入力...',
    'agent.connecting': '接続中...',
    'agent.connected': '接続済み',
    'agent.disconnected': '切断済み',
    'agent.reconnecting': '再接続中...',
    'agent.thinking': '考え中...',
    'agent.tool_call': 'ツール呼び出し',
    'agent.tool_result': 'ツール結果',
    'agent.connection_error': '接続エラー。再接続を試みています...',
    'agent.tool_call_prefix': '[ツール呼び出し]',
    'agent.tool_result_prefix': '[ツール結果]',
    'agent.error_prefix': '[エラー]',
    'agent.unknown_error': '不明なエラー',
    'agent.send_error': 'メッセージの送信に失敗しました。もう一度お試しください。',
    'agent.copy_message': 'メッセージをコピー',
    'agent.connected_status': '接続済み',
    'agent.disconnected_status': '切断済み',

    // Tools
    'tools.title': '利用可能なツール',
    'tools.name': '名前',
    'tools.description': '説明',
    'tools.parameters': 'パラメータ',
    'tools.search': 'ツールを検索...',
    'tools.empty': '利用可能なツールがありません。',
    'tools.count': 'ツール合計',
    'tools.agent_tools': 'エージェントツール',
    'tools.cli_tools': 'CLI ツール',
    'tools.parameter_schema': 'パラメータスキーマ',
    'tools.path': 'パス',
    'tools.version': 'バージョン',
    'tools.category': 'カテゴリ',
    'tools.load_error': 'ツールの読み込みに失敗しました',

    // Cron
    'cron.title': 'スケジュールジョブ',
    'cron.scheduled_tasks': 'スケジュールタスク',
    'cron.add': 'ジョブを追加',
    'cron.add_job': 'ジョブを追加',
    'cron.add_modal_title': 'Cron ジョブを追加',
    'cron.delete': '削除',
    'cron.enable': '有効にする',
    'cron.disable': '無効にする',
    'cron.name': '名前',
    'cron.name_optional': '名前（任意）',
    'cron.command': 'コマンド',
    'cron.command_required': 'コマンド',
    'cron.schedule': 'スケジュール',
    'cron.schedule_required': 'スケジュール',
    'cron.next_run': '次回実行',
    'cron.last_run': '前回実行',
    'cron.last_status': '前回のステータス',
    'cron.enabled': '有効',
    'cron.enabled_status': '有効',
    'cron.disabled_status': '無効',
    'cron.empty': 'スケジュールジョブがありません。',
    'cron.confirm_delete': 'このジョブを削除してもよろしいですか？',
    'cron.load_error': 'Cron ジョブの読み込みに失敗しました',
    'cron.validation_error': 'スケジュールとコマンドは必須です。',
    'cron.add_error': 'ジョブの追加に失敗しました',
    'cron.delete_error': 'ジョブの削除に失敗しました',
    'cron.cancel': 'キャンセル',
    'cron.adding': '追加中...',
    'cron.id': 'ID',
    'cron.actions': 'アクション',
    'cron.loading_run_history': '実行履歴を読み込み中...',
    'cron.load_run_history_error': '実行履歴の読み込みに失敗しました',
    'cron.no_runs': 'まだ実行記録がありません。',
    'cron.recent_runs': '最近の実行',
    'cron.yes': 'はい',
    'cron.no': 'いいえ',
    'cron.edit': '編集',
    'cron.edit_modal_title': 'Cron ジョブを編集',
    'cron.edit_error': 'ジョブの更新に失敗しました',
    'cron.saving': '保存中...',
    'cron.save': '保存',

    // Integrations
    'integrations.title': 'インテグレーション',
    'integrations.available': '利用可能',
    'integrations.active': 'アクティブ',
    'integrations.coming_soon': '近日公開',
    'integrations.category': 'カテゴリ',
    'integrations.status': 'ステータス',
    'integrations.search': 'インテグレーションを検索...',
    'integrations.empty': 'インテグレーションが見つかりません。',
    'integrations.activate': '有効にする',
    'integrations.deactivate': '無効にする',
    'integrations.load_error': 'インテグレーションの読み込みに失敗しました',
    'integrations.status_active': 'アクティブ',
    'integrations.status_available': '利用可能',
    'integrations.status_coming_soon': '近日公開',

    // Memory
    'memory.title': 'メモリストア',
    'memory.memory_title': 'メモリ',
    'memory.search': 'メモリを検索...',
    'memory.search_placeholder': 'メモリエントリを検索...',
    'memory.add': 'メモリを保存',
    'memory.add_memory': 'メモリを追加',
    'memory.add_modal_title': 'メモリを追加',
    'memory.delete': '削除',
    'memory.key': 'キー',
    'memory.key_required': 'キー',
    'memory.content': 'コンテンツ',
    'memory.content_required': 'コンテンツ',
    'memory.category': 'カテゴリ',
    'memory.category_optional': 'カテゴリ（任意）',
    'memory.timestamp': 'タイムスタンプ',
    'memory.session': 'セッション',
    'memory.score': 'スコア',
    'memory.empty': 'メモリエントリが見つかりません。',
    'memory.confirm_delete': 'このメモリエントリを削除してもよろしいですか？',
    'memory.all_categories': 'すべてのカテゴリ',
    'memory.search_button': '検索',
    'memory.load_error': 'メモリの読み込みに失敗しました',
    'memory.saving': '保存中...',
    'memory.validation_error': 'キーとコンテンツは必須です。',
    'memory.store_error': 'メモリの保存に失敗しました',
    'memory.delete_error': 'メモリの削除に失敗しました',
    'memory.delete_confirm': '削除しますか？',
    'memory.yes': 'はい',
    'memory.no': 'いいえ',
    'memory.cancel': 'キャンセル',

    // Config
    'config.title': '設定',
    'config.save': '保存',
    'config.saving': '保存中...',
    'config.reset': 'リセット',
    'config.saved': '設定が正常に保存されました。',
    'config.error': '設定の保存に失敗しました。',
    'config.loading': '設定を読み込み中...',
    'config.editor_placeholder': 'TOML 設定...',
    'config.configuration_title': '設定',
    'config.sensitive_title': '機密フィールドはマスクされています',
    'config.sensitive_hint': 'API キー、Token、パスワードはセキュリティのため非表示になっています。マスクされたフィールドを更新するには、マスクされた値全体を新しい値に置き換えてください。',
    'config.save_success': '設定が正常に保存されました。',
    'config.save_error': '設定の保存に失敗しました',
    'config.toml_label': 'TOML 設定',
    'config.lines': '行',

    // Cost
    'cost.title': 'コストトラッカー',
    'cost.session': 'セッションコスト',
    'cost.daily': '日次コスト',
    'cost.monthly': '月次コスト',
    'cost.total_tokens': '合計 Token 数',
    'cost.request_count': 'リクエスト数',
    'cost.by_model': 'モデル別コスト',
    'cost.model': 'モデル',
    'cost.tokens': 'Token',
    'cost.requests': 'リクエスト',
    'cost.usd': 'コスト (USD)',
    'cost.load_error': 'コストデータの読み込みに失敗しました',
    'cost.session_cost': 'セッションコスト',
    'cost.daily_cost': '日次コスト',
    'cost.monthly_cost': '月次コスト',
    'cost.total_requests': '合計リクエスト数',
    'cost.token_statistics': 'Token 統計',
    'cost.avg_tokens_per_request': 'リクエストあたりの平均 Token 数',
    'cost.cost_per_1k_tokens': '1K Token あたりのコスト',
    'cost.model_breakdown': 'モデル内訳',
    'cost.no_model_data': 'モデルデータがありません。',
    'cost.cost': 'コスト',
    'cost.share': '共有',

    // Logs
    'logs.title': 'ライブログ',
    'logs.live_logs': 'ライブログ',
    'logs.clear': 'クリア',
    'logs.pause': '一時停止',
    'logs.resume': '再開',
    'logs.filter': 'ログをフィルタ...',
    'logs.filter_label': 'フィルタ',
    'logs.empty': 'ログエントリがありません。',
    'logs.connected': '接続済み',
    'logs.disconnected': '切断済み',
    'logs.events': 'イベント',
    'logs.jump_to_bottom': '最下部に移動',
    'logs.paused_hint': 'ログストリーミングは一時停止中です。',
    'logs.waiting_hint': 'イベントを待機中...',

    // Doctor
    'doctor.title': 'システム診断',
    'doctor.diagnostics_title': '診断',
    'doctor.run': '診断を実行',
    'doctor.run_diagnostics': '診断を実行',
    'doctor.running': '診断を実行中...',
    'doctor.running_btn': '実行中...',
    'doctor.running_desc': '診断を実行中...',
    'doctor.running_hint': '数秒かかる場合があります。',
    'doctor.ok': 'OK',
    'doctor.warn': '警告',
    'doctor.error': 'エラー',
    'doctor.severity': '重要度',
    'doctor.category': 'カテゴリ',
    'doctor.message': 'メッセージ',
    'doctor.empty': 'まだ診断は実行されていません。',
    'doctor.summary': '診断サマリー',
    'doctor.issues_found': '検出された問題',
    'doctor.warnings_summary': '警告',
    'doctor.all_clear': '問題なし',
    'doctor.system_diagnostics': 'システム診断',
    'doctor.empty_hint': '「診断を実行」をクリックして ZeroClaw のインストールを確認してください。',

    // Auth / Pairing
    'auth.pair': 'デバイスをペアリング',
    'auth.pairing_code': 'ペアリングコード',
    'auth.pair_button': 'ペアリング',
    'auth.logout': 'ログアウト',
    'auth.pairing_success': 'ペアリングに成功しました！',
    'auth.pairing_failed': 'ペアリングに失敗しました。もう一度お試しください。',
    'auth.enter_code': 'ペアリングコードを入力してエージェントに接続してください。',

    // Common
    'common.loading': '読み込み中...',
    'common.error': 'エラーが発生しました。',
    'common.retry': '再試行',
    'common.cancel': 'キャンセル',
    'common.confirm': '確認',
    'common.save': '保存',
    'common.delete': '削除',
    'common.edit': '編集',
    'common.close': '閉じる',
    'common.yes': 'はい',
    'common.no': 'いいえ',
    'common.search': '検索...',
    'common.no_data': 'データがありません。',
    'common.refresh': '更新',
    'common.back': '戻る',
    'common.actions': 'アクション',
    'common.name': '名前',
    'common.description': '説明',
    'common.status': 'ステータス',
    'common.created': '作成日',
    'common.updated': '更新日',

    // Health
    'health.title': 'システムヘルス',
    'health.component': 'コンポーネント',
    'health.status': 'ステータス',
    'health.last_ok': '最終正常',
    'health.last_error': '最終エラー',
    'health.restart_count': '再起動回数',
    'health.pid': 'プロセス ID',
    'health.uptime': '稼働時間',
    'health.updated_at': '最終更新',

    // Dashboard
    'dashboard.provider_model': 'プロバイダー / モデル',
    'dashboard.since_last_restart': '最後の再起動以降',
    'dashboard.paired_yes': 'はい',
    'dashboard.paired_no': 'いいえ',
    'dashboard.cost_overview': 'コスト概要',
    'dashboard.active_channels': 'アクティブチャンネル',
    'dashboard.filter_active': 'アクティブ',
    'dashboard.filter_all': 'すべて',
    'dashboard.no_active_channels': 'アクティブなチャンネルがありません',
    'dashboard.component_health': 'コンポーネントヘルス',
    'dashboard.load_error': 'ダッシュボードの読み込みに失敗しました',
    'dashboard.session_label': 'セッション',
    'dashboard.daily_label': '日次',
    'dashboard.monthly_label': '月次',
    'dashboard.total_tokens_label': '合計 Token 数',
    'dashboard.requests_label': 'リクエスト',
    'dashboard.no_channels': 'チャンネルが設定されていません',
    'dashboard.active': 'アクティブ',
    'dashboard.inactive': '非アクティブ',
    'dashboard.no_components': 'レポートしているコンポーネントがありません',
    'dashboard.restarts': '再起動',
    'dashboard.tab_overview': '概要',
    'dashboard.tab_sessions': 'セッション',
    'dashboard.tab_channels': 'チャンネル',
    'dashboard.sessions_title': 'アクティブセッション',
    'dashboard.no_sessions': 'アクティブなセッションがありません',
    'dashboard.session_id': 'セッション ID',
    'dashboard.session_started': '開始日時',
    'dashboard.session_last_activity': '最終アクティビティ',
    'dashboard.session_messages': 'メッセージ',
    'dashboard.session_details': 'セッション詳細',
    'dashboard.session_history': '履歴を表示',
    'dashboard.channels_title': 'チャンネルステータス',
    'dashboard.no_channels_detail': 'チャンネルの詳細がありません',
    'dashboard.channel_type': 'タイプ',
    'dashboard.channel_messages': 'メッセージ',
    'dashboard.channel_last_message': '最終メッセージ',
    'dashboard.channel_config': '設定',
    'dashboard.channel_enabled': '有効',
    'dashboard.channel_disabled': '無効',
    'dashboard.loading_sessions': 'セッションを読み込み中...',
    'dashboard.loading_channels': 'チャンネルを読み込み中...',
    'dashboard.load_sessions_error': 'セッションの読み込みに失敗しました',
    'dashboard.load_channels_error': 'チャンネルの読み込みに失敗しました',
    'dashboard.never': 'なし',

    // Settings
    'settings.title': '設定',
    'settings.tab.appearance': '外観',
    'settings.tab.typography': 'タイポグラフィ',
    'settings.appearance': '外観',
    'settings.typography': 'タイポグラフィ',
    'settings.fontUi': 'UI フォント',
    'settings.fontMono': 'コードフォント',
    'settings.fontSize': 'UI フォントサイズ',
    'settings.fontMonoSize': 'コードフォントサイズ',
    'settings.preview': 'プレビュー',
    'settings.previewText': '素早い茶色の狐が怠惰な犬を飛び越える。',
    'settings.fontNote': 'フォントの変更はページの再読み込み後に適用されます。',
    'settings.language': '言語',

    // Theme
    'theme.mode': 'テーマモード',
    'theme.accent': 'アクセントカラー',
    'theme.system': 'システム',
    'theme.dark': 'ダーク',
    'theme.light': 'ライト',
    'theme.oled': 'OLED ブラック',
  },

  ko: {
    // Navigation
    'nav.dashboard': '대시보드',
    'nav.agent': '에이전트',
    'nav.tools': '도구',
    'nav.cron': '예약 작업',
    'nav.integrations': '통합',
    'nav.memory': '메모리',
    'nav.config': '설정',
    'nav.cost': '비용 추적기',
    'nav.logs': '로그',
    'nav.doctor': '진단',
    'nav.canvas': '캔버스',

    // Dashboard
    'dashboard.title': '대시보드',
    'dashboard.provider': '프로바이더',
    'dashboard.model': '모델',
    'dashboard.uptime': '가동 시간',
    'dashboard.temperature': '온도',
    'dashboard.gateway_port': '게이트웨이 포트',
    'dashboard.memory_backend': '메모리 백엔드',
    'dashboard.paired': '페어링됨',
    'dashboard.channels': '채널',
    'dashboard.health': '상태',
    'dashboard.status': '상태',
    'dashboard.overview': '개요',
    'dashboard.system_info': '시스템 정보',
    'dashboard.quick_actions': '빠른 작업',

    // Agent / Chat
    'agent.title': '에이전트 채팅',
    'agent.send': '전송',
    'agent.placeholder': '메시지를 입력하세요...',
    'agent.start_conversation': '메시지를 보내 대화를 시작하세요',
    'agent.type_message': '메시지를 입력하세요...',
    'agent.connecting': '연결 중...',
    'agent.connected': '연결됨',
    'agent.disconnected': '연결 끊김',
    'agent.reconnecting': '재연결 중...',
    'agent.thinking': '생각 중...',
    'agent.tool_call': '도구 호출',
    'agent.tool_result': '도구 결과',
    'agent.connection_error': '연결 오류. 재연결을 시도하고 있습니다...',
    'agent.tool_call_prefix': '[도구 호출]',
    'agent.tool_result_prefix': '[도구 결과]',
    'agent.error_prefix': '[오류]',
    'agent.unknown_error': '알 수 없는 오류',
    'agent.send_error': '메시지 전송에 실패했습니다. 다시 시도해 주세요.',
    'agent.copy_message': '메시지 복사',
    'agent.connected_status': '연결됨',
    'agent.disconnected_status': '연결 끊김',

    // Tools
    'tools.title': '사용 가능한 도구',
    'tools.name': '이름',
    'tools.description': '설명',
    'tools.parameters': '매개변수',
    'tools.search': '도구 검색...',
    'tools.empty': '사용 가능한 도구가 없습니다.',
    'tools.count': '전체 도구 수',
    'tools.agent_tools': '에이전트 도구',
    'tools.cli_tools': 'CLI 도구',
    'tools.parameter_schema': '매개변수 스키마',
    'tools.path': '경로',
    'tools.version': '버전',
    'tools.category': '카테고리',
    'tools.load_error': '도구를 불러오지 못했습니다',

    // Cron
    'cron.title': '예약 작업',
    'cron.scheduled_tasks': '예약된 작업',
    'cron.add': '작업 추가',
    'cron.add_job': '작업 추가',
    'cron.add_modal_title': 'Cron 작업 추가',
    'cron.delete': '삭제',
    'cron.enable': '활성화',
    'cron.disable': '비활성화',
    'cron.name': '이름',
    'cron.name_optional': '이름 (선택사항)',
    'cron.command': '명령어',
    'cron.command_required': '명령어',
    'cron.schedule': '스케줄',
    'cron.schedule_required': '스케줄',
    'cron.next_run': '다음 실행',
    'cron.last_run': '마지막 실행',
    'cron.last_status': '마지막 상태',
    'cron.enabled': '활성화됨',
    'cron.enabled_status': '활성화됨',
    'cron.disabled_status': '비활성화됨',
    'cron.empty': '예약된 작업이 없습니다.',
    'cron.confirm_delete': '이 작업을 삭제하시겠습니까?',
    'cron.load_error': 'Cron 작업을 불러오지 못했습니다',
    'cron.validation_error': '스케줄과 명령어는 필수입니다.',
    'cron.add_error': '작업 추가에 실패했습니다',
    'cron.delete_error': '작업 삭제에 실패했습니다',
    'cron.cancel': '취소',
    'cron.adding': '추가 중...',
    'cron.id': 'ID',
    'cron.actions': '작업',
    'cron.loading_run_history': '실행 기록을 불러오는 중...',
    'cron.load_run_history_error': '실행 기록을 불러오지 못했습니다',
    'cron.no_runs': '아직 실행 기록이 없습니다.',
    'cron.recent_runs': '최근 실행',
    'cron.yes': '예',
    'cron.no': '아니오',
    'cron.edit': '편집',
    'cron.edit_modal_title': 'Cron 작업 편집',
    'cron.edit_error': '작업 업데이트에 실패했습니다',
    'cron.saving': '저장 중...',
    'cron.save': '저장',

    // Integrations
    'integrations.title': '통합',
    'integrations.available': '사용 가능',
    'integrations.active': '활성',
    'integrations.coming_soon': '곧 출시',
    'integrations.category': '카테고리',
    'integrations.status': '상태',
    'integrations.search': '통합 검색...',
    'integrations.empty': '통합을 찾을 수 없습니다.',
    'integrations.activate': '활성화',
    'integrations.deactivate': '비활성화',
    'integrations.load_error': '통합을 불러오지 못했습니다',
    'integrations.status_active': '활성',
    'integrations.status_available': '사용 가능',
    'integrations.status_coming_soon': '곧 출시',

    // Memory
    'memory.title': '메모리 저장소',
    'memory.memory_title': '메모리',
    'memory.search': '메모리 검색...',
    'memory.search_placeholder': '메모리 항목 검색...',
    'memory.add': '메모리 저장',
    'memory.add_memory': '메모리 추가',
    'memory.add_modal_title': '메모리 추가',
    'memory.delete': '삭제',
    'memory.key': '키',
    'memory.key_required': '키',
    'memory.content': '내용',
    'memory.content_required': '내용',
    'memory.category': '카테고리',
    'memory.category_optional': '카테고리 (선택사항)',
    'memory.timestamp': '타임스탬프',
    'memory.session': '세션',
    'memory.score': '점수',
    'memory.empty': '메모리 항목을 찾을 수 없습니다.',
    'memory.confirm_delete': '이 메모리 항목을 삭제하시겠습니까?',
    'memory.all_categories': '전체 카테고리',
    'memory.search_button': '검색',
    'memory.load_error': '메모리를 불러오지 못했습니다',
    'memory.saving': '저장 중...',
    'memory.validation_error': '키와 내용은 필수입니다.',
    'memory.store_error': '메모리 저장에 실패했습니다',
    'memory.delete_error': '메모리 삭제에 실패했습니다',
    'memory.delete_confirm': '삭제하시겠습니까?',
    'memory.yes': '예',
    'memory.no': '아니오',
    'memory.cancel': '취소',

    // Config
    'config.title': '설정',
    'config.save': '저장',
    'config.saving': '저장 중...',
    'config.reset': '초기화',
    'config.saved': '설정이 성공적으로 저장되었습니다.',
    'config.error': '설정 저장에 실패했습니다.',
    'config.loading': '설정을 불러오는 중...',
    'config.editor_placeholder': 'TOML 설정...',
    'config.configuration_title': '설정',
    'config.sensitive_title': '민감한 필드가 마스킹되어 있습니다',
    'config.sensitive_hint': 'API 키, Token, 비밀번호는 보안을 위해 숨겨져 있습니다. 마스킹된 필드를 업데이트하려면 마스킹된 값 전체를 새 값으로 교체하세요.',
    'config.save_success': '설정이 성공적으로 저장되었습니다.',
    'config.save_error': '설정 저장에 실패했습니다',
    'config.toml_label': 'TOML 설정',
    'config.lines': '줄',

    // Cost
    'cost.title': '비용 추적기',
    'cost.session': '세션 비용',
    'cost.daily': '일일 비용',
    'cost.monthly': '월간 비용',
    'cost.total_tokens': '전체 Token 수',
    'cost.request_count': '요청 수',
    'cost.by_model': '모델별 비용',
    'cost.model': '모델',
    'cost.tokens': 'Token',
    'cost.requests': '요청',
    'cost.usd': '비용 (USD)',
    'cost.load_error': '비용 데이터를 불러오지 못했습니다',
    'cost.session_cost': '세션 비용',
    'cost.daily_cost': '일일 비용',
    'cost.monthly_cost': '월간 비용',
    'cost.total_requests': '전체 요청 수',
    'cost.token_statistics': 'Token 통계',
    'cost.avg_tokens_per_request': '요청당 평균 Token 수',
    'cost.cost_per_1k_tokens': '1K Token당 비용',
    'cost.model_breakdown': '모델 내역',
    'cost.no_model_data': '모델 데이터가 없습니다.',
    'cost.cost': '비용',
    'cost.share': '공유',

    // Logs
    'logs.title': '실시간 로그',
    'logs.live_logs': '실시간 로그',
    'logs.clear': '지우기',
    'logs.pause': '일시 정지',
    'logs.resume': '재개',
    'logs.filter': '로그 필터...',
    'logs.filter_label': '필터',
    'logs.empty': '로그 항목이 없습니다.',
    'logs.connected': '연결됨',
    'logs.disconnected': '연결 끊김',
    'logs.events': '이벤트',
    'logs.jump_to_bottom': '맨 아래로 이동',
    'logs.paused_hint': '로그 스트리밍이 일시 정지되었습니다.',
    'logs.waiting_hint': '이벤트를 기다리는 중...',

    // Doctor
    'doctor.title': '시스템 진단',
    'doctor.diagnostics_title': '진단',
    'doctor.run': '진단 실행',
    'doctor.run_diagnostics': '진단 실행',
    'doctor.running': '진단 실행 중...',
    'doctor.running_btn': '실행 중...',
    'doctor.running_desc': '진단 실행 중...',
    'doctor.running_hint': '몇 초 정도 걸릴 수 있습니다.',
    'doctor.ok': 'OK',
    'doctor.warn': '경고',
    'doctor.error': '오류',
    'doctor.severity': '심각도',
    'doctor.category': '카테고리',
    'doctor.message': '메시지',
    'doctor.empty': '아직 진단이 실행되지 않았습니다.',
    'doctor.summary': '진단 요약',
    'doctor.issues_found': '발견된 문제',
    'doctor.warnings_summary': '경고',
    'doctor.all_clear': '문제 없음',
    'doctor.system_diagnostics': '시스템 진단',
    'doctor.empty_hint': '"진단 실행"을 클릭하여 ZeroClaw 설치를 확인하세요.',

    // Auth / Pairing
    'auth.pair': '장치 페어링',
    'auth.pairing_code': '페어링 코드',
    'auth.pair_button': '페어링',
    'auth.logout': '로그아웃',
    'auth.pairing_success': '페어링에 성공했습니다!',
    'auth.pairing_failed': '페어링에 실패했습니다. 다시 시도해 주세요.',
    'auth.enter_code': '페어링 코드를 입력하여 에이전트에 연결하세요.',

    // Common
    'common.loading': '로딩 중...',
    'common.error': '오류가 발생했습니다.',
    'common.retry': '재시도',
    'common.cancel': '취소',
    'common.confirm': '확인',
    'common.save': '저장',
    'common.delete': '삭제',
    'common.edit': '편집',
    'common.close': '닫기',
    'common.yes': '예',
    'common.no': '아니오',
    'common.search': '검색...',
    'common.no_data': '사용 가능한 데이터가 없습니다.',
    'common.refresh': '새로고침',
    'common.back': '뒤로',
    'common.actions': '작업',
    'common.name': '이름',
    'common.description': '설명',
    'common.status': '상태',
    'common.created': '생성일',
    'common.updated': '수정일',

    // Health
    'health.title': '시스템 상태',
    'health.component': '구성 요소',
    'health.status': '상태',
    'health.last_ok': '마지막 정상',
    'health.last_error': '마지막 오류',
    'health.restart_count': '재시작 횟수',
    'health.pid': '프로세스 ID',
    'health.uptime': '가동 시간',
    'health.updated_at': '마지막 업데이트',

    // Dashboard
    'dashboard.provider_model': '프로바이더 / 모델',
    'dashboard.since_last_restart': '마지막 재시작 이후',
    'dashboard.paired_yes': '예',
    'dashboard.paired_no': '아니오',
    'dashboard.cost_overview': '비용 개요',
    'dashboard.active_channels': '활성 채널',
    'dashboard.filter_active': '활성',
    'dashboard.filter_all': '전체',
    'dashboard.no_active_channels': '활성 채널이 없습니다',
    'dashboard.component_health': '구성 요소 상태',
    'dashboard.load_error': '대시보드를 불러오지 못했습니다',
    'dashboard.session_label': '세션',
    'dashboard.daily_label': '일일',
    'dashboard.monthly_label': '월간',
    'dashboard.total_tokens_label': '전체 Token 수',
    'dashboard.requests_label': '요청',
    'dashboard.no_channels': '설정된 채널이 없습니다',
    'dashboard.active': '활성',
    'dashboard.inactive': '비활성',
    'dashboard.no_components': '보고 중인 구성 요소가 없습니다',
    'dashboard.restarts': '재시작',
    'dashboard.tab_overview': '개요',
    'dashboard.tab_sessions': '세션',
    'dashboard.tab_channels': '채널',
    'dashboard.sessions_title': '활성 세션',
    'dashboard.no_sessions': '활성 세션이 없습니다',
    'dashboard.session_id': '세션 ID',
    'dashboard.session_started': '시작 시간',
    'dashboard.session_last_activity': '마지막 활동',
    'dashboard.session_messages': '메시지',
    'dashboard.session_details': '세션 상세',
    'dashboard.session_history': '기록 보기',
    'dashboard.channels_title': '채널 상태',
    'dashboard.no_channels_detail': '채널 상세 정보가 없습니다',
    'dashboard.channel_type': '유형',
    'dashboard.channel_messages': '메시지',
    'dashboard.channel_last_message': '마지막 메시지',
    'dashboard.channel_config': '설정',
    'dashboard.channel_enabled': '활성화됨',
    'dashboard.channel_disabled': '비활성화됨',
    'dashboard.loading_sessions': '세션을 불러오는 중...',
    'dashboard.loading_channels': '채널을 불러오는 중...',
    'dashboard.load_sessions_error': '세션을 불러오지 못했습니다',
    'dashboard.load_channels_error': '채널을 불러오지 못했습니다',
    'dashboard.never': '없음',

    // Settings
    'settings.title': '설정',
    'settings.tab.appearance': '외관',
    'settings.tab.typography': '타이포그래피',
    'settings.appearance': '외관',
    'settings.typography': '타이포그래피',
    'settings.fontUi': 'UI 글꼴',
    'settings.fontMono': '코드 글꼴',
    'settings.fontSize': 'UI 글꼴 크기',
    'settings.fontMonoSize': '코드 글꼴 크기',
    'settings.preview': '미리보기',
    'settings.previewText': '다람쥐 헌 쳇바퀴에 타고파.',
    'settings.fontNote': '글꼴 변경은 페이지 새로고침 후 적용됩니다.',
    'settings.language': '언어',

    // Theme
    'theme.mode': '테마 모드',
    'theme.accent': '강조 색상',
    'theme.system': '시스템',
    'theme.dark': '다크',
    'theme.light': '라이트',
    'theme.oled': 'OLED 블랙',
  },

  nb: {
    // Navigation
    'nav.dashboard': 'Dashbord',
    'nav.agent': 'Agent',
    'nav.tools': 'Verktøy',
    'nav.cron': 'Planlagte jobber',
    'nav.integrations': 'Integrasjoner',
    'nav.memory': 'Minne',
    'nav.config': 'Konfigurasjon',
    'nav.cost': 'Kostnadssporing',
    'nav.logs': 'Logger',
    'nav.doctor': 'Diagnose',
    'nav.canvas': 'Lerret',

    // Dashboard
    'dashboard.title': 'Dashbord',
    'dashboard.provider': 'Leverandør',
    'dashboard.model': 'Modell',
    'dashboard.uptime': 'Oppetid',
    'dashboard.temperature': 'Temperatur',
    'dashboard.gateway_port': 'Gateway-port',
    'dashboard.memory_backend': 'Minnebackend',
    'dashboard.paired': 'Paret',
    'dashboard.channels': 'Kanaler',
    'dashboard.health': 'Helse',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Oversikt',
    'dashboard.system_info': 'Systeminformasjon',
    'dashboard.quick_actions': 'Hurtighandlinger',

    // Agent / Chat
    'agent.title': 'Agentchat',
    'agent.send': 'Send',
    'agent.placeholder': 'Skriv en melding...',
    'agent.start_conversation': 'Send en melding for å starte samtalen',
    'agent.type_message': 'Skriv en melding...',
    'agent.connecting': 'Kobler til...',
    'agent.connected': 'Tilkoblet',
    'agent.disconnected': 'Frakoblet',
    'agent.reconnecting': 'Kobler til igjen...',
    'agent.thinking': 'Tenker...',
    'agent.tool_call': 'Verktøykall',
    'agent.tool_result': 'Verktøyresultat',
    'agent.connection_error': 'Tilkoblingsfeil. Forsøker å koble til igjen...',
    'agent.tool_call_prefix': '[Verktøykall]',
    'agent.tool_result_prefix': '[Verktøyresultat]',
    'agent.error_prefix': '[Feil]',
    'agent.unknown_error': 'Ukjent feil',
    'agent.send_error': 'Kunne ikke sende meldingen. Vennligst prøv igjen.',
    'agent.copy_message': 'Kopier melding',
    'agent.connected_status': 'Tilkoblet',
    'agent.disconnected_status': 'Frakoblet',

    // Tools
    'tools.title': 'Tilgjengelige verktøy',
    'tools.name': 'Navn',
    'tools.description': 'Beskrivelse',
    'tools.parameters': 'Parametere',
    'tools.search': 'Søk etter verktøy...',
    'tools.empty': 'Ingen verktøy tilgjengelig.',
    'tools.count': 'Totalt antall verktøy',
    'tools.agent_tools': 'Agentverktøy',
    'tools.cli_tools': 'CLI-verktøy',
    'tools.parameter_schema': 'Parameterskjema',
    'tools.path': 'Sti',
    'tools.version': 'Versjon',
    'tools.category': 'Kategori',
    'tools.load_error': 'Kunne ikke laste verktøy',

    // Cron
    'cron.title': 'Planlagte jobber',
    'cron.scheduled_tasks': 'Planlagte oppgaver',
    'cron.add': 'Legg til jobb',
    'cron.add_job': 'Legg til jobb',
    'cron.add_modal_title': 'Legg til Cron-jobb',
    'cron.delete': 'Slett',
    'cron.enable': 'Aktiver',
    'cron.disable': 'Deaktiver',
    'cron.name': 'Navn',
    'cron.name_optional': 'Navn (valgfritt)',
    'cron.command': 'Kommando',
    'cron.command_required': 'Kommando',
    'cron.schedule': 'Tidsplan',
    'cron.schedule_required': 'Tidsplan',
    'cron.next_run': 'Neste kjøring',
    'cron.last_run': 'Siste kjøring',
    'cron.last_status': 'Siste status',
    'cron.enabled': 'Aktivert',
    'cron.enabled_status': 'Aktivert',
    'cron.disabled_status': 'Deaktivert',
    'cron.empty': 'Ingen planlagte jobber.',
    'cron.confirm_delete': 'Er du sikker på at du vil slette denne jobben?',
    'cron.load_error': 'Kunne ikke laste Cron-jobber',
    'cron.validation_error': 'Tidsplan og kommando er påkrevd.',
    'cron.add_error': 'Kunne ikke legge til jobb',
    'cron.delete_error': 'Kunne ikke slette jobb',
    'cron.cancel': 'Avbryt',
    'cron.adding': 'Legger til...',
    'cron.id': 'ID',
    'cron.actions': 'Handlinger',
    'cron.loading_run_history': 'Laster kjørehistorikk...',
    'cron.load_run_history_error': 'Kunne ikke laste kjørehistorikk',
    'cron.no_runs': 'Ingen kjøringer registrert ennå.',
    'cron.recent_runs': 'Siste kjøringer',
    'cron.yes': 'Ja',
    'cron.no': 'Nei',
    'cron.edit': 'Rediger',
    'cron.edit_modal_title': 'Rediger Cron-jobb',
    'cron.edit_error': 'Kunne ikke oppdatere jobb',
    'cron.saving': 'Lagrer...',
    'cron.save': 'Lagre',

    // Integrations
    'integrations.title': 'Integrasjoner',
    'integrations.available': 'Tilgjengelig',
    'integrations.active': 'Aktiv',
    'integrations.coming_soon': 'Kommer snart',
    'integrations.category': 'Kategori',
    'integrations.status': 'Status',
    'integrations.search': 'Søk etter integrasjoner...',
    'integrations.empty': 'Ingen integrasjoner funnet.',
    'integrations.activate': 'Aktiver',
    'integrations.deactivate': 'Deaktiver',
    'integrations.load_error': 'Kunne ikke laste integrasjoner',
    'integrations.status_active': 'Aktiv',
    'integrations.status_available': 'Tilgjengelig',
    'integrations.status_coming_soon': 'Kommer snart',

    // Memory
    'memory.title': 'Minnelager',
    'memory.memory_title': 'Minne',
    'memory.search': 'Søk i minne...',
    'memory.search_placeholder': 'Søk i minneoppføringer...',
    'memory.add': 'Lagre minne',
    'memory.add_memory': 'Legg til minne',
    'memory.add_modal_title': 'Legg til minne',
    'memory.delete': 'Slett',
    'memory.key': 'Nøkkel',
    'memory.key_required': 'Nøkkel',
    'memory.content': 'Innhold',
    'memory.content_required': 'Innhold',
    'memory.category': 'Kategori',
    'memory.category_optional': 'Kategori (valgfritt)',
    'memory.timestamp': 'Tidsstempel',
    'memory.session': 'Sesjon',
    'memory.score': 'Poeng',
    'memory.empty': 'Ingen minneoppføringer funnet.',
    'memory.confirm_delete': 'Er du sikker på at du vil slette denne minneoppføringen?',
    'memory.all_categories': 'Alle kategorier',
    'memory.search_button': 'Søk',
    'memory.load_error': 'Kunne ikke laste minne',
    'memory.saving': 'Lagrer...',
    'memory.validation_error': 'Nøkkel og innhold er påkrevd.',
    'memory.store_error': 'Kunne ikke lagre minne',
    'memory.delete_error': 'Kunne ikke slette minne',
    'memory.delete_confirm': 'Slette?',
    'memory.yes': 'Ja',
    'memory.no': 'Nei',
    'memory.cancel': 'Avbryt',

    // Config
    'config.title': 'Konfigurasjon',
    'config.save': 'Lagre',
    'config.saving': 'Lagrer...',
    'config.reset': 'Tilbakestill',
    'config.saved': 'Konfigurasjonen ble lagret.',
    'config.error': 'Kunne ikke lagre konfigurasjonen.',
    'config.loading': 'Laster konfigurasjon...',
    'config.editor_placeholder': 'TOML-konfigurasjon...',
    'config.configuration_title': 'Konfigurasjon',
    'config.sensitive_title': 'Sensitive felt er maskert',
    'config.sensitive_hint': 'API-nøkler, Token og passord er skjult av sikkerhetshensyn. For å oppdatere et maskert felt, erstatt hele den maskerte verdien med den nye verdien.',
    'config.save_success': 'Konfigurasjonen ble lagret.',
    'config.save_error': 'Kunne ikke lagre konfigurasjonen',
    'config.toml_label': 'TOML-konfigurasjon',
    'config.lines': 'linjer',

    // Cost
    'cost.title': 'Kostnadssporing',
    'cost.session': 'Sesjonskostnad',
    'cost.daily': 'Daglig kostnad',
    'cost.monthly': 'Månedlig kostnad',
    'cost.total_tokens': 'Totale Token',
    'cost.request_count': 'Forespørsler',
    'cost.by_model': 'Kostnad per modell',
    'cost.model': 'Modell',
    'cost.tokens': 'Token',
    'cost.requests': 'Forespørsler',
    'cost.usd': 'Kostnad (USD)',
    'cost.load_error': 'Kunne ikke laste kostnadsdata',
    'cost.session_cost': 'Sesjonskostnad',
    'cost.daily_cost': 'Daglig kostnad',
    'cost.monthly_cost': 'Månedlig kostnad',
    'cost.total_requests': 'Totale forespørsler',
    'cost.token_statistics': 'Token-statistikk',
    'cost.avg_tokens_per_request': 'Gj.snitt Token per forespørsel',
    'cost.cost_per_1k_tokens': 'Kostnad per 1K Token',
    'cost.model_breakdown': 'Modellfordeling',
    'cost.no_model_data': 'Ingen modelldata tilgjengelig.',
    'cost.cost': 'Kostnad',
    'cost.share': 'Del',

    // Logs
    'logs.title': 'Sanntidslogger',
    'logs.live_logs': 'Sanntidslogger',
    'logs.clear': 'Tøm',
    'logs.pause': 'Pause',
    'logs.resume': 'Fortsett',
    'logs.filter': 'Filtrer logger...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Ingen loggoppføringer.',
    'logs.connected': 'Tilkoblet',
    'logs.disconnected': 'Frakoblet',
    'logs.events': 'hendelser',
    'logs.jump_to_bottom': 'Hopp til bunnen',
    'logs.paused_hint': 'Loggstrømming er pauset.',
    'logs.waiting_hint': 'Venter på hendelser...',

    // Doctor
    'doctor.title': 'Systemdiagnostikk',
    'doctor.diagnostics_title': 'Diagnostikk',
    'doctor.run': 'Kjør diagnostikk',
    'doctor.run_diagnostics': 'Kjør diagnostikk',
    'doctor.running': 'Kjører diagnostikk...',
    'doctor.running_btn': 'Kjører...',
    'doctor.running_desc': 'Kjører diagnostikk...',
    'doctor.running_hint': 'Dette kan ta noen sekunder.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Advarsel',
    'doctor.error': 'Feil',
    'doctor.severity': 'Alvorlighetsgrad',
    'doctor.category': 'Kategori',
    'doctor.message': 'Melding',
    'doctor.empty': 'Ingen diagnostikk er kjørt ennå.',
    'doctor.summary': 'Diagnostikksammendrag',
    'doctor.issues_found': 'Problemer funnet',
    'doctor.warnings_summary': 'Advarsler',
    'doctor.all_clear': 'Alt i orden',
    'doctor.system_diagnostics': 'Systemdiagnostikk',
    'doctor.empty_hint': 'Klikk "Kjør diagnostikk" for å sjekke ZeroClaw-installasjonen din.',

    // Auth / Pairing
    'auth.pair': 'Par enhet',
    'auth.pairing_code': 'Paringskode',
    'auth.pair_button': 'Par',
    'auth.logout': 'Logg ut',
    'auth.pairing_success': 'Paring vellykket!',
    'auth.pairing_failed': 'Paring mislyktes. Vennligst prøv igjen.',
    'auth.enter_code': 'Skriv inn paringskoden for å koble til agenten.',

    // Common
    'common.loading': 'Laster...',
    'common.error': 'Det oppstod en feil.',
    'common.retry': 'Prøv igjen',
    'common.cancel': 'Avbryt',
    'common.confirm': 'Bekreft',
    'common.save': 'Lagre',
    'common.delete': 'Slett',
    'common.edit': 'Rediger',
    'common.close': 'Lukk',
    'common.yes': 'Ja',
    'common.no': 'Nei',
    'common.search': 'Søk...',
    'common.no_data': 'Ingen data tilgjengelig.',
    'common.refresh': 'Oppdater',
    'common.back': 'Tilbake',
    'common.actions': 'Handlinger',
    'common.name': 'Navn',
    'common.description': 'Beskrivelse',
    'common.status': 'Status',
    'common.created': 'Opprettet',
    'common.updated': 'Oppdatert',

    // Health
    'health.title': 'Systemhelse',
    'health.component': 'Komponent',
    'health.status': 'Status',
    'health.last_ok': 'Siste OK',
    'health.last_error': 'Siste feil',
    'health.restart_count': 'Omstarter',
    'health.pid': 'Prosess-ID',
    'health.uptime': 'Oppetid',
    'health.updated_at': 'Sist oppdatert',

    // Dashboard
    'dashboard.provider_model': 'Leverandør / Modell',
    'dashboard.since_last_restart': 'Siden siste omstart',
    'dashboard.paired_yes': 'Ja',
    'dashboard.paired_no': 'Nei',
    'dashboard.cost_overview': 'Kostnadsoversikt',
    'dashboard.active_channels': 'Aktive kanaler',
    'dashboard.filter_active': 'Aktive',
    'dashboard.filter_all': 'Alle',
    'dashboard.no_active_channels': 'Ingen aktive kanaler',
    'dashboard.component_health': 'Komponenthelse',
    'dashboard.load_error': 'Kunne ikke laste dashbordet',
    'dashboard.session_label': 'Sesjon',
    'dashboard.daily_label': 'Daglig',
    'dashboard.monthly_label': 'Månedlig',
    'dashboard.total_tokens_label': 'Totale Token',
    'dashboard.requests_label': 'Forespørsler',
    'dashboard.no_channels': 'Ingen kanaler konfigurert',
    'dashboard.active': 'Aktiv',
    'dashboard.inactive': 'Inaktiv',
    'dashboard.no_components': 'Ingen komponenter rapporterer',
    'dashboard.restarts': 'Omstarter',
    'dashboard.tab_overview': 'Oversikt',
    'dashboard.tab_sessions': 'Sesjoner',
    'dashboard.tab_channels': 'Kanaler',
    'dashboard.sessions_title': 'Aktive sesjoner',
    'dashboard.no_sessions': 'Ingen aktive sesjoner',
    'dashboard.session_id': 'Sesjons-ID',
    'dashboard.session_started': 'Startet',
    'dashboard.session_last_activity': 'Siste aktivitet',
    'dashboard.session_messages': 'Meldinger',
    'dashboard.session_details': 'Sesjonsdetaljer',
    'dashboard.session_history': 'Vis historikk',
    'dashboard.channels_title': 'Kanalstatus',
    'dashboard.no_channels_detail': 'Ingen kanaldetaljer tilgjengelig',
    'dashboard.channel_type': 'Type',
    'dashboard.channel_messages': 'Meldinger',
    'dashboard.channel_last_message': 'Siste melding',
    'dashboard.channel_config': 'Konfigurasjon',
    'dashboard.channel_enabled': 'Aktivert',
    'dashboard.channel_disabled': 'Deaktivert',
    'dashboard.loading_sessions': 'Laster sesjoner...',
    'dashboard.loading_channels': 'Laster kanaler...',
    'dashboard.load_sessions_error': 'Kunne ikke laste sesjoner',
    'dashboard.load_channels_error': 'Kunne ikke laste kanaler',
    'dashboard.never': 'Aldri',

    // Settings
    'settings.title': 'Innstillinger',
    'settings.tab.appearance': 'Utseende',
    'settings.tab.typography': 'Typografi',
    'settings.appearance': 'Utseende',
    'settings.typography': 'Typografi',
    'settings.fontUi': 'UI-skrifttype',
    'settings.fontMono': 'Kodeskrifttype',
    'settings.fontSize': 'UI-skriftstørrelse',
    'settings.fontMonoSize': 'Kodeskriftstørrelse',
    'settings.preview': 'Forhåndsvisning',
    'settings.previewText': 'Den raske brune reven hopper over den late hunden.',
    'settings.fontNote': 'Skrifttypeendringer trer i kraft ved sideinnlasting.',
    'settings.language': 'Språk',

    // Theme
    'theme.mode': 'Temamodus',
    'theme.accent': 'Aksentfarge',
    'theme.system': 'System',
    'theme.dark': 'Mørk',
    'theme.light': 'Lys',
    'theme.oled': 'OLED Svart',
  },

  nl: {
    // Navigation
    'nav.dashboard': 'Dashboard',
    'nav.agent': 'Agent',
    'nav.tools': 'Gereedschappen',
    'nav.cron': 'Geplande taken',
    'nav.integrations': 'Integraties',
    'nav.memory': 'Geheugen',
    'nav.config': 'Configuratie',
    'nav.cost': 'Kostentracker',
    'nav.logs': 'Logboeken',
    'nav.doctor': 'Diagnose',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Dashboard',
    'dashboard.provider': 'Provider',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Uptime',
    'dashboard.temperature': 'Temperatuur',
    'dashboard.gateway_port': 'Gatewaypoort',
    'dashboard.memory_backend': 'Geheugenbackend',
    'dashboard.paired': 'Gekoppeld',
    'dashboard.channels': 'Kanalen',
    'dashboard.health': 'Gezondheid',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Overzicht',
    'dashboard.system_info': 'Systeeminformatie',
    'dashboard.quick_actions': 'Snelle acties',

    // Agent / Chat
    'agent.title': 'Agentchat',
    'agent.send': 'Verzenden',
    'agent.placeholder': 'Typ een bericht...',
    'agent.start_conversation': 'Stuur een bericht om het gesprek te starten',
    'agent.type_message': 'Typ een bericht...',
    'agent.connecting': 'Verbinden...',
    'agent.connected': 'Verbonden',
    'agent.disconnected': 'Niet verbonden',
    'agent.reconnecting': 'Opnieuw verbinden...',
    'agent.thinking': 'Nadenken...',
    'agent.tool_call': 'Gereedschapsaanroep',
    'agent.tool_result': 'Gereedschapsresultaat',
    'agent.connection_error': 'Verbindingsfout. Probeert opnieuw te verbinden...',
    'agent.tool_call_prefix': '[Gereedschapsaanroep]',
    'agent.tool_result_prefix': '[Gereedschapsresultaat]',
    'agent.error_prefix': '[Fout]',
    'agent.unknown_error': 'Onbekende fout',
    'agent.send_error': 'Bericht verzenden mislukt. Probeer het opnieuw.',
    'agent.copy_message': 'Bericht kopiëren',
    'agent.connected_status': 'Verbonden',
    'agent.disconnected_status': 'Niet verbonden',

    // Tools
    'tools.title': 'Beschikbare gereedschappen',
    'tools.name': 'Naam',
    'tools.description': 'Beschrijving',
    'tools.parameters': 'Parameters',
    'tools.search': 'Gereedschappen zoeken...',
    'tools.empty': 'Geen gereedschappen beschikbaar.',
    'tools.count': 'Totaal gereedschappen',
    'tools.agent_tools': 'Agentgereedschappen',
    'tools.cli_tools': 'CLI-gereedschappen',
    'tools.parameter_schema': 'Parameterschema',
    'tools.path': 'Pad',
    'tools.version': 'Versie',
    'tools.category': 'Categorie',
    'tools.load_error': 'Kan gereedschappen niet laden',

    // Cron
    'cron.title': 'Geplande taken',
    'cron.scheduled_tasks': 'Geplande taken',
    'cron.add': 'Taak toevoegen',
    'cron.add_job': 'Taak toevoegen',
    'cron.add_modal_title': 'Cron-taak toevoegen',
    'cron.delete': 'Verwijderen',
    'cron.enable': 'Inschakelen',
    'cron.disable': 'Uitschakelen',
    'cron.name': 'Naam',
    'cron.name_optional': 'Naam (optioneel)',
    'cron.command': 'Opdracht',
    'cron.command_required': 'Opdracht',
    'cron.schedule': 'Planning',
    'cron.schedule_required': 'Planning',
    'cron.next_run': 'Volgende uitvoering',
    'cron.last_run': 'Laatste uitvoering',
    'cron.last_status': 'Laatste status',
    'cron.enabled': 'Ingeschakeld',
    'cron.enabled_status': 'Ingeschakeld',
    'cron.disabled_status': 'Uitgeschakeld',
    'cron.empty': 'Geen geplande taken.',
    'cron.confirm_delete': 'Weet u zeker dat u deze taak wilt verwijderen?',
    'cron.load_error': 'Kan Cron-taken niet laden',
    'cron.validation_error': 'Planning en opdracht zijn verplicht.',
    'cron.add_error': 'Kan taak niet toevoegen',
    'cron.delete_error': 'Kan taak niet verwijderen',
    'cron.cancel': 'Annuleren',
    'cron.adding': 'Toevoegen...',
    'cron.id': 'ID',
    'cron.actions': 'Acties',
    'cron.loading_run_history': 'Uitvoeringsgeschiedenis laden...',
    'cron.load_run_history_error': 'Kan uitvoeringsgeschiedenis niet laden',
    'cron.no_runs': 'Nog geen uitvoeringen geregistreerd.',
    'cron.recent_runs': 'Recente uitvoeringen',
    'cron.yes': 'Ja',
    'cron.no': 'Nee',
    'cron.edit': 'Bewerken',
    'cron.edit_modal_title': 'Cron-taak bewerken',
    'cron.edit_error': 'Kan taak niet bijwerken',
    'cron.saving': 'Opslaan...',
    'cron.save': 'Opslaan',

    // Integrations
    'integrations.title': 'Integraties',
    'integrations.available': 'Beschikbaar',
    'integrations.active': 'Actief',
    'integrations.coming_soon': 'Binnenkort beschikbaar',
    'integrations.category': 'Categorie',
    'integrations.status': 'Status',
    'integrations.search': 'Integraties zoeken...',
    'integrations.empty': 'Geen integraties gevonden.',
    'integrations.activate': 'Activeren',
    'integrations.deactivate': 'Deactiveren',
    'integrations.load_error': 'Kan integraties niet laden',
    'integrations.status_active': 'Actief',
    'integrations.status_available': 'Beschikbaar',
    'integrations.status_coming_soon': 'Binnenkort beschikbaar',

    // Memory
    'memory.title': 'Geheugenopslag',
    'memory.memory_title': 'Geheugen',
    'memory.search': 'Geheugen doorzoeken...',
    'memory.search_placeholder': 'Geheugenitems doorzoeken...',
    'memory.add': 'Geheugen opslaan',
    'memory.add_memory': 'Geheugen toevoegen',
    'memory.add_modal_title': 'Geheugen toevoegen',
    'memory.delete': 'Verwijderen',
    'memory.key': 'Sleutel',
    'memory.key_required': 'Sleutel',
    'memory.content': 'Inhoud',
    'memory.content_required': 'Inhoud',
    'memory.category': 'Categorie',
    'memory.category_optional': 'Categorie (optioneel)',
    'memory.timestamp': 'Tijdstempel',
    'memory.session': 'Sessie',
    'memory.score': 'Score',
    'memory.empty': 'Geen geheugenitems gevonden.',
    'memory.confirm_delete': 'Weet u zeker dat u dit geheugenitem wilt verwijderen?',
    'memory.all_categories': 'Alle categorieën',
    'memory.search_button': 'Zoeken',
    'memory.load_error': 'Kan geheugen niet laden',
    'memory.saving': 'Opslaan...',
    'memory.validation_error': 'Sleutel en inhoud zijn verplicht.',
    'memory.store_error': 'Kan geheugen niet opslaan',
    'memory.delete_error': 'Kan geheugen niet verwijderen',
    'memory.delete_confirm': 'Verwijderen?',
    'memory.yes': 'Ja',
    'memory.no': 'Nee',
    'memory.cancel': 'Annuleren',

    // Config
    'config.title': 'Configuratie',
    'config.save': 'Opslaan',
    'config.saving': 'Opslaan...',
    'config.reset': 'Herstellen',
    'config.saved': 'Configuratie succesvol opgeslagen.',
    'config.error': 'Kan configuratie niet opslaan.',
    'config.loading': 'Configuratie laden...',
    'config.editor_placeholder': 'TOML-configuratie...',
    'config.configuration_title': 'Configuratie',
    'config.sensitive_title': 'Gevoelige velden zijn gemaskeerd',
    'config.sensitive_hint': 'API-sleutels, Token en wachtwoorden zijn verborgen voor de veiligheid. Om een gemaskeerd veld bij te werken, vervang de gehele gemaskeerde waarde door uw nieuwe waarde.',
    'config.save_success': 'Configuratie succesvol opgeslagen.',
    'config.save_error': 'Kan configuratie niet opslaan',
    'config.toml_label': 'TOML-configuratie',
    'config.lines': 'regels',

    // Cost
    'cost.title': 'Kostentracker',
    'cost.session': 'Sessiekosten',
    'cost.daily': 'Dagelijkse kosten',
    'cost.monthly': 'Maandelijkse kosten',
    'cost.total_tokens': 'Totale Token',
    'cost.request_count': 'Verzoeken',
    'cost.by_model': 'Kosten per model',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'Verzoeken',
    'cost.usd': 'Kosten (USD)',
    'cost.load_error': 'Kan kostengegevens niet laden',
    'cost.session_cost': 'Sessiekosten',
    'cost.daily_cost': 'Dagelijkse kosten',
    'cost.monthly_cost': 'Maandelijkse kosten',
    'cost.total_requests': 'Totale verzoeken',
    'cost.token_statistics': 'Token-statistieken',
    'cost.avg_tokens_per_request': 'Gem. Token per verzoek',
    'cost.cost_per_1k_tokens': 'Kosten per 1K Token',
    'cost.model_breakdown': 'Modeloverzicht',
    'cost.no_model_data': 'Geen modelgegevens beschikbaar.',
    'cost.cost': 'Kosten',
    'cost.share': 'Delen',

    // Logs
    'logs.title': 'Live logboeken',
    'logs.live_logs': 'Live logboeken',
    'logs.clear': 'Wissen',
    'logs.pause': 'Pauzeren',
    'logs.resume': 'Hervatten',
    'logs.filter': 'Logboeken filteren...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Geen logboekitems.',
    'logs.connected': 'Verbonden',
    'logs.disconnected': 'Niet verbonden',
    'logs.events': 'gebeurtenissen',
    'logs.jump_to_bottom': 'Naar beneden springen',
    'logs.paused_hint': 'Logstreaming is gepauzeerd.',
    'logs.waiting_hint': 'Wachten op gebeurtenissen...',

    // Doctor
    'doctor.title': 'Systeemdiagnostiek',
    'doctor.diagnostics_title': 'Diagnostiek',
    'doctor.run': 'Diagnostiek uitvoeren',
    'doctor.run_diagnostics': 'Diagnostiek uitvoeren',
    'doctor.running': 'Diagnostiek uitvoeren...',
    'doctor.running_btn': 'Uitvoeren...',
    'doctor.running_desc': 'Diagnostiek uitvoeren...',
    'doctor.running_hint': 'Dit kan enkele seconden duren.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Waarschuwing',
    'doctor.error': 'Fout',
    'doctor.severity': 'Ernst',
    'doctor.category': 'Categorie',
    'doctor.message': 'Bericht',
    'doctor.empty': 'Er is nog geen diagnostiek uitgevoerd.',
    'doctor.summary': 'Diagnostisch overzicht',
    'doctor.issues_found': 'Problemen gevonden',
    'doctor.warnings_summary': 'Waarschuwingen',
    'doctor.all_clear': 'Alles in orde',
    'doctor.system_diagnostics': 'Systeemdiagnostiek',
    'doctor.empty_hint': 'Klik op "Diagnostiek uitvoeren" om uw ZeroClaw-installatie te controleren.',

    // Auth / Pairing
    'auth.pair': 'Apparaat koppelen',
    'auth.pairing_code': 'Koppelingscode',
    'auth.pair_button': 'Koppelen',
    'auth.logout': 'Uitloggen',
    'auth.pairing_success': 'Koppeling geslaagd!',
    'auth.pairing_failed': 'Koppeling mislukt. Probeer het opnieuw.',
    'auth.enter_code': 'Voer uw koppelingscode in om verbinding te maken met de agent.',

    // Common
    'common.loading': 'Laden...',
    'common.error': 'Er is een fout opgetreden.',
    'common.retry': 'Opnieuw proberen',
    'common.cancel': 'Annuleren',
    'common.confirm': 'Bevestigen',
    'common.save': 'Opslaan',
    'common.delete': 'Verwijderen',
    'common.edit': 'Bewerken',
    'common.close': 'Sluiten',
    'common.yes': 'Ja',
    'common.no': 'Nee',
    'common.search': 'Zoeken...',
    'common.no_data': 'Geen gegevens beschikbaar.',
    'common.refresh': 'Vernieuwen',
    'common.back': 'Terug',
    'common.actions': 'Acties',
    'common.name': 'Naam',
    'common.description': 'Beschrijving',
    'common.status': 'Status',
    'common.created': 'Aangemaakt',
    'common.updated': 'Bijgewerkt',

    // Health
    'health.title': 'Systeemgezondheid',
    'health.component': 'Component',
    'health.status': 'Status',
    'health.last_ok': 'Laatste OK',
    'health.last_error': 'Laatste fout',
    'health.restart_count': 'Herstarts',
    'health.pid': 'Proces-ID',
    'health.uptime': 'Uptime',
    'health.updated_at': 'Laatst bijgewerkt',

    // Dashboard
    'dashboard.provider_model': 'Provider / Model',
    'dashboard.since_last_restart': 'Sinds laatste herstart',
    'dashboard.paired_yes': 'Ja',
    'dashboard.paired_no': 'Nee',
    'dashboard.cost_overview': 'Kostenoverzicht',
    'dashboard.active_channels': 'Actieve kanalen',
    'dashboard.filter_active': 'Actief',
    'dashboard.filter_all': 'Alle',
    'dashboard.no_active_channels': 'Geen actieve kanalen',
    'dashboard.component_health': 'Componentgezondheid',
    'dashboard.load_error': 'Kan dashboard niet laden',
    'dashboard.session_label': 'Sessie',
    'dashboard.daily_label': 'Dagelijks',
    'dashboard.monthly_label': 'Maandelijks',
    'dashboard.total_tokens_label': 'Totale Token',
    'dashboard.requests_label': 'Verzoeken',
    'dashboard.no_channels': 'Geen kanalen geconfigureerd',
    'dashboard.active': 'Actief',
    'dashboard.inactive': 'Inactief',
    'dashboard.no_components': 'Geen componenten rapporteren',
    'dashboard.restarts': 'Herstarts',
    'dashboard.tab_overview': 'Overzicht',
    'dashboard.tab_sessions': 'Sessies',
    'dashboard.tab_channels': 'Kanalen',
    'dashboard.sessions_title': 'Actieve sessies',
    'dashboard.no_sessions': 'Geen actieve sessies',
    'dashboard.session_id': 'Sessie-ID',
    'dashboard.session_started': 'Gestart',
    'dashboard.session_last_activity': 'Laatste activiteit',
    'dashboard.session_messages': 'Berichten',
    'dashboard.session_details': 'Sessiedetails',
    'dashboard.session_history': 'Geschiedenis bekijken',
    'dashboard.channels_title': 'Kanaalstatus',
    'dashboard.no_channels_detail': 'Geen kanaaldetails beschikbaar',
    'dashboard.channel_type': 'Type',
    'dashboard.channel_messages': 'Berichten',
    'dashboard.channel_last_message': 'Laatste bericht',
    'dashboard.channel_config': 'Configuratie',
    'dashboard.channel_enabled': 'Ingeschakeld',
    'dashboard.channel_disabled': 'Uitgeschakeld',
    'dashboard.loading_sessions': 'Sessies laden...',
    'dashboard.loading_channels': 'Kanalen laden...',
    'dashboard.load_sessions_error': 'Kan sessies niet laden',
    'dashboard.load_channels_error': 'Kan kanalen niet laden',
    'dashboard.never': 'Nooit',

    // Settings
    'settings.title': 'Instellingen',
    'settings.tab.appearance': 'Uiterlijk',
    'settings.tab.typography': 'Typografie',
    'settings.appearance': 'Uiterlijk',
    'settings.typography': 'Typografie',
    'settings.fontUi': 'UI-lettertype',
    'settings.fontMono': 'Codelettertype',
    'settings.fontSize': 'UI-lettergrootte',
    'settings.fontMonoSize': 'Codelettergrootte',
    'settings.preview': 'Voorbeeld',
    'settings.previewText': 'De snelle bruine vos springt over de luie hond.',
    'settings.fontNote': 'Lettertypewijzigingen worden toegepast bij het herladen van de pagina.',
    'settings.language': 'Taal',

    // Theme
    'theme.mode': 'Themamodus',
    'theme.accent': 'Accentkleur',
    'theme.system': 'Systeem',
    'theme.dark': 'Donker',
    'theme.light': 'Licht',
    'theme.oled': 'OLED Zwart',
  },

  pl: {
    // Navigation
    'nav.dashboard': 'Panel',
    'nav.agent': 'Agent',
    'nav.tools': 'Narzędzia',
    'nav.cron': 'Zaplanowane zadania',
    'nav.integrations': 'Integracje',
    'nav.memory': 'Pamięć',
    'nav.config': 'Konfiguracja',
    'nav.cost': 'Śledzenie kosztów',
    'nav.logs': 'Logi',
    'nav.doctor': 'Diagnostyka',
    'nav.canvas': 'Płótno',

    // Dashboard
    'dashboard.title': 'Panel',
    'dashboard.provider': 'Dostawca',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Czas działania',
    'dashboard.temperature': 'Temperatura',
    'dashboard.gateway_port': 'Port bramy',
    'dashboard.memory_backend': 'Backend pamięci',
    'dashboard.paired': 'Sparowany',
    'dashboard.channels': 'Kanały',
    'dashboard.health': 'Kondycja',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Przegląd',
    'dashboard.system_info': 'Informacje o systemie',
    'dashboard.quick_actions': 'Szybkie akcje',

    // Agent / Chat
    'agent.title': 'Czat z agentem',
    'agent.send': 'Wyślij',
    'agent.placeholder': 'Wpisz wiadomość...',
    'agent.start_conversation': 'Wyślij wiadomość, aby rozpocząć rozmowę',
    'agent.type_message': 'Wpisz wiadomość...',
    'agent.connecting': 'Łączenie...',
    'agent.connected': 'Połączono',
    'agent.disconnected': 'Rozłączono',
    'agent.reconnecting': 'Ponowne łączenie...',
    'agent.thinking': 'Myślenie...',
    'agent.tool_call': 'Wywołanie narzędzia',
    'agent.tool_result': 'Wynik narzędzia',
    'agent.connection_error': 'Błąd połączenia. Próba ponownego połączenia...',
    'agent.tool_call_prefix': '[Wywołanie narzędzia]',
    'agent.tool_result_prefix': '[Wynik narzędzia]',
    'agent.error_prefix': '[Błąd]',
    'agent.unknown_error': 'Nieznany błąd',
    'agent.send_error': 'Nie udało się wysłać wiadomości. Spróbuj ponownie.',
    'agent.copy_message': 'Kopiuj wiadomość',
    'agent.connected_status': 'Połączono',
    'agent.disconnected_status': 'Rozłączono',

    // Tools
    'tools.title': 'Dostępne narzędzia',
    'tools.name': 'Nazwa',
    'tools.description': 'Opis',
    'tools.parameters': 'Parametry',
    'tools.search': 'Szukaj narzędzi...',
    'tools.empty': 'Brak dostępnych narzędzi.',
    'tools.count': 'Łączna liczba narzędzi',
    'tools.agent_tools': 'Narzędzia agenta',
    'tools.cli_tools': 'Narzędzia CLI',
    'tools.parameter_schema': 'Schemat parametrów',
    'tools.path': 'Ścieżka',
    'tools.version': 'Wersja',
    'tools.category': 'Kategoria',
    'tools.load_error': 'Nie udało się załadować narzędzi',

    // Cron
    'cron.title': 'Zaplanowane zadania',
    'cron.scheduled_tasks': 'Zaplanowane zadania',
    'cron.add': 'Dodaj zadanie',
    'cron.add_job': 'Dodaj zadanie',
    'cron.add_modal_title': 'Dodaj zadanie Cron',
    'cron.delete': 'Usuń',
    'cron.enable': 'Włącz',
    'cron.disable': 'Wyłącz',
    'cron.name': 'Nazwa',
    'cron.name_optional': 'Nazwa (opcjonalnie)',
    'cron.command': 'Polecenie',
    'cron.command_required': 'Polecenie',
    'cron.schedule': 'Harmonogram',
    'cron.schedule_required': 'Harmonogram',
    'cron.next_run': 'Następne uruchomienie',
    'cron.last_run': 'Ostatnie uruchomienie',
    'cron.last_status': 'Ostatni status',
    'cron.enabled': 'Włączone',
    'cron.enabled_status': 'Włączone',
    'cron.disabled_status': 'Wyłączone',
    'cron.empty': 'Brak zaplanowanych zadań.',
    'cron.confirm_delete': 'Czy na pewno chcesz usunąć to zadanie?',
    'cron.load_error': 'Nie udało się załadować zadań Cron',
    'cron.validation_error': 'Harmonogram i polecenie są wymagane.',
    'cron.add_error': 'Nie udało się dodać zadania',
    'cron.delete_error': 'Nie udało się usunąć zadania',
    'cron.cancel': 'Anuluj',
    'cron.adding': 'Dodawanie...',
    'cron.id': 'ID',
    'cron.actions': 'Akcje',
    'cron.loading_run_history': 'Ładowanie historii uruchomień...',
    'cron.load_run_history_error': 'Nie udało się załadować historii uruchomień',
    'cron.no_runs': 'Brak zarejestrowanych uruchomień.',
    'cron.recent_runs': 'Ostatnie uruchomienia',
    'cron.yes': 'Tak',
    'cron.no': 'Nie',
    'cron.edit': 'Edytuj',
    'cron.edit_modal_title': 'Edytuj zadanie Cron',
    'cron.edit_error': 'Nie udało się zaktualizować zadania',
    'cron.saving': 'Zapisywanie...',
    'cron.save': 'Zapisz',

    // Integrations
    'integrations.title': 'Integracje',
    'integrations.available': 'Dostępne',
    'integrations.active': 'Aktywne',
    'integrations.coming_soon': 'Wkrótce',
    'integrations.category': 'Kategoria',
    'integrations.status': 'Status',
    'integrations.search': 'Szukaj integracji...',
    'integrations.empty': 'Nie znaleziono integracji.',
    'integrations.activate': 'Aktywuj',
    'integrations.deactivate': 'Dezaktywuj',
    'integrations.load_error': 'Nie udało się załadować integracji',
    'integrations.status_active': 'Aktywna',
    'integrations.status_available': 'Dostępna',
    'integrations.status_coming_soon': 'Wkrótce',

    // Memory
    'memory.title': 'Magazyn pamięci',
    'memory.memory_title': 'Pamięć',
    'memory.search': 'Szukaj w pamięci...',
    'memory.search_placeholder': 'Szukaj wpisów pamięci...',
    'memory.add': 'Zapisz pamięć',
    'memory.add_memory': 'Dodaj pamięć',
    'memory.add_modal_title': 'Dodaj pamięć',
    'memory.delete': 'Usuń',
    'memory.key': 'Klucz',
    'memory.key_required': 'Klucz',
    'memory.content': 'Treść',
    'memory.content_required': 'Treść',
    'memory.category': 'Kategoria',
    'memory.category_optional': 'Kategoria (opcjonalnie)',
    'memory.timestamp': 'Znacznik czasu',
    'memory.session': 'Sesja',
    'memory.score': 'Wynik',
    'memory.empty': 'Nie znaleziono wpisów pamięci.',
    'memory.confirm_delete': 'Czy na pewno chcesz usunąć ten wpis pamięci?',
    'memory.all_categories': 'Wszystkie kategorie',
    'memory.search_button': 'Szukaj',
    'memory.load_error': 'Nie udało się załadować pamięci',
    'memory.saving': 'Zapisywanie...',
    'memory.validation_error': 'Klucz i treść są wymagane.',
    'memory.store_error': 'Nie udało się zapisać pamięci',
    'memory.delete_error': 'Nie udało się usunąć pamięci',
    'memory.delete_confirm': 'Usunąć?',
    'memory.yes': 'Tak',
    'memory.no': 'Nie',
    'memory.cancel': 'Anuluj',

    // Config
    'config.title': 'Konfiguracja',
    'config.save': 'Zapisz',
    'config.saving': 'Zapisywanie...',
    'config.reset': 'Resetuj',
    'config.saved': 'Konfiguracja została pomyślnie zapisana.',
    'config.error': 'Nie udało się zapisać konfiguracji.',
    'config.loading': 'Ładowanie konfiguracji...',
    'config.editor_placeholder': 'Konfiguracja TOML...',
    'config.configuration_title': 'Konfiguracja',
    'config.sensitive_title': 'Wrażliwe pola są zamaskowane',
    'config.sensitive_hint': 'Klucze API, Token i hasła są ukryte ze względów bezpieczeństwa. Aby zaktualizować zamaskowane pole, zastąp całą zamaskowaną wartość nową wartością.',
    'config.save_success': 'Konfiguracja została pomyślnie zapisana.',
    'config.save_error': 'Nie udało się zapisać konfiguracji',
    'config.toml_label': 'Konfiguracja TOML',
    'config.lines': 'wiersze',

    // Cost
    'cost.title': 'Śledzenie kosztów',
    'cost.session': 'Koszt sesji',
    'cost.daily': 'Koszt dzienny',
    'cost.monthly': 'Koszt miesięczny',
    'cost.total_tokens': 'Łączna liczba Token',
    'cost.request_count': 'Żądania',
    'cost.by_model': 'Koszt według modelu',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'Żądania',
    'cost.usd': 'Koszt (USD)',
    'cost.load_error': 'Nie udało się załadować danych kosztów',
    'cost.session_cost': 'Koszt sesji',
    'cost.daily_cost': 'Koszt dzienny',
    'cost.monthly_cost': 'Koszt miesięczny',
    'cost.total_requests': 'Łączna liczba żądań',
    'cost.token_statistics': 'Statystyki Token',
    'cost.avg_tokens_per_request': 'Śr. Token na żądanie',
    'cost.cost_per_1k_tokens': 'Koszt za 1K Token',
    'cost.model_breakdown': 'Podział według modeli',
    'cost.no_model_data': 'Brak danych modelu.',
    'cost.cost': 'Koszt',
    'cost.share': 'Udostępnij',

    // Logs
    'logs.title': 'Logi na żywo',
    'logs.live_logs': 'Logi na żywo',
    'logs.clear': 'Wyczyść',
    'logs.pause': 'Wstrzymaj',
    'logs.resume': 'Wznów',
    'logs.filter': 'Filtruj logi...',
    'logs.filter_label': 'Filtr',
    'logs.empty': 'Brak wpisów w logu.',
    'logs.connected': 'Połączono',
    'logs.disconnected': 'Rozłączono',
    'logs.events': 'zdarzenia',
    'logs.jump_to_bottom': 'Przejdź na dół',
    'logs.paused_hint': 'Strumieniowanie logów jest wstrzymane.',
    'logs.waiting_hint': 'Oczekiwanie na zdarzenia...',

    // Doctor
    'doctor.title': 'Diagnostyka systemu',
    'doctor.diagnostics_title': 'Diagnostyka',
    'doctor.run': 'Uruchom diagnostykę',
    'doctor.run_diagnostics': 'Uruchom diagnostykę',
    'doctor.running': 'Uruchamianie diagnostyki...',
    'doctor.running_btn': 'Uruchamianie...',
    'doctor.running_desc': 'Uruchamianie diagnostyki...',
    'doctor.running_hint': 'To może potrwać kilka sekund.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Ostrzeżenie',
    'doctor.error': 'Błąd',
    'doctor.severity': 'Ważność',
    'doctor.category': 'Kategoria',
    'doctor.message': 'Wiadomość',
    'doctor.empty': 'Diagnostyka nie została jeszcze uruchomiona.',
    'doctor.summary': 'Podsumowanie diagnostyki',
    'doctor.issues_found': 'Znalezione problemy',
    'doctor.warnings_summary': 'Ostrzeżenia',
    'doctor.all_clear': 'Wszystko w porządku',
    'doctor.system_diagnostics': 'Diagnostyka systemu',
    'doctor.empty_hint': 'Kliknij "Uruchom diagnostykę", aby sprawdzić instalację ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Sparuj urządzenie',
    'auth.pairing_code': 'Kod parowania',
    'auth.pair_button': 'Sparuj',
    'auth.logout': 'Wyloguj',
    'auth.pairing_success': 'Parowanie zakończone sukcesem!',
    'auth.pairing_failed': 'Parowanie nie powiodło się. Spróbuj ponownie.',
    'auth.enter_code': 'Wprowadź kod parowania, aby połączyć się z agentem.',

    // Common
    'common.loading': 'Ładowanie...',
    'common.error': 'Wystąpił błąd.',
    'common.retry': 'Ponów',
    'common.cancel': 'Anuluj',
    'common.confirm': 'Potwierdź',
    'common.save': 'Zapisz',
    'common.delete': 'Usuń',
    'common.edit': 'Edytuj',
    'common.close': 'Zamknij',
    'common.yes': 'Tak',
    'common.no': 'Nie',
    'common.search': 'Szukaj...',
    'common.no_data': 'Brak dostępnych danych.',
    'common.refresh': 'Odśwież',
    'common.back': 'Wstecz',
    'common.actions': 'Akcje',
    'common.name': 'Nazwa',
    'common.description': 'Opis',
    'common.status': 'Status',
    'common.created': 'Utworzono',
    'common.updated': 'Zaktualizowano',

    // Health
    'health.title': 'Kondycja systemu',
    'health.component': 'Komponent',
    'health.status': 'Status',
    'health.last_ok': 'Ostatnie OK',
    'health.last_error': 'Ostatni błąd',
    'health.restart_count': 'Restarty',
    'health.pid': 'ID procesu',
    'health.uptime': 'Czas działania',
    'health.updated_at': 'Ostatnia aktualizacja',

    // Dashboard
    'dashboard.provider_model': 'Dostawca / Model',
    'dashboard.since_last_restart': 'Od ostatniego restartu',
    'dashboard.paired_yes': 'Tak',
    'dashboard.paired_no': 'Nie',
    'dashboard.cost_overview': 'Przegląd kosztów',
    'dashboard.active_channels': 'Aktywne kanały',
    'dashboard.filter_active': 'Aktywne',
    'dashboard.filter_all': 'Wszystkie',
    'dashboard.no_active_channels': 'Brak aktywnych kanałów',
    'dashboard.component_health': 'Kondycja komponentów',
    'dashboard.load_error': 'Nie udało się załadować panelu',
    'dashboard.session_label': 'Sesja',
    'dashboard.daily_label': 'Dzienny',
    'dashboard.monthly_label': 'Miesięczny',
    'dashboard.total_tokens_label': 'Łączna liczba Token',
    'dashboard.requests_label': 'Żądania',
    'dashboard.no_channels': 'Nie skonfigurowano kanałów',
    'dashboard.active': 'Aktywny',
    'dashboard.inactive': 'Nieaktywny',
    'dashboard.no_components': 'Brak raportujących komponentów',
    'dashboard.restarts': 'Restarty',
    'dashboard.tab_overview': 'Przegląd',
    'dashboard.tab_sessions': 'Sesje',
    'dashboard.tab_channels': 'Kanały',
    'dashboard.sessions_title': 'Aktywne sesje',
    'dashboard.no_sessions': 'Brak aktywnych sesji',
    'dashboard.session_id': 'ID sesji',
    'dashboard.session_started': 'Rozpoczęto',
    'dashboard.session_last_activity': 'Ostatnia aktywność',
    'dashboard.session_messages': 'Wiadomości',
    'dashboard.session_details': 'Szczegóły sesji',
    'dashboard.session_history': 'Zobacz historię',
    'dashboard.channels_title': 'Status kanałów',
    'dashboard.no_channels_detail': 'Brak szczegółów kanału',
    'dashboard.channel_type': 'Typ',
    'dashboard.channel_messages': 'Wiadomości',
    'dashboard.channel_last_message': 'Ostatnia wiadomość',
    'dashboard.channel_config': 'Konfiguracja',
    'dashboard.channel_enabled': 'Włączony',
    'dashboard.channel_disabled': 'Wyłączony',
    'dashboard.loading_sessions': 'Ładowanie sesji...',
    'dashboard.loading_channels': 'Ładowanie kanałów...',
    'dashboard.load_sessions_error': 'Nie udało się załadować sesji',
    'dashboard.load_channels_error': 'Nie udało się załadować kanałów',
    'dashboard.never': 'Nigdy',

    // Settings
    'settings.title': 'Ustawienia',
    'settings.tab.appearance': 'Wygląd',
    'settings.tab.typography': 'Typografia',
    'settings.appearance': 'Wygląd',
    'settings.typography': 'Typografia',
    'settings.fontUi': 'Czcionka UI',
    'settings.fontMono': 'Czcionka kodu',
    'settings.fontSize': 'Rozmiar czcionki UI',
    'settings.fontMonoSize': 'Rozmiar czcionki kodu',
    'settings.preview': 'Podgląd',
    'settings.previewText': 'Pchnąć w tę łódź jeża lub ośm skrzyń fig.',
    'settings.fontNote': 'Zmiany czcionki zostaną zastosowane po przeładowaniu strony.',
    'settings.language': 'Język',

    // Theme
    'theme.mode': 'Tryb motywu',
    'theme.accent': 'Kolor akcentu',
    'theme.system': 'Systemowy',
    'theme.dark': 'Ciemny',
    'theme.light': 'Jasny',
    'theme.oled': 'OLED Czarny',
  },

  pt: {
    // Navigation
    'nav.dashboard': 'Painel',
    'nav.agent': 'Agente',
    'nav.tools': 'Ferramentas',
    'nav.cron': 'Tarefas Agendadas',
    'nav.integrations': 'Integrações',
    'nav.memory': 'Memória',
    'nav.config': 'Configuração',
    'nav.cost': 'Rastreador de Custos',
    'nav.logs': 'Logs',
    'nav.doctor': 'Diagnóstico',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Painel',
    'dashboard.provider': 'Provedor',
    'dashboard.model': 'Modelo',
    'dashboard.uptime': 'Tempo de atividade',
    'dashboard.temperature': 'Temperatura',
    'dashboard.gateway_port': 'Porta do Gateway',
    'dashboard.memory_backend': 'Backend de Memória',
    'dashboard.paired': 'Pareado',
    'dashboard.channels': 'Canais',
    'dashboard.health': 'Saúde',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Visão geral',
    'dashboard.system_info': 'Informações do Sistema',
    'dashboard.quick_actions': 'Ações Rápidas',

    // Agent / Chat
    'agent.title': 'Chat do Agente',
    'agent.send': 'Enviar',
    'agent.placeholder': 'Digite uma mensagem...',
    'agent.start_conversation': 'Envie uma mensagem para iniciar a conversa',
    'agent.type_message': 'Digite uma mensagem...',
    'agent.connecting': 'Conectando...',
    'agent.connected': 'Conectado',
    'agent.disconnected': 'Desconectado',
    'agent.reconnecting': 'Reconectando...',
    'agent.thinking': 'Pensando...',
    'agent.tool_call': 'Chamada de Ferramenta',
    'agent.tool_result': 'Resultado da Ferramenta',
    'agent.connection_error': 'Erro de conexão. Tentando reconectar...',
    'agent.tool_call_prefix': '[Chamada de Ferramenta]',
    'agent.tool_result_prefix': '[Resultado da Ferramenta]',
    'agent.error_prefix': '[Erro]',
    'agent.unknown_error': 'Erro desconhecido',
    'agent.send_error': 'Falha ao enviar mensagem. Por favor, tente novamente.',
    'agent.copy_message': 'Copiar mensagem',
    'agent.connected_status': 'Conectado',
    'agent.disconnected_status': 'Desconectado',

    // Tools
    'tools.title': 'Ferramentas Disponíveis',
    'tools.name': 'Nome',
    'tools.description': 'Descrição',
    'tools.parameters': 'Parâmetros',
    'tools.search': 'Pesquisar ferramentas...',
    'tools.empty': 'Nenhuma ferramenta disponível.',
    'tools.count': 'Total de ferramentas',
    'tools.agent_tools': 'Ferramentas do Agente',
    'tools.cli_tools': 'Ferramentas CLI',
    'tools.parameter_schema': 'Esquema de Parâmetros',
    'tools.path': 'Caminho',
    'tools.version': 'Versão',
    'tools.category': 'Categoria',
    'tools.load_error': 'Falha ao carregar ferramentas',

    // Cron
    'cron.title': 'Tarefas Agendadas',
    'cron.scheduled_tasks': 'Tarefas Agendadas',
    'cron.add': 'Adicionar Tarefa',
    'cron.add_job': 'Adicionar Tarefa',
    'cron.add_modal_title': 'Adicionar Tarefa Cron',
    'cron.delete': 'Excluir',
    'cron.enable': 'Ativar',
    'cron.disable': 'Desativar',
    'cron.name': 'Nome',
    'cron.name_optional': 'Nome (opcional)',
    'cron.command': 'Comando',
    'cron.command_required': 'Comando',
    'cron.schedule': 'Agendamento',
    'cron.schedule_required': 'Agendamento',
    'cron.next_run': 'Próxima Execução',
    'cron.last_run': 'Última Execução',
    'cron.last_status': 'Último Status',
    'cron.enabled': 'Ativado',
    'cron.enabled_status': 'Ativado',
    'cron.disabled_status': 'Desativado',
    'cron.empty': 'Nenhuma tarefa agendada.',
    'cron.confirm_delete': 'Tem certeza de que deseja excluir esta tarefa?',
    'cron.load_error': 'Falha ao carregar tarefas Cron',
    'cron.validation_error': 'Agendamento e comando são obrigatórios.',
    'cron.add_error': 'Falha ao adicionar tarefa',
    'cron.delete_error': 'Falha ao excluir tarefa',
    'cron.cancel': 'Cancelar',
    'cron.adding': 'Adicionando...',
    'cron.id': 'ID',
    'cron.actions': 'Ações',
    'cron.loading_run_history': 'Carregando histórico de execuções...',
    'cron.load_run_history_error': 'Falha ao carregar histórico de execuções',
    'cron.no_runs': 'Nenhuma execução registrada ainda.',
    'cron.recent_runs': 'Execuções Recentes',
    'cron.yes': 'Sim',
    'cron.no': 'Não',
    'cron.edit': 'Editar',
    'cron.edit_modal_title': 'Editar Tarefa Cron',
    'cron.edit_error': 'Falha ao atualizar tarefa',
    'cron.saving': 'Salvando...',
    'cron.save': 'Salvar',

    // Integrations
    'integrations.title': 'Integrações',
    'integrations.available': 'Disponível',
    'integrations.active': 'Ativa',
    'integrations.coming_soon': 'Em breve',
    'integrations.category': 'Categoria',
    'integrations.status': 'Status',
    'integrations.search': 'Pesquisar integrações...',
    'integrations.empty': 'Nenhuma integração encontrada.',
    'integrations.activate': 'Ativar',
    'integrations.deactivate': 'Desativar',
    'integrations.load_error': 'Falha ao carregar integrações',
    'integrations.status_active': 'Ativa',
    'integrations.status_available': 'Disponível',
    'integrations.status_coming_soon': 'Em breve',

    // Memory
    'memory.title': 'Armazenamento de Memória',
    'memory.memory_title': 'Memória',
    'memory.search': 'Pesquisar memória...',
    'memory.search_placeholder': 'Pesquisar entradas de memória...',
    'memory.add': 'Armazenar Memória',
    'memory.add_memory': 'Adicionar Memória',
    'memory.add_modal_title': 'Adicionar Memória',
    'memory.delete': 'Excluir',
    'memory.key': 'Chave',
    'memory.key_required': 'Chave',
    'memory.content': 'Conteúdo',
    'memory.content_required': 'Conteúdo',
    'memory.category': 'Categoria',
    'memory.category_optional': 'Categoria (opcional)',
    'memory.timestamp': 'Marca temporal',
    'memory.session': 'Sessão',
    'memory.score': 'Pontuação',
    'memory.empty': 'Nenhuma entrada de memória encontrada.',
    'memory.confirm_delete': 'Tem certeza de que deseja excluir esta entrada de memória?',
    'memory.all_categories': 'Todas as Categorias',
    'memory.search_button': 'Pesquisar',
    'memory.load_error': 'Falha ao carregar memória',
    'memory.saving': 'Salvando...',
    'memory.validation_error': 'Chave e conteúdo são obrigatórios.',
    'memory.store_error': 'Falha ao armazenar memória',
    'memory.delete_error': 'Falha ao excluir memória',
    'memory.delete_confirm': 'Excluir?',
    'memory.yes': 'Sim',
    'memory.no': 'Não',
    'memory.cancel': 'Cancelar',

    // Config
    'config.title': 'Configuração',
    'config.save': 'Salvar',
    'config.saving': 'Salvando...',
    'config.reset': 'Redefinir',
    'config.saved': 'Configuração salva com sucesso.',
    'config.error': 'Falha ao salvar configuração.',
    'config.loading': 'Carregando configuração...',
    'config.editor_placeholder': 'Configuração TOML...',
    'config.configuration_title': 'Configuração',
    'config.sensitive_title': 'Campos sensíveis estão mascarados',
    'config.sensitive_hint': 'Chaves de API, Token e senhas estão ocultos por segurança. Para atualizar um campo mascarado, substitua o valor mascarado inteiro pelo seu novo valor.',
    'config.save_success': 'Configuração salva com sucesso.',
    'config.save_error': 'Falha ao salvar configuração',
    'config.toml_label': 'Configuração TOML',
    'config.lines': 'linhas',

    // Cost
    'cost.title': 'Rastreador de Custos',
    'cost.session': 'Custo da Sessão',
    'cost.daily': 'Custo Diário',
    'cost.monthly': 'Custo Mensal',
    'cost.total_tokens': 'Total de Token',
    'cost.request_count': 'Requisições',
    'cost.by_model': 'Custo por Modelo',
    'cost.model': 'Modelo',
    'cost.tokens': 'Token',
    'cost.requests': 'Requisições',
    'cost.usd': 'Custo (USD)',
    'cost.load_error': 'Falha ao carregar dados de custo',
    'cost.session_cost': 'Custo da Sessão',
    'cost.daily_cost': 'Custo Diário',
    'cost.monthly_cost': 'Custo Mensal',
    'cost.total_requests': 'Total de Requisições',
    'cost.token_statistics': 'Estatísticas de Token',
    'cost.avg_tokens_per_request': 'Média de Token por Requisição',
    'cost.cost_per_1k_tokens': 'Custo por 1K Token',
    'cost.model_breakdown': 'Detalhamento por Modelo',
    'cost.no_model_data': 'Nenhum dado de modelo disponível.',
    'cost.cost': 'Custo',
    'cost.share': 'Compartilhar',

    // Logs
    'logs.title': 'Logs em Tempo Real',
    'logs.live_logs': 'Logs em Tempo Real',
    'logs.clear': 'Limpar',
    'logs.pause': 'Pausar',
    'logs.resume': 'Retomar',
    'logs.filter': 'Filtrar logs...',
    'logs.filter_label': 'Filtro',
    'logs.empty': 'Nenhuma entrada de log.',
    'logs.connected': 'Conectado',
    'logs.disconnected': 'Desconectado',
    'logs.events': 'eventos',
    'logs.jump_to_bottom': 'Ir para o final',
    'logs.paused_hint': 'A transmissão de logs está pausada.',
    'logs.waiting_hint': 'Aguardando eventos...',

    // Doctor
    'doctor.title': 'Diagnóstico do Sistema',
    'doctor.diagnostics_title': 'Diagnóstico',
    'doctor.run': 'Executar Diagnóstico',
    'doctor.run_diagnostics': 'Executar Diagnóstico',
    'doctor.running': 'Executando diagnóstico...',
    'doctor.running_btn': 'Executando...',
    'doctor.running_desc': 'Executando diagnóstico...',
    'doctor.running_hint': 'Isso pode levar alguns segundos.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Aviso',
    'doctor.error': 'Erro',
    'doctor.severity': 'Severidade',
    'doctor.category': 'Categoria',
    'doctor.message': 'Mensagem',
    'doctor.empty': 'Nenhum diagnóstico foi executado ainda.',
    'doctor.summary': 'Resumo do Diagnóstico',
    'doctor.issues_found': 'Problemas Encontrados',
    'doctor.warnings_summary': 'Avisos',
    'doctor.all_clear': 'Tudo certo',
    'doctor.system_diagnostics': 'Diagnóstico do Sistema',
    'doctor.empty_hint': 'Clique em "Executar Diagnóstico" para verificar sua instalação do ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Parear Dispositivo',
    'auth.pairing_code': 'Código de Pareamento',
    'auth.pair_button': 'Parear',
    'auth.logout': 'Sair',
    'auth.pairing_success': 'Pareamento realizado com sucesso!',
    'auth.pairing_failed': 'Falha no pareamento. Por favor, tente novamente.',
    'auth.enter_code': 'Digite seu código de pareamento para conectar ao agente.',

    // Common
    'common.loading': 'Carregando...',
    'common.error': 'Ocorreu um erro.',
    'common.retry': 'Tentar novamente',
    'common.cancel': 'Cancelar',
    'common.confirm': 'Confirmar',
    'common.save': 'Salvar',
    'common.delete': 'Excluir',
    'common.edit': 'Editar',
    'common.close': 'Fechar',
    'common.yes': 'Sim',
    'common.no': 'Não',
    'common.search': 'Pesquisar...',
    'common.no_data': 'Nenhum dado disponível.',
    'common.refresh': 'Atualizar',
    'common.back': 'Voltar',
    'common.actions': 'Ações',
    'common.name': 'Nome',
    'common.description': 'Descrição',
    'common.status': 'Status',
    'common.created': 'Criado',
    'common.updated': 'Atualizado',

    // Health
    'health.title': 'Saúde do Sistema',
    'health.component': 'Componente',
    'health.status': 'Status',
    'health.last_ok': 'Último OK',
    'health.last_error': 'Último Erro',
    'health.restart_count': 'Reinícios',
    'health.pid': 'ID do Processo',
    'health.uptime': 'Tempo de atividade',
    'health.updated_at': 'Última Atualização',

    // Dashboard
    'dashboard.provider_model': 'Provedor / Modelo',
    'dashboard.since_last_restart': 'Desde o último reinício',
    'dashboard.paired_yes': 'Sim',
    'dashboard.paired_no': 'Não',
    'dashboard.cost_overview': 'Visão Geral de Custos',
    'dashboard.active_channels': 'Canais Ativos',
    'dashboard.filter_active': 'Ativos',
    'dashboard.filter_all': 'Todos',
    'dashboard.no_active_channels': 'Nenhum canal ativo',
    'dashboard.component_health': 'Saúde dos Componentes',
    'dashboard.load_error': 'Falha ao carregar painel',
    'dashboard.session_label': 'Sessão',
    'dashboard.daily_label': 'Diário',
    'dashboard.monthly_label': 'Mensal',
    'dashboard.total_tokens_label': 'Total de Token',
    'dashboard.requests_label': 'Requisições',
    'dashboard.no_channels': 'Nenhum canal configurado',
    'dashboard.active': 'Ativo',
    'dashboard.inactive': 'Inativo',
    'dashboard.no_components': 'Nenhum componente reportando',
    'dashboard.restarts': 'Reinícios',
    'dashboard.tab_overview': 'Visão Geral',
    'dashboard.tab_sessions': 'Sessões',
    'dashboard.tab_channels': 'Canais',
    'dashboard.sessions_title': 'Sessões Ativas',
    'dashboard.no_sessions': 'Nenhuma sessão ativa',
    'dashboard.session_id': 'ID da Sessão',
    'dashboard.session_started': 'Iniciado',
    'dashboard.session_last_activity': 'Última Atividade',
    'dashboard.session_messages': 'Mensagens',
    'dashboard.session_details': 'Detalhes da Sessão',
    'dashboard.session_history': 'Ver Histórico',
    'dashboard.channels_title': 'Status dos Canais',
    'dashboard.no_channels_detail': 'Nenhum detalhe de canal disponível',
    'dashboard.channel_type': 'Tipo',
    'dashboard.channel_messages': 'Mensagens',
    'dashboard.channel_last_message': 'Última Mensagem',
    'dashboard.channel_config': 'Configuração',
    'dashboard.channel_enabled': 'Ativado',
    'dashboard.channel_disabled': 'Desativado',
    'dashboard.loading_sessions': 'Carregando sessões...',
    'dashboard.loading_channels': 'Carregando canais...',
    'dashboard.load_sessions_error': 'Falha ao carregar sessões',
    'dashboard.load_channels_error': 'Falha ao carregar canais',
    'dashboard.never': 'Nunca',

    // Settings
    'settings.title': 'Configurações',
    'settings.tab.appearance': 'Aparência',
    'settings.tab.typography': 'Tipografia',
    'settings.appearance': 'Aparência',
    'settings.typography': 'Tipografia',
    'settings.fontUi': 'Fonte da UI',
    'settings.fontMono': 'Fonte de Código',
    'settings.fontSize': 'Tamanho da Fonte da UI',
    'settings.fontMonoSize': 'Tamanho da Fonte de Código',
    'settings.preview': 'Pré-visualização',
    'settings.previewText': 'A rápida raposa marrom pula sobre o cachorro preguiçoso.',
    'settings.fontNote': 'As alterações de fonte serão aplicadas ao recarregar a página.',
    'settings.language': 'Idioma',

    // Theme
    'theme.mode': 'Modo do Tema',
    'theme.accent': 'Cor de Destaque',
    'theme.system': 'Sistema',
    'theme.dark': 'Escuro',
    'theme.light': 'Claro',
    'theme.oled': 'OLED Preto',
  },

  ro: {
    // Navigation
    'nav.dashboard': 'Panou de control',
    'nav.agent': 'Agent',
    'nav.tools': 'Instrumente',
    'nav.cron': 'Sarcini programate',
    'nav.integrations': 'Integrări',
    'nav.memory': 'Memorie',
    'nav.config': 'Configurare',
    'nav.cost': 'Urmărire costuri',
    'nav.logs': 'Jurnale',
    'nav.doctor': 'Diagnosticare',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Panou de control',
    'dashboard.provider': 'Furnizor',
    'dashboard.model': 'Model',
    'dashboard.uptime': 'Timp de funcționare',
    'dashboard.temperature': 'Temperatură',
    'dashboard.gateway_port': 'Port Gateway',
    'dashboard.memory_backend': 'Backend Memorie',
    'dashboard.paired': 'Împerecheat',
    'dashboard.channels': 'Canale',
    'dashboard.health': 'Sănătate',
    'dashboard.status': 'Stare',
    'dashboard.overview': 'Prezentare generală',
    'dashboard.system_info': 'Informații despre sistem',
    'dashboard.quick_actions': 'Acțiuni rapide',

    // Agent / Chat
    'agent.title': 'Chat Agent',
    'agent.send': 'Trimite',
    'agent.placeholder': 'Scrie un mesaj...',
    'agent.start_conversation': 'Trimite un mesaj pentru a începe conversația',
    'agent.type_message': 'Scrie un mesaj...',
    'agent.connecting': 'Se conectează...',
    'agent.connected': 'Conectat',
    'agent.disconnected': 'Deconectat',
    'agent.reconnecting': 'Se reconectează...',
    'agent.thinking': 'Se gândește...',
    'agent.tool_call': 'Apel instrument',
    'agent.tool_result': 'Rezultat instrument',
    'agent.connection_error': 'Eroare de conexiune. Se încearcă reconectarea...',
    'agent.tool_call_prefix': '[Apel instrument]',
    'agent.tool_result_prefix': '[Rezultat instrument]',
    'agent.error_prefix': '[Eroare]',
    'agent.unknown_error': 'Eroare necunoscută',
    'agent.send_error': 'Nu s-a putut trimite mesajul. Vă rugăm încercați din nou.',
    'agent.copy_message': 'Copiază mesajul',
    'agent.connected_status': 'Conectat',
    'agent.disconnected_status': 'Deconectat',

    // Tools
    'tools.title': 'Instrumente disponibile',
    'tools.name': 'Nume',
    'tools.description': 'Descriere',
    'tools.parameters': 'Parametri',
    'tools.search': 'Caută instrumente...',
    'tools.empty': 'Nu sunt instrumente disponibile.',
    'tools.count': 'Total instrumente',
    'tools.agent_tools': 'Instrumente agent',
    'tools.cli_tools': 'Instrumente CLI',
    'tools.parameter_schema': 'Schema parametrilor',
    'tools.path': 'Cale',
    'tools.version': 'Versiune',
    'tools.category': 'Categorie',
    'tools.load_error': 'Nu s-au putut încărca instrumentele',

    // Cron
    'cron.title': 'Sarcini programate',
    'cron.scheduled_tasks': 'Sarcini programate',
    'cron.add': 'Adaugă sarcină',
    'cron.add_job': 'Adaugă sarcină',
    'cron.add_modal_title': 'Adaugă sarcină Cron',
    'cron.delete': 'Șterge',
    'cron.enable': 'Activează',
    'cron.disable': 'Dezactivează',
    'cron.name': 'Nume',
    'cron.name_optional': 'Nume (opțional)',
    'cron.command': 'Comandă',
    'cron.command_required': 'Comandă',
    'cron.schedule': 'Program',
    'cron.schedule_required': 'Program',
    'cron.next_run': 'Următoarea rulare',
    'cron.last_run': 'Ultima rulare',
    'cron.last_status': 'Ultima stare',
    'cron.enabled': 'Activat',
    'cron.enabled_status': 'Activat',
    'cron.disabled_status': 'Dezactivat',
    'cron.empty': 'Nu există sarcini programate.',
    'cron.confirm_delete': 'Sunteți sigur că doriți să ștergeți această sarcină?',
    'cron.load_error': 'Nu s-au putut încărca sarcinile Cron',
    'cron.validation_error': 'Programul și comanda sunt obligatorii.',
    'cron.add_error': 'Nu s-a putut adăuga sarcina',
    'cron.delete_error': 'Nu s-a putut șterge sarcina',
    'cron.cancel': 'Anulare',
    'cron.adding': 'Se adaugă...',
    'cron.id': 'ID',
    'cron.actions': 'Acțiuni',
    'cron.loading_run_history': 'Se încarcă istoricul rulărilor...',
    'cron.load_run_history_error': 'Nu s-a putut încărca istoricul rulărilor',
    'cron.no_runs': 'Nicio rulare înregistrată încă.',
    'cron.recent_runs': 'Rulări recente',
    'cron.yes': 'Da',
    'cron.no': 'Nu',
    'cron.edit': 'Editează',
    'cron.edit_modal_title': 'Editează sarcina Cron',
    'cron.edit_error': 'Nu s-a putut actualiza sarcina',
    'cron.saving': 'Se salvează...',
    'cron.save': 'Salvează',

    // Integrations
    'integrations.title': 'Integrări',
    'integrations.available': 'Disponibil',
    'integrations.active': 'Activ',
    'integrations.coming_soon': 'În curând',
    'integrations.category': 'Categorie',
    'integrations.status': 'Stare',
    'integrations.search': 'Caută integrări...',
    'integrations.empty': 'Nu s-au găsit integrări.',
    'integrations.activate': 'Activează',
    'integrations.deactivate': 'Dezactivează',
    'integrations.load_error': 'Nu s-au putut încărca integrările',
    'integrations.status_active': 'Activ',
    'integrations.status_available': 'Disponibil',
    'integrations.status_coming_soon': 'În curând',

    // Memory
    'memory.title': 'Depozit de memorie',
    'memory.memory_title': 'Memorie',
    'memory.search': 'Caută în memorie...',
    'memory.search_placeholder': 'Caută intrări în memorie...',
    'memory.add': 'Stochează memorie',
    'memory.add_memory': 'Adaugă memorie',
    'memory.add_modal_title': 'Adaugă memorie',
    'memory.delete': 'Șterge',
    'memory.key': 'Cheie',
    'memory.key_required': 'Cheie',
    'memory.content': 'Conținut',
    'memory.content_required': 'Conținut',
    'memory.category': 'Categorie',
    'memory.category_optional': 'Categorie (opțional)',
    'memory.timestamp': 'Marcaj temporal',
    'memory.session': 'Sesiune',
    'memory.score': 'Scor',
    'memory.empty': 'Nu s-au găsit intrări în memorie.',
    'memory.confirm_delete': 'Sunteți sigur că doriți să ștergeți această intrare din memorie?',
    'memory.all_categories': 'Toate categoriile',
    'memory.search_button': 'Caută',
    'memory.load_error': 'Nu s-a putut încărca memoria',
    'memory.saving': 'Se salvează...',
    'memory.validation_error': 'Cheia și conținutul sunt obligatorii.',
    'memory.store_error': 'Nu s-a putut stoca memoria',
    'memory.delete_error': 'Nu s-a putut șterge memoria',
    'memory.delete_confirm': 'Ștergeți?',
    'memory.yes': 'Da',
    'memory.no': 'Nu',
    'memory.cancel': 'Anulare',

    // Config
    'config.title': 'Configurare',
    'config.save': 'Salvează',
    'config.saving': 'Se salvează...',
    'config.reset': 'Resetează',
    'config.saved': 'Configurarea a fost salvată cu succes.',
    'config.error': 'Nu s-a putut salva configurarea.',
    'config.loading': 'Se încarcă configurarea...',
    'config.editor_placeholder': 'Configurare TOML...',
    'config.configuration_title': 'Configurare',
    'config.sensitive_title': 'Câmpurile sensibile sunt mascate',
    'config.sensitive_hint': 'Cheile API, Token și parolele sunt ascunse din motive de securitate. Pentru a actualiza un câmp mascat, înlocuiți întreaga valoare mascată cu noua valoare.',
    'config.save_success': 'Configurarea a fost salvată cu succes.',
    'config.save_error': 'Nu s-a putut salva configurarea',
    'config.toml_label': 'Configurare TOML',
    'config.lines': 'linii',

    // Cost
    'cost.title': 'Urmărire costuri',
    'cost.session': 'Cost sesiune',
    'cost.daily': 'Cost zilnic',
    'cost.monthly': 'Cost lunar',
    'cost.total_tokens': 'Total Token',
    'cost.request_count': 'Cereri',
    'cost.by_model': 'Cost per model',
    'cost.model': 'Model',
    'cost.tokens': 'Token',
    'cost.requests': 'Cereri',
    'cost.usd': 'Cost (USD)',
    'cost.load_error': 'Nu s-au putut încărca datele de cost',
    'cost.session_cost': 'Cost sesiune',
    'cost.daily_cost': 'Cost zilnic',
    'cost.monthly_cost': 'Cost lunar',
    'cost.total_requests': 'Total cereri',
    'cost.token_statistics': 'Statistici Token',
    'cost.avg_tokens_per_request': 'Media Token per cerere',
    'cost.cost_per_1k_tokens': 'Cost per 1K Token',
    'cost.model_breakdown': 'Defalcare pe model',
    'cost.no_model_data': 'Nu sunt date de model disponibile.',
    'cost.cost': 'Cost',
    'cost.share': 'Partajează',

    // Logs
    'logs.title': 'Jurnale în timp real',
    'logs.live_logs': 'Jurnale în timp real',
    'logs.clear': 'Șterge',
    'logs.pause': 'Pauză',
    'logs.resume': 'Reia',
    'logs.filter': 'Filtrează jurnale...',
    'logs.filter_label': 'Filtru',
    'logs.empty': 'Nu există intrări în jurnal.',
    'logs.connected': 'Conectat',
    'logs.disconnected': 'Deconectat',
    'logs.events': 'evenimente',
    'logs.jump_to_bottom': 'Salt la final',
    'logs.paused_hint': 'Transmisia jurnalelor este în pauză.',
    'logs.waiting_hint': 'Se așteaptă evenimente...',

    // Doctor
    'doctor.title': 'Diagnosticarea sistemului',
    'doctor.diagnostics_title': 'Diagnosticare',
    'doctor.run': 'Rulează diagnosticarea',
    'doctor.run_diagnostics': 'Rulează diagnosticarea',
    'doctor.running': 'Se rulează diagnosticarea...',
    'doctor.running_btn': 'Se rulează...',
    'doctor.running_desc': 'Se rulează diagnosticarea...',
    'doctor.running_hint': 'Aceasta poate dura câteva secunde.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Avertisment',
    'doctor.error': 'Eroare',
    'doctor.severity': 'Severitate',
    'doctor.category': 'Categorie',
    'doctor.message': 'Mesaj',
    'doctor.empty': 'Nu s-a rulat nicio diagnosticare încă.',
    'doctor.summary': 'Rezumatul diagnosticării',
    'doctor.issues_found': 'Probleme găsite',
    'doctor.warnings_summary': 'Avertismente',
    'doctor.all_clear': 'Totul în regulă',
    'doctor.system_diagnostics': 'Diagnosticarea sistemului',
    'doctor.empty_hint': 'Faceți clic pe "Rulează diagnosticarea" pentru a verifica instalarea ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Împerechere dispozitiv',
    'auth.pairing_code': 'Cod de împerechere',
    'auth.pair_button': 'Împerechere',
    'auth.logout': 'Deconectare',
    'auth.pairing_success': 'Împerecherea a reușit!',
    'auth.pairing_failed': 'Împerecherea a eșuat. Vă rugăm încercați din nou.',
    'auth.enter_code': 'Introduceți codul de împerechere pentru a vă conecta la agent.',

    // Common
    'common.loading': 'Se încarcă...',
    'common.error': 'A apărut o eroare.',
    'common.retry': 'Reîncearcă',
    'common.cancel': 'Anulare',
    'common.confirm': 'Confirmă',
    'common.save': 'Salvează',
    'common.delete': 'Șterge',
    'common.edit': 'Editează',
    'common.close': 'Închide',
    'common.yes': 'Da',
    'common.no': 'Nu',
    'common.search': 'Caută...',
    'common.no_data': 'Nu sunt date disponibile.',
    'common.refresh': 'Reîmprospătează',
    'common.back': 'Înapoi',
    'common.actions': 'Acțiuni',
    'common.name': 'Nume',
    'common.description': 'Descriere',
    'common.status': 'Stare',
    'common.created': 'Creat',
    'common.updated': 'Actualizat',

    // Health
    'health.title': 'Sănătatea sistemului',
    'health.component': 'Component',
    'health.status': 'Stare',
    'health.last_ok': 'Ultimul OK',
    'health.last_error': 'Ultima eroare',
    'health.restart_count': 'Reporniri',
    'health.pid': 'ID proces',
    'health.uptime': 'Timp de funcționare',
    'health.updated_at': 'Ultima actualizare',

    // Dashboard
    'dashboard.provider_model': 'Furnizor / Model',
    'dashboard.since_last_restart': 'De la ultima repornire',
    'dashboard.paired_yes': 'Da',
    'dashboard.paired_no': 'Nu',
    'dashboard.cost_overview': 'Prezentare generală costuri',
    'dashboard.active_channels': 'Canale active',
    'dashboard.filter_active': 'Active',
    'dashboard.filter_all': 'Toate',
    'dashboard.no_active_channels': 'Nu există canale active',
    'dashboard.component_health': 'Sănătatea componentelor',
    'dashboard.load_error': 'Nu s-a putut încărca panoul de control',
    'dashboard.session_label': 'Sesiune',
    'dashboard.daily_label': 'Zilnic',
    'dashboard.monthly_label': 'Lunar',
    'dashboard.total_tokens_label': 'Total Token',
    'dashboard.requests_label': 'Cereri',
    'dashboard.no_channels': 'Nu sunt canale configurate',
    'dashboard.active': 'Activ',
    'dashboard.inactive': 'Inactiv',
    'dashboard.no_components': 'Nu sunt componente care raportează',
    'dashboard.restarts': 'Reporniri',
    'dashboard.tab_overview': 'Prezentare generală',
    'dashboard.tab_sessions': 'Sesiuni',
    'dashboard.tab_channels': 'Canale',
    'dashboard.sessions_title': 'Sesiuni active',
    'dashboard.no_sessions': 'Nu există sesiuni active',
    'dashboard.session_id': 'ID sesiune',
    'dashboard.session_started': 'Început',
    'dashboard.session_last_activity': 'Ultima activitate',
    'dashboard.session_messages': 'Mesaje',
    'dashboard.session_details': 'Detalii sesiune',
    'dashboard.session_history': 'Vezi istoricul',
    'dashboard.channels_title': 'Starea canalelor',
    'dashboard.no_channels_detail': 'Nu sunt detalii despre canal disponibile',
    'dashboard.channel_type': 'Tip',
    'dashboard.channel_messages': 'Mesaje',
    'dashboard.channel_last_message': 'Ultimul mesaj',
    'dashboard.channel_config': 'Configurare',
    'dashboard.channel_enabled': 'Activat',
    'dashboard.channel_disabled': 'Dezactivat',
    'dashboard.loading_sessions': 'Se încarcă sesiunile...',
    'dashboard.loading_channels': 'Se încarcă canalele...',
    'dashboard.load_sessions_error': 'Nu s-au putut încărca sesiunile',
    'dashboard.load_channels_error': 'Nu s-au putut încărca canalele',
    'dashboard.never': 'Niciodată',

    // Settings
    'settings.title': 'Setări',
    'settings.tab.appearance': 'Aspect',
    'settings.tab.typography': 'Tipografie',
    'settings.appearance': 'Aspect',
    'settings.typography': 'Tipografie',
    'settings.fontUi': 'Font UI',
    'settings.fontMono': 'Font cod',
    'settings.fontSize': 'Dimensiune font UI',
    'settings.fontMonoSize': 'Dimensiune font cod',
    'settings.preview': 'Previzualizare',
    'settings.previewText': 'Vulpea maro și rapidă sare peste câinele leneș.',
    'settings.fontNote': 'Modificările fontului se aplică la reîncărcarea paginii.',
    'settings.language': 'Limbă',

    // Theme
    'theme.mode': 'Mod temă',
    'theme.accent': 'Culoare de accent',
    'theme.system': 'Sistem',
    'theme.dark': 'Întunecat',
    'theme.light': 'Luminos',
    'theme.oled': 'OLED Negru',
  },

  ru: {
    // Navigation
    'nav.dashboard': 'Панель управления',
    'nav.agent': 'Агент',
    'nav.tools': 'Инструменты',
    'nav.cron': 'Запланированные задачи',
    'nav.integrations': 'Интеграции',
    'nav.memory': 'Память',
    'nav.config': 'Конфигурация',
    'nav.cost': 'Учёт расходов',
    'nav.logs': 'Журналы',
    'nav.doctor': 'Диагностика',
    'nav.canvas': 'Холст',

    // Dashboard
    'dashboard.title': 'Панель управления',
    'dashboard.provider': 'Провайдер',
    'dashboard.model': 'Модель',
    'dashboard.uptime': 'Время работы',
    'dashboard.temperature': 'Температура',
    'dashboard.gateway_port': 'Порт шлюза',
    'dashboard.memory_backend': 'Бэкенд памяти',
    'dashboard.paired': 'Сопряжено',
    'dashboard.channels': 'Каналы',
    'dashboard.health': 'Состояние',
    'dashboard.status': 'Статус',
    'dashboard.overview': 'Обзор',
    'dashboard.system_info': 'Информация о системе',
    'dashboard.quick_actions': 'Быстрые действия',

    // Agent / Chat
    'agent.title': 'Чат с агентом',
    'agent.send': 'Отправить',
    'agent.placeholder': 'Введите сообщение...',
    'agent.start_conversation': 'Отправьте сообщение, чтобы начать разговор',
    'agent.type_message': 'Введите сообщение...',
    'agent.connecting': 'Подключение...',
    'agent.connected': 'Подключено',
    'agent.disconnected': 'Отключено',
    'agent.reconnecting': 'Переподключение...',
    'agent.thinking': 'Думаю...',
    'agent.tool_call': 'Вызов инструмента',
    'agent.tool_result': 'Результат инструмента',
    'agent.connection_error': 'Ошибка соединения. Попытка переподключения...',
    'agent.tool_call_prefix': '[Вызов инструмента]',
    'agent.tool_result_prefix': '[Результат инструмента]',
    'agent.error_prefix': '[Ошибка]',
    'agent.unknown_error': 'Неизвестная ошибка',
    'agent.send_error': 'Не удалось отправить сообщение. Пожалуйста, попробуйте снова.',
    'agent.copy_message': 'Скопировать сообщение',
    'agent.connected_status': 'Подключено',
    'agent.disconnected_status': 'Отключено',

    // Tools
    'tools.title': 'Доступные инструменты',
    'tools.name': 'Название',
    'tools.description': 'Описание',
    'tools.parameters': 'Параметры',
    'tools.search': 'Поиск инструментов...',
    'tools.empty': 'Нет доступных инструментов.',
    'tools.count': 'Всего инструментов',
    'tools.agent_tools': 'Инструменты агента',
    'tools.cli_tools': 'Инструменты CLI',
    'tools.parameter_schema': 'Схема параметров',
    'tools.path': 'Путь',
    'tools.version': 'Версия',
    'tools.category': 'Категория',
    'tools.load_error': 'Не удалось загрузить инструменты',

    // Cron
    'cron.title': 'Запланированные задачи',
    'cron.scheduled_tasks': 'Запланированные задачи',
    'cron.add': 'Добавить задачу',
    'cron.add_job': 'Добавить задачу',
    'cron.add_modal_title': 'Добавить задачу Cron',
    'cron.delete': 'Удалить',
    'cron.enable': 'Включить',
    'cron.disable': 'Отключить',
    'cron.name': 'Название',
    'cron.name_optional': 'Название (необязательно)',
    'cron.command': 'Команда',
    'cron.command_required': 'Команда',
    'cron.schedule': 'Расписание',
    'cron.schedule_required': 'Расписание',
    'cron.next_run': 'Следующий запуск',
    'cron.last_run': 'Последний запуск',
    'cron.last_status': 'Последний статус',
    'cron.enabled': 'Включено',
    'cron.enabled_status': 'Включено',
    'cron.disabled_status': 'Отключено',
    'cron.empty': 'Нет запланированных задач.',
    'cron.confirm_delete': 'Вы уверены, что хотите удалить эту задачу?',
    'cron.load_error': 'Не удалось загрузить задачи Cron',
    'cron.validation_error': 'Расписание и команда обязательны.',
    'cron.add_error': 'Не удалось добавить задачу',
    'cron.delete_error': 'Не удалось удалить задачу',
    'cron.cancel': 'Отмена',
    'cron.adding': 'Добавление...',
    'cron.id': 'ID',
    'cron.actions': 'Действия',
    'cron.loading_run_history': 'Загрузка истории запусков...',
    'cron.load_run_history_error': 'Не удалось загрузить историю запусков',
    'cron.no_runs': 'Записей о запусках пока нет.',
    'cron.recent_runs': 'Последние запуски',
    'cron.yes': 'Да',
    'cron.no': 'Нет',
    'cron.edit': 'Редактировать',
    'cron.edit_modal_title': 'Редактировать задачу Cron',
    'cron.edit_error': 'Не удалось обновить задачу',
    'cron.saving': 'Сохранение...',
    'cron.save': 'Сохранить',

    // Integrations
    'integrations.title': 'Интеграции',
    'integrations.available': 'Доступно',
    'integrations.active': 'Активно',
    'integrations.coming_soon': 'Скоро',
    'integrations.category': 'Категория',
    'integrations.status': 'Статус',
    'integrations.search': 'Поиск интеграций...',
    'integrations.empty': 'Интеграции не найдены.',
    'integrations.activate': 'Активировать',
    'integrations.deactivate': 'Деактивировать',
    'integrations.load_error': 'Не удалось загрузить интеграции',
    'integrations.status_active': 'Активно',
    'integrations.status_available': 'Доступно',
    'integrations.status_coming_soon': 'Скоро',

    // Memory
    'memory.title': 'Хранилище памяти',
    'memory.memory_title': 'Память',
    'memory.search': 'Поиск в памяти...',
    'memory.search_placeholder': 'Поиск записей памяти...',
    'memory.add': 'Сохранить в память',
    'memory.add_memory': 'Добавить запись',
    'memory.add_modal_title': 'Добавить запись',
    'memory.delete': 'Удалить',
    'memory.key': 'Ключ',
    'memory.key_required': 'Ключ',
    'memory.content': 'Содержимое',
    'memory.content_required': 'Содержимое',
    'memory.category': 'Категория',
    'memory.category_optional': 'Категория (необязательно)',
    'memory.timestamp': 'Время',
    'memory.session': 'Сессия',
    'memory.score': 'Оценка',
    'memory.empty': 'Записей памяти не найдено.',
    'memory.confirm_delete': 'Вы уверены, что хотите удалить эту запись памяти?',
    'memory.all_categories': 'Все категории',
    'memory.search_button': 'Поиск',
    'memory.load_error': 'Не удалось загрузить память',
    'memory.saving': 'Сохранение...',
    'memory.validation_error': 'Ключ и содержимое обязательны.',
    'memory.store_error': 'Не удалось сохранить запись',
    'memory.delete_error': 'Не удалось удалить запись',
    'memory.delete_confirm': 'Удалить?',
    'memory.yes': 'Да',
    'memory.no': 'Нет',
    'memory.cancel': 'Отмена',

    // Config
    'config.title': 'Конфигурация',
    'config.save': 'Сохранить',
    'config.saving': 'Сохранение...',
    'config.reset': 'Сбросить',
    'config.saved': 'Конфигурация успешно сохранена.',
    'config.error': 'Не удалось сохранить конфигурацию.',
    'config.loading': 'Загрузка конфигурации...',
    'config.editor_placeholder': 'Конфигурация TOML...',
    'config.configuration_title': 'Конфигурация',
    'config.sensitive_title': 'Конфиденциальные поля скрыты',
    'config.sensitive_hint': 'API-ключи, токены и пароли скрыты в целях безопасности. Чтобы обновить скрытое поле, замените всё скрытое значение новым.',
    'config.save_success': 'Конфигурация успешно сохранена.',
    'config.save_error': 'Не удалось сохранить конфигурацию',
    'config.toml_label': 'Конфигурация TOML',
    'config.lines': 'строк',

    // Cost
    'cost.title': 'Учёт расходов',
    'cost.session': 'Стоимость сессии',
    'cost.daily': 'Дневная стоимость',
    'cost.monthly': 'Месячная стоимость',
    'cost.total_tokens': 'Всего токенов',
    'cost.request_count': 'Запросы',
    'cost.by_model': 'Стоимость по модели',
    'cost.model': 'Модель',
    'cost.tokens': 'Токены',
    'cost.requests': 'Запросы',
    'cost.usd': 'Стоимость (USD)',
    'cost.load_error': 'Не удалось загрузить данные о расходах',
    'cost.session_cost': 'Стоимость сессии',
    'cost.daily_cost': 'Дневная стоимость',
    'cost.monthly_cost': 'Месячная стоимость',
    'cost.total_requests': 'Всего запросов',
    'cost.token_statistics': 'Статистика токенов',
    'cost.avg_tokens_per_request': 'Среднее кол-во токенов / запрос',
    'cost.cost_per_1k_tokens': 'Стоимость за 1K токенов',
    'cost.model_breakdown': 'Разбивка по моделям',
    'cost.no_model_data': 'Нет данных по моделям.',
    'cost.cost': 'Стоимость',
    'cost.share': 'Поделиться',

    // Logs
    'logs.title': 'Журнал в реальном времени',
    'logs.live_logs': 'Журнал в реальном времени',
    'logs.clear': 'Очистить',
    'logs.pause': 'Пауза',
    'logs.resume': 'Продолжить',
    'logs.filter': 'Фильтр журналов...',
    'logs.filter_label': 'Фильтр',
    'logs.empty': 'Нет записей в журнале.',
    'logs.connected': 'Подключено',
    'logs.disconnected': 'Отключено',
    'logs.events': 'события',
    'logs.jump_to_bottom': 'Перейти вниз',
    'logs.paused_hint': 'Потоковая передача журналов приостановлена.',
    'logs.waiting_hint': 'Ожидание событий...',

    // Doctor
    'doctor.title': 'Диагностика системы',
    'doctor.diagnostics_title': 'Диагностика',
    'doctor.run': 'Запустить диагностику',
    'doctor.run_diagnostics': 'Запустить диагностику',
    'doctor.running': 'Выполняется диагностика...',
    'doctor.running_btn': 'Выполняется...',
    'doctor.running_desc': 'Выполняется диагностика...',
    'doctor.running_hint': 'Это может занять несколько секунд.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Предупреждение',
    'doctor.error': 'Ошибка',
    'doctor.severity': 'Серьёзность',
    'doctor.category': 'Категория',
    'doctor.message': 'Сообщение',
    'doctor.empty': 'Диагностика ещё не проводилась.',
    'doctor.summary': 'Сводка диагностики',
    'doctor.issues_found': 'Обнаруженные проблемы',
    'doctor.warnings_summary': 'Предупреждения',
    'doctor.all_clear': 'Всё в порядке',
    'doctor.system_diagnostics': 'Диагностика системы',
    'doctor.empty_hint': 'Нажмите «Запустить диагностику», чтобы проверить установку ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'Сопряжение устройства',
    'auth.pairing_code': 'Код сопряжения',
    'auth.pair_button': 'Сопрячь',
    'auth.logout': 'Выйти',
    'auth.pairing_success': 'Сопряжение выполнено успешно!',
    'auth.pairing_failed': 'Сопряжение не удалось. Пожалуйста, попробуйте снова.',
    'auth.enter_code': 'Введите код сопряжения для подключения к агенту.',

    // Common
    'common.loading': 'Загрузка...',
    'common.error': 'Произошла ошибка.',
    'common.retry': 'Повторить',
    'common.cancel': 'Отмена',
    'common.confirm': 'Подтвердить',
    'common.save': 'Сохранить',
    'common.delete': 'Удалить',
    'common.edit': 'Редактировать',
    'common.close': 'Закрыть',
    'common.yes': 'Да',
    'common.no': 'Нет',
    'common.search': 'Поиск...',
    'common.no_data': 'Нет данных.',
    'common.refresh': 'Обновить',
    'common.back': 'Назад',
    'common.actions': 'Действия',
    'common.name': 'Название',
    'common.description': 'Описание',
    'common.status': 'Статус',
    'common.created': 'Создано',
    'common.updated': 'Обновлено',

    // Health
    'health.title': 'Состояние системы',
    'health.component': 'Компонент',
    'health.status': 'Статус',
    'health.last_ok': 'Последнее OK',
    'health.last_error': 'Последняя ошибка',
    'health.restart_count': 'Перезапуски',
    'health.pid': 'ID процесса',
    'health.uptime': 'Время работы',
    'health.updated_at': 'Последнее обновление',

    // Dashboard
    'dashboard.provider_model': 'Провайдер / Модель',
    'dashboard.since_last_restart': 'С последнего перезапуска',
    'dashboard.paired_yes': 'Да',
    'dashboard.paired_no': 'Нет',
    'dashboard.cost_overview': 'Обзор расходов',
    'dashboard.active_channels': 'Активные каналы',
    'dashboard.filter_active': 'Активные',
    'dashboard.filter_all': 'Все',
    'dashboard.no_active_channels': 'Нет активных каналов',
    'dashboard.component_health': 'Состояние компонентов',
    'dashboard.load_error': 'Не удалось загрузить панель управления',
    'dashboard.session_label': 'Сессия',
    'dashboard.daily_label': 'Дневная',
    'dashboard.monthly_label': 'Месячная',
    'dashboard.total_tokens_label': 'Всего токенов',
    'dashboard.requests_label': 'Запросы',
    'dashboard.no_channels': 'Каналы не настроены',
    'dashboard.active': 'Активно',
    'dashboard.inactive': 'Неактивно',
    'dashboard.no_components': 'Нет отчётов от компонентов',
    'dashboard.restarts': 'Перезапуски',
    'dashboard.tab_overview': 'Обзор',
    'dashboard.tab_sessions': 'Сессии',
    'dashboard.tab_channels': 'Каналы',
    'dashboard.sessions_title': 'Активные сессии',
    'dashboard.no_sessions': 'Нет активных сессий',
    'dashboard.session_id': 'ID сессии',
    'dashboard.session_started': 'Начало',
    'dashboard.session_last_activity': 'Последняя активность',
    'dashboard.session_messages': 'Сообщения',
    'dashboard.session_details': 'Детали сессии',
    'dashboard.session_history': 'Просмотр истории',
    'dashboard.channels_title': 'Статус каналов',
    'dashboard.no_channels_detail': 'Нет данных о каналах',
    'dashboard.channel_type': 'Тип',
    'dashboard.channel_messages': 'Сообщения',
    'dashboard.channel_last_message': 'Последнее сообщение',
    'dashboard.channel_config': 'Конфигурация',
    'dashboard.channel_enabled': 'Включён',
    'dashboard.channel_disabled': 'Отключён',
    'dashboard.loading_sessions': 'Загрузка сессий...',
    'dashboard.loading_channels': 'Загрузка каналов...',
    'dashboard.load_sessions_error': 'Не удалось загрузить сессии',
    'dashboard.load_channels_error': 'Не удалось загрузить каналы',
    'dashboard.never': 'Никогда',

    // Settings
    'settings.title': 'Настройки',
    'settings.tab.appearance': 'Внешний вид',
    'settings.tab.typography': 'Типографика',
    'settings.appearance': 'Внешний вид',
    'settings.typography': 'Типографика',
    'settings.fontUi': 'Шрифт интерфейса',
    'settings.fontMono': 'Шрифт кода',
    'settings.fontSize': 'Размер шрифта интерфейса',
    'settings.fontMonoSize': 'Размер шрифта кода',
    'settings.preview': 'Предпросмотр',
    'settings.previewText': 'Съешь ещё этих мягких французских булок, да выпей чаю.',
    'settings.fontNote': 'Изменения шрифта применяются при перезагрузке страницы.',
    'settings.language': 'Язык',

    // Theme
    'theme.mode': 'Режим темы',
    'theme.accent': 'Цвет акцента',
    'theme.system': 'Системная',
    'theme.dark': 'Тёмная',
    'theme.light': 'Светлая',
    'theme.oled': 'OLED чёрная',
  },

  sv: {
    // Navigation
    'nav.dashboard': 'Instrumentpanel',
    'nav.agent': 'Agent',
    'nav.tools': 'Verktyg',
    'nav.cron': 'Schemalagda jobb',
    'nav.integrations': 'Integrationer',
    'nav.memory': 'Minne',
    'nav.config': 'Konfiguration',
    'nav.cost': 'Kostnadsspårning',
    'nav.logs': 'Loggar',
    'nav.doctor': 'Diagnostik',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Instrumentpanel',
    'dashboard.provider': 'Leverantör',
    'dashboard.model': 'Modell',
    'dashboard.uptime': 'Drifttid',
    'dashboard.temperature': 'Temperatur',
    'dashboard.gateway_port': 'Gateway-port',
    'dashboard.memory_backend': 'Minnesbakände',
    'dashboard.paired': 'Parkopplad',
    'dashboard.channels': 'Kanaler',
    'dashboard.health': 'Hälsa',
    'dashboard.status': 'Status',
    'dashboard.overview': 'Översikt',
    'dashboard.system_info': 'Systeminformation',
    'dashboard.quick_actions': 'Snabbåtgärder',

    // Agent / Chat
    'agent.title': 'Agentchatt',
    'agent.send': 'Skicka',
    'agent.placeholder': 'Skriv ett meddelande...',
    'agent.start_conversation': 'Skicka ett meddelande för att starta konversationen',
    'agent.type_message': 'Skriv ett meddelande...',
    'agent.connecting': 'Ansluter...',
    'agent.connected': 'Ansluten',
    'agent.disconnected': 'Frånkopplad',
    'agent.reconnecting': 'Återansluter...',
    'agent.thinking': 'Tänker...',
    'agent.tool_call': 'Verktygsanrop',
    'agent.tool_result': 'Verktygsresultat',
    'agent.connection_error': 'Anslutningsfel. Försöker återansluta...',
    'agent.tool_call_prefix': '[Verktygsanrop]',
    'agent.tool_result_prefix': '[Verktygsresultat]',
    'agent.error_prefix': '[Fel]',
    'agent.unknown_error': 'Okänt fel',
    'agent.send_error': 'Kunde inte skicka meddelandet. Försök igen.',
    'agent.copy_message': 'Kopiera meddelande',
    'agent.connected_status': 'Ansluten',
    'agent.disconnected_status': 'Frånkopplad',

    // Tools
    'tools.title': 'Tillgängliga verktyg',
    'tools.name': 'Namn',
    'tools.description': 'Beskrivning',
    'tools.parameters': 'Parametrar',
    'tools.search': 'Sök verktyg...',
    'tools.empty': 'Inga verktyg tillgängliga.',
    'tools.count': 'Totalt antal verktyg',
    'tools.agent_tools': 'Agentverktyg',
    'tools.cli_tools': 'CLI-verktyg',
    'tools.parameter_schema': 'Parameterschema',
    'tools.path': 'Sökväg',
    'tools.version': 'Version',
    'tools.category': 'Kategori',
    'tools.load_error': 'Kunde inte ladda verktyg',

    // Cron
    'cron.title': 'Schemalagda jobb',
    'cron.scheduled_tasks': 'Schemalagda uppgifter',
    'cron.add': 'Lägg till jobb',
    'cron.add_job': 'Lägg till jobb',
    'cron.add_modal_title': 'Lägg till Cron-jobb',
    'cron.delete': 'Ta bort',
    'cron.enable': 'Aktivera',
    'cron.disable': 'Inaktivera',
    'cron.name': 'Namn',
    'cron.name_optional': 'Namn (valfritt)',
    'cron.command': 'Kommando',
    'cron.command_required': 'Kommando',
    'cron.schedule': 'Schema',
    'cron.schedule_required': 'Schema',
    'cron.next_run': 'Nästa körning',
    'cron.last_run': 'Senaste körning',
    'cron.last_status': 'Senaste status',
    'cron.enabled': 'Aktiverad',
    'cron.enabled_status': 'Aktiverad',
    'cron.disabled_status': 'Inaktiverad',
    'cron.empty': 'Inga schemalagda jobb.',
    'cron.confirm_delete': 'Är du säker på att du vill ta bort detta jobb?',
    'cron.load_error': 'Kunde inte ladda Cron-jobb',
    'cron.validation_error': 'Schema och kommando krävs.',
    'cron.add_error': 'Kunde inte lägga till jobb',
    'cron.delete_error': 'Kunde inte ta bort jobb',
    'cron.cancel': 'Avbryt',
    'cron.adding': 'Lägger till...',
    'cron.id': 'ID',
    'cron.actions': 'Åtgärder',
    'cron.loading_run_history': 'Laddar körhistorik...',
    'cron.load_run_history_error': 'Kunde inte ladda körhistorik',
    'cron.no_runs': 'Inga körningar registrerade ännu.',
    'cron.recent_runs': 'Senaste körningar',
    'cron.yes': 'Ja',
    'cron.no': 'Nej',
    'cron.edit': 'Redigera',
    'cron.edit_modal_title': 'Redigera Cron-jobb',
    'cron.edit_error': 'Kunde inte uppdatera jobb',
    'cron.saving': 'Sparar...',
    'cron.save': 'Spara',

    // Integrations
    'integrations.title': 'Integrationer',
    'integrations.available': 'Tillgänglig',
    'integrations.active': 'Aktiv',
    'integrations.coming_soon': 'Kommer snart',
    'integrations.category': 'Kategori',
    'integrations.status': 'Status',
    'integrations.search': 'Sök integrationer...',
    'integrations.empty': 'Inga integrationer hittades.',
    'integrations.activate': 'Aktivera',
    'integrations.deactivate': 'Inaktivera',
    'integrations.load_error': 'Kunde inte ladda integrationer',
    'integrations.status_active': 'Aktiv',
    'integrations.status_available': 'Tillgänglig',
    'integrations.status_coming_soon': 'Kommer snart',

    // Memory
    'memory.title': 'Minneslagring',
    'memory.memory_title': 'Minne',
    'memory.search': 'Sök i minnet...',
    'memory.search_placeholder': 'Sök minnesposter...',
    'memory.add': 'Spara minne',
    'memory.add_memory': 'Lägg till minne',
    'memory.add_modal_title': 'Lägg till minne',
    'memory.delete': 'Ta bort',
    'memory.key': 'Nyckel',
    'memory.key_required': 'Nyckel',
    'memory.content': 'Innehåll',
    'memory.content_required': 'Innehåll',
    'memory.category': 'Kategori',
    'memory.category_optional': 'Kategori (valfritt)',
    'memory.timestamp': 'Tidsstämpel',
    'memory.session': 'Session',
    'memory.score': 'Poäng',
    'memory.empty': 'Inga minnesposter hittades.',
    'memory.confirm_delete': 'Är du säker på att du vill ta bort denna minnespost?',
    'memory.all_categories': 'Alla kategorier',
    'memory.search_button': 'Sök',
    'memory.load_error': 'Kunde inte ladda minnet',
    'memory.saving': 'Sparar...',
    'memory.validation_error': 'Nyckel och innehåll krävs.',
    'memory.store_error': 'Kunde inte spara minne',
    'memory.delete_error': 'Kunde inte ta bort minne',
    'memory.delete_confirm': 'Ta bort?',
    'memory.yes': 'Ja',
    'memory.no': 'Nej',
    'memory.cancel': 'Avbryt',

    // Config
    'config.title': 'Konfiguration',
    'config.save': 'Spara',
    'config.saving': 'Sparar...',
    'config.reset': 'Återställ',
    'config.saved': 'Konfigurationen har sparats.',
    'config.error': 'Kunde inte spara konfigurationen.',
    'config.loading': 'Laddar konfiguration...',
    'config.editor_placeholder': 'TOML-konfiguration...',
    'config.configuration_title': 'Konfiguration',
    'config.sensitive_title': 'Känsliga fält är dolda',
    'config.sensitive_hint': 'API-nycklar, token och lösenord är dolda av säkerhetsskäl. För att uppdatera ett dolt fält, ersätt hela det dolda värdet med ditt nya värde.',
    'config.save_success': 'Konfigurationen har sparats.',
    'config.save_error': 'Kunde inte spara konfigurationen',
    'config.toml_label': 'TOML-konfiguration',
    'config.lines': 'rader',

    // Cost
    'cost.title': 'Kostnadsspårning',
    'cost.session': 'Sessionskostnad',
    'cost.daily': 'Daglig kostnad',
    'cost.monthly': 'Månadskostnad',
    'cost.total_tokens': 'Totalt antal token',
    'cost.request_count': 'Förfrågningar',
    'cost.by_model': 'Kostnad per modell',
    'cost.model': 'Modell',
    'cost.tokens': 'Token',
    'cost.requests': 'Förfrågningar',
    'cost.usd': 'Kostnad (USD)',
    'cost.load_error': 'Kunde inte ladda kostnadsdata',
    'cost.session_cost': 'Sessionskostnad',
    'cost.daily_cost': 'Daglig kostnad',
    'cost.monthly_cost': 'Månadskostnad',
    'cost.total_requests': 'Totalt antal förfrågningar',
    'cost.token_statistics': 'Tokenstatistik',
    'cost.avg_tokens_per_request': 'Genomsnittliga token / förfrågan',
    'cost.cost_per_1k_tokens': 'Kostnad per 1K token',
    'cost.model_breakdown': 'Uppdelning per modell',
    'cost.no_model_data': 'Ingen modelldata tillgänglig.',
    'cost.cost': 'Kostnad',
    'cost.share': 'Dela',

    // Logs
    'logs.title': 'Realtidsloggar',
    'logs.live_logs': 'Realtidsloggar',
    'logs.clear': 'Rensa',
    'logs.pause': 'Pausa',
    'logs.resume': 'Återuppta',
    'logs.filter': 'Filtrera loggar...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Inga loggposter.',
    'logs.connected': 'Ansluten',
    'logs.disconnected': 'Frånkopplad',
    'logs.events': 'händelser',
    'logs.jump_to_bottom': 'Hoppa till botten',
    'logs.paused_hint': 'Loggströmning är pausad.',
    'logs.waiting_hint': 'Väntar på händelser...',

    // Doctor
    'doctor.title': 'Systemdiagnostik',
    'doctor.diagnostics_title': 'Diagnostik',
    'doctor.run': 'Kör diagnostik',
    'doctor.run_diagnostics': 'Kör diagnostik',
    'doctor.running': 'Kör diagnostik...',
    'doctor.running_btn': 'Kör...',
    'doctor.running_desc': 'Kör diagnostik...',
    'doctor.running_hint': 'Detta kan ta några sekunder.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Varning',
    'doctor.error': 'Fel',
    'doctor.severity': 'Allvarlighetsgrad',
    'doctor.category': 'Kategori',
    'doctor.message': 'Meddelande',
    'doctor.empty': 'Ingen diagnostik har körts ännu.',
    'doctor.summary': 'Diagnostiksammanfattning',
    'doctor.issues_found': 'Problem hittade',
    'doctor.warnings_summary': 'Varningar',
    'doctor.all_clear': 'Allt klart',
    'doctor.system_diagnostics': 'Systemdiagnostik',
    'doctor.empty_hint': 'Klicka på "Kör diagnostik" för att kontrollera din ZeroClaw-installation.',

    // Auth / Pairing
    'auth.pair': 'Parkoppla enhet',
    'auth.pairing_code': 'Parkopplingskod',
    'auth.pair_button': 'Parkoppla',
    'auth.logout': 'Logga ut',
    'auth.pairing_success': 'Parkopplingen lyckades!',
    'auth.pairing_failed': 'Parkopplingen misslyckades. Försök igen.',
    'auth.enter_code': 'Ange din parkopplingskod för att ansluta till agenten.',

    // Common
    'common.loading': 'Laddar...',
    'common.error': 'Ett fel uppstod.',
    'common.retry': 'Försök igen',
    'common.cancel': 'Avbryt',
    'common.confirm': 'Bekräfta',
    'common.save': 'Spara',
    'common.delete': 'Ta bort',
    'common.edit': 'Redigera',
    'common.close': 'Stäng',
    'common.yes': 'Ja',
    'common.no': 'Nej',
    'common.search': 'Sök...',
    'common.no_data': 'Ingen data tillgänglig.',
    'common.refresh': 'Uppdatera',
    'common.back': 'Tillbaka',
    'common.actions': 'Åtgärder',
    'common.name': 'Namn',
    'common.description': 'Beskrivning',
    'common.status': 'Status',
    'common.created': 'Skapad',
    'common.updated': 'Uppdaterad',

    // Health
    'health.title': 'Systemhälsa',
    'health.component': 'Komponent',
    'health.status': 'Status',
    'health.last_ok': 'Senaste OK',
    'health.last_error': 'Senaste fel',
    'health.restart_count': 'Omstarter',
    'health.pid': 'Process-ID',
    'health.uptime': 'Drifttid',
    'health.updated_at': 'Senast uppdaterad',

    // Dashboard
    'dashboard.provider_model': 'Leverantör / Modell',
    'dashboard.since_last_restart': 'Sedan senaste omstart',
    'dashboard.paired_yes': 'Ja',
    'dashboard.paired_no': 'Nej',
    'dashboard.cost_overview': 'Kostnadsöversikt',
    'dashboard.active_channels': 'Aktiva kanaler',
    'dashboard.filter_active': 'Aktiva',
    'dashboard.filter_all': 'Alla',
    'dashboard.no_active_channels': 'Inga aktiva kanaler',
    'dashboard.component_health': 'Komponenthälsa',
    'dashboard.load_error': 'Kunde inte ladda instrumentpanelen',
    'dashboard.session_label': 'Session',
    'dashboard.daily_label': 'Daglig',
    'dashboard.monthly_label': 'Månadsvis',
    'dashboard.total_tokens_label': 'Totalt antal token',
    'dashboard.requests_label': 'Förfrågningar',
    'dashboard.no_channels': 'Inga kanaler konfigurerade',
    'dashboard.active': 'Aktiv',
    'dashboard.inactive': 'Inaktiv',
    'dashboard.no_components': 'Inga komponenter rapporterar',
    'dashboard.restarts': 'Omstarter',
    'dashboard.tab_overview': 'Översikt',
    'dashboard.tab_sessions': 'Sessioner',
    'dashboard.tab_channels': 'Kanaler',
    'dashboard.sessions_title': 'Aktiva sessioner',
    'dashboard.no_sessions': 'Inga aktiva sessioner',
    'dashboard.session_id': 'Sessions-ID',
    'dashboard.session_started': 'Startad',
    'dashboard.session_last_activity': 'Senaste aktivitet',
    'dashboard.session_messages': 'Meddelanden',
    'dashboard.session_details': 'Sessionsdetaljer',
    'dashboard.session_history': 'Visa historik',
    'dashboard.channels_title': 'Kanalstatus',
    'dashboard.no_channels_detail': 'Inga kanaldetaljer tillgängliga',
    'dashboard.channel_type': 'Typ',
    'dashboard.channel_messages': 'Meddelanden',
    'dashboard.channel_last_message': 'Senaste meddelande',
    'dashboard.channel_config': 'Konfiguration',
    'dashboard.channel_enabled': 'Aktiverad',
    'dashboard.channel_disabled': 'Inaktiverad',
    'dashboard.loading_sessions': 'Laddar sessioner...',
    'dashboard.loading_channels': 'Laddar kanaler...',
    'dashboard.load_sessions_error': 'Kunde inte ladda sessioner',
    'dashboard.load_channels_error': 'Kunde inte ladda kanaler',
    'dashboard.never': 'Aldrig',

    // Settings
    'settings.title': 'Inställningar',
    'settings.tab.appearance': 'Utseende',
    'settings.tab.typography': 'Typografi',
    'settings.appearance': 'Utseende',
    'settings.typography': 'Typografi',
    'settings.fontUi': 'Gränssnittstypsnitt',
    'settings.fontMono': 'Kodtypsnitt',
    'settings.fontSize': 'Gränssnittstypsnittsstorlek',
    'settings.fontMonoSize': 'Kodtypsnittsstorlek',
    'settings.preview': 'Förhandsgranskning',
    'settings.previewText': 'Flygande bäckasiner söka hwila på mjuka tuvor.',
    'settings.fontNote': 'Typsnittsändringar tillämpas vid sidomladdning.',
    'settings.language': 'Språk',

    // Theme
    'theme.mode': 'Temaläge',
    'theme.accent': 'Accentfärg',
    'theme.system': 'System',
    'theme.dark': 'Mörkt',
    'theme.light': 'Ljust',
    'theme.oled': 'OLED svart',
  },

  th: {
    // Navigation
    'nav.dashboard': 'แดชบอร์ด',
    'nav.agent': 'เอเจนต์',
    'nav.tools': 'เครื่องมือ',
    'nav.cron': 'งานตามกำหนดเวลา',
    'nav.integrations': 'การเชื่อมต่อ',
    'nav.memory': 'หน่วยความจำ',
    'nav.config': 'การตั้งค่า',
    'nav.cost': 'ติดตามค่าใช้จ่าย',
    'nav.logs': 'บันทึก',
    'nav.doctor': 'วินิจฉัย',
    'nav.canvas': 'แคนวาส',

    // Dashboard
    'dashboard.title': 'แดชบอร์ด',
    'dashboard.provider': 'ผู้ให้บริการ',
    'dashboard.model': 'โมเดล',
    'dashboard.uptime': 'เวลาทำงาน',
    'dashboard.temperature': 'อุณหภูมิ',
    'dashboard.gateway_port': 'พอร์ตเกตเวย์',
    'dashboard.memory_backend': 'แบ็กเอนด์หน่วยความจำ',
    'dashboard.paired': 'จับคู่แล้ว',
    'dashboard.channels': 'ช่องทาง',
    'dashboard.health': 'สถานะสุขภาพ',
    'dashboard.status': 'สถานะ',
    'dashboard.overview': 'ภาพรวม',
    'dashboard.system_info': 'ข้อมูลระบบ',
    'dashboard.quick_actions': 'การดำเนินการด่วน',

    // Agent / Chat
    'agent.title': 'แชทกับเอเจนต์',
    'agent.send': 'ส่ง',
    'agent.placeholder': 'พิมพ์ข้อความ...',
    'agent.start_conversation': 'ส่งข้อความเพื่อเริ่มการสนทนา',
    'agent.type_message': 'พิมพ์ข้อความ...',
    'agent.connecting': 'กำลังเชื่อมต่อ...',
    'agent.connected': 'เชื่อมต่อแล้ว',
    'agent.disconnected': 'ตัดการเชื่อมต่อ',
    'agent.reconnecting': 'กำลังเชื่อมต่อใหม่...',
    'agent.thinking': 'กำลังคิด...',
    'agent.tool_call': 'เรียกใช้เครื่องมือ',
    'agent.tool_result': 'ผลลัพธ์เครื่องมือ',
    'agent.connection_error': 'เกิดข้อผิดพลาดในการเชื่อมต่อ กำลังพยายามเชื่อมต่อใหม่...',
    'agent.tool_call_prefix': '[เรียกใช้เครื่องมือ]',
    'agent.tool_result_prefix': '[ผลลัพธ์เครื่องมือ]',
    'agent.error_prefix': '[ข้อผิดพลาด]',
    'agent.unknown_error': 'ข้อผิดพลาดที่ไม่ทราบสาเหตุ',
    'agent.send_error': 'ไม่สามารถส่งข้อความได้ กรุณาลองอีกครั้ง',
    'agent.copy_message': 'คัดลอกข้อความ',
    'agent.connected_status': 'เชื่อมต่อแล้ว',
    'agent.disconnected_status': 'ตัดการเชื่อมต่อ',

    // Tools
    'tools.title': 'เครื่องมือที่ใช้ได้',
    'tools.name': 'ชื่อ',
    'tools.description': 'คำอธิบาย',
    'tools.parameters': 'พารามิเตอร์',
    'tools.search': 'ค้นหาเครื่องมือ...',
    'tools.empty': 'ไม่มีเครื่องมือที่ใช้ได้',
    'tools.count': 'จำนวนเครื่องมือทั้งหมด',
    'tools.agent_tools': 'เครื่องมือเอเจนต์',
    'tools.cli_tools': 'เครื่องมือ CLI',
    'tools.parameter_schema': 'สคีมาพารามิเตอร์',
    'tools.path': 'เส้นทาง',
    'tools.version': 'เวอร์ชัน',
    'tools.category': 'หมวดหมู่',
    'tools.load_error': 'ไม่สามารถโหลดเครื่องมือได้',

    // Cron
    'cron.title': 'งานตามกำหนดเวลา',
    'cron.scheduled_tasks': 'งานตามกำหนดเวลา',
    'cron.add': 'เพิ่มงาน',
    'cron.add_job': 'เพิ่มงาน',
    'cron.add_modal_title': 'เพิ่มงาน Cron',
    'cron.delete': 'ลบ',
    'cron.enable': 'เปิดใช้งาน',
    'cron.disable': 'ปิดใช้งาน',
    'cron.name': 'ชื่อ',
    'cron.name_optional': 'ชื่อ (ไม่บังคับ)',
    'cron.command': 'คำสั่ง',
    'cron.command_required': 'คำสั่ง',
    'cron.schedule': 'กำหนดเวลา',
    'cron.schedule_required': 'กำหนดเวลา',
    'cron.next_run': 'การรันถัดไป',
    'cron.last_run': 'การรันล่าสุด',
    'cron.last_status': 'สถานะล่าสุด',
    'cron.enabled': 'เปิดใช้งาน',
    'cron.enabled_status': 'เปิดใช้งาน',
    'cron.disabled_status': 'ปิดใช้งาน',
    'cron.empty': 'ไม่มีงานตามกำหนดเวลา',
    'cron.confirm_delete': 'คุณแน่ใจหรือไม่ว่าต้องการลบงานนี้?',
    'cron.load_error': 'ไม่สามารถโหลดงาน Cron ได้',
    'cron.validation_error': 'กำหนดเวลาและคำสั่งเป็นข้อมูลจำเป็น',
    'cron.add_error': 'ไม่สามารถเพิ่มงานได้',
    'cron.delete_error': 'ไม่สามารถลบงานได้',
    'cron.cancel': 'ยกเลิก',
    'cron.adding': 'กำลังเพิ่ม...',
    'cron.id': 'ID',
    'cron.actions': 'การดำเนินการ',
    'cron.loading_run_history': 'กำลังโหลดประวัติการรัน...',
    'cron.load_run_history_error': 'ไม่สามารถโหลดประวัติการรันได้',
    'cron.no_runs': 'ยังไม่มีบันทึกการรัน',
    'cron.recent_runs': 'การรันล่าสุด',
    'cron.yes': 'ใช่',
    'cron.no': 'ไม่',
    'cron.edit': 'แก้ไข',
    'cron.edit_modal_title': 'แก้ไขงาน Cron',
    'cron.edit_error': 'ไม่สามารถอัปเดตงานได้',
    'cron.saving': 'กำลังบันทึก...',
    'cron.save': 'บันทึก',

    // Integrations
    'integrations.title': 'การเชื่อมต่อ',
    'integrations.available': 'พร้อมใช้งาน',
    'integrations.active': 'ใช้งานอยู่',
    'integrations.coming_soon': 'เร็ว ๆ นี้',
    'integrations.category': 'หมวดหมู่',
    'integrations.status': 'สถานะ',
    'integrations.search': 'ค้นหาการเชื่อมต่อ...',
    'integrations.empty': 'ไม่พบการเชื่อมต่อ',
    'integrations.activate': 'เปิดใช้งาน',
    'integrations.deactivate': 'ปิดใช้งาน',
    'integrations.load_error': 'ไม่สามารถโหลดการเชื่อมต่อได้',
    'integrations.status_active': 'ใช้งานอยู่',
    'integrations.status_available': 'พร้อมใช้งาน',
    'integrations.status_coming_soon': 'เร็ว ๆ นี้',

    // Memory
    'memory.title': 'คลังหน่วยความจำ',
    'memory.memory_title': 'หน่วยความจำ',
    'memory.search': 'ค้นหาในหน่วยความจำ...',
    'memory.search_placeholder': 'ค้นหารายการหน่วยความจำ...',
    'memory.add': 'บันทึกหน่วยความจำ',
    'memory.add_memory': 'เพิ่มหน่วยความจำ',
    'memory.add_modal_title': 'เพิ่มหน่วยความจำ',
    'memory.delete': 'ลบ',
    'memory.key': 'คีย์',
    'memory.key_required': 'คีย์',
    'memory.content': 'เนื้อหา',
    'memory.content_required': 'เนื้อหา',
    'memory.category': 'หมวดหมู่',
    'memory.category_optional': 'หมวดหมู่ (ไม่บังคับ)',
    'memory.timestamp': 'เวลา',
    'memory.session': 'เซสชัน',
    'memory.score': 'คะแนน',
    'memory.empty': 'ไม่พบรายการหน่วยความจำ',
    'memory.confirm_delete': 'คุณแน่ใจหรือไม่ว่าต้องการลบรายการหน่วยความจำนี้?',
    'memory.all_categories': 'ทุกหมวดหมู่',
    'memory.search_button': 'ค้นหา',
    'memory.load_error': 'ไม่สามารถโหลดหน่วยความจำได้',
    'memory.saving': 'กำลังบันทึก...',
    'memory.validation_error': 'คีย์และเนื้อหาเป็นข้อมูลจำเป็น',
    'memory.store_error': 'ไม่สามารถบันทึกหน่วยความจำได้',
    'memory.delete_error': 'ไม่สามารถลบหน่วยความจำได้',
    'memory.delete_confirm': 'ลบ?',
    'memory.yes': 'ใช่',
    'memory.no': 'ไม่',
    'memory.cancel': 'ยกเลิก',

    // Config
    'config.title': 'การตั้งค่า',
    'config.save': 'บันทึก',
    'config.saving': 'กำลังบันทึก...',
    'config.reset': 'รีเซ็ต',
    'config.saved': 'บันทึกการตั้งค่าสำเร็จ',
    'config.error': 'ไม่สามารถบันทึกการตั้งค่าได้',
    'config.loading': 'กำลังโหลดการตั้งค่า...',
    'config.editor_placeholder': 'การตั้งค่า TOML...',
    'config.configuration_title': 'การตั้งค่า',
    'config.sensitive_title': 'ฟิลด์ที่มีความละเอียดอ่อนถูกซ่อน',
    'config.sensitive_hint': 'API key, token และรหัสผ่านถูกซ่อนเพื่อความปลอดภัย หากต้องการอัปเดตฟิลด์ที่ซ่อน ให้แทนที่ค่าที่ซ่อนทั้งหมดด้วยค่าใหม่ของคุณ',
    'config.save_success': 'บันทึกการตั้งค่าสำเร็จ',
    'config.save_error': 'ไม่สามารถบันทึกการตั้งค่าได้',
    'config.toml_label': 'การตั้งค่า TOML',
    'config.lines': 'บรรทัด',

    // Cost
    'cost.title': 'ติดตามค่าใช้จ่าย',
    'cost.session': 'ค่าใช้จ่ายเซสชัน',
    'cost.daily': 'ค่าใช้จ่ายรายวัน',
    'cost.monthly': 'ค่าใช้จ่ายรายเดือน',
    'cost.total_tokens': 'Token ทั้งหมด',
    'cost.request_count': 'คำขอ',
    'cost.by_model': 'ค่าใช้จ่ายตามโมเดล',
    'cost.model': 'โมเดล',
    'cost.tokens': 'Token',
    'cost.requests': 'คำขอ',
    'cost.usd': 'ค่าใช้จ่าย (USD)',
    'cost.load_error': 'ไม่สามารถโหลดข้อมูลค่าใช้จ่ายได้',
    'cost.session_cost': 'ค่าใช้จ่ายเซสชัน',
    'cost.daily_cost': 'ค่าใช้จ่ายรายวัน',
    'cost.monthly_cost': 'ค่าใช้จ่ายรายเดือน',
    'cost.total_requests': 'คำขอทั้งหมด',
    'cost.token_statistics': 'สถิติ Token',
    'cost.avg_tokens_per_request': 'Token เฉลี่ย / คำขอ',
    'cost.cost_per_1k_tokens': 'ค่าใช้จ่ายต่อ 1K Token',
    'cost.model_breakdown': 'รายละเอียดตามโมเดล',
    'cost.no_model_data': 'ไม่มีข้อมูลโมเดล',
    'cost.cost': 'ค่าใช้จ่าย',
    'cost.share': 'แชร์',

    // Logs
    'logs.title': 'บันทึกแบบเรียลไทม์',
    'logs.live_logs': 'บันทึกแบบเรียลไทม์',
    'logs.clear': 'ล้าง',
    'logs.pause': 'หยุดชั่วคราว',
    'logs.resume': 'ดำเนินการต่อ',
    'logs.filter': 'กรองบันทึก...',
    'logs.filter_label': 'ตัวกรอง',
    'logs.empty': 'ไม่มีรายการบันทึก',
    'logs.connected': 'เชื่อมต่อแล้ว',
    'logs.disconnected': 'ตัดการเชื่อมต่อ',
    'logs.events': 'เหตุการณ์',
    'logs.jump_to_bottom': 'ข้ามไปด้านล่าง',
    'logs.paused_hint': 'การสตรีมบันทึกถูกหยุดชั่วคราว',
    'logs.waiting_hint': 'กำลังรอเหตุการณ์...',

    // Doctor
    'doctor.title': 'การวินิจฉัยระบบ',
    'doctor.diagnostics_title': 'การวินิจฉัย',
    'doctor.run': 'เรียกใช้การวินิจฉัย',
    'doctor.run_diagnostics': 'เรียกใช้การวินิจฉัย',
    'doctor.running': 'กำลังวินิจฉัย...',
    'doctor.running_btn': 'กำลังดำเนินการ...',
    'doctor.running_desc': 'กำลังวินิจฉัย...',
    'doctor.running_hint': 'อาจใช้เวลาสักครู่',
    'doctor.ok': 'OK',
    'doctor.warn': 'คำเตือน',
    'doctor.error': 'ข้อผิดพลาด',
    'doctor.severity': 'ความรุนแรง',
    'doctor.category': 'หมวดหมู่',
    'doctor.message': 'ข้อความ',
    'doctor.empty': 'ยังไม่ได้เรียกใช้การวินิจฉัย',
    'doctor.summary': 'สรุปการวินิจฉัย',
    'doctor.issues_found': 'พบปัญหา',
    'doctor.warnings_summary': 'คำเตือน',
    'doctor.all_clear': 'ทุกอย่างปกติ',
    'doctor.system_diagnostics': 'การวินิจฉัยระบบ',
    'doctor.empty_hint': 'คลิก "เรียกใช้การวินิจฉัย" เพื่อตรวจสอบการติดตั้ง ZeroClaw ของคุณ',

    // Auth / Pairing
    'auth.pair': 'จับคู่อุปกรณ์',
    'auth.pairing_code': 'รหัสจับคู่',
    'auth.pair_button': 'จับคู่',
    'auth.logout': 'ออกจากระบบ',
    'auth.pairing_success': 'จับคู่สำเร็จ!',
    'auth.pairing_failed': 'การจับคู่ล้มเหลว กรุณาลองอีกครั้ง',
    'auth.enter_code': 'ป้อนรหัสจับคู่เพื่อเชื่อมต่อกับเอเจนต์',

    // Common
    'common.loading': 'กำลังโหลด...',
    'common.error': 'เกิดข้อผิดพลาด',
    'common.retry': 'ลองอีกครั้ง',
    'common.cancel': 'ยกเลิก',
    'common.confirm': 'ยืนยัน',
    'common.save': 'บันทึก',
    'common.delete': 'ลบ',
    'common.edit': 'แก้ไข',
    'common.close': 'ปิด',
    'common.yes': 'ใช่',
    'common.no': 'ไม่',
    'common.search': 'ค้นหา...',
    'common.no_data': 'ไม่มีข้อมูล',
    'common.refresh': 'รีเฟรช',
    'common.back': 'กลับ',
    'common.actions': 'การดำเนินการ',
    'common.name': 'ชื่อ',
    'common.description': 'คำอธิบาย',
    'common.status': 'สถานะ',
    'common.created': 'สร้างเมื่อ',
    'common.updated': 'อัปเดตเมื่อ',

    // Health
    'health.title': 'สถานะสุขภาพระบบ',
    'health.component': 'คอมโพเนนต์',
    'health.status': 'สถานะ',
    'health.last_ok': 'OK ล่าสุด',
    'health.last_error': 'ข้อผิดพลาดล่าสุด',
    'health.restart_count': 'จำนวนรีสตาร์ท',
    'health.pid': 'ID กระบวนการ',
    'health.uptime': 'เวลาทำงาน',
    'health.updated_at': 'อัปเดตล่าสุด',

    // Dashboard
    'dashboard.provider_model': 'ผู้ให้บริการ / โมเดล',
    'dashboard.since_last_restart': 'ตั้งแต่การรีสตาร์ทล่าสุด',
    'dashboard.paired_yes': 'ใช่',
    'dashboard.paired_no': 'ไม่',
    'dashboard.cost_overview': 'ภาพรวมค่าใช้จ่าย',
    'dashboard.active_channels': 'ช่องทางที่ใช้งานอยู่',
    'dashboard.filter_active': 'ใช้งานอยู่',
    'dashboard.filter_all': 'ทั้งหมด',
    'dashboard.no_active_channels': 'ไม่มีช่องทางที่ใช้งานอยู่',
    'dashboard.component_health': 'สถานะสุขภาพคอมโพเนนต์',
    'dashboard.load_error': 'ไม่สามารถโหลดแดชบอร์ดได้',
    'dashboard.session_label': 'เซสชัน',
    'dashboard.daily_label': 'รายวัน',
    'dashboard.monthly_label': 'รายเดือน',
    'dashboard.total_tokens_label': 'Token ทั้งหมด',
    'dashboard.requests_label': 'คำขอ',
    'dashboard.no_channels': 'ไม่มีช่องทางที่ตั้งค่าไว้',
    'dashboard.active': 'ใช้งานอยู่',
    'dashboard.inactive': 'ไม่ใช้งาน',
    'dashboard.no_components': 'ไม่มีคอมโพเนนต์ที่รายงาน',
    'dashboard.restarts': 'รีสตาร์ท',
    'dashboard.tab_overview': 'ภาพรวม',
    'dashboard.tab_sessions': 'เซสชัน',
    'dashboard.tab_channels': 'ช่องทาง',
    'dashboard.sessions_title': 'เซสชันที่ใช้งานอยู่',
    'dashboard.no_sessions': 'ไม่มีเซสชันที่ใช้งานอยู่',
    'dashboard.session_id': 'ID เซสชัน',
    'dashboard.session_started': 'เริ่มต้น',
    'dashboard.session_last_activity': 'กิจกรรมล่าสุด',
    'dashboard.session_messages': 'ข้อความ',
    'dashboard.session_details': 'รายละเอียดเซสชัน',
    'dashboard.session_history': 'ดูประวัติ',
    'dashboard.channels_title': 'สถานะช่องทาง',
    'dashboard.no_channels_detail': 'ไม่มีรายละเอียดช่องทาง',
    'dashboard.channel_type': 'ประเภท',
    'dashboard.channel_messages': 'ข้อความ',
    'dashboard.channel_last_message': 'ข้อความล่าสุด',
    'dashboard.channel_config': 'การตั้งค่า',
    'dashboard.channel_enabled': 'เปิดใช้งาน',
    'dashboard.channel_disabled': 'ปิดใช้งาน',
    'dashboard.loading_sessions': 'กำลังโหลดเซสชัน...',
    'dashboard.loading_channels': 'กำลังโหลดช่องทาง...',
    'dashboard.load_sessions_error': 'ไม่สามารถโหลดเซสชันได้',
    'dashboard.load_channels_error': 'ไม่สามารถโหลดช่องทางได้',
    'dashboard.never': 'ไม่เคย',

    // Settings
    'settings.title': 'การตั้งค่า',
    'settings.tab.appearance': 'ลักษณะที่ปรากฏ',
    'settings.tab.typography': 'ตัวอักษร',
    'settings.appearance': 'ลักษณะที่ปรากฏ',
    'settings.typography': 'ตัวอักษร',
    'settings.fontUi': 'ฟอนต์ UI',
    'settings.fontMono': 'ฟอนต์โค้ด',
    'settings.fontSize': 'ขนาดฟอนต์ UI',
    'settings.fontMonoSize': 'ขนาดฟอนต์โค้ด',
    'settings.preview': 'ตัวอย่าง',
    'settings.previewText': 'นายสมชายชอบกินข้าวผัดกระเพราไก่ไข่ดาวทุกวัน',
    'settings.fontNote': 'การเปลี่ยนฟอนต์จะมีผลเมื่อโหลดหน้าใหม่',
    'settings.language': 'ภาษา',

    // Theme
    'theme.mode': 'โหมดธีม',
    'theme.accent': 'สีเน้น',
    'theme.system': 'ระบบ',
    'theme.dark': 'มืด',
    'theme.light': 'สว่าง',
    'theme.oled': 'OLED ดำ',
  },

  tl: {
    // Navigation
    'nav.dashboard': 'Dashboard',
    'nav.agent': 'Ahente',
    'nav.tools': 'Mga Kagamitan',
    'nav.cron': 'Mga Nakaiskedyul na Gawain',
    'nav.integrations': 'Mga Integrasyon',
    'nav.memory': 'Memorya',
    'nav.config': 'Kompigurasyon',
    'nav.cost': 'Tagasubaybay ng Gastos',
    'nav.logs': 'Mga Log',
    'nav.doctor': 'Diagnostiko',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Dashboard',
    'dashboard.provider': 'Tagapagbigay',
    'dashboard.model': 'Modelo',
    'dashboard.uptime': 'Oras ng Pagpapatakbo',
    'dashboard.temperature': 'Temperatura',
    'dashboard.gateway_port': 'Port ng Gateway',
    'dashboard.memory_backend': 'Backend ng Memorya',
    'dashboard.paired': 'Nakapares',
    'dashboard.channels': 'Mga Channel',
    'dashboard.health': 'Kalusugan',
    'dashboard.status': 'Katayuan',
    'dashboard.overview': 'Pangkalahatang-tanaw',
    'dashboard.system_info': 'Impormasyon ng Sistema',
    'dashboard.quick_actions': 'Mga Mabilisang Aksyon',

    // Agent / Chat
    'agent.title': 'Chat ng Ahente',
    'agent.send': 'Ipadala',
    'agent.placeholder': 'Mag-type ng mensahe...',
    'agent.start_conversation': 'Magpadala ng mensahe upang simulan ang pag-uusap',
    'agent.type_message': 'Mag-type ng mensahe...',
    'agent.connecting': 'Kumokonekta...',
    'agent.connected': 'Konektado',
    'agent.disconnected': 'Hindi Konektado',
    'agent.reconnecting': 'Muling kumokonekta...',
    'agent.thinking': 'Nag-iisip...',
    'agent.tool_call': 'Tawag sa Kagamitan',
    'agent.tool_result': 'Resulta ng Kagamitan',
    'agent.connection_error': 'Error sa koneksyon. Sinusubukang kumonekta muli...',
    'agent.tool_call_prefix': '[Tawag sa Kagamitan]',
    'agent.tool_result_prefix': '[Resulta ng Kagamitan]',
    'agent.error_prefix': '[Error]',
    'agent.unknown_error': 'Hindi kilalang error',
    'agent.send_error': 'Hindi maipadala ang mensahe. Pakisubukan muli.',
    'agent.copy_message': 'Kopyahin ang mensahe',
    'agent.connected_status': 'Konektado',
    'agent.disconnected_status': 'Hindi Konektado',

    // Tools
    'tools.title': 'Mga Magagamit na Kagamitan',
    'tools.name': 'Pangalan',
    'tools.description': 'Paglalarawan',
    'tools.parameters': 'Mga Parameter',
    'tools.search': 'Maghanap ng mga kagamitan...',
    'tools.empty': 'Walang magagamit na kagamitan.',
    'tools.count': 'Kabuuang mga kagamitan',
    'tools.agent_tools': 'Mga Kagamitan ng Ahente',
    'tools.cli_tools': 'Mga Kagamitan ng CLI',
    'tools.parameter_schema': 'Schema ng Parameter',
    'tools.path': 'Landas',
    'tools.version': 'Bersyon',
    'tools.category': 'Kategorya',
    'tools.load_error': 'Hindi ma-load ang mga kagamitan',

    // Cron
    'cron.title': 'Mga Nakaiskedyul na Gawain',
    'cron.scheduled_tasks': 'Mga Nakaiskedyul na Gawain',
    'cron.add': 'Magdagdag ng Gawain',
    'cron.add_job': 'Magdagdag ng Gawain',
    'cron.add_modal_title': 'Magdagdag ng Cron Job',
    'cron.delete': 'Tanggalin',
    'cron.enable': 'I-enable',
    'cron.disable': 'I-disable',
    'cron.name': 'Pangalan',
    'cron.name_optional': 'Pangalan (opsyonal)',
    'cron.command': 'Utos',
    'cron.command_required': 'Utos',
    'cron.schedule': 'Iskedyul',
    'cron.schedule_required': 'Iskedyul',
    'cron.next_run': 'Susunod na Pagpapatakbo',
    'cron.last_run': 'Huling Pagpapatakbo',
    'cron.last_status': 'Huling Katayuan',
    'cron.enabled': 'Naka-enable',
    'cron.enabled_status': 'Naka-enable',
    'cron.disabled_status': 'Naka-disable',
    'cron.empty': 'Walang nakaiskedyul na gawain.',
    'cron.confirm_delete': 'Sigurado ka bang gusto mong tanggalin ang gawaing ito?',
    'cron.load_error': 'Hindi ma-load ang mga Cron job',
    'cron.validation_error': 'Kinakailangan ang iskedyul at utos.',
    'cron.add_error': 'Hindi maidagdag ang gawain',
    'cron.delete_error': 'Hindi matanggal ang gawain',
    'cron.cancel': 'Kanselahin',
    'cron.adding': 'Idinadagdag...',
    'cron.id': 'ID',
    'cron.actions': 'Mga Aksyon',
    'cron.loading_run_history': 'Nilo-load ang kasaysayan ng pagpapatakbo...',
    'cron.load_run_history_error': 'Hindi ma-load ang kasaysayan ng pagpapatakbo',
    'cron.no_runs': 'Wala pang naitatalang pagpapatakbo.',
    'cron.recent_runs': 'Mga Kamakailang Pagpapatakbo',
    'cron.yes': 'Oo',
    'cron.no': 'Hindi',
    'cron.edit': 'I-edit',
    'cron.edit_modal_title': 'I-edit ang Cron Job',
    'cron.edit_error': 'Hindi ma-update ang gawain',
    'cron.saving': 'Sine-save...',
    'cron.save': 'I-save',

    // Integrations
    'integrations.title': 'Mga Integrasyon',
    'integrations.available': 'Magagamit',
    'integrations.active': 'Aktibo',
    'integrations.coming_soon': 'Malapit Na',
    'integrations.category': 'Kategorya',
    'integrations.status': 'Katayuan',
    'integrations.search': 'Maghanap ng mga integrasyon...',
    'integrations.empty': 'Walang nahanap na integrasyon.',
    'integrations.activate': 'I-activate',
    'integrations.deactivate': 'I-deactivate',
    'integrations.load_error': 'Hindi ma-load ang mga integrasyon',
    'integrations.status_active': 'Aktibo',
    'integrations.status_available': 'Magagamit',
    'integrations.status_coming_soon': 'Malapit Na',

    // Memory
    'memory.title': 'Imbakan ng Memorya',
    'memory.memory_title': 'Memorya',
    'memory.search': 'Maghanap sa memorya...',
    'memory.search_placeholder': 'Maghanap ng mga entry sa memorya...',
    'memory.add': 'Mag-imbak ng Memorya',
    'memory.add_memory': 'Magdagdag ng Memorya',
    'memory.add_modal_title': 'Magdagdag ng Memorya',
    'memory.delete': 'Tanggalin',
    'memory.key': 'Susi',
    'memory.key_required': 'Susi',
    'memory.content': 'Nilalaman',
    'memory.content_required': 'Nilalaman',
    'memory.category': 'Kategorya',
    'memory.category_optional': 'Kategorya (opsyonal)',
    'memory.timestamp': 'Timestamp',
    'memory.session': 'Sesyon',
    'memory.score': 'Iskor',
    'memory.empty': 'Walang nahanap na entry sa memorya.',
    'memory.confirm_delete': 'Sigurado ka bang gusto mong tanggalin ang entry na ito sa memorya?',
    'memory.all_categories': 'Lahat ng Kategorya',
    'memory.search_button': 'Maghanap',
    'memory.load_error': 'Hindi ma-load ang memorya',
    'memory.saving': 'Sine-save...',
    'memory.validation_error': 'Kinakailangan ang susi at nilalaman.',
    'memory.store_error': 'Hindi ma-save ang memorya',
    'memory.delete_error': 'Hindi matanggal ang memorya',
    'memory.delete_confirm': 'Tanggalin?',
    'memory.yes': 'Oo',
    'memory.no': 'Hindi',
    'memory.cancel': 'Kanselahin',

    // Config
    'config.title': 'Kompigurasyon',
    'config.save': 'I-save',
    'config.saving': 'Sine-save...',
    'config.reset': 'I-reset',
    'config.saved': 'Matagumpay na na-save ang kompigurasyon.',
    'config.error': 'Hindi ma-save ang kompigurasyon.',
    'config.loading': 'Nilo-load ang kompigurasyon...',
    'config.editor_placeholder': 'Kompigurasyon ng TOML...',
    'config.configuration_title': 'Kompigurasyon',
    'config.sensitive_title': 'Nakatago ang mga sensitibong field',
    'config.sensitive_hint': 'Nakatago ang mga API key, token, at password para sa seguridad. Upang ma-update ang isang nakatagong field, palitan ang buong nakatagong halaga ng iyong bagong halaga.',
    'config.save_success': 'Matagumpay na na-save ang kompigurasyon.',
    'config.save_error': 'Hindi ma-save ang kompigurasyon',
    'config.toml_label': 'Kompigurasyon ng TOML',
    'config.lines': 'mga linya',

    // Cost
    'cost.title': 'Tagasubaybay ng Gastos',
    'cost.session': 'Gastos ng Sesyon',
    'cost.daily': 'Araw-araw na Gastos',
    'cost.monthly': 'Buwanang Gastos',
    'cost.total_tokens': 'Kabuuang Token',
    'cost.request_count': 'Mga Kahilingan',
    'cost.by_model': 'Gastos ayon sa Modelo',
    'cost.model': 'Modelo',
    'cost.tokens': 'Token',
    'cost.requests': 'Mga Kahilingan',
    'cost.usd': 'Gastos (USD)',
    'cost.load_error': 'Hindi ma-load ang datos ng gastos',
    'cost.session_cost': 'Gastos ng Sesyon',
    'cost.daily_cost': 'Araw-araw na Gastos',
    'cost.monthly_cost': 'Buwanang Gastos',
    'cost.total_requests': 'Kabuuang Mga Kahilingan',
    'cost.token_statistics': 'Mga Istatistika ng Token',
    'cost.avg_tokens_per_request': 'Avg Token / Kahilingan',
    'cost.cost_per_1k_tokens': 'Gastos bawat 1K Token',
    'cost.model_breakdown': 'Detalye ayon sa Modelo',
    'cost.no_model_data': 'Walang magagamit na datos ng modelo.',
    'cost.cost': 'Gastos',
    'cost.share': 'Ibahagi',

    // Logs
    'logs.title': 'Mga Live na Log',
    'logs.live_logs': 'Mga Live na Log',
    'logs.clear': 'I-clear',
    'logs.pause': 'I-pause',
    'logs.resume': 'Ituloy',
    'logs.filter': 'I-filter ang mga log...',
    'logs.filter_label': 'Filter',
    'logs.empty': 'Walang mga entry sa log.',
    'logs.connected': 'Konektado',
    'logs.disconnected': 'Hindi Konektado',
    'logs.events': 'mga event',
    'logs.jump_to_bottom': 'Pumunta sa ibaba',
    'logs.paused_hint': 'Naka-pause ang log streaming.',
    'logs.waiting_hint': 'Naghihintay ng mga event...',

    // Doctor
    'doctor.title': 'Diagnostiko ng Sistema',
    'doctor.diagnostics_title': 'Diagnostiko',
    'doctor.run': 'Patakbuhin ang Diagnostiko',
    'doctor.run_diagnostics': 'Patakbuhin ang Diagnostiko',
    'doctor.running': 'Pinapatakbo ang diagnostiko...',
    'doctor.running_btn': 'Pinapatakbo...',
    'doctor.running_desc': 'Pinapatakbo ang diagnostiko...',
    'doctor.running_hint': 'Maaaring tumagal ng ilang segundo.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Babala',
    'doctor.error': 'Error',
    'doctor.severity': 'Kalubhaan',
    'doctor.category': 'Kategorya',
    'doctor.message': 'Mensahe',
    'doctor.empty': 'Wala pang naipatakbong diagnostiko.',
    'doctor.summary': 'Buod ng Diagnostiko',
    'doctor.issues_found': 'Mga Nahanap na Isyu',
    'doctor.warnings_summary': 'Mga Babala',
    'doctor.all_clear': 'Walang Problema',
    'doctor.system_diagnostics': 'Diagnostiko ng Sistema',
    'doctor.empty_hint': 'I-click ang "Patakbuhin ang Diagnostiko" upang suriin ang iyong ZeroClaw installation.',

    // Auth / Pairing
    'auth.pair': 'Ipares ang Device',
    'auth.pairing_code': 'Code ng Pagpapares',
    'auth.pair_button': 'Ipares',
    'auth.logout': 'Mag-logout',
    'auth.pairing_success': 'Matagumpay ang pagpapares!',
    'auth.pairing_failed': 'Nabigo ang pagpapares. Pakisubukan muli.',
    'auth.enter_code': 'Ilagay ang iyong code ng pagpapares upang kumonekta sa ahente.',

    // Common
    'common.loading': 'Nilo-load...',
    'common.error': 'May naganap na error.',
    'common.retry': 'Subukan Muli',
    'common.cancel': 'Kanselahin',
    'common.confirm': 'Kumpirmahin',
    'common.save': 'I-save',
    'common.delete': 'Tanggalin',
    'common.edit': 'I-edit',
    'common.close': 'Isara',
    'common.yes': 'Oo',
    'common.no': 'Hindi',
    'common.search': 'Maghanap...',
    'common.no_data': 'Walang magagamit na datos.',
    'common.refresh': 'I-refresh',
    'common.back': 'Bumalik',
    'common.actions': 'Mga Aksyon',
    'common.name': 'Pangalan',
    'common.description': 'Paglalarawan',
    'common.status': 'Katayuan',
    'common.created': 'Ginawa',
    'common.updated': 'Na-update',

    // Health
    'health.title': 'Kalusugan ng Sistema',
    'health.component': 'Komponent',
    'health.status': 'Katayuan',
    'health.last_ok': 'Huling OK',
    'health.last_error': 'Huling Error',
    'health.restart_count': 'Mga Restart',
    'health.pid': 'Process ID',
    'health.uptime': 'Oras ng Pagpapatakbo',
    'health.updated_at': 'Huling Na-update',

    // Dashboard
    'dashboard.provider_model': 'Tagapagbigay / Modelo',
    'dashboard.since_last_restart': 'Mula sa huling restart',
    'dashboard.paired_yes': 'Oo',
    'dashboard.paired_no': 'Hindi',
    'dashboard.cost_overview': 'Pangkalahatang-tanaw ng Gastos',
    'dashboard.active_channels': 'Mga Aktibong Channel',
    'dashboard.filter_active': 'Aktibo',
    'dashboard.filter_all': 'Lahat',
    'dashboard.no_active_channels': 'Walang aktibong channel',
    'dashboard.component_health': 'Kalusugan ng Komponent',
    'dashboard.load_error': 'Hindi ma-load ang dashboard',
    'dashboard.session_label': 'Sesyon',
    'dashboard.daily_label': 'Araw-araw',
    'dashboard.monthly_label': 'Buwanan',
    'dashboard.total_tokens_label': 'Kabuuang Token',
    'dashboard.requests_label': 'Mga Kahilingan',
    'dashboard.no_channels': 'Walang naka-configure na channel',
    'dashboard.active': 'Aktibo',
    'dashboard.inactive': 'Hindi Aktibo',
    'dashboard.no_components': 'Walang nag-uulat na komponent',
    'dashboard.restarts': 'Mga Restart',
    'dashboard.tab_overview': 'Pangkalahatang-tanaw',
    'dashboard.tab_sessions': 'Mga Sesyon',
    'dashboard.tab_channels': 'Mga Channel',
    'dashboard.sessions_title': 'Mga Aktibong Sesyon',
    'dashboard.no_sessions': 'Walang aktibong sesyon',
    'dashboard.session_id': 'Session ID',
    'dashboard.session_started': 'Nagsimula',
    'dashboard.session_last_activity': 'Huling Aktibidad',
    'dashboard.session_messages': 'Mga Mensahe',
    'dashboard.session_details': 'Detalye ng Sesyon',
    'dashboard.session_history': 'Tingnan ang Kasaysayan',
    'dashboard.channels_title': 'Katayuan ng Channel',
    'dashboard.no_channels_detail': 'Walang magagamit na detalye ng channel',
    'dashboard.channel_type': 'Uri',
    'dashboard.channel_messages': 'Mga Mensahe',
    'dashboard.channel_last_message': 'Huling Mensahe',
    'dashboard.channel_config': 'Kompigurasyon',
    'dashboard.channel_enabled': 'Naka-enable',
    'dashboard.channel_disabled': 'Naka-disable',
    'dashboard.loading_sessions': 'Nilo-load ang mga sesyon...',
    'dashboard.loading_channels': 'Nilo-load ang mga channel...',
    'dashboard.load_sessions_error': 'Hindi ma-load ang mga sesyon',
    'dashboard.load_channels_error': 'Hindi ma-load ang mga channel',
    'dashboard.never': 'Hindi Kailanman',

    // Settings
    'settings.title': 'Mga Setting',
    'settings.tab.appearance': 'Hitsura',
    'settings.tab.typography': 'Tipograpiya',
    'settings.appearance': 'Hitsura',
    'settings.typography': 'Tipograpiya',
    'settings.fontUi': 'Font ng UI',
    'settings.fontMono': 'Font ng Code',
    'settings.fontSize': 'Laki ng Font ng UI',
    'settings.fontMonoSize': 'Laki ng Font ng Code',
    'settings.preview': 'Preview',
    'settings.previewText': 'Ang mabilis na kayumangging soro ay tumalon sa tamad na aso.',
    'settings.fontNote': 'Ang mga pagbabago sa font ay mag-aapply kapag ni-reload ang pahina.',
    'settings.language': 'Wika',

    // Theme
    'theme.mode': 'Mode ng Tema',
    'theme.accent': 'Kulay ng Accent',
    'theme.system': 'Sistema',
    'theme.dark': 'Madilim',
    'theme.light': 'Maliwanag',
    'theme.oled': 'OLED Itim',
  },

  uk: {
    // Navigation
    'nav.dashboard': 'Панель керування',
    'nav.agent': 'Агент',
    'nav.tools': 'Інструменти',
    'nav.cron': 'Заплановані завдання',
    'nav.integrations': 'Інтеграції',
    'nav.memory': 'Пам\'ять',
    'nav.config': 'Конфігурація',
    'nav.cost': 'Облік витрат',
    'nav.logs': 'Журнали',
    'nav.doctor': 'Діагностика',
    'nav.canvas': 'Полотно',

    // Dashboard
    'dashboard.title': 'Панель керування',
    'dashboard.provider': 'Провайдер',
    'dashboard.model': 'Модель',
    'dashboard.uptime': 'Час роботи',
    'dashboard.temperature': 'Температура',
    'dashboard.gateway_port': 'Порт шлюзу',
    'dashboard.memory_backend': 'Бекенд пам\'яті',
    'dashboard.paired': 'З\'єднано',
    'dashboard.channels': 'Канали',
    'dashboard.health': 'Стан',
    'dashboard.status': 'Статус',
    'dashboard.overview': 'Огляд',
    'dashboard.system_info': 'Інформація про систему',
    'dashboard.quick_actions': 'Швидкі дії',

    // Agent / Chat
    'agent.title': 'Чат з агентом',
    'agent.send': 'Надіслати',
    'agent.placeholder': 'Введіть повідомлення...',
    'agent.start_conversation': 'Надішліть повідомлення, щоб розпочати розмову',
    'agent.type_message': 'Введіть повідомлення...',
    'agent.connecting': 'Підключення...',
    'agent.connected': 'Підключено',
    'agent.disconnected': 'Відключено',
    'agent.reconnecting': 'Перепідключення...',
    'agent.thinking': 'Думаю...',
    'agent.tool_call': 'Виклик інструменту',
    'agent.tool_result': 'Результат інструменту',
    'agent.connection_error': 'Помилка з\'єднання. Спроба перепідключення...',
    'agent.tool_call_prefix': '[Виклик інструменту]',
    'agent.tool_result_prefix': '[Результат інструменту]',
    'agent.error_prefix': '[Помилка]',
    'agent.unknown_error': 'Невідома помилка',
    'agent.send_error': 'Не вдалося надіслати повідомлення. Будь ласка, спробуйте знову.',
    'agent.copy_message': 'Скопіювати повідомлення',
    'agent.connected_status': 'Підключено',
    'agent.disconnected_status': 'Відключено',

    // Tools
    'tools.title': 'Доступні інструменти',
    'tools.name': 'Назва',
    'tools.description': 'Опис',
    'tools.parameters': 'Параметри',
    'tools.search': 'Пошук інструментів...',
    'tools.empty': 'Немає доступних інструментів.',
    'tools.count': 'Загалом інструментів',
    'tools.agent_tools': 'Інструменти агента',
    'tools.cli_tools': 'Інструменти CLI',
    'tools.parameter_schema': 'Схема параметрів',
    'tools.path': 'Шлях',
    'tools.version': 'Версія',
    'tools.category': 'Категорія',
    'tools.load_error': 'Не вдалося завантажити інструменти',

    // Cron
    'cron.title': 'Заплановані завдання',
    'cron.scheduled_tasks': 'Заплановані завдання',
    'cron.add': 'Додати завдання',
    'cron.add_job': 'Додати завдання',
    'cron.add_modal_title': 'Додати завдання Cron',
    'cron.delete': 'Видалити',
    'cron.enable': 'Увімкнути',
    'cron.disable': 'Вимкнути',
    'cron.name': 'Назва',
    'cron.name_optional': 'Назва (необов\'язково)',
    'cron.command': 'Команда',
    'cron.command_required': 'Команда',
    'cron.schedule': 'Розклад',
    'cron.schedule_required': 'Розклад',
    'cron.next_run': 'Наступний запуск',
    'cron.last_run': 'Останній запуск',
    'cron.last_status': 'Останній статус',
    'cron.enabled': 'Увімкнено',
    'cron.enabled_status': 'Увімкнено',
    'cron.disabled_status': 'Вимкнено',
    'cron.empty': 'Немає запланованих завдань.',
    'cron.confirm_delete': 'Ви впевнені, що хочете видалити це завдання?',
    'cron.load_error': 'Не вдалося завантажити завдання Cron',
    'cron.validation_error': 'Розклад і команда є обов\'язковими.',
    'cron.add_error': 'Не вдалося додати завдання',
    'cron.delete_error': 'Не вдалося видалити завдання',
    'cron.cancel': 'Скасувати',
    'cron.adding': 'Додавання...',
    'cron.id': 'ID',
    'cron.actions': 'Дії',
    'cron.loading_run_history': 'Завантаження історії запусків...',
    'cron.load_run_history_error': 'Не вдалося завантажити історію запусків',
    'cron.no_runs': 'Записів про запуски ще немає.',
    'cron.recent_runs': 'Останні запуски',
    'cron.yes': 'Так',
    'cron.no': 'Ні',
    'cron.edit': 'Редагувати',
    'cron.edit_modal_title': 'Редагувати завдання Cron',
    'cron.edit_error': 'Не вдалося оновити завдання',
    'cron.saving': 'Збереження...',
    'cron.save': 'Зберегти',

    // Integrations
    'integrations.title': 'Інтеграції',
    'integrations.available': 'Доступно',
    'integrations.active': 'Активно',
    'integrations.coming_soon': 'Незабаром',
    'integrations.category': 'Категорія',
    'integrations.status': 'Статус',
    'integrations.search': 'Пошук інтеграцій...',
    'integrations.empty': 'Інтеграцій не знайдено.',
    'integrations.activate': 'Активувати',
    'integrations.deactivate': 'Деактивувати',
    'integrations.load_error': 'Не вдалося завантажити інтеграції',
    'integrations.status_active': 'Активно',
    'integrations.status_available': 'Доступно',
    'integrations.status_coming_soon': 'Незабаром',

    // Memory
    'memory.title': 'Сховище пам\'яті',
    'memory.memory_title': 'Пам\'ять',
    'memory.search': 'Пошук у пам\'яті...',
    'memory.search_placeholder': 'Пошук записів пам\'яті...',
    'memory.add': 'Зберегти в пам\'ять',
    'memory.add_memory': 'Додати запис',
    'memory.add_modal_title': 'Додати запис',
    'memory.delete': 'Видалити',
    'memory.key': 'Ключ',
    'memory.key_required': 'Ключ',
    'memory.content': 'Вміст',
    'memory.content_required': 'Вміст',
    'memory.category': 'Категорія',
    'memory.category_optional': 'Категорія (необов\'язково)',
    'memory.timestamp': 'Мітка часу',
    'memory.session': 'Сесія',
    'memory.score': 'Оцінка',
    'memory.empty': 'Записів пам\'яті не знайдено.',
    'memory.confirm_delete': 'Ви впевнені, що хочете видалити цей запис пам\'яті?',
    'memory.all_categories': 'Усі категорії',
    'memory.search_button': 'Пошук',
    'memory.load_error': 'Не вдалося завантажити пам\'ять',
    'memory.saving': 'Збереження...',
    'memory.validation_error': 'Ключ і вміст є обов\'язковими.',
    'memory.store_error': 'Не вдалося зберегти запис',
    'memory.delete_error': 'Не вдалося видалити запис',
    'memory.delete_confirm': 'Видалити?',
    'memory.yes': 'Так',
    'memory.no': 'Ні',
    'memory.cancel': 'Скасувати',

    // Config
    'config.title': 'Конфігурація',
    'config.save': 'Зберегти',
    'config.saving': 'Збереження...',
    'config.reset': 'Скинути',
    'config.saved': 'Конфігурацію успішно збережено.',
    'config.error': 'Не вдалося зберегти конфігурацію.',
    'config.loading': 'Завантаження конфігурації...',
    'config.editor_placeholder': 'Конфігурація TOML...',
    'config.configuration_title': 'Конфігурація',
    'config.sensitive_title': 'Конфіденційні поля приховано',
    'config.sensitive_hint': 'API-ключі, токени та паролі приховані з міркувань безпеки. Щоб оновити приховане поле, замініть усе приховане значення новим.',
    'config.save_success': 'Конфігурацію успішно збережено.',
    'config.save_error': 'Не вдалося зберегти конфігурацію',
    'config.toml_label': 'Конфігурація TOML',
    'config.lines': 'рядків',

    // Cost
    'cost.title': 'Облік витрат',
    'cost.session': 'Вартість сесії',
    'cost.daily': 'Щоденна вартість',
    'cost.monthly': 'Щомісячна вартість',
    'cost.total_tokens': 'Загалом токенів',
    'cost.request_count': 'Запити',
    'cost.by_model': 'Вартість за моделлю',
    'cost.model': 'Модель',
    'cost.tokens': 'Токени',
    'cost.requests': 'Запити',
    'cost.usd': 'Вартість (USD)',
    'cost.load_error': 'Не вдалося завантажити дані про витрати',
    'cost.session_cost': 'Вартість сесії',
    'cost.daily_cost': 'Щоденна вартість',
    'cost.monthly_cost': 'Щомісячна вартість',
    'cost.total_requests': 'Загалом запитів',
    'cost.token_statistics': 'Статистика токенів',
    'cost.avg_tokens_per_request': 'Середня кількість токенів / запит',
    'cost.cost_per_1k_tokens': 'Вартість за 1K токенів',
    'cost.model_breakdown': 'Розбивка за моделями',
    'cost.no_model_data': 'Дані за моделями відсутні.',
    'cost.cost': 'Вартість',
    'cost.share': 'Поділитися',

    // Logs
    'logs.title': 'Журнал у реальному часі',
    'logs.live_logs': 'Журнал у реальному часі',
    'logs.clear': 'Очистити',
    'logs.pause': 'Пауза',
    'logs.resume': 'Продовжити',
    'logs.filter': 'Фільтр журналів...',
    'logs.filter_label': 'Фільтр',
    'logs.empty': 'Немає записів у журналі.',
    'logs.connected': 'Підключено',
    'logs.disconnected': 'Відключено',
    'logs.events': 'подій',
    'logs.jump_to_bottom': 'Перейти донизу',
    'logs.paused_hint': 'Потокову передачу журналів призупинено.',
    'logs.waiting_hint': 'Очікування подій...',

    // Doctor
    'doctor.title': 'Діагностика системи',
    'doctor.diagnostics_title': 'Діагностика',
    'doctor.run': 'Запустити діагностику',
    'doctor.run_diagnostics': 'Запустити діагностику',
    'doctor.running': 'Виконується діагностика...',
    'doctor.running_btn': 'Виконується...',
    'doctor.running_desc': 'Виконується діагностика...',
    'doctor.running_hint': 'Це може зайняти кілька секунд.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Попередження',
    'doctor.error': 'Помилка',
    'doctor.severity': 'Серйозність',
    'doctor.category': 'Категорія',
    'doctor.message': 'Повідомлення',
    'doctor.empty': 'Діагностику ще не проводили.',
    'doctor.summary': 'Підсумок діагностики',
    'doctor.issues_found': 'Виявлені проблеми',
    'doctor.warnings_summary': 'Попередження',
    'doctor.all_clear': 'Все гаразд',
    'doctor.system_diagnostics': 'Діагностика системи',
    'doctor.empty_hint': 'Натисніть «Запустити діагностику», щоб перевірити встановлення ZeroClaw.',

    // Auth / Pairing
    'auth.pair': 'З\'єднати пристрій',
    'auth.pairing_code': 'Код з\'єднання',
    'auth.pair_button': 'З\'єднати',
    'auth.logout': 'Вийти',
    'auth.pairing_success': 'З\'єднання успішне!',
    'auth.pairing_failed': 'З\'єднання не вдалося. Будь ласка, спробуйте знову.',
    'auth.enter_code': 'Введіть код з\'єднання для підключення до агента.',

    // Common
    'common.loading': 'Завантаження...',
    'common.error': 'Сталася помилка.',
    'common.retry': 'Повторити',
    'common.cancel': 'Скасувати',
    'common.confirm': 'Підтвердити',
    'common.save': 'Зберегти',
    'common.delete': 'Видалити',
    'common.edit': 'Редагувати',
    'common.close': 'Закрити',
    'common.yes': 'Так',
    'common.no': 'Ні',
    'common.search': 'Пошук...',
    'common.no_data': 'Дані відсутні.',
    'common.refresh': 'Оновити',
    'common.back': 'Назад',
    'common.actions': 'Дії',
    'common.name': 'Назва',
    'common.description': 'Опис',
    'common.status': 'Статус',
    'common.created': 'Створено',
    'common.updated': 'Оновлено',

    // Health
    'health.title': 'Стан системи',
    'health.component': 'Компонент',
    'health.status': 'Статус',
    'health.last_ok': 'Останнє OK',
    'health.last_error': 'Остання помилка',
    'health.restart_count': 'Перезапуски',
    'health.pid': 'ID процесу',
    'health.uptime': 'Час роботи',
    'health.updated_at': 'Останнє оновлення',

    // Dashboard
    'dashboard.provider_model': 'Провайдер / Модель',
    'dashboard.since_last_restart': 'З останнього перезапуску',
    'dashboard.paired_yes': 'Так',
    'dashboard.paired_no': 'Ні',
    'dashboard.cost_overview': 'Огляд витрат',
    'dashboard.active_channels': 'Активні канали',
    'dashboard.filter_active': 'Активні',
    'dashboard.filter_all': 'Усі',
    'dashboard.no_active_channels': 'Немає активних каналів',
    'dashboard.component_health': 'Стан компонентів',
    'dashboard.load_error': 'Не вдалося завантажити панель керування',
    'dashboard.session_label': 'Сесія',
    'dashboard.daily_label': 'Щоденна',
    'dashboard.monthly_label': 'Щомісячна',
    'dashboard.total_tokens_label': 'Загалом токенів',
    'dashboard.requests_label': 'Запити',
    'dashboard.no_channels': 'Канали не налаштовані',
    'dashboard.active': 'Активно',
    'dashboard.inactive': 'Неактивно',
    'dashboard.no_components': 'Немає звітів від компонентів',
    'dashboard.restarts': 'Перезапуски',
    'dashboard.tab_overview': 'Огляд',
    'dashboard.tab_sessions': 'Сесії',
    'dashboard.tab_channels': 'Канали',
    'dashboard.sessions_title': 'Активні сесії',
    'dashboard.no_sessions': 'Немає активних сесій',
    'dashboard.session_id': 'ID сесії',
    'dashboard.session_started': 'Розпочато',
    'dashboard.session_last_activity': 'Остання активність',
    'dashboard.session_messages': 'Повідомлення',
    'dashboard.session_details': 'Деталі сесії',
    'dashboard.session_history': 'Переглянути історію',
    'dashboard.channels_title': 'Статус каналів',
    'dashboard.no_channels_detail': 'Немає даних про канали',
    'dashboard.channel_type': 'Тип',
    'dashboard.channel_messages': 'Повідомлення',
    'dashboard.channel_last_message': 'Останнє повідомлення',
    'dashboard.channel_config': 'Конфігурація',
    'dashboard.channel_enabled': 'Увімкнено',
    'dashboard.channel_disabled': 'Вимкнено',
    'dashboard.loading_sessions': 'Завантаження сесій...',
    'dashboard.loading_channels': 'Завантаження каналів...',
    'dashboard.load_sessions_error': 'Не вдалося завантажити сесії',
    'dashboard.load_channels_error': 'Не вдалося завантажити канали',
    'dashboard.never': 'Ніколи',

    // Settings
    'settings.title': 'Налаштування',
    'settings.tab.appearance': 'Зовнішній вигляд',
    'settings.tab.typography': 'Типографіка',
    'settings.appearance': 'Зовнішній вигляд',
    'settings.typography': 'Типографіка',
    'settings.fontUi': 'Шрифт інтерфейсу',
    'settings.fontMono': 'Шрифт коду',
    'settings.fontSize': 'Розмір шрифту інтерфейсу',
    'settings.fontMonoSize': 'Розмір шрифту коду',
    'settings.preview': 'Попередній перегляд',
    'settings.previewText': 'Чуєш їх, доцю, — Loss ґедзь, щей фах, шик, бар.',
    'settings.fontNote': 'Зміни шрифту застосовуються при перезавантаженні сторінки.',
    'settings.language': 'Мова',

    // Theme
    'theme.mode': 'Режим теми',
    'theme.accent': 'Колір акценту',
    'theme.system': 'Системна',
    'theme.dark': 'Темна',
    'theme.light': 'Світла',
    'theme.oled': 'OLED чорна',
  },

  ur: {
    // Navigation
    'nav.dashboard': 'ڈیش بورڈ',
    'nav.agent': 'ایجنٹ',
    'nav.tools': 'ٹولز',
    'nav.cron': 'شیڈول شدہ کام',
    'nav.integrations': 'انٹیگریشنز',
    'nav.memory': 'میموری',
    'nav.config': 'ترتیب',
    'nav.cost': 'لاگت ٹریکر',
    'nav.logs': 'لاگز',
    'nav.doctor': 'تشخیص',
    'nav.canvas': 'کینوس',

    // Dashboard
    'dashboard.title': 'ڈیش بورڈ',
    'dashboard.provider': 'فراہم کنندہ',
    'dashboard.model': 'ماڈل',
    'dashboard.uptime': 'اپ ٹائم',
    'dashboard.temperature': 'درجہ حرارت',
    'dashboard.gateway_port': 'گیٹ وے پورٹ',
    'dashboard.memory_backend': 'میموری بیک اینڈ',
    'dashboard.paired': 'جوڑا بنایا گیا',
    'dashboard.channels': 'چینلز',
    'dashboard.health': 'صحت',
    'dashboard.status': 'حالت',
    'dashboard.overview': 'جائزہ',
    'dashboard.system_info': 'سسٹم کی معلومات',
    'dashboard.quick_actions': 'فوری اقدامات',

    // Agent / Chat
    'agent.title': 'ایجنٹ چیٹ',
    'agent.send': 'بھیجیں',
    'agent.placeholder': 'پیغام لکھیں...',
    'agent.start_conversation': 'بات چیت شروع کرنے کے لیے پیغام بھیجیں',
    'agent.type_message': 'پیغام لکھیں...',
    'agent.connecting': 'جوڑ رہا ہے...',
    'agent.connected': 'جڑا ہوا',
    'agent.disconnected': 'منقطع',
    'agent.reconnecting': 'دوبارہ جوڑ رہا ہے...',
    'agent.thinking': 'سوچ رہا ہے...',
    'agent.tool_call': 'ٹول کال',
    'agent.tool_result': 'ٹول نتیجہ',
    'agent.connection_error': 'کنکشن میں خرابی۔ دوبارہ جوڑنے کی کوشش...',
    'agent.tool_call_prefix': '[ٹول کال]',
    'agent.tool_result_prefix': '[ٹول نتیجہ]',
    'agent.error_prefix': '[خرابی]',
    'agent.unknown_error': 'نامعلوم خرابی',
    'agent.send_error': 'پیغام بھیجنے میں ناکامی۔ براہ کرم دوبارہ کوشش کریں۔',
    'agent.copy_message': 'پیغام کاپی کریں',
    'agent.connected_status': 'جڑا ہوا',
    'agent.disconnected_status': 'منقطع',

    // Tools
    'tools.title': 'دستیاب ٹولز',
    'tools.name': 'نام',
    'tools.description': 'تفصیل',
    'tools.parameters': 'پیرامیٹرز',
    'tools.search': 'ٹولز تلاش کریں...',
    'tools.empty': 'کوئی ٹول دستیاب نہیں۔',
    'tools.count': 'کل ٹولز',
    'tools.agent_tools': 'ایجنٹ ٹولز',
    'tools.cli_tools': 'CLI ٹولز',
    'tools.parameter_schema': 'پیرامیٹر اسکیما',
    'tools.path': 'راستہ',
    'tools.version': 'ورژن',
    'tools.category': 'زمرہ',
    'tools.load_error': 'ٹولز لوڈ کرنے میں ناکامی',

    // Cron
    'cron.title': 'شیڈول شدہ کام',
    'cron.scheduled_tasks': 'شیڈول شدہ کام',
    'cron.add': 'کام شامل کریں',
    'cron.add_job': 'کام شامل کریں',
    'cron.add_modal_title': 'Cron کام شامل کریں',
    'cron.delete': 'حذف کریں',
    'cron.enable': 'فعال کریں',
    'cron.disable': 'غیر فعال کریں',
    'cron.name': 'نام',
    'cron.name_optional': 'نام (اختیاری)',
    'cron.command': 'کمانڈ',
    'cron.command_required': 'کمانڈ',
    'cron.schedule': 'شیڈول',
    'cron.schedule_required': 'شیڈول',
    'cron.next_run': 'اگلا عمل',
    'cron.last_run': 'آخری عمل',
    'cron.last_status': 'آخری حالت',
    'cron.enabled': 'فعال',
    'cron.enabled_status': 'فعال',
    'cron.disabled_status': 'غیر فعال',
    'cron.empty': 'کوئی شیڈول شدہ کام نہیں۔',
    'cron.confirm_delete': 'کیا آپ واقعی یہ کام حذف کرنا چاہتے ہیں؟',
    'cron.load_error': 'Cron کام لوڈ کرنے میں ناکامی',
    'cron.validation_error': 'شیڈول اور کمانڈ ضروری ہیں۔',
    'cron.add_error': 'کام شامل کرنے میں ناکامی',
    'cron.delete_error': 'کام حذف کرنے میں ناکامی',
    'cron.cancel': 'منسوخ کریں',
    'cron.adding': 'شامل ہو رہا ہے...',
    'cron.id': 'ID',
    'cron.actions': 'اقدامات',
    'cron.loading_run_history': 'عمل کی تاریخ لوڈ ہو رہی ہے...',
    'cron.load_run_history_error': 'عمل کی تاریخ لوڈ کرنے میں ناکامی',
    'cron.no_runs': 'ابھی تک کوئی عمل ریکارڈ نہیں ہوا۔',
    'cron.recent_runs': 'حالیہ عمل',
    'cron.yes': 'ہاں',
    'cron.no': 'نہیں',
    'cron.edit': 'ترمیم کریں',
    'cron.edit_modal_title': 'Cron کام میں ترمیم کریں',
    'cron.edit_error': 'کام اپ ڈیٹ کرنے میں ناکامی',
    'cron.saving': 'محفوظ ہو رہا ہے...',
    'cron.save': 'محفوظ کریں',

    // Integrations
    'integrations.title': 'انٹیگریشنز',
    'integrations.available': 'دستیاب',
    'integrations.active': 'فعال',
    'integrations.coming_soon': 'جلد آ رہا ہے',
    'integrations.category': 'زمرہ',
    'integrations.status': 'حالت',
    'integrations.search': 'انٹیگریشنز تلاش کریں...',
    'integrations.empty': 'کوئی انٹیگریشن نہیں ملی۔',
    'integrations.activate': 'فعال کریں',
    'integrations.deactivate': 'غیر فعال کریں',
    'integrations.load_error': 'انٹیگریشنز لوڈ کرنے میں ناکامی',
    'integrations.status_active': 'فعال',
    'integrations.status_available': 'دستیاب',
    'integrations.status_coming_soon': 'جلد آ رہا ہے',

    // Memory
    'memory.title': 'میموری اسٹور',
    'memory.memory_title': 'میموری',
    'memory.search': 'میموری میں تلاش کریں...',
    'memory.search_placeholder': 'میموری اندراجات تلاش کریں...',
    'memory.add': 'میموری محفوظ کریں',
    'memory.add_memory': 'میموری شامل کریں',
    'memory.add_modal_title': 'میموری شامل کریں',
    'memory.delete': 'حذف کریں',
    'memory.key': 'کلید',
    'memory.key_required': 'کلید',
    'memory.content': 'مواد',
    'memory.content_required': 'مواد',
    'memory.category': 'زمرہ',
    'memory.category_optional': 'زمرہ (اختیاری)',
    'memory.timestamp': 'ٹائم اسٹیمپ',
    'memory.session': 'سیشن',
    'memory.score': 'اسکور',
    'memory.empty': 'کوئی میموری اندراج نہیں ملا۔',
    'memory.confirm_delete': 'کیا آپ واقعی یہ میموری اندراج حذف کرنا چاہتے ہیں؟',
    'memory.all_categories': 'تمام زمرے',
    'memory.search_button': 'تلاش کریں',
    'memory.load_error': 'میموری لوڈ کرنے میں ناکامی',
    'memory.saving': 'محفوظ ہو رہا ہے...',
    'memory.validation_error': 'کلید اور مواد ضروری ہیں۔',
    'memory.store_error': 'میموری محفوظ کرنے میں ناکامی',
    'memory.delete_error': 'میموری حذف کرنے میں ناکامی',
    'memory.delete_confirm': 'حذف کریں؟',
    'memory.yes': 'ہاں',
    'memory.no': 'نہیں',
    'memory.cancel': 'منسوخ کریں',

    // Config
    'config.title': 'ترتیب',
    'config.save': 'محفوظ کریں',
    'config.saving': 'محفوظ ہو رہا ہے...',
    'config.reset': 'ری سیٹ',
    'config.saved': 'ترتیب کامیابی سے محفوظ ہو گئی۔',
    'config.error': 'ترتیب محفوظ کرنے میں ناکامی۔',
    'config.loading': 'ترتیب لوڈ ہو رہی ہے...',
    'config.editor_placeholder': 'TOML ترتیب...',
    'config.configuration_title': 'ترتیب',
    'config.sensitive_title': 'حساس فیلڈز چھپائے گئے ہیں',
    'config.sensitive_hint': 'API کیز، ٹوکنز اور پاس ورڈز حفاظت کے لیے چھپائے گئے ہیں۔ کسی چھپائے گئے فیلڈ کو اپ ڈیٹ کرنے کے لیے، پوری چھپائی گئی قدر کو اپنی نئی قدر سے بدل دیں۔',
    'config.save_success': 'ترتیب کامیابی سے محفوظ ہو گئی۔',
    'config.save_error': 'ترتیب محفوظ کرنے میں ناکامی',
    'config.toml_label': 'TOML ترتیب',
    'config.lines': 'سطریں',

    // Cost
    'cost.title': 'لاگت ٹریکر',
    'cost.session': 'سیشن لاگت',
    'cost.daily': 'روزانہ لاگت',
    'cost.monthly': 'ماہانہ لاگت',
    'cost.total_tokens': 'کل ٹوکنز',
    'cost.request_count': 'درخواستیں',
    'cost.by_model': 'ماڈل کے مطابق لاگت',
    'cost.model': 'ماڈل',
    'cost.tokens': 'ٹوکنز',
    'cost.requests': 'درخواستیں',
    'cost.usd': 'لاگت (USD)',
    'cost.load_error': 'لاگت کا ڈیٹا لوڈ کرنے میں ناکامی',
    'cost.session_cost': 'سیشن لاگت',
    'cost.daily_cost': 'روزانہ لاگت',
    'cost.monthly_cost': 'ماہانہ لاگت',
    'cost.total_requests': 'کل درخواستیں',
    'cost.token_statistics': 'ٹوکن کے اعداد و شمار',
    'cost.avg_tokens_per_request': 'اوسط ٹوکنز / درخواست',
    'cost.cost_per_1k_tokens': '1K ٹوکنز فی لاگت',
    'cost.model_breakdown': 'ماڈل کی تفصیل',
    'cost.no_model_data': 'ماڈل کا ڈیٹا دستیاب نہیں۔',
    'cost.cost': 'لاگت',
    'cost.share': 'شیئر کریں',

    // Logs
    'logs.title': 'لائیو لاگز',
    'logs.live_logs': 'لائیو لاگز',
    'logs.clear': 'صاف کریں',
    'logs.pause': 'روکیں',
    'logs.resume': 'جاری رکھیں',
    'logs.filter': 'لاگز فلٹر کریں...',
    'logs.filter_label': 'فلٹر',
    'logs.empty': 'کوئی لاگ اندراج نہیں۔',
    'logs.connected': 'جڑا ہوا',
    'logs.disconnected': 'منقطع',
    'logs.events': 'واقعات',
    'logs.jump_to_bottom': 'نیچے جائیں',
    'logs.paused_hint': 'لاگ سٹریمنگ روکی گئی ہے۔',
    'logs.waiting_hint': 'واقعات کا انتظار...',

    // Doctor
    'doctor.title': 'سسٹم تشخیص',
    'doctor.diagnostics_title': 'تشخیص',
    'doctor.run': 'تشخیص چلائیں',
    'doctor.run_diagnostics': 'تشخیص چلائیں',
    'doctor.running': 'تشخیص چل رہی ہے...',
    'doctor.running_btn': 'چل رہا ہے...',
    'doctor.running_desc': 'تشخیص چل رہی ہے...',
    'doctor.running_hint': 'اس میں چند سیکنڈ لگ سکتے ہیں۔',
    'doctor.ok': 'OK',
    'doctor.warn': 'انتباہ',
    'doctor.error': 'خرابی',
    'doctor.severity': 'شدت',
    'doctor.category': 'زمرہ',
    'doctor.message': 'پیغام',
    'doctor.empty': 'ابھی تک کوئی تشخیص نہیں چلائی گئی۔',
    'doctor.summary': 'تشخیصی خلاصہ',
    'doctor.issues_found': 'مسائل پائے گئے',
    'doctor.warnings_summary': 'انتباہات',
    'doctor.all_clear': 'سب ٹھیک ہے',
    'doctor.system_diagnostics': 'سسٹم تشخیص',
    'doctor.empty_hint': 'اپنی ZeroClaw تنصیب کی جانچ کے لیے "تشخیص چلائیں" پر کلک کریں۔',

    // Auth / Pairing
    'auth.pair': 'ڈیوائس جوڑیں',
    'auth.pairing_code': 'جوڑنے کا کوڈ',
    'auth.pair_button': 'جوڑیں',
    'auth.logout': 'لاگ آؤٹ',
    'auth.pairing_success': 'جوڑنا کامیاب رہا!',
    'auth.pairing_failed': 'جوڑنا ناکام رہا۔ براہ کرم دوبارہ کوشش کریں۔',
    'auth.enter_code': 'ایجنٹ سے جڑنے کے لیے اپنا جوڑنے کا کوڈ درج کریں۔',

    // Common
    'common.loading': 'لوڈ ہو رہا ہے...',
    'common.error': 'ایک خرابی ہوئی۔',
    'common.retry': 'دوبارہ کوشش کریں',
    'common.cancel': 'منسوخ کریں',
    'common.confirm': 'تصدیق کریں',
    'common.save': 'محفوظ کریں',
    'common.delete': 'حذف کریں',
    'common.edit': 'ترمیم کریں',
    'common.close': 'بند کریں',
    'common.yes': 'ہاں',
    'common.no': 'نہیں',
    'common.search': 'تلاش کریں...',
    'common.no_data': 'کوئی ڈیٹا دستیاب نہیں۔',
    'common.refresh': 'تازہ کریں',
    'common.back': 'واپس',
    'common.actions': 'اقدامات',
    'common.name': 'نام',
    'common.description': 'تفصیل',
    'common.status': 'حالت',
    'common.created': 'بنایا گیا',
    'common.updated': 'اپ ڈیٹ ہوا',

    // Health
    'health.title': 'سسٹم صحت',
    'health.component': 'جزو',
    'health.status': 'حالت',
    'health.last_ok': 'آخری OK',
    'health.last_error': 'آخری خرابی',
    'health.restart_count': 'ری سٹارٹس',
    'health.pid': 'پروسیس ID',
    'health.uptime': 'اپ ٹائم',
    'health.updated_at': 'آخری اپ ڈیٹ',

    // Dashboard
    'dashboard.provider_model': 'فراہم کنندہ / ماڈل',
    'dashboard.since_last_restart': 'آخری ری سٹارٹ سے',
    'dashboard.paired_yes': 'ہاں',
    'dashboard.paired_no': 'نہیں',
    'dashboard.cost_overview': 'لاگت کا جائزہ',
    'dashboard.active_channels': 'فعال چینلز',
    'dashboard.filter_active': 'فعال',
    'dashboard.filter_all': 'سب',
    'dashboard.no_active_channels': 'کوئی فعال چینل نہیں',
    'dashboard.component_health': 'اجزاء کی صحت',
    'dashboard.load_error': 'ڈیش بورڈ لوڈ کرنے میں ناکامی',
    'dashboard.session_label': 'سیشن',
    'dashboard.daily_label': 'روزانہ',
    'dashboard.monthly_label': 'ماہانہ',
    'dashboard.total_tokens_label': 'کل ٹوکنز',
    'dashboard.requests_label': 'درخواستیں',
    'dashboard.no_channels': 'کوئی چینل ترتیب نہیں دیا گیا',
    'dashboard.active': 'فعال',
    'dashboard.inactive': 'غیر فعال',
    'dashboard.no_components': 'کوئی جزو رپورٹ نہیں کر رہا',
    'dashboard.restarts': 'ری سٹارٹس',
    'dashboard.tab_overview': 'جائزہ',
    'dashboard.tab_sessions': 'سیشنز',
    'dashboard.tab_channels': 'چینلز',
    'dashboard.sessions_title': 'فعال سیشنز',
    'dashboard.no_sessions': 'کوئی فعال سیشن نہیں',
    'dashboard.session_id': 'سیشن ID',
    'dashboard.session_started': 'شروع ہوا',
    'dashboard.session_last_activity': 'آخری سرگرمی',
    'dashboard.session_messages': 'پیغامات',
    'dashboard.session_details': 'سیشن کی تفصیلات',
    'dashboard.session_history': 'تاریخ دیکھیں',
    'dashboard.channels_title': 'چینل کی حالت',
    'dashboard.no_channels_detail': 'چینل کی تفصیلات دستیاب نہیں',
    'dashboard.channel_type': 'قسم',
    'dashboard.channel_messages': 'پیغامات',
    'dashboard.channel_last_message': 'آخری پیغام',
    'dashboard.channel_config': 'ترتیب',
    'dashboard.channel_enabled': 'فعال',
    'dashboard.channel_disabled': 'غیر فعال',
    'dashboard.loading_sessions': 'سیشنز لوڈ ہو رہے ہیں...',
    'dashboard.loading_channels': 'چینلز لوڈ ہو رہے ہیں...',
    'dashboard.load_sessions_error': 'سیشنز لوڈ کرنے میں ناکامی',
    'dashboard.load_channels_error': 'چینلز لوڈ کرنے میں ناکامی',
    'dashboard.never': 'کبھی نہیں',

    // Settings
    'settings.title': 'ترتیبات',
    'settings.tab.appearance': 'ظاہری شکل',
    'settings.tab.typography': 'ٹائپوگرافی',
    'settings.appearance': 'ظاہری شکل',
    'settings.typography': 'ٹائپوگرافی',
    'settings.fontUi': 'UI فونٹ',
    'settings.fontMono': 'کوڈ فونٹ',
    'settings.fontSize': 'UI فونٹ سائز',
    'settings.fontMonoSize': 'کوڈ فونٹ سائز',
    'settings.preview': 'پیش نظارہ',
    'settings.previewText': 'تیز بھوری لومڑی سست کتے کے اوپر سے کود گئی۔',
    'settings.fontNote': 'فونٹ کی تبدیلیاں صفحہ دوبارہ لوڈ ہونے پر لاگو ہوں گی۔',
    'settings.language': 'زبان',

    // Theme
    'theme.mode': 'تھیم موڈ',
    'theme.accent': 'ایکسنٹ رنگ',
    'theme.system': 'سسٹم',
    'theme.dark': 'ڈارک',
    'theme.light': 'لائٹ',
    'theme.oled': 'OLED سیاہ',
  },

  vi: {
    // Navigation
    'nav.dashboard': 'Bảng điều khiển',
    'nav.agent': 'Tác nhân',
    'nav.tools': 'Công cụ',
    'nav.cron': 'Tác vụ đã lên lịch',
    'nav.integrations': 'Tích hợp',
    'nav.memory': 'Bộ nhớ',
    'nav.config': 'Cấu hình',
    'nav.cost': 'Theo dõi chi phí',
    'nav.logs': 'Nhật ký',
    'nav.doctor': 'Chẩn đoán',
    'nav.canvas': 'Canvas',

    // Dashboard
    'dashboard.title': 'Bảng điều khiển',
    'dashboard.provider': 'Nhà cung cấp',
    'dashboard.model': 'Mô hình',
    'dashboard.uptime': 'Thời gian hoạt động',
    'dashboard.temperature': 'Nhiệt độ',
    'dashboard.gateway_port': 'Cổng gateway',
    'dashboard.memory_backend': 'Backend bộ nhớ',
    'dashboard.paired': 'Đã ghép nối',
    'dashboard.channels': 'Kênh',
    'dashboard.health': 'Sức khỏe',
    'dashboard.status': 'Trạng thái',
    'dashboard.overview': 'Tổng quan',
    'dashboard.system_info': 'Thông tin hệ thống',
    'dashboard.quick_actions': 'Thao tác nhanh',

    // Agent / Chat
    'agent.title': 'Trò chuyện với tác nhân',
    'agent.send': 'Gửi',
    'agent.placeholder': 'Nhập tin nhắn...',
    'agent.start_conversation': 'Gửi tin nhắn để bắt đầu cuộc trò chuyện',
    'agent.type_message': 'Nhập tin nhắn...',
    'agent.connecting': 'Đang kết nối...',
    'agent.connected': 'Đã kết nối',
    'agent.disconnected': 'Đã ngắt kết nối',
    'agent.reconnecting': 'Đang kết nối lại...',
    'agent.thinking': 'Đang suy nghĩ...',
    'agent.tool_call': 'Gọi công cụ',
    'agent.tool_result': 'Kết quả công cụ',
    'agent.connection_error': 'Lỗi kết nối. Đang thử kết nối lại...',
    'agent.tool_call_prefix': '[Gọi công cụ]',
    'agent.tool_result_prefix': '[Kết quả công cụ]',
    'agent.error_prefix': '[Lỗi]',
    'agent.unknown_error': 'Lỗi không xác định',
    'agent.send_error': 'Không thể gửi tin nhắn. Vui lòng thử lại.',
    'agent.copy_message': 'Sao chép tin nhắn',
    'agent.connected_status': 'Đã kết nối',
    'agent.disconnected_status': 'Đã ngắt kết nối',

    // Tools
    'tools.title': 'Công cụ khả dụng',
    'tools.name': 'Tên',
    'tools.description': 'Mô tả',
    'tools.parameters': 'Tham số',
    'tools.search': 'Tìm kiếm công cụ...',
    'tools.empty': 'Không có công cụ khả dụng.',
    'tools.count': 'Tổng số công cụ',
    'tools.agent_tools': 'Công cụ tác nhân',
    'tools.cli_tools': 'Công cụ CLI',
    'tools.parameter_schema': 'Sơ đồ tham số',
    'tools.path': 'Đường dẫn',
    'tools.version': 'Phiên bản',
    'tools.category': 'Danh mục',
    'tools.load_error': 'Không thể tải công cụ',

    // Cron
    'cron.title': 'Tác vụ đã lên lịch',
    'cron.scheduled_tasks': 'Tác vụ đã lên lịch',
    'cron.add': 'Thêm tác vụ',
    'cron.add_job': 'Thêm tác vụ',
    'cron.add_modal_title': 'Thêm tác vụ Cron',
    'cron.delete': 'Xóa',
    'cron.enable': 'Bật',
    'cron.disable': 'Tắt',
    'cron.name': 'Tên',
    'cron.name_optional': 'Tên (tùy chọn)',
    'cron.command': 'Lệnh',
    'cron.command_required': 'Lệnh',
    'cron.schedule': 'Lịch trình',
    'cron.schedule_required': 'Lịch trình',
    'cron.next_run': 'Lần chạy tiếp theo',
    'cron.last_run': 'Lần chạy cuối',
    'cron.last_status': 'Trạng thái cuối',
    'cron.enabled': 'Đã bật',
    'cron.enabled_status': 'Đã bật',
    'cron.disabled_status': 'Đã tắt',
    'cron.empty': 'Không có tác vụ đã lên lịch.',
    'cron.confirm_delete': 'Bạn có chắc chắn muốn xóa tác vụ này không?',
    'cron.load_error': 'Không thể tải tác vụ Cron',
    'cron.validation_error': 'Lịch trình và lệnh là bắt buộc.',
    'cron.add_error': 'Không thể thêm tác vụ',
    'cron.delete_error': 'Không thể xóa tác vụ',
    'cron.cancel': 'Hủy',
    'cron.adding': 'Đang thêm...',
    'cron.id': 'ID',
    'cron.actions': 'Hành động',
    'cron.loading_run_history': 'Đang tải lịch sử chạy...',
    'cron.load_run_history_error': 'Không thể tải lịch sử chạy',
    'cron.no_runs': 'Chưa có lần chạy nào được ghi nhận.',
    'cron.recent_runs': 'Các lần chạy gần đây',
    'cron.yes': 'Có',
    'cron.no': 'Không',
    'cron.edit': 'Chỉnh sửa',
    'cron.edit_modal_title': 'Chỉnh sửa tác vụ Cron',
    'cron.edit_error': 'Không thể cập nhật tác vụ',
    'cron.saving': 'Đang lưu...',
    'cron.save': 'Lưu',

    // Integrations
    'integrations.title': 'Tích hợp',
    'integrations.available': 'Khả dụng',
    'integrations.active': 'Đang hoạt động',
    'integrations.coming_soon': 'Sắp ra mắt',
    'integrations.category': 'Danh mục',
    'integrations.status': 'Trạng thái',
    'integrations.search': 'Tìm kiếm tích hợp...',
    'integrations.empty': 'Không tìm thấy tích hợp nào.',
    'integrations.activate': 'Kích hoạt',
    'integrations.deactivate': 'Hủy kích hoạt',
    'integrations.load_error': 'Không thể tải tích hợp',
    'integrations.status_active': 'Đang hoạt động',
    'integrations.status_available': 'Khả dụng',
    'integrations.status_coming_soon': 'Sắp ra mắt',

    // Memory
    'memory.title': 'Kho bộ nhớ',
    'memory.memory_title': 'Bộ nhớ',
    'memory.search': 'Tìm kiếm trong bộ nhớ...',
    'memory.search_placeholder': 'Tìm kiếm mục bộ nhớ...',
    'memory.add': 'Lưu vào bộ nhớ',
    'memory.add_memory': 'Thêm bộ nhớ',
    'memory.add_modal_title': 'Thêm bộ nhớ',
    'memory.delete': 'Xóa',
    'memory.key': 'Khóa',
    'memory.key_required': 'Khóa',
    'memory.content': 'Nội dung',
    'memory.content_required': 'Nội dung',
    'memory.category': 'Danh mục',
    'memory.category_optional': 'Danh mục (tùy chọn)',
    'memory.timestamp': 'Thời gian',
    'memory.session': 'Phiên',
    'memory.score': 'Điểm',
    'memory.empty': 'Không tìm thấy mục bộ nhớ nào.',
    'memory.confirm_delete': 'Bạn có chắc chắn muốn xóa mục bộ nhớ này không?',
    'memory.all_categories': 'Tất cả danh mục',
    'memory.search_button': 'Tìm kiếm',
    'memory.load_error': 'Không thể tải bộ nhớ',
    'memory.saving': 'Đang lưu...',
    'memory.validation_error': 'Khóa và nội dung là bắt buộc.',
    'memory.store_error': 'Không thể lưu bộ nhớ',
    'memory.delete_error': 'Không thể xóa bộ nhớ',
    'memory.delete_confirm': 'Xóa?',
    'memory.yes': 'Có',
    'memory.no': 'Không',
    'memory.cancel': 'Hủy',

    // Config
    'config.title': 'Cấu hình',
    'config.save': 'Lưu',
    'config.saving': 'Đang lưu...',
    'config.reset': 'Đặt lại',
    'config.saved': 'Đã lưu cấu hình thành công.',
    'config.error': 'Không thể lưu cấu hình.',
    'config.loading': 'Đang tải cấu hình...',
    'config.editor_placeholder': 'Cấu hình TOML...',
    'config.configuration_title': 'Cấu hình',
    'config.sensitive_title': 'Các trường nhạy cảm đã được ẩn',
    'config.sensitive_hint': 'Các API key, token và mật khẩu được ẩn vì lý do bảo mật. Để cập nhật trường đã ẩn, hãy thay thế toàn bộ giá trị đã ẩn bằng giá trị mới của bạn.',
    'config.save_success': 'Đã lưu cấu hình thành công.',
    'config.save_error': 'Không thể lưu cấu hình',
    'config.toml_label': 'Cấu hình TOML',
    'config.lines': 'dòng',

    // Cost
    'cost.title': 'Theo dõi chi phí',
    'cost.session': 'Chi phí phiên',
    'cost.daily': 'Chi phí hàng ngày',
    'cost.monthly': 'Chi phí hàng tháng',
    'cost.total_tokens': 'Tổng số token',
    'cost.request_count': 'Yêu cầu',
    'cost.by_model': 'Chi phí theo mô hình',
    'cost.model': 'Mô hình',
    'cost.tokens': 'Token',
    'cost.requests': 'Yêu cầu',
    'cost.usd': 'Chi phí (USD)',
    'cost.load_error': 'Không thể tải dữ liệu chi phí',
    'cost.session_cost': 'Chi phí phiên',
    'cost.daily_cost': 'Chi phí hàng ngày',
    'cost.monthly_cost': 'Chi phí hàng tháng',
    'cost.total_requests': 'Tổng số yêu cầu',
    'cost.token_statistics': 'Thống kê token',
    'cost.avg_tokens_per_request': 'Token trung bình / yêu cầu',
    'cost.cost_per_1k_tokens': 'Chi phí mỗi 1K token',
    'cost.model_breakdown': 'Phân tích theo mô hình',
    'cost.no_model_data': 'Không có dữ liệu mô hình.',
    'cost.cost': 'Chi phí',
    'cost.share': 'Chia sẻ',

    // Logs
    'logs.title': 'Nhật ký trực tiếp',
    'logs.live_logs': 'Nhật ký trực tiếp',
    'logs.clear': 'Xóa',
    'logs.pause': 'Tạm dừng',
    'logs.resume': 'Tiếp tục',
    'logs.filter': 'Lọc nhật ký...',
    'logs.filter_label': 'Bộ lọc',
    'logs.empty': 'Không có mục nhật ký.',
    'logs.connected': 'Đã kết nối',
    'logs.disconnected': 'Đã ngắt kết nối',
    'logs.events': 'sự kiện',
    'logs.jump_to_bottom': 'Chuyển xuống cuối',
    'logs.paused_hint': 'Luồng nhật ký đã tạm dừng.',
    'logs.waiting_hint': 'Đang chờ sự kiện...',

    // Doctor
    'doctor.title': 'Chẩn đoán hệ thống',
    'doctor.diagnostics_title': 'Chẩn đoán',
    'doctor.run': 'Chạy chẩn đoán',
    'doctor.run_diagnostics': 'Chạy chẩn đoán',
    'doctor.running': 'Đang chạy chẩn đoán...',
    'doctor.running_btn': 'Đang chạy...',
    'doctor.running_desc': 'Đang chạy chẩn đoán...',
    'doctor.running_hint': 'Quá trình này có thể mất vài giây.',
    'doctor.ok': 'OK',
    'doctor.warn': 'Cảnh báo',
    'doctor.error': 'Lỗi',
    'doctor.severity': 'Mức độ',
    'doctor.category': 'Danh mục',
    'doctor.message': 'Thông báo',
    'doctor.empty': 'Chưa có chẩn đoán nào được chạy.',
    'doctor.summary': 'Tóm tắt chẩn đoán',
    'doctor.issues_found': 'Vấn đề phát hiện',
    'doctor.warnings_summary': 'Cảnh báo',
    'doctor.all_clear': 'Mọi thứ bình thường',
    'doctor.system_diagnostics': 'Chẩn đoán hệ thống',
    'doctor.empty_hint': 'Nhấn "Chạy chẩn đoán" để kiểm tra cài đặt ZeroClaw của bạn.',

    // Auth / Pairing
    'auth.pair': 'Ghép nối thiết bị',
    'auth.pairing_code': 'Mã ghép nối',
    'auth.pair_button': 'Ghép nối',
    'auth.logout': 'Đăng xuất',
    'auth.pairing_success': 'Ghép nối thành công!',
    'auth.pairing_failed': 'Ghép nối thất bại. Vui lòng thử lại.',
    'auth.enter_code': 'Nhập mã ghép nối để kết nối với tác nhân.',

    // Common
    'common.loading': 'Đang tải...',
    'common.error': 'Đã xảy ra lỗi.',
    'common.retry': 'Thử lại',
    'common.cancel': 'Hủy',
    'common.confirm': 'Xác nhận',
    'common.save': 'Lưu',
    'common.delete': 'Xóa',
    'common.edit': 'Chỉnh sửa',
    'common.close': 'Đóng',
    'common.yes': 'Có',
    'common.no': 'Không',
    'common.search': 'Tìm kiếm...',
    'common.no_data': 'Không có dữ liệu.',
    'common.refresh': 'Làm mới',
    'common.back': 'Quay lại',
    'common.actions': 'Hành động',
    'common.name': 'Tên',
    'common.description': 'Mô tả',
    'common.status': 'Trạng thái',
    'common.created': 'Đã tạo',
    'common.updated': 'Đã cập nhật',

    // Health
    'health.title': 'Sức khỏe hệ thống',
    'health.component': 'Thành phần',
    'health.status': 'Trạng thái',
    'health.last_ok': 'OK cuối cùng',
    'health.last_error': 'Lỗi cuối cùng',
    'health.restart_count': 'Số lần khởi động lại',
    'health.pid': 'ID tiến trình',
    'health.uptime': 'Thời gian hoạt động',
    'health.updated_at': 'Cập nhật lần cuối',

    // Dashboard
    'dashboard.provider_model': 'Nhà cung cấp / Mô hình',
    'dashboard.since_last_restart': 'Kể từ lần khởi động lại cuối',
    'dashboard.paired_yes': 'Có',
    'dashboard.paired_no': 'Không',
    'dashboard.cost_overview': 'Tổng quan chi phí',
    'dashboard.active_channels': 'Kênh đang hoạt động',
    'dashboard.filter_active': 'Đang hoạt động',
    'dashboard.filter_all': 'Tất cả',
    'dashboard.no_active_channels': 'Không có kênh đang hoạt động',
    'dashboard.component_health': 'Sức khỏe thành phần',
    'dashboard.load_error': 'Không thể tải bảng điều khiển',
    'dashboard.session_label': 'Phiên',
    'dashboard.daily_label': 'Hàng ngày',
    'dashboard.monthly_label': 'Hàng tháng',
    'dashboard.total_tokens_label': 'Tổng số token',
    'dashboard.requests_label': 'Yêu cầu',
    'dashboard.no_channels': 'Chưa cấu hình kênh nào',
    'dashboard.active': 'Đang hoạt động',
    'dashboard.inactive': 'Không hoạt động',
    'dashboard.no_components': 'Không có thành phần nào báo cáo',
    'dashboard.restarts': 'Khởi động lại',
    'dashboard.tab_overview': 'Tổng quan',
    'dashboard.tab_sessions': 'Phiên',
    'dashboard.tab_channels': 'Kênh',
    'dashboard.sessions_title': 'Phiên đang hoạt động',
    'dashboard.no_sessions': 'Không có phiên đang hoạt động',
    'dashboard.session_id': 'ID phiên',
    'dashboard.session_started': 'Bắt đầu',
    'dashboard.session_last_activity': 'Hoạt động cuối',
    'dashboard.session_messages': 'Tin nhắn',
    'dashboard.session_details': 'Chi tiết phiên',
    'dashboard.session_history': 'Xem lịch sử',
    'dashboard.channels_title': 'Trạng thái kênh',
    'dashboard.no_channels_detail': 'Không có chi tiết kênh',
    'dashboard.channel_type': 'Loại',
    'dashboard.channel_messages': 'Tin nhắn',
    'dashboard.channel_last_message': 'Tin nhắn cuối',
    'dashboard.channel_config': 'Cấu hình',
    'dashboard.channel_enabled': 'Đã bật',
    'dashboard.channel_disabled': 'Đã tắt',
    'dashboard.loading_sessions': 'Đang tải phiên...',
    'dashboard.loading_channels': 'Đang tải kênh...',
    'dashboard.load_sessions_error': 'Không thể tải phiên',
    'dashboard.load_channels_error': 'Không thể tải kênh',
    'dashboard.never': 'Chưa bao giờ',

    // Settings
    'settings.title': 'Cài đặt',
    'settings.tab.appearance': 'Giao diện',
    'settings.tab.typography': 'Kiểu chữ',
    'settings.appearance': 'Giao diện',
    'settings.typography': 'Kiểu chữ',
    'settings.fontUi': 'Phông chữ giao diện',
    'settings.fontMono': 'Phông chữ mã',
    'settings.fontSize': 'Cỡ phông giao diện',
    'settings.fontMonoSize': 'Cỡ phông mã',
    'settings.preview': 'Xem trước',
    'settings.previewText': 'Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng.',
    'settings.fontNote': 'Thay đổi phông chữ sẽ được áp dụng khi tải lại trang.',
    'settings.language': 'Ngôn ngữ',

    // Theme
    'theme.mode': 'Chế độ giao diện',
    'theme.accent': 'Màu nhấn',
    'theme.system': 'Hệ thống',
    'theme.dark': 'Tối',
    'theme.light': 'Sáng',
    'theme.oled': 'OLED đen',
  },
};

// ---------------------------------------------------------------------------
// Current locale state
// ---------------------------------------------------------------------------

let currentLocale: Locale = 'en';

export function getLocale(): Locale {
  return currentLocale;
}

export function setLocale(locale: Locale): void {
  currentLocale = locale;
}

// ---------------------------------------------------------------------------
// Translation function
// ---------------------------------------------------------------------------

/**
 * Translate a key using the current locale. Returns the key itself if no
 * translation is found.
 */
export function t(key: string): string {
  return translations[currentLocale]?.[key] ?? translations.en[key] ?? key;
}

/**
 * Get the translation for a specific locale. Falls back to English, then to the
 * raw key.
 */
export function tLocale(key: string, locale: Locale): string {
  return translations[locale]?.[key] ?? translations.en[key] ?? key;
}

// ---------------------------------------------------------------------------
// Supported locales
// ---------------------------------------------------------------------------

export const SUPPORTED_LOCALES: { code: Locale; name: string; flag: string }[] = [
  { code: 'ar', name: 'العربية', flag: '🇸🇦' },
  { code: 'bn', name: 'বাংলা', flag: '🇧🇩' },
  { code: 'cs', name: 'Čeština', flag: '🇨🇿' },
  { code: 'da', name: 'Dansk', flag: '🇩🇰' },
  { code: 'de', name: 'Deutsch', flag: '🇩🇪' },
  { code: 'el', name: 'Ελληνικά', flag: '🇬🇷' },
  { code: 'en', name: 'English', flag: '🇺🇸' },
  { code: 'es', name: 'Español', flag: '🇪🇸' },
  { code: 'fi', name: 'Suomi', flag: '🇫🇮' },
  { code: 'fr', name: 'Français', flag: '🇫🇷' },
  { code: 'he', name: 'עברית', flag: '🇮🇱' },
  { code: 'hi', name: 'हिन्दी', flag: '🇮🇳' },
  { code: 'hu', name: 'Magyar', flag: '🇭🇺' },
  { code: 'id', name: 'Bahasa Indonesia', flag: '🇮🇩' },
  { code: 'it', name: 'Italiano', flag: '🇮🇹' },
  { code: 'ja', name: '日本語', flag: '🇯🇵' },
  { code: 'ko', name: '한국어', flag: '🇰🇷' },
  { code: 'nb', name: 'Norsk', flag: '🇳🇴' },
  { code: 'nl', name: 'Nederlands', flag: '🇳🇱' },
  { code: 'pl', name: 'Polski', flag: '🇵🇱' },
  { code: 'pt', name: 'Português', flag: '🇧🇷' },
  { code: 'ro', name: 'Română', flag: '🇷🇴' },
  { code: 'ru', name: 'Русский', flag: '🇷🇺' },
  { code: 'sv', name: 'Svenska', flag: '🇸🇪' },
  { code: 'th', name: 'ไทย', flag: '🇹🇭' },
  { code: 'tl', name: 'Filipino', flag: '🇵🇭' },
  { code: 'tr', name: 'Türkçe', flag: '🇹🇷' },
  { code: 'uk', name: 'Українська', flag: '🇺🇦' },
  { code: 'ur', name: 'اردو', flag: '🇵🇰' },
  { code: 'vi', name: 'Tiếng Việt', flag: '🇻🇳' },
  { code: 'zh', name: '中文', flag: '🇨🇳' },
];

// ---------------------------------------------------------------------------
// React hook
// ---------------------------------------------------------------------------

/**
 * React hook that fetches the locale from /api/status on mount and keeps the
 * i18n module in sync. Returns the current locale and a `t` helper bound to it.
 */
export function useLocale(): { locale: Locale; t: (key: string) => string } {
  const [locale, setLocaleState] = useState<Locale>(currentLocale);

  useEffect(() => {
    let cancelled = false;

    getStatus()
      .then((status) => {
        if (cancelled) return;
        const raw = (status.locale || 'en').toLowerCase().replace(/-.*/, '').replace(/_.*/, '');
        const detected: Locale = (raw in translations) ? (raw as Locale) : 'en';
        setLocale(detected);
        setLocaleState(detected);
      })
      .catch(() => {
        // Keep default locale on error
      });

    return () => {
      cancelled = true;
    };
  }, []);

  return {
    locale,
    t: (key: string) => tLocale(key, locale),
  };
}
