mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 17:00:23 +00:00
191 lines
9.9 KiB
JavaScript
191 lines
9.9 KiB
JavaScript
// PaperForge i18n — language pack for plugin UI
|
||
const LANG = {
|
||
en: {
|
||
desc: 'Obsidian + Zotero literature pipeline.',
|
||
setup_done: '✓ PaperForge environment configured',
|
||
setup_pending: 'Not installed — complete preparation and open the wizard',
|
||
section_prep: 'Prerequisites',
|
||
section_prep_desc: 'Before first use, complete the following:',
|
||
section_guide: 'Usage',
|
||
section_config: 'Configuration',
|
||
prep_python: 'Python 3.9+',
|
||
prep_python_desc: 'Must be callable from command line. Click below to auto-detect.',
|
||
prep_zotero: 'Zotero Desktop',
|
||
prep_zotero_desc: 'Install Zotero (https://www.zotero.org)',
|
||
prep_bbt: 'Better BibTeX',
|
||
prep_bbt_desc: 'Zotero → Tools → Add-ons → Install Better BibTeX',
|
||
prep_export: 'BBT Auto-export',
|
||
prep_export_desc: 'Right-click collection → Export → BetterBibTeX JSON → Keep updated → to:',
|
||
prep_key: 'PaddleOCR Key',
|
||
prep_key_desc: 'Get free key at https://aistudio.baidu.com/paddleocr',
|
||
guide_open: 'Open Dashboard',
|
||
guide_open_desc: 'Ctrl+P → "PaperForge: Open Dashboard", or sidebar book icon',
|
||
guide_sync: 'Sync Literature',
|
||
guide_sync_desc: 'Dashboard → Sync Library — pull from Zotero, generate notes',
|
||
guide_ocr: 'Run OCR',
|
||
guide_ocr_desc: 'Dashboard → Run OCR — extract PDF text & figures',
|
||
btn_install: 'Open Wizard',
|
||
btn_reconfig: 'Reconfigure',
|
||
btn_install_desc: 'Auto-detect environment, then open setup wizard',
|
||
btn_reconfig_desc: 'Re-run wizard to change directories or keys',
|
||
wizard_step1: 'Overview', wizard_step2: 'Dirs', wizard_step3: 'Agent',
|
||
wizard_step4: 'Install', wizard_step5: 'Done',
|
||
wizard_title: 'PaperForge Setup Wizard',
|
||
wizard_intro: 'This wizard will guide you through the complete setup.',
|
||
wizard_dir_hint: 'The resources directory is the root for all literature data. Sub-directories inside it:',
|
||
wizard_dir_sub_hint: 'Two sub-directories within resources:',
|
||
wizard_sys_hint: 'System directories (at vault root):',
|
||
wizard_agent_hint: 'Select your AI Agent platform. Skill files deploy in the correct format.',
|
||
wizard_keys_hint: 'API key and Zotero:',
|
||
wizard_preview: 'System/agent files at vault root. Literature (notes, index) under resources.',
|
||
dir_vault: 'Vault Path',
|
||
dir_resources: 'Resource Dir',
|
||
dir_notes: 'Notes Dir',
|
||
dir_index: 'Index Dir',
|
||
dir_system: 'System Dir',
|
||
dir_base: 'Base Dir',
|
||
field_paddleocr: 'PaddleOCR API Key',
|
||
field_zotero_data: 'Zotero Data Dir',
|
||
field_zotero_placeholder: 'Optional, for auto PDF detection',
|
||
label_agent: 'Agent Platform',
|
||
check_python_ok: 'Ready',
|
||
check_python_fail: 'Not found',
|
||
check_zotero_ok: 'Found',
|
||
check_zotero_fail: 'Not detected',
|
||
check_bbt_ok: 'Installed',
|
||
check_bbt_fail: 'Not detected',
|
||
install_btn: 'Install',
|
||
install_btn_running: 'Installing...',
|
||
install_btn_retry: 'Retry',
|
||
install_validating: 'Validating configuration...',
|
||
install_complete: '✓ Installation complete!',
|
||
install_failed: '✗ Installation failed: ',
|
||
complete_title: '✓ Setup Complete',
|
||
complete_summary: 'Configuration',
|
||
complete_next: 'Next Steps',
|
||
complete_step1: 'Open Dashboard',
|
||
complete_step1_desc: 'Ctrl+P → "PaperForge: Open Dashboard" or sidebar book icon',
|
||
complete_step2: 'Sync Literature',
|
||
complete_step2_desc: 'Dashboard → Sync Library — pull from Zotero',
|
||
complete_step3: 'Run OCR',
|
||
complete_step3_desc: 'Dashboard → Run OCR — extract full text & figures',
|
||
complete_step4: 'Configure BBT Auto-export',
|
||
nav_prev: '← Back',
|
||
nav_next: 'Next →',
|
||
nav_close: 'Close',
|
||
validate_fail: 'Validation failed',
|
||
validate_vault: 'Vault path not set',
|
||
validate_resources: 'Resource dir not set',
|
||
validate_notes: 'Notes dir not set',
|
||
validate_index: 'Index dir not set',
|
||
validate_base: 'Base dir not set',
|
||
validate_key: 'API key not set',
|
||
validate_system: 'System dir not set',
|
||
notice_python_missing: 'Python not detected. Install Python 3.9+ and add to PATH.',
|
||
notice_check_fail: 'Missing: ',
|
||
panel_actions: 'Quick Actions',
|
||
action_running: 'Running ',
|
||
api_key_set: 'Configured ✓',
|
||
api_key_missing: 'Not configured ✗',
|
||
not_set: 'Not set',
|
||
},
|
||
zh: {
|
||
desc: 'Obsidian + Zotero 文献管理流水线。自动同步文献、生成笔记、OCR 提取全文,一站式文献精读工作流。',
|
||
setup_done: '✓ PaperForge 环境已配置完成',
|
||
setup_pending: '尚未安装,完成安装准备后点击安装向导',
|
||
section_prep: '安装准备',
|
||
section_prep_desc: '首次使用前,请依次完成以下准备:',
|
||
section_guide: '操作方式',
|
||
section_config: '当前配置',
|
||
prep_python: 'Python 3.9+',
|
||
prep_python_desc: '确保 Python 可命令行调用。点击下方按钮自动检测。',
|
||
prep_zotero: 'Zotero 桌面版',
|
||
prep_zotero_desc: '安装 Zotero (https://www.zotero.org)',
|
||
prep_bbt: 'Better BibTeX',
|
||
prep_bbt_desc: 'Zotero → 工具 → 插件 → 安装 Better BibTeX',
|
||
prep_export: 'BBT 自动导出',
|
||
prep_export_desc: '右键文献子分类 → 导出分类 → BetterBibTeX JSON → 勾选保持更新 → 导出到(JSON 文件名即为 Base 名):',
|
||
prep_key: 'PaddleOCR Key',
|
||
prep_key_desc: '在 https://aistudio.baidu.com/paddleocr 获取 API Key',
|
||
guide_open: '打开 Dashboard',
|
||
guide_open_desc: 'Ctrl+P → 输入 PaperForge: Open Dashboard,或点左侧书本图标',
|
||
guide_sync: '同步文献',
|
||
guide_sync_desc: 'Dashboard 中点 Sync Library,从 Zotero 拉取文献生成笔记',
|
||
guide_ocr: '运行 OCR',
|
||
guide_ocr_desc: 'Dashboard 中点 Run OCR,提取 PDF 全文与图表',
|
||
btn_install: '打开安装向导',
|
||
btn_reconfig: '重新配置',
|
||
btn_install_desc: '自动检测 Python + 前置环境,通过后打开分步安装向导',
|
||
btn_reconfig_desc: '重新运行安装向导,修改目录或密钥配置',
|
||
wizard_step1: '概览', wizard_step2: '目录', wizard_step3: 'Agent',
|
||
wizard_step4: '安装', wizard_step5: '完成',
|
||
wizard_title: 'PaperForge 安装向导',
|
||
wizard_intro: '本向导将引导您完成 PaperForge 环境的完整配置。安装过程会自动创建所有目录结构,无需手动操作。',
|
||
wizard_dir_hint: '资源目录是文献数据的统一根目录,以下子目录将创建在其内部:',
|
||
wizard_dir_sub_hint: '资源目录内的两个子目录:',
|
||
wizard_sys_hint: '独立于资源目录的系统文件:',
|
||
wizard_agent_hint: '选择你使用的 AI Agent 平台,安装时将按对应格式部署技能文件:',
|
||
wizard_keys_hint: '以下为 API 密钥与 Zotero 配置:',
|
||
wizard_preview: '系统文件和 Agent 配置位于 Vault 根目录下。文献数据(正文、索引)统一存放在资源目录内。安装后仍可在设置中修改。',
|
||
dir_vault: 'Vault 路径',
|
||
dir_resources: '资源目录',
|
||
dir_notes: '正文目录',
|
||
dir_index: '索引目录',
|
||
dir_system: '系统目录',
|
||
dir_base: 'Base 目录',
|
||
field_paddleocr: 'PaddleOCR API 密钥',
|
||
field_zotero_data: 'Zotero 数据目录',
|
||
field_zotero_placeholder: '可选,用于自动检测 PDF',
|
||
label_agent: 'Agent 平台',
|
||
check_python_ok: '已就绪',
|
||
check_python_fail: '未安装',
|
||
check_zotero_ok: '已安装',
|
||
check_zotero_fail: '未检测到',
|
||
check_bbt_ok: '已安装',
|
||
check_bbt_fail: '未检测到',
|
||
install_btn: '开始安装',
|
||
install_btn_running: '正在安装...',
|
||
install_btn_retry: '重试',
|
||
install_validating: '正在验证配置...',
|
||
install_complete: '✓ 安装完成!',
|
||
install_failed: '✗ 安装失败:',
|
||
complete_title: '✓ PaperForge 安装完成',
|
||
complete_summary: '当前完整配置',
|
||
complete_next: '下一步操作',
|
||
complete_step1: '打开 PaperForge Dashboard',
|
||
complete_step1_desc: 'Ctrl+P → 输入 PaperForge: Open Dashboard,或点左侧书本图标',
|
||
complete_step2: '同步文献',
|
||
complete_step2_desc: 'Dashboard 中点 Sync Library,从 Zotero 拉取文献生成笔记',
|
||
complete_step3: '运行 OCR',
|
||
complete_step3_desc: 'Dashboard 中点 Run OCR,提取 PDF 全文与图表',
|
||
complete_step4: '配置 BBT 自动导出',
|
||
nav_prev: '← 上一步',
|
||
nav_next: '下一步 →',
|
||
nav_close: '关闭',
|
||
validate_fail: '配置验证失败',
|
||
validate_vault: 'Vault 路径未填写',
|
||
validate_resources: '资源目录未填写',
|
||
validate_notes: '正文目录未填写',
|
||
validate_index: '索引目录未填写',
|
||
validate_base: 'Base 目录未填写',
|
||
validate_key: 'PaddleOCR API 密钥未填写',
|
||
validate_system: '系统目录未填写',
|
||
notice_python_missing: 'Python 未检测到,请先安装 Python 3.9+ 并加入 PATH',
|
||
notice_check_fail: '未通过: ',
|
||
panel_actions: '快捷操作',
|
||
action_running: '正在执行 ',
|
||
api_key_set: '已配置 ✓',
|
||
api_key_missing: '未配置 ✗',
|
||
not_set: '未设置',
|
||
}
|
||
};
|
||
|
||
// Auto-detect language from Obsidian config
|
||
function detectLang(app) {
|
||
try {
|
||
const locale = (app && app.vault && app.vault.getConfig && app.vault.getConfig('language')) || 'en';
|
||
return locale.startsWith('zh') ? 'zh' : 'en';
|
||
} catch { return 'en'; }
|
||
}
|
||
|
||
module.exports = { LANG, detectLang };
|