type Language = 'en' | 'ja' | 'zh-CN' | 'zh-TW'; const translations: Record> = { 'en': { 'app.name': 'BitSage', 'menu.home': 'Home', 'group.cs': 'Computer Science Domains', 'group.tools': 'Research Tools', 'group.creation': 'Creative Studio', 'module.math': 'Mathematics', 'module.theory': 'Theory of Computation', 'module.principles': 'Comp. Architecture', 'module.soft_eng': 'Software Eng.', 'module.graphics': 'Comp. Graphics', 'module.network': 'Comp. Network', 'module.ai_lab': 'AI Laboratory', 'module.research': 'Academic Search', 'module.sql': 'SQL Toolbox', 'module.vision': 'Vision Lab', 'module.studio': 'Video Studio', 'module.audio': 'Audio Lab', 'desc.math': 'Discrete math, calculus & logic', 'desc.theory': 'Automata, computability & complexity', 'desc.principles': 'ISA, pipelining & memory hierarchy', 'desc.soft_eng': 'Design patterns & DevOps', 'desc.graphics': 'Rendering, OpenGL & WebGL', 'desc.network': 'Protocols, security & distributed systems', 'desc.ai_lab': 'ML, DL & Neural Networks', 'desc.research': 'Web-grounded academic research', 'desc.sql': 'Format, convert & manipulate SQL', 'desc.vision': 'Image analysis and generation', 'desc.studio': 'AI video generation studio', 'desc.audio': 'Speech-to-text and Text-to-speech', // Module specific greetings 'hello.math': 'Mathematics Workspace', 'hello.theory': 'Theoretical Computer Science', 'hello.principles': 'Computer Architecture', 'hello.soft_eng': 'Software Engineering', 'hello.graphics': 'Graphics & Rendering', 'hello.network': 'Network Engineering', 'hello.ai_lab': 'AI & Machine Learning', 'hello.research': 'Academic Research', // Module specific placeholders 'placeholder.math': 'Ask about discrete math, linear algebra, or proofs...', 'placeholder.theory': 'Ask about Turing machines, P vs NP, or automata...', 'placeholder.principles': 'Ask about RISC-V, cache coherence, or digital logic...', 'placeholder.soft_eng': 'Ask about design patterns, agile, or system architecture...', 'placeholder.graphics': 'Ask about ray tracing, shaders, or WebGL...', 'placeholder.network': 'Ask about TCP/IP, OSI model, or network security...', 'placeholder.ai_lab': 'Ask about transformers, backpropagation, or PyTorch...', 'placeholder.research': 'Search for papers, technical docs, or citations...', 'welcome.title': 'Welcome to BitSage', 'welcome.subtitle': 'Your AI companion for Computer Science & Technology.', 'welcome.setup': 'Please enter your Gemini API Key to get started.', 'settings.title': 'Settings', 'settings.apiKey': 'API Key', 'settings.language': 'Language', 'settings.theme': 'Theme', 'settings.data': 'Data Management', 'settings.export': 'Export Data', 'settings.import': 'Import Data', 'settings.clear_data': 'Clear All Data', 'settings.danger_zone': 'Danger Zone', 'settings.key_notice': 'Stored locally in your browser.', 'action.send': 'Send', 'action.upload': 'Upload', 'action.record': 'Record', 'action.stop': 'Stop', 'action.generate': 'Generate', 'action.new_chat': 'New Chat', 'action.install': 'Install App', 'action.toggle_think': 'Deep Thinking Mode', 'action.lang_mode': 'AI Language', 'action.lang_system': 'System Lang', 'action.lang_input': 'Follow Input', 'history.title': 'History', 'history.empty': 'No history for this module.', 'prompt.placeholder': 'Ask me anything about this domain...', 'status.thinking': 'Thinking deeply...', 'status.generating': 'Generating...', 'status.recording': 'Recording...', 'msg.sources': 'Sources:', 'msg.thinking': 'Thinking...', 'disclaimer': 'Gemini can make mistakes. Check important info.', 'error.no_key': 'Please set your API Key in settings.', 'confirm.delete': 'Are you sure you want to delete this chat?', 'confirm.clear_data': 'WARNING: This will delete ALL your chat history and settings. This action cannot be undone. Are you sure?', 'alert.import_success': 'Import successful!', 'alert.invalid_file': 'Invalid file format', 'opt.landscape': 'Landscape (16:9)', 'opt.portrait': 'Portrait (9:16)', 'opt.square': 'Square (1:1)', 'opt.wide': 'Wide (16:9)', 'veo.prompt': 'Describe the video you want to generate...', 'img.prompt': 'Describe the image you want to generate...', 'audio.prompt': 'Enter text to generate speech...', 'btn.start': 'Get Started', 'guide.vision.title': 'Vision Lab', 'guide.vision.desc': 'Generate high-quality images from text or analyze uploaded images for code and diagrams.', 'guide.vision.tip1': 'Describe the scene, style, and lighting in detail.', 'guide.vision.tip2': 'Upload a UML diagram to get a code implementation.', 'guide.studio.title': 'Video Studio', 'guide.studio.desc': 'Create short, high-quality videos using the Veo model. Perfect for demos or visual concepts.', 'guide.studio.tip1': 'Specify movement and camera angles (e.g., "Drone shot of...").', 'guide.studio.tip2': 'Video generation takes a few minutes. Please be patient.', 'guide.audio.title': 'Audio Lab', 'guide.audio.desc': 'Convert text to natural-sounding speech or transcribe recordings.', 'guide.audio.tip1': 'Enter text to generate speech (TTS).', 'guide.audio.tip2': 'Future update: Upload audio for transcription.', 'ui.workbench': 'Workbench', 'ui.gallery': 'Results', 'ui.config': 'Configuration', // Share & Metadata 'share.title': 'Share Session', 'share.copy': 'Copy Full Chat', 'share.txt': 'Download Text', 'share.img': 'Download Image', 'success.copy': 'Copied to clipboard!', 'role.user': 'You', 'role.model': 'Gemini', 'role.veo': 'Veo', // SQL Tool 'sql.format': 'Format SQL', 'sql.convert': 'Convert Dialect', 'sql.replace': 'Anonymize AS', 'sql.minify': 'Minify (Single Line)', 'sql.input': 'Input SQL', 'sql.output': 'Output SQL', 'sql.target_db': 'Target Database', 'sql.placeholder': 'Paste your SQL here...', 'sql.processing': 'Processing...', 'sql.custom': 'Other / AI Assist', 'sql.custom_prompt': 'Describe operation or generation needed...', 'sql.run': 'Run', // New Toasts 'warning.no_sql': 'Please enter SQL code first.', 'success.apikey_updated': 'API Key configuration updated.', 'success.data_imported': 'Data imported successfully.', 'error.invalid_file': 'Invalid file format.', 'error.screenshot': 'Failed to generate screenshot.', 'error.tts': 'TTS Generation failed.', }, 'zh-CN': { 'app.name': '比特智者', 'menu.home': '首页', 'group.cs': '计算机科学领域', 'group.tools': '研究工具', 'group.creation': '创意工作室', 'module.math': '数学基础', 'module.theory': '计算理论', 'module.principles': '计算机体系结构', 'module.soft_eng': '软件工程', 'module.graphics': '计算机图形学', 'module.network': '计算机网络', 'module.ai_lab': '人工智能', 'module.research': '学术搜索', 'module.sql': 'SQL 工具箱', 'module.vision': '视觉实验室', 'module.studio': '视频工作室', 'module.audio': '音频实验室', 'desc.math': '离散数学、微积分与逻辑', 'desc.theory': '自动机、可计算性与复杂性', 'desc.principles': '指令集、流水线与存储层次', 'desc.soft_eng': '设计模式与 DevOps', 'desc.graphics': '渲染、OpenGL 与 WebGL', 'desc.network': '协议、安全与分布式系统', 'desc.ai_lab': '机器学习、深度学习与神经网络', 'desc.research': '基于网络的学术研究', 'desc.sql': 'SQL 格式化、转换与处理', 'desc.vision': '图像分析与生成', 'desc.studio': 'AI 视频生成工作室', 'desc.audio': '语音转文字与文字转语音', 'hello.math': 'CS 数学基础', 'hello.theory': '计算机理论基础', 'hello.principles': '计算机体系结构', 'hello.soft_eng': '软件工程与架构', 'hello.graphics': '图形学与渲染', 'hello.network': '网络工程与安全', 'hello.ai_lab': 'AI 与深度学习', 'hello.research': '学术研究助手', 'placeholder.math': '询问关于离散数学、线性代数或证明的问题...', 'placeholder.theory': '询问关于图灵机、P vs NP 或有限自动机...', 'placeholder.principles': '询问关于RISC-V、缓存一致性或数字逻辑...', 'placeholder.soft_eng': '询问关于设计模式、敏捷开发或系统架构...', 'placeholder.graphics': '询问关于光线追踪、着色器或WebGL...', 'placeholder.network': '询问关于TCP/IP、OSI模型或网络安全...', 'placeholder.ai_lab': '询问关于Transformer、反向传播或PyTorch...', 'placeholder.research': '搜索论文、技术文档或引用...', 'welcome.title': '欢迎使用比特智者', 'welcome.subtitle': '您的计算机科学与技术学习 AI 助手。', 'welcome.setup': '请输入您的 Gemini API Key 以开始使用。', 'settings.title': '设置', 'settings.apiKey': 'API 密钥', 'settings.language': '语言', 'settings.theme': '主题', 'settings.data': '数据管理', 'settings.export': '导出数据', 'settings.import': '导入数据', 'settings.clear_data': '清除所有数据', 'settings.danger_zone': '危险区域', 'settings.key_notice': '仅保存在您的浏览器本地。', 'action.send': '发送', 'action.upload': '上传', 'action.record': '录音', 'action.stop': '停止', 'action.generate': '生成', 'action.new_chat': '新会话', 'action.install': '安装应用', 'action.toggle_think': '深度思考模式', 'action.lang_mode': 'AI 语言', 'action.lang_system': '跟随系统', 'action.lang_input': '跟随输入', 'history.title': '历史记录', 'history.empty': '暂无该模块的历史记录', 'prompt.placeholder': '在此领域提问...', 'status.thinking': '深度思考中...', 'status.generating': '生成中...', 'status.recording': '录音中...', 'msg.sources': '参考来源:', 'msg.thinking': '思考中...', 'disclaimer': 'Gemini 可能会犯错,请核实重要信息。', 'error.no_key': '请在设置中配置您的 API Key。', 'confirm.delete': '确定要删除此会话吗?', 'confirm.clear_data': '警告:此操作将删除您所有的聊天记录和设置,且无法撤销。确定要继续吗?', 'alert.import_success': '导入成功!', 'alert.invalid_file': '无效的文件格式', 'opt.landscape': '横屏 (16:9)', 'opt.portrait': '竖屏 (9:16)', 'opt.square': '方形 (1:1)', 'opt.wide': '宽屏 (16:9)', 'veo.prompt': '描述您想生成的视频...', 'img.prompt': '描述您想生成的图片...', 'audio.prompt': '请输入文本以生成语音...', 'btn.start': '开始体验', 'guide.vision.title': '视觉实验室', 'guide.vision.desc': '根据文本描述生成高质量图像,或分析上传的图像(如UML图、代码截图)。', 'guide.vision.tip1': '详细描述场景、风格和光照效果以获得最佳结果。', 'guide.vision.tip2': '上传架构图可让 AI 辅助生成代码实现。', 'guide.studio.title': '视频工作室', 'guide.studio.desc': '使用 Veo 模型生成短视频。非常适合演示、概念可视化。', 'guide.studio.tip1': '指定动作和镜头角度(例如“无人机拍摄...”)。', 'guide.studio.tip2': '视频生成需要几分钟时间,请耐心等待。', 'guide.audio.title': '音频实验室', 'guide.audio.desc': '将文本转换为自然流畅的语音,或将录音转录为文本。', 'guide.audio.tip1': '输入文本以生成语音 (TTS)。', 'guide.audio.tip2': '后续更新:支持上传音频进行转录。', 'ui.workbench': '工作台', 'ui.gallery': '生成结果', 'ui.config': '参数配置', // Share & Metadata 'share.title': '分享会话', 'share.copy': '复制完整对话', 'share.txt': '下载文本 (.txt)', 'share.img': '下载长图', 'success.copy': '已复制到剪贴板!', 'role.user': '你', 'role.model': 'Gemini', 'role.veo': 'Veo', // SQL Tool 'sql.format': '格式化 SQL', 'sql.convert': '方言转换', 'sql.replace': 'AS 序号替换', 'sql.minify': '单行压缩', 'sql.input': '输入 SQL', 'sql.output': '输出 SQL', 'sql.target_db': '目标数据库', 'sql.placeholder': '在此粘贴您的 SQL...', 'sql.processing': '处理中...', 'sql.custom': '其他 / AI 助手', 'sql.custom_prompt': '描述您的需求(例如“提取表名”或“生成建表语句”)', 'sql.run': '执行', // New Toasts 'warning.no_sql': '请先输入 SQL 代码。', 'success.apikey_updated': 'API Key 配置已更新。', 'success.data_imported': '数据导入成功。', 'error.invalid_file': '无效的文件格式。', 'error.screenshot': '截图生成失败。', 'error.tts': '语音生成失败。', }, 'ja': { 'app.name': 'BitSage', 'menu.home': 'ホーム', 'group.cs': 'コンピュータサイエンス分野', 'group.tools': '研究ツール', 'group.creation': 'クリエイティブスタジオ', 'module.math': '数学基礎', 'module.theory': '計算理論', 'module.principles': 'コンピュータ・アーキテクチャ', 'module.soft_eng': 'ソフトウェア工学', 'module.graphics': 'CG・グラフィックス', 'module.network': 'コンピュータネットワーク', 'module.ai_lab': '人工知能ラボ', 'module.research': '学術検索', 'module.sql': 'SQLツール', 'module.vision': 'ビジョンラボ', 'module.studio': 'ビデオスタジオ', 'module.audio': 'オーディオラボ', 'desc.math': '離散数学、微積分、論理学', 'desc.theory': 'オートマトン、計算可能性、複雑性', 'desc.principles': '命令セット、パイプライン、メモリ階層', 'desc.soft_eng': 'デザインパターン、DevOps', 'desc.graphics': 'レンダリング、OpenGL、WebGL', 'desc.network': 'プロトコル、セキュリティ、分散システム', 'desc.ai_lab': '機械学習、深層学習、ニューラルネットワーク', 'desc.research': 'Webに基づく学術研究', 'desc.sql': 'SQLのフォーマット、変換、操作', 'desc.vision': '画像分析と生成', 'desc.studio': 'AIビデオ生成スタジオ', 'desc.audio': '音声認識と音声合成', 'hello.math': 'CS 数学', 'hello.theory': '計算機科学の理論', 'hello.principles': 'コンピュータ・アーキテクチャ', 'hello.soft_eng': 'CG & レンダリング', 'hello.graphics': 'CG & レンダリング', 'hello.network': 'ネットワーク工学', 'hello.ai_lab': 'AI & 機械学習', 'hello.research': '学術研究アシスタント', 'placeholder.math': '離散数学、線形代数、証明について質問する...', 'placeholder.theory': 'チューリングマシン、P vs NP、有限オートマトンについて質問する...', 'placeholder.principles': 'RISC-V、キャッシュコヒーレンス、デジタル論理について質問する...', 'placeholder.soft_eng': 'デザインパターン、アジャイル、システムアーキテクチャについて質問する...', 'placeholder.graphics': 'レイトレーシング、シェーダー、WebGLについて質問する...', 'placeholder.network': 'TCP/IP、OSIモデル、ネットワークセキュリティについて質問する...', 'placeholder.ai_lab': 'Transformer、バックプロパゲーション、PyTorchについて質問する...', 'placeholder.research': '論文、技術文書、引用を検索...', 'welcome.title': 'BitSageへようこそ', 'welcome.subtitle': 'コンピュータサイエンス学習のためのAIパートナー。', 'welcome.setup': '開始するにはGemini APIキーを入力してください。', 'settings.title': '設定', 'settings.apiKey': 'APIキー', 'settings.language': '言語', 'settings.theme': 'テーマ', 'settings.data': 'データ管理', 'settings.export': 'エクスポート', 'settings.import': 'インポート', 'settings.clear_data': '全データを消去', 'settings.danger_zone': '危険地帯', 'settings.key_notice': 'ブラウザにローカル保存されます。', 'action.send': '送信', 'action.upload': 'アップロード', 'action.record': '録音', 'action.stop': '停止', 'action.generate': '生成', 'action.new_chat': '新しいチャット', 'action.install': 'アプリをインストール', 'action.toggle_think': '深い思考モード', 'action.lang_mode': 'AI 言語', 'action.lang_system': 'システム言語', 'action.lang_input': '入力に合わせる', 'history.title': '履歴', 'history.empty': 'このモジュールの履歴はありません。', 'prompt.placeholder': 'この分野について質問してください...', 'status.thinking': '深く考えています...', 'status.generating': '生成中...', 'status.recording': '録音中...', 'msg.sources': '情報源:', 'msg.thinking': '思考中...', 'disclaimer': 'Geminiは間違いを犯す可能性があります。', 'error.no_key': '設定でAPIキーを設定してください。', 'confirm.delete': 'このチャットを削除してもよろしいですか?', 'confirm.clear_data': '警告:これにより、すべてのチャット履歴と設定が削除されます。元に戻すことはできません。よろしいですか?', 'alert.import_success': 'インポートに成功しました!', 'alert.invalid_file': '無効なファイル形式です', 'opt.landscape': '横向き (16:9)', 'opt.portrait': '縦向き (9:16)', 'opt.square': '正方形 (1:1)', 'opt.wide': 'ワイド (16:9)', 'veo.prompt': '生成したい動画を説明してください...', 'img.prompt': '生成したい画像を説明してください...', 'audio.prompt': '音声を生成するためのテキストを入力...', 'btn.start': '始める', 'guide.vision.title': 'ビジョンラボ', 'guide.vision.desc': 'テキストから高品質な画像を生成、または画像の分析。', 'guide.vision.tip1': '詳細なシーン、スタイル、照明を記述してください。', 'guide.vision.tip2': '図をアップロードしてコードを生成できます。', 'guide.studio.title': 'ビデオスタジオ', 'guide.studio.desc': 'Veoモデルを使用して短いビデオを生成します。', 'guide.studio.tip1': '動きとカメラアングルを指定してください。', 'guide.studio.tip2': '生成には数分かかります。', 'guide.audio.title': 'オーディオラボ', 'guide.audio.desc': 'テキストを自然な音声に変換します。', 'guide.audio.tip1': 'テキストを入力して音声を生成 (TTS)。', 'guide.audio.tip2': '将来の更新:文字起こし。', 'ui.workbench': 'ワークベンチ', 'ui.gallery': '生成結果', 'ui.config': '設定', // Share & Metadata 'share.title': 'セッションを共有', 'share.copy': '会話をコピー', 'share.txt': 'テキストをダウンロード', 'share.img': '長い画像を保存', 'success.copy': 'クリップボードにコピーしました!', 'role.user': 'あなた', 'role.model': 'Gemini', 'role.veo': 'Veo', // SQL Tool 'sql.format': 'SQL整形', 'sql.convert': '方言変換', 'sql.replace': 'AS番号置換', 'sql.minify': '一行化', 'sql.input': '入力SQL', 'sql.output': '出力SQL', 'sql.target_db': 'ターゲットDB', 'sql.placeholder': 'ここにSQLを貼り付けてください...', 'sql.processing': '処理中...', 'sql.custom': 'その他 / AI アシスト', 'sql.custom_prompt': '操作を説明してください(例:「テーブル名を抽出」)', 'sql.run': '実行', // New Toasts 'warning.no_sql': '先にSQLコードを入力してください。', 'success.apikey_updated': 'APIキーの設定が更新されました。', 'success.data_imported': 'データのインポートが完了しました。', 'error.invalid_file': '無効なファイル形式です。', 'error.screenshot': 'スクリーンショットの生成に失敗しました。', 'error.tts': '音声生成に失敗しました。', }, 'zh-TW': { 'app.name': '比特智者', 'menu.home': '首頁', 'group.cs': '計算機科學領域', 'group.tools': '研究工具', 'group.creation': '創意工作室', 'module.math': '數學基礎', 'module.theory': '計算理論', 'module.principles': '電腦體系結構', 'module.soft_eng': '軟體工程', 'module.graphics': '計算機圖形學', 'module.network': '計算機網路', 'module.ai_lab': '人工智慧', 'module.research': '學術搜尋', 'module.sql': 'SQL 工具箱', 'module.vision': '視覺實驗室', 'module.studio': '影片工作室', 'module.audio': '音訊實驗室', 'desc.math': '離散數學、微積分與邏輯', 'desc.theory': '自動機、可計算性與複雜性', 'desc.principles': '指令集、管線化與儲存層次', 'desc.soft_eng': '設計模式與 DevOps', 'desc.graphics': '渲染、OpenGL 與 WebGL', 'desc.network': '通訊協定、資安與分散式系統', 'desc.ai_lab': '機器學習、深度學習與神經網路', 'desc.research': '基於網路的學術研究', 'desc.sql': 'SQL 格式化、轉換與處理', 'desc.vision': '圖像分析與生成', 'desc.studio': 'AI 影片生成工作室', 'desc.audio': '語音轉文字與文字轉語音', 'hello.math': 'CS 數學基礎', 'hello.theory': '電腦理論基礎', 'hello.principles': '電腦體系結構', 'hello.soft_eng': '軟體工程與架構', 'hello.graphics': '圖形學與渲染', 'hello.network': '網路工程與資安', 'hello.ai_lab': 'AI 與深度學習', 'hello.research': '學術研究助手', 'placeholder.math': '詢問關於離散數學、線性代數或證明的問題...', 'placeholder.theory': '詢問關於圖靈機、P vs NP 或有限自動機...', 'placeholder.principles': '詢問關於RISC-V、快取一致性或數位邏輯...', 'placeholder.soft_eng': '詢問關於設計模式、敏捷開發或系統架構...', 'placeholder.graphics': '詢問關於光線追蹤、著色器或WebGL...', 'placeholder.network': '詢問關於TCP/IP、OSI模型或網路安全...', 'placeholder.ai_lab': '詢問關於Transformer、反向傳播或PyTorch...', 'placeholder.research': '搜尋論文、技術文件或引用...', 'welcome.title': '歡迎使用比特智者', 'welcome.subtitle': '您的計算機科學與技術學習 AI 助手。', 'welcome.setup': '請輸入您的 Gemini API Key 以開始使用。', 'settings.title': '設定', 'settings.apiKey': 'API 金鑰', 'settings.language': '語言', 'settings.theme': '主題', 'settings.data': '資料管理', 'settings.export': '匯出資料', 'settings.import': '匯入資料', 'settings.clear_data': '清除所有資料', 'settings.danger_zone': '危險區域', 'settings.key_notice': '僅保存在您的瀏覽器本地。', 'action.send': '傳送', 'action.upload': '上傳', 'action.record': '錄音', 'action.stop': '停止', 'action.generate': '生成', 'action.new_chat': '新對話', 'action.install': '安裝應用', 'action.toggle_think': '深度思考模式', 'action.lang_mode': 'AI 語言', 'action.lang_system': '跟隨系統', 'action.lang_input': '跟隨輸入', 'history.title': '歷史記錄', 'history.empty': '暫無該模組的歷史記錄', 'prompt.placeholder': '在此領域提問...', 'status.thinking': '深度思考中...', 'status.generating': '生成中...', 'status.recording': '錄音中...', 'msg.sources': '參考來源:', 'msg.thinking': '思考中...', 'disclaimer': 'Gemini 可能會犯錯,請核實重要資訊。', 'error.no_key': '請在設定中配置您的 API Key。', 'confirm.delete': '確定要刪除此對話嗎?', 'confirm.clear_data': '警告:此操作將刪除您所有的聊天記錄和設定,且無法復原。確定要繼續嗎?', 'alert.import_success': '匯入成功!', 'alert.invalid_file': '無效的檔案格式', 'opt.landscape': '橫向 (16:9)', 'opt.portrait': '直向 (9:16)', 'opt.square': '方形 (1:1)', 'opt.wide': '寬螢幕 (16:9)', 'veo.prompt': '描述您想生成的影片...', 'img.prompt': '描述您想生成的圖片...', 'audio.prompt': '請輸入文字以生成語音...', 'btn.start': '開始體驗', 'guide.vision.title': '視覺實驗室', 'guide.vision.desc': '根據文字描述生成高品質圖像,或分析上傳的圖像。', 'guide.vision.tip1': '詳細描述場景、風格和光照效果以獲得最佳結果。', 'guide.vision.tip2': '上傳架構圖可讓 AI 輔助生成程式碼實作。', 'guide.studio.title': '影片工作室', 'guide.studio.desc': '使用 Veo 模型生成短影片。非常適合演示、概念視覺化。', 'guide.studio.tip1': '指定動作和鏡頭角度(例如「無人機拍攝...」)。', 'guide.studio.tip2': '影片生成需要幾分鐘時間,請耐心等待。', 'guide.audio.title': '音訊實驗室', 'guide.audio.desc': '將文字轉換為自然流暢的語音,或將錄音轉錄為文字。', 'guide.audio.tip1': '輸入文字以生成語音 (TTS)。', 'guide.audio.tip2': '後續更新:支援上傳音訊進行轉錄。', 'ui.workbench': '工作台', 'ui.gallery': '生成結果', 'ui.config': '參數配置', // Share & Metadata 'share.title': '分享會話', 'share.copy': '複製完整對話', 'share.txt': '下載文字 (.txt)', 'share.img': '下載長圖', 'success.copy': '已複製到剪貼簿!', 'role.user': '你', 'role.model': 'Gemini', 'role.veo': 'Veo', // SQL Tool 'sql.format': '格式化 SQL', 'sql.convert': '方言轉換', 'sql.replace': 'AS 序號替換', 'sql.minify': '單行壓縮', 'sql.input': '輸入 SQL', 'sql.output': '輸出 SQL', 'sql.target_db': '目標資料庫', 'sql.placeholder': '在此貼上您的 SQL...', 'sql.processing': '處理中...', 'sql.custom': '其他 / AI 助手', 'sql.custom_prompt': '描述您的需求(例如「提取表名」或「生成建表語句」)', 'sql.run': '執行', // New Toasts 'warning.no_sql': '請先輸入 SQL 程式碼。', 'success.apikey_updated': 'API Key 設定已更新。', 'success.data_imported': '資料匯入成功。', 'error.invalid_file': '無效的檔案格式。', 'error.screenshot': '截圖生成失敗。', 'error.tts': '語音生成失敗。', } }; export const t = (key: string, lang: Language): string => { return translations[lang]?.[key] || translations['en'][key] || key; };